All functions:
  Elements:
  - 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_close
    - taos_connect
    - taos_errno
    - taosSsleep
    - ASSERT_TRUE
    - printf
    - taos_query
    - taos_free_result
    - taos_errstr
    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:
    - tsem_post
    - taos_fetch_raw_block_a
    - taos_fetch_fields
    - taos_fetch_row
    - taos_print_row
    - ASSERT_TRUE
    - printf
    - taos_free_result
    - taos_num_fields
    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:
    - ASSERT_TRUE
    - taos_fetch_raw_block_a
    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_a
    - taos_close
    - taos_connect
    - taos_errno
    - sprintf
    - taosSsleep
    - ASSERT_TRUE
    - printf
    - taos_query
    - taos_free_result
    - tsem_init
    - ASSERT_EQ
    - taos_errstr
    - tsem_wait
    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:
    - taos_query_a
    - taos_close
    - taos_connect
    - sprintf
    - ASSERT_TRUE
    - printf
    - tsem_init
    - ASSERT_EQ
    - tsem_wait
    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_close
    - taos_connect
    - sprintf
    - taos_fetch_row
    - ASSERT_TRUE
    - printf
    - taos_query
    - taos_free_result
    - ASSERT_EQ
    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:
    - tsem_post
    - taosGetErrno
    - taos_fetch_row
    - ASSERT_TRUE
    - taos_free_result
    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:
    - taos_query_a
    - taos_close
    - taos_connect
    - sprintf
    - ASSERT_TRUE
    - printf
    - tsem_init
    - ASSERT_NE
    - 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:
    - ASSERT_TRUE
    - printf
    - tsem_post
    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:
    - taos_query_a
    - taos_close
    - taos_connect
    - sprintf
    - taos_fetch_row
    - ASSERT_TRUE
    - printf
    - tsem_init
    - taos_free_result
    - ASSERT_EQ
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: void TEST_F(taoscTest, taos_query_a_fetch_row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: extract_avg_init
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c
    functionUses: 0
    functionsReached:
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT extract_avg_init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:23,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - interBuf
    argTypes:
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: extract_avg_start
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c
    functionUses: 0
    functionsReached:
    - udfError
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT extract_avg_start(SUdfInterBuf *interBuf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:39,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:43,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:51,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:57,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:60,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:61,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:65,1
    - Dst: memset
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:68,1
    - Dst: memcpy
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:69,1
    - Dst: varDataVal
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:69,1
    - Dst: varDataLen
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:69,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:71,1
    - Dst: strtok_r
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:75,1
    - Dst: strlen
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:77,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:81,1
    - Dst: strtod
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:86,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:89,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:95,1
    - Dst: malloc
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:100,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:102,1
    - Dst: memcpy
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:105,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:108,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - inputBlock
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 110
    functionName: extract_avg
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c
    functionUses: 0
    functionsReached:
    - udfError
    - strlen
    - varDataLen
    - udfColDataGetData
    - strtod
    - udfTrace
    - memset
    - memcpy
    - malloc
    - udfColDataIsNull
    - varDataVal
    - strtok_r
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT extract_avg(SUdfDataBlock *inputBlock, SUdfInterBuf *interBuf,
      SUdfInterBuf *newInterBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - interBuf
    - result
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: extract_avg_finish
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c
    functionUses: 0
    functionsReached:
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT extract_avg_finish(SUdfInterBuf *interBuf, SUdfInterBuf
      *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: extract_avg_destroy
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/extract_avg.c
    functionUses: 0
    functionsReached:
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT extract_avg_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 7
    functionName: l2norm_init
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT l2norm_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: l2norm_destroy
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT l2norm_destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:14,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 23
    functionName: l2norm_start
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c
    functionUses: 0
    functionsReached:
    - udfError
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT l2norm_start(SUdfInterBuf* buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:26,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:31,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:43,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:44,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:50,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:53,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:57,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:60,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:68,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - block
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 77
    functionName: l2norm
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c
    functionUses: 0
    functionsReached:
    - udfError
    - udfColDataIsNull
    - udfTrace
    - udfColDataGetData
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT l2norm(SUdfDataBlock* block, SUdfInterBuf* interBuf, SUdfInterBuf*
      newInterBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:81,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: l2norm_finish
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/l2norm.c
    functionUses: 0
    functionsReached:
    - udfTrace
    - sqrt
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT l2norm_finish(SUdfInterBuf* buf, SUdfInterBuf* resultData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: gpd_init
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/gpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT gpd_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: gpd_destroy
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/gpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT gpd_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:32,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:33,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:34,1
    - Dst: memcpy
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:38,1
    - Dst: varDataVal
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:38,1
    - Dst: varDataLen
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:38,1
    - Dst: memcpy
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:39,1
    - Dst: varDataVal
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:39,1
    - Dst: varDataLen
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:39,1
    - Dst: printf
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:40,1
    - Dst: udfColDataSet
      Src: /src/tdengine/test/cases/12-UDFs/sh/gpd.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 46
    functionName: gpd
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/gpd.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - udfColDataGetData
    - memcpy
    - printf
    - varDataVal
    - udfColDataSet
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT gpd(SUdfDataBlock* block, SUdfColumn *resultCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 6
    functionName: bit_and_init
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT bit_and_init()
  - 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: bit_and_destroy
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT bit_and_destroy()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:11,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:14,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:21,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:29,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:30,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:31,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:35,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:36,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:40,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:41,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:42,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:46,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:48,1
    - Dst: udfColDataSet
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:52,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:53,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c:58,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 61
    functionName: bit_and
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/bit_and.c
    functionUses: 0
    functionsReached:
    - udfError
    - udfColDataGetData
    - udfTrace
    - udfColDataSet
    - udfColDataIsNull
    - udfColDataSetNull
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT bit_and(SUdfDataBlock* block, SUdfColumn* resultCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: max_vol_init
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT max_vol_init()
  - 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: max_vol_destroy
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT max_vol_destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:16,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:20,1
    - Dst: memset
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 26
    functionName: max_vol_start
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c
    functionUses: 0
    functionsReached:
    - udfError
    - memset
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT max_vol_start(SUdfInterBuf *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:29,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:35,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:45,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:50,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:61,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:62,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:66,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:70,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:73,1
    - Dst: udfColDataGetDataLen
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:74,1
    - Dst: strncpy
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:80,1
    - Dst: snprintf
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:81,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:82,1
    - Dst: strncpy
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:88,1
    - Dst: strlen
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:89,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:92,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 3
    argNames:
    - block
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 94
    functionName: max_vol
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c
    functionUses: 0
    functionsReached:
    - udfError
    - strlen
    - udfColDataGetDataLen
    - udfColDataGetData
    - udfTrace
    - snprintf
    - udfColDataIsNull
    - strncpy
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT max_vol(SUdfDataBlock *block, SUdfInterBuf *interBuf, SUdfInterBuf
      *newInterBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:100,1
    - Dst: strlen
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:103,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: max_vol_finish
    functionSourceFile: /src/tdengine/test/cases/12-UDFs/sh/max_vol.c
    functionUses: 0
    functionsReached:
    - strcpy
    - udfTrace
    - strlen
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT max_vol_finish(SUdfInterBuf *buf, SUdfInterBuf *resultData)
  - 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_errno
    - printf
    - taos_query
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS* taos, const char* sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/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:
    - taos_stmt2_bind_param
    - clock
    - taos_stmt2_prepare
    - taos_stmt2_close
    - taos_stmt2_init
    - exit
    - printf
    - taos_stmt2_exec
    - taos_stmt2_error
    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
    - INIT
    - insert
    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
    - INIT
    - insert
    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
    - INIT
    - insert
    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:
    - createdb
    - taos_close
    - taos_connect
    - insert_dup_rows
    - insert_dup_tables
    - printf
    - taos_cleanup
    - insert_dist
    - taos_errstr
    - exit
    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: 1
    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: 0
    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: 0
    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:
    - rand
    - sprintf
    - printf
    - tListLen
    - exit
    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:
    - rand
    - sprintf
    - printf
    - tListLen
    - exit
    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
    - bpAppendColumnName
    - bpAppendOperatorParam
    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
    - bpAppendColumnName
    - bpAppendOperatorParam
    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:
    - bpAppendFunctionParam
    - sprintf
    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:
    - bpGenerateConstInFuncSQL
    - printf
    - bpGenerateConstInOpSQL
    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:
    - taosMemoryCalloc
    - sprintf
    - printf
    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:
    - rand
    - IS_NUMERIC_TYPE
    - 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:
    - generateColDataType
    - printf
    - generateTagDataType
    - exit
    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
    - taosMemoryCalloc
    - prepareColData
    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
    - rand
    - generateQueryCondSQL
    - memset
    - taosMemoryCalloc
    - prepareColData
    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:
    - taosMemoryMalloc
    - rand
    - memset
    - taosMemoryCalloc
    - generateQueryMiscSQL
    - prepareColData
    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:
    - memset
    - taos_fetch_fields
    - taos_fetch_row
    - taos_print_row
    - printf
    - taos_num_fields
    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:
    - taos_errno
    - printf
    - taos_query
    - taos_free_result
    - bpFetchRows
    - taos_errstr
    - exit
    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:
    - exit
    - memcpy
    - sprintf
    - printf
    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:
    - taosMemoryFree
    - taos_stmt2_get_fields
    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:
    - st_stmt2_is_insert
    - printf
    - st_stmt2_error
    - exit
    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:
    - exit
    - printf
    - taos_stmt2_get_fields
    - st_stmt2_error
    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:
    - bpExecQuery
    - strcpy
    - memcpy
    - bpAppendValueString
    - strchr
    - printf
    - st_stmt2_use_result
    - bpFetchRows
    - exit
    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
    - printf
    - st_stmt2_error
    - BP_BIND_TYPE_STR
    - exit
    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
    - printf
    - taos_stmt2_get_fields
    - st_stmt2_error
    - bpCheckColTagFields
    - exit
    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
    - taosMemoryFree
    - printf
    - taos_stmt2_get_fields
    - st_stmt2_error
    - bpCheckColTagFields
    - exit
    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:
    - bpShowBindParam
    - st_stmt2_bind_param
    - st_stmt2_bind_param_batch
    - bpCheckColFields
    - printf
    - st_stmt2_error
    - st_stmt2_bind_single_param_batch
    - exit
    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:
    - rand
    - st_stmt2_set_tbname
    - st_stmt2_set_tbname_tags
    - printf
    - st_stmt2_set_tags
    - st_stmt2_error
    - bpCheckTagFields
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - generateInsertSQL
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - rand
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - memset
    - st_stmt2_exec
    - prepareQueryCondData
    - printf
    - bpCheckQueryResult
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - rand
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - bpCheckIsInsert
    - memset
    - prepareQueryMiscData
    - st_stmt2_exec
    - printf
    - bpCheckQueryResult
    - bpBindParam
    - st_stmt2_error
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - bpCheckIsInsert
    - st_stmt2_bind_param_batch
    - prepareInsertData
    - bpSetTableNameTags
    - st_stmt2_exec
    - printf
    - st_stmt2_error
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - bpCheckIsInsert
    - prepareInsertData
    - bpSetTableNameTags
    - printf
    - bpAddWrongVarBuffLen
    - bpBindParam
    - st_stmt2_error
    - destroyData
    - exit
    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:
    - st_stmt2_prepare
    - generateErrorSQL
    - memset
    - printf
    - st_stmt2_error
    - destroyData
    - exit
    linkageType: ''
    returnType: int
    signature: int errorSQLTest1(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      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:
    - exit
    - printf
    - bpExecQuery
    - strcat
    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:
    - prepareCheckResultImpl
    - sprintf
    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:
    - taos_errstr
    - taosMemoryFree
    - taos_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - taosMemoryCalloc
    - taosGetTimestampUs
    - exit
    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:
    - taos_errstr
    - taosMemoryFree
    - taos_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - calloc
    - taosMemoryCalloc
    - taosGetTimestampUs
    - exit
    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:
    - taos_errstr
    - taosMemoryFree
    - taos_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - taosMemoryCalloc
    - taosGetTimestampUs
    - exit
    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:
    - rand
    - printf
    - sprintf
    - 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:
    - taos_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - generateCreateTableSQL
    - bpPrecisionStr
    - taos_errstr
    - exit
    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:
    - st_stmt2_init
    - exit
    - printf
    - st_stmt2_error
    - st_stmt2_close
    - bpSetStartupTs
    - prepareCheckResult
    - taosGetTimestampUs
    - runCase
    - prepare
    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:
    - taos_close
    - taos_connect
    - time
    - printf
    - srand
    - runAll
    - taos_errstr
    - exit
    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: 1
    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: 4
    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: 6
    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:
    - rand
    - sprintf
    - printf
    - tListLen
    - exit
    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:
    - rand
    - sprintf
    - printf
    - tListLen
    - exit
    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
    - bpAppendColumnName
    - bpAppendOperatorParam
    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
    - bpAppendColumnName
    - bpAppendOperatorParam
    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:
    - bpAppendFunctionParam
    - sprintf
    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:
    - bpGenerateConstInFuncSQL
    - printf
    - bpGenerateConstInOpSQL
    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:
    - taosMemoryCalloc
    - sprintf
    - printf
    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:
    - rand
    - IS_NUMERIC_TYPE
    - 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:
    - generateColDataType
    - printf
    - generateTagDataType
    - exit
    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
    - taosMemoryCalloc
    - prepareColData
    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
    - rand
    - generateQueryCondSQL
    - memset
    - taosMemoryCalloc
    - prepareColData
    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:
    - taosMemoryMalloc
    - rand
    - memset
    - taosMemoryCalloc
    - generateQueryMiscSQL
    - prepareColData
    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:
    - memset
    - taos_fetch_fields
    - taos_fetch_row
    - taos_print_row
    - printf
    - taos_num_fields
    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:
    - taos_errno
    - printf
    - taos_query
    - taos_free_result
    - bpFetchRows
    - taos_errstr
    - exit
    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:
    - exit
    - memcpy
    - sprintf
    - printf
    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:
    - exit
    - taos_stmt_is_insert
    - taos_stmt_errstr
    - printf
    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:
    - exit
    - taos_stmt_num_params
    - taos_stmt_errstr
    - printf
    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:
    - printf
    - taos_stmt_affected_rows
    - 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:
    - exit
    - printf
    - 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:
    - bpExecQuery
    - strcpy
    - memcpy
    - bpAppendValueString
    - strchr
    - taos_stmt_use_result
    - printf
    - bpFetchRows
    - exit
    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:
    - taos_stmt_errstr
    - taos_stmt_get_param
    - printf
    - BP_BIND_TYPE_STR
    - exit
    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:
    - taosMemoryFree
    - taos_stmt_errstr
    - printf
    - taos_stmt_get_tag_fields
    - bpCheckColTagFields
    - exit
    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:
    - taosMemoryFree
    - taos_stmt_errstr
    - taos_stmt_get_col_fields
    - printf
    - bpCheckColTagFields
    - exit
    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:
    - bpShowBindParam
    - taos_stmt_errstr
    - bpCheckColFields
    - taos_stmt_bind_single_param_batch
    - taos_stmt_bind_param_batch
    - printf
    - taos_stmt_bind_param
    - exit
    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:
    - rand
    - taos_stmt_set_tbname_tags
    - taos_stmt_errstr
    - taos_stmt_set_tags
    - printf
    - taos_stmt_set_tbname
    - bpCheckTagFields
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - sprintf
    - bpSetTableNameTags
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - generateInsertSQL
    - prepareInsertData
    - taos_stmt_prepare
    - bpCheckAffectedRows
    - printf
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - rand
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - memset
    - taos_stmt_errstr
    - taos_stmt_prepare
    - prepareQueryCondData
    - printf
    - bpCheckQueryResult
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - rand
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - memset
    - prepareQueryMiscData
    - taos_stmt_errstr
    - taos_stmt_prepare
    - printf
    - bpCheckQueryResult
    - bpBindParam
    - taos_stmt_execute
    - bpCheckParamNum
    - destroyData
    - exit
    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:
    - taos_stmt_add_batch
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - bpSetTableNameTags
    - taos_stmt_prepare
    - taos_stmt_bind_param_batch
    - printf
    - taos_stmt_execute
    - destroyData
    - exit
    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:
    - bpCheckIsInsert
    - taos_stmt_errstr
    - prepareInsertData
    - bpSetTableNameTags
    - taos_stmt_prepare
    - printf
    - bpAddWrongVarBuffLen
    - bpBindParam
    - destroyData
    - exit
    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:
    - generateErrorSQL
    - memset
    - taos_stmt_errstr
    - taos_stmt_prepare
    - printf
    - destroyData
    - exit
    linkageType: ''
    returnType: int
    signature: int errorSQLTest1(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      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:
    - exit
    - printf
    - bpExecQuery
    - strcat
    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:
    - prepareCheckResultImpl
    - sprintf
    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:
    - taos_errstr
    - taosMemoryFree
    - taos_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - taosMemoryCalloc
    - taosGetTimestampUs
    - exit
    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:
    - taos_errstr
    - taosMemoryFree
    - taos_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - calloc
    - taosMemoryCalloc
    - taosGetTimestampUs
    - exit
    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:
    - taos_errstr
    - taosMemoryFree
    - taos_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - taosMemoryCalloc
    - taosGetTimestampUs
    - exit
    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:
    - rand
    - printf
    - sprintf
    - 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:
    - taos_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - generateCreateTableSQL
    - bpPrecisionStr
    - taos_errstr
    - exit
    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
    - taos_stmt_init
    - taos_stmt_errstr
    - taos_stmt_close
    - exit
    - printf
    - bpSetStartupTs
    - prepareCheckResult
    - taosGetTimestampUs
    - runCase
    - prepare
    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:
    - taos_close
    - taos_connect
    - time
    - printf
    - srand
    - runAll
    - taos_errstr
    - exit
    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:
    - taos_close
    - taos_errno
    - fprintf
    - taos_cleanup
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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:
    - taos_close
    - taos_errno
    - fprintf
    - taos_fetch_row
    - taos_cleanup
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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:
    - exit
    - rtError
    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:
    - taos_connect
    - rtExit
    - strcpy
    - sprintf
    - rtExecSQL
    - 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: 1
    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: 2
    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: 2
    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:
    - rtExit
    - printf
    - taos_get_db_route_info
    - 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: 3
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: rtGetTableRouteInfo
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtGetTimestampUs
    - rtExit
    - sprintf
    - fprintf
    - printf
    - taos_get_table_vgId
    - taos_errstr
    - rtFetchVgId
    - exit
    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: 3
    functionLinenumber: 178
    functionLinenumberEnd: 219
    functionName: rtGetTablesRouteInfo
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtGetTimestampUs
    - rtExit
    - malloc
    - taos_get_tables_vgId
    - sprintf
    - fprintf
    - printf
    - free
    - taos_errstr
    - rtFetchVgId
    - exit
    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: 4
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: rtRunCase1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtGetTableRouteInfo
    - rtClose
    - rtGetDbRouteInfo
    - rtPrepare
    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: 4
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: rtRunCase2
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtGetTableRouteInfo
    - rtClose
    - rtGetDbRouteInfo
    - 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: 4
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: rtRunCase3
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtClose
    - rtGetTablesRouteInfo
    - 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: 5
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtRunCase3
    - sleep
    - strcpy
    - time
    - printf
    - srand
    - rtRunCase2
    - rtRunCase1
    - exit
    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_stmt_errstr
    - printf
    - taos_errno
    - taos_stmt2_exec
    - taos_query
    - taos_select_db
    - malloc
    - taos_stmt2_prepare
    - taos_stmt_close
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_free_fields
    - taos_free_result
    - taos_stmt2_get_fields
    - taos_errstr
    - free
    - usleep
    - taos_stmt2_bind_param
    - clock
    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:
    - taos_close
    - taos_connect
    - taos_options
    - printf
    - taos_cleanup
    - taos_errstr
    - veriry_stmt
    - exit
    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_stmt_errstr
    - strcpy
    - printf
    - taos_errno
    - taos_stmt2_exec
    - taos_query
    - taos_select_db
    - strlen
    - malloc
    - taos_stmt2_prepare
    - taos_stmt_close
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_free_fields
    - taos_free_result
    - taos_stmt2_get_fields
    - taos_errstr
    - taos_stmt2_error
    - free
    - usleep
    - taos_stmt2_bind_param
    - clock
    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:
    - taos_close
    - taos_connect
    - taos_options
    - printf
    - taos_cleanup
    - taos_errstr
    - veriry_stmt
    - exit
    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:
    - taos_errno
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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:
    - taos_errno
    - sprintf
    - taos_fetch_row
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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:
    - strlen
    - taos_load_table_info
    - taos_connect
    - taos_stmt_add_batch
    - taos_stmt_init
    - sprintf
    - strcpy
    - taos_stmt_close
    - taos_stmt_prepare
    - check_result
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taos_stmt_set_sub_tbname
    - taos_stmt_bind_param
    - taosMemoryCalloc
    - execute_simple_sql
    - exit
    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:
    - CHECK_CONDITION
    - taos_connect
    - taos_errstr
    - taos_options
    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:
    - CHECK_CODE
    - usleep
    - taos_affected_rows
    - CHECK_CONDITION
    - CHECK_RES
    - taos_query
    - taos_free_result
    - taos_select_db
    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_schemaless_insert_with_reqid
    - taos_affected_rows
    - CHECK_RES
    - printf
    - taos_free_result
    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_fetch_fields
    - taos_fetch_row
    - puts
    - taos_print_row
    - taos_num_fields
    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:
    - taos_query_with_reqid
    - printResult
    - CHECK_RES
    - printf
    - taos_free_result
    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
    - taos_fetch_rows_a
    - printResult
    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: 0
    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:
    - CHECK_CODE
    - strlen
    - taos_stmt_add_batch
    - strcpy
    - malloc
    - taos_stmt_init_with_reqid
    - taos_stmt_prepare
    - taos_stmt_bind_param_batch
    - taos_stmt_close
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - free
    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
    - printf
    - taos_cleanup
    - getNewConnection
    - prepareData
    - taos_select_db
    - verifyQuery
    - verifyQueryAsync
    - veriryStmt
    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: 2
    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:
    - usleep
    - Sleep
    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:
    - taos_close
    - taos_errno
    - fprintf
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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:
    - varDataLen
    - GET_DOUBLE_VAL
    - sprintf
    - memcpy
    - 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:
    - printRow
    - sprintf
    - taos_fetch_fields
    - taos_fetch_row
    - puts
    - taos_num_fields
    - strncpy
    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:
    - taos_close
    - sysInfoTest
    - clearTestEnv
    - taos_connect
    - userDroppedTest
    - createUsers
    - printf
    - taos_cleanup
    - passVerTestMulti
    - exit
    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:
    - taos_connect
    - sprintf
    - fprintf
    - taos_set_notify_cb
    - printf
    - queryDB
    - exit
    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:
    - taos_close
    - taos_connect
    - strcpy
    - fprintf
    - taos_set_notify_cb
    - printf
    - taosMsleep
    - queryDB
    - exit
    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:
    - taos_close
    - taos_connect
    - taos_errno
    - sprintf
    - fprintf
    - printResult
    - exit
    - taosMsleep
    - taos_query
    - taos_free_result
    - strstr
    - taos_errstr
    - queryDB
    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:
    - taos_close
    - taos_connect
    - sprintf
    - fprintf
    - taos_set_notify_cb
    - printf
    - taosMsleep
    - queryDB
    - exit
    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:491,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:492,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:496,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:497,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - taos
    - host
    - qstr
    argTypes:
    - TAOS*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 502
    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_errno
    - printf
    - taos_query
    - taos_free_result
    - 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_errno
    - printf
    - taos_query
    - taos_free_result
    - 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:
    - malloc
    - sprintf
    - do_query
    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:
    - taos_stmt2_bind_param
    - malloc
    - sprintf
    - taos_stmt2_prepare
    - initEnv
    - taos_stmt2_init
    - taos_stmt2_close
    - printf
    - createCtb
    - taos_stmt2_exec
    - clock_gettime
    - free
    - taos_stmt2_error
    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:
    - do_ins
    - strlen
    - clock
    - malloc
    - sprintf
    - initEnv
    - snprintf
    - createCtb
    - printf
    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:
    - taos_close
    - taos_connect
    - do_stmt
    - printf
    - taos_cleanup
    - taos_errstr
    - exit
    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:
    - rand
    - taos_affected_rows
    - taos_errno
    - sprintf
    - exit
    - taos_query
    - taos_free_result
    - taos_select_db
    - errorPrint
    - taos_errstr
    - okPrint
    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_lengths
    - taos_is_null
    - strncpy
    - taos_fetch_fields
    - warnPrint
    - taos_fetch_row
    - taos_print_row
    - puts
    - printf
    - calloc
    - taos_get_column_data_offset
    - errorPrint
    - taos_fetch_block
    - taos_num_fields
    - free
    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:
    - print_result
    - taos_errno
    - sprintf
    - printf
    - taos_query
    - errorPrint
    - taos_field_count
    - taos_errstr
    - okPrint
    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: 0
    functionLinenumber: 339
    functionLinenumberEnd: 366
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/demoapi.c
    functionUses: 0
    functionsReached:
    - prepare_data
    - taos_close
    - taos_connect
    - okPrint
    - printf
    - argp_parse
    - verify_query
    - taos_get_server_info
    - taos_errstr
    - taos_get_client_info
    - exit
    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_errno
    - printf
    - taos_query
    - taos_free_result
    - 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_bind_param
    - taos_stmt2_prepare
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_exec
    - printf
    - taos_stmt2_error
    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:
    - test2
    - taos_close
    - taos_connect
    - test3
    - test1
    - printf
    - test4
    - taos_cleanup
    - do_query
    - taos_errstr
    - exit
    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:
    - taos_close
    - taos_errno
    - fprintf
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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:
    - taos_close
    - taos_connect
    - Test
    - malloc
    - printf
    - taos_cleanup
    - free
    - exit
    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:
    - strlen
    - taos_errno
    - sprintf
    - taos_fetch_fields
    - taos_fetch_row
    - exit
    - taos_print_row
    - printf
    - taos_query
    - taos_free_result
    - calloc
    - free
    - taos_field_count
    - taos_errstr
    - queryDB
    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_field_count
    - taos_fetch_fields
    - taos_fetch_row
    - tmq_get_vgroup_id
    - tmq_get_topic_name
    - taos_print_row
    - printf
    - taos_result_precision
    - tmq_get_db_name
    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_close
    - taos_connect
    - taos_errno
    - printf
    - taos_query
    - taos_free_result
    - 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_close
    - taos_connect
    - taos_errno
    - printf
    - taos_query
    - taos_free_result
    - 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_destroy
    - tmq_conf_set_auto_commit_cb
    - 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_new
    - tmq_list_destroy
    - tmq_list_append
    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:
    - msg_process
    - taos_free_result
    - 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:
    - basic_consume_loop
    - fprintf
    - tmq_free_assignment
    - tmq_get_topic_assignment
    - tmq_err2str
    - tmq_offset_seek
    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:
    - basic_consume_loop
    - consume_repeatly
    - create_topic
    - tmq_subscribe
    - tmq_consumer_close
    - fprintf
    - build_topic_list
    - build_consumer
    - init_env
    - tmq_err2str
    - tmq_list_destroy
    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_errno
    - printf
    - taos_query
    - taos_free_result
    - 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_errno
    - printf
    - taos_query
    - taos_free_result
    - 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:
    - malloc
    - sprintf
    - do_query
    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:
    - taos_stmt2_bind_param
    - malloc
    - sprintf
    - taos_stmt2_prepare
    - initEnv
    - taos_stmt2_init
    - taos_stmt2_close
    - printf
    - createCtb
    - taos_stmt2_exec
    - clock_gettime
    - free
    - taos_stmt2_error
    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:
    - do_ins
    - strlen
    - clock
    - malloc
    - sprintf
    - initEnv
    - snprintf
    - createCtb
    - printf
    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:
    - taos_close
    - taos_connect
    - do_stmt
    - printf
    - taos_cleanup
    - taos_errstr
    - exit
    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:
    - strcpy
    - taos_stmt_errstr
    - printf
    - taos_num_fields
    - exit
    - taos_errno
    - taos_fetch_fields
    - taos_print_row
    - taos_query
    - taos_stmt_bind_param
    - taos_stmt_add_batch
    - taos_stmt_init
    - taos_stmt_close
    - taos_stmt_prepare
    - taos_free_result
    - taos_errstr
    - taos_stmt_set_tbname_tags
    - taos_connect
    - memcpy
    - taos_fetch_row
    - taos_stmt_use_result
    - taos_stmt_execute
    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: 1
    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:
    - taos_close
    - taos_errno
    - fprintf
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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: 2
    functionLinenumber: 62
    functionLinenumberEnd: 100
    functionName: testInsert
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insert_stb.c
    functionUses: 0
    functionsReached:
    - executeSql
    - sprintf
    - currTimeInUs
    - taos_errno
    - printf
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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: 2
    functionLinenumber: 102
    functionLinenumberEnd: 140
    functionName: testInsertStb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insert_stb.c
    functionUses: 0
    functionsReached:
    - executeSql
    - sprintf
    - currTimeInUs
    - taos_errno
    - printf
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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: 3
    functionLinenumber: 143
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insert_stb.c
    functionUses: 0
    functionsReached:
    - testInsertStb
    - taos_close
    - taos_connect
    - malloc
    - testInsert
    - printf
    - taos_cleanup
    - free
    - taos_errstr
    - exit
    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_errno
    - printf
    - taos_query
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS* taos, const char* sql)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/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_bind_param
    - strcpy
    - taos_stmt2_prepare
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_exec
    - printf
    - taos_stmt2_free_fields
    - taos_stmt2_get_fields
    - do_query
    - taos_stmt2_error
    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_bind_param
    - strcpy
    - taos_stmt2_prepare
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_exec
    - printf
    - taos_stmt2_free_fields
    - taos_stmt2_get_fields
    - do_query
    - taos_stmt2_error
    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_stmt2_bind_param
    - taos_stmt2_result
    - malloc
    - taos_fetch_fields
    - taos_stmt2_prepare
    - taos_fetch_row
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_exec
    - printf
    - taos_print_row_with_size
    - free
    - taos_num_fields
    - taos_stmt2_error
    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_prepare
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_free_fields
    - printf
    - taos_stmt2_get_fields
    - taos_stmt2_error
    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:
    - do_stmt_query
    - taos_close
    - do_stmt_row
    - taos_connect
    - printf
    - taos_cleanup
    - do_stmt_getresult
    - taos_errstr
    - do_stmt_col
    - exit
    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:
    - taos_close
    - taos_errno
    - printf
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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:
    - printf
    - taos_stmt_errstr
    - 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_set_tbname_tags
    - taos_stmt_add_batch
    - taos_stmt_init
    - taos_stmt_close
    - taos_stmt_prepare
    - taos_stmt_bind_param_batch
    - checkErrorCode
    - printf
    - taos_stmt_execute
    - prepareBindTags
    - taos_stmt_affected_rows
    - prepareBindParams
    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_set_tbname_tags
    - taos_stmt_add_batch
    - taos_stmt_close
    - taos_stmt_prepare
    - taos_stmt_bind_param_batch
    - checkErrorCode
    - printf
    - taos_stmt_execute
    - prepareBindTags
    - taos_stmt_init_with_options
    - taos_stmt_affected_rows
    - prepareBindParams
    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
    - taos_close
    - taos_connect
    - insertDataInterlace
    - printf
    - taos_cleanup
    - insertData
    - exit
    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_errno
    - printf
    - taos_query
    - taos_free_result
    - 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:
    - malloc
    - sprintf
    - do_query
    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:
    - taos_stmt2_bind_param
    - malloc
    - sprintf
    - taos_stmt2_prepare
    - initEnv
    - taos_stmt2_init
    - taos_stmt2_close
    - printf
    - taos_stmt2_free_fields
    - createCtb
    - taos_stmt2_get_fields
    - taos_stmt2_exec
    - free
    - taos_stmt2_error
    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:
    - taos_close
    - taos_connect
    - do_stmt
    - printf
    - taos_cleanup
    - taos_errstr
    - exit
    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:
    - taos_close
    - taos_errno
    - fprintf
    - taos_cleanup
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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_query
    - taos_free_result
    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:
    - sqError
    - exit
    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_stop_query
    - taos_free_result
    - sqExit
    - taos_errstr
    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:
    - sqExit
    - taos_free_result
    - taos_fetch_rows_a
    - taos_errstr
    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_close
    - taos_free_result
    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_fetch_rows_a
    - taos_kill_query
    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:
    - sqError
    - taos_free_result
    - taos_fetch_rows_a
    - taos_errstr
    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:
    - taos_close
    - taos_connect
    - taos_stop_query
    - taos_errno
    - sprintf
    - sqExecSQL
    - taos_fetch_row
    - CASE_LEAVE
    - taos_query
    - taos_free_result
    - sqExit
    - CASE_ENTER
    - taos_errstr
    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:
    - usleep
    - taos_query_a
    - taos_close
    - taos_connect
    - sprintf
    - sqExecSQL
    - CASE_LEAVE
    - sqExit
    - CASE_ENTER
    - taos_errstr
    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:
    - taos_close
    - taos_connect
    - taos_errno
    - sprintf
    - sqExecSQL
    - taos_fetch_row
    - CASE_LEAVE
    - taos_query
    - taos_free_result
    - sqExit
    - CASE_ENTER
    - taos_errstr
    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:
    - usleep
    - taos_query_a
    - taos_close
    - taos_connect
    - sprintf
    - sqExecSQL
    - CASE_LEAVE
    - sqExit
    - CASE_ENTER
    - taos_errstr
    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:
    - taos_close
    - taos_connect
    - taos_errno
    - sprintf
    - sqExecSQL
    - taos_fetch_row
    - CASE_LEAVE
    - taos_query
    - taos_free_result
    - sqExit
    - CASE_ENTER
    - taos_errstr
    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:
    - usleep
    - taos_query_a
    - taos_connect
    - sprintf
    - sqExecSQL
    - CASE_LEAVE
    - sqExit
    - CASE_ENTER
    - taos_errstr
    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:
    - sqExecSQLE
    - taos_connect
    - sprintf
    - taos_fetch_row
    - taos_query
    - taos_free_result
    - sqExit
    - taos_errstr
    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:
    - sqExecSQLE
    - usleep
    - taos_query_a
    - taos_connect
    - sprintf
    - sqExit
    - taos_errstr
    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:
    - usleep
    - taos_close
    - rand
    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:
    - usleep
    - taos_kill_query
    - rand
    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:
    - usleep
    - taos_cleanup
    - rand
    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:
    - pthread_join
    - pthread_create
    - CASE_ENTER
    - CASE_LEAVE
    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:
    - pthread_join
    - pthread_create
    - CASE_ENTER
    - CASE_LEAVE
    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:
    - taos_close
    - taos_connect
    - taos_errno
    - sprintf
    - sqExecSQL
    - taos_kill_query
    - taos_fetch_row
    - CASE_LEAVE
    - taos_query
    - sqExit
    - CASE_ENTER
    - taos_errstr
    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:
    - usleep
    - taos_query_a
    - taos_close
    - taos_connect
    - sprintf
    - sqExecSQL
    - CASE_LEAVE
    - sqExit
    - CASE_ENTER
    - taos_errstr
    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:
    - taos_close
    - CASE_LEAVE
    - pthread_join
    - pthread_create
    - CASE_ENTER
    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:
    - taos_close
    - CASE_LEAVE
    - pthread_join
    - pthread_create
    - CASE_ENTER
    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:
    - pthread_join
    - pthread_create
    - CASE_ENTER
    - CASE_LEAVE
    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:
    - pthread_join
    - pthread_create
    - CASE_ENTER
    - CASE_LEAVE
    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:
    - sqKillAsyncQuery
    - sqKillSyncQuery
    - sqCloseSyncQuery
    - sleep
    - sqStopSyncQuery
    - sqFreeSyncQuery
    - printf
    - sqStopAsyncQuery
    - sqConCloseSyncQuery
    - sqConCloseAsyncQuery
    - sqFreeAsyncQuery
    - sqCloseAsyncQuery
    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:
    - strcpy
    - time
    - printf
    - srand
    - sqRunAllCase
    - exit
    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_errno
    - printf
    - taos_query
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS* taos, const char* sql)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/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_bind_param
    - strcpy
    - taos_stmt2_prepare
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_exec
    - printf
    - taos_stmt2_free_fields
    - taos_stmt2_get_fields
    - do_query
    - taos_stmt2_error
    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_bind_param
    - strcpy
    - taos_stmt2_prepare
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_exec
    - printf
    - taos_stmt2_free_fields
    - taos_stmt2_get_fields
    - do_query
    - taos_stmt2_error
    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_stmt2_bind_param
    - taos_stmt2_result
    - malloc
    - taos_fetch_fields
    - taos_stmt2_prepare
    - taos_fetch_row
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_exec
    - printf
    - taos_print_row_with_size
    - free
    - taos_num_fields
    - taos_stmt2_error
    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_prepare
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_free_fields
    - printf
    - taos_stmt2_get_fields
    - taos_stmt2_error
    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:
    - do_stmt_query
    - taos_close
    - do_stmt_row
    - taos_connect
    - printf
    - taos_cleanup
    - do_stmt_getresult
    - taos_errstr
    - do_stmt_col
    - exit
    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:
    - taos_close
    - taos_errno
    - fprintf
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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:
    - taos_close
    - taos_connect
    - Test
    - printf
    - taos_cleanup
    - exit
    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:
    - taos_errno
    - sprintf
    - strcpy
    - taos_fetch_fields
    - taos_fetch_row
    - exit
    - taos_print_row
    - printf
    - taos_query
    - taos_free_result
    - taos_field_count
    - taos_errstr
    - queryDB
    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:
    - usleep
    - taos_affected_rows
    - printf
    - taos_query
    - taos_free_result
    - 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_fields
    - taos_fetch_row
    - puts
    - taos_print_row
    - printf
    - taos_fetch_block
    - taos_num_fields
    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:
    - genReqid
    - taos_query_with_reqid
    - prepare_data
    - taos_load_table_info
    - taos_fetch_lengths
    - taos_stop_query
    - check_row_count
    - taos_errno
    - printf
    - taos_free_result
    - taos_validate_sql
    - taos_result_precision
    - taos_field_count
    - taos_errstr
    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:
    - strcpy
    - taos_stmt_errstr
    - printf
    - taos_num_fields
    - taos_errno
    - taos_fetch_fields
    - taos_print_row
    - taos_query
    - taos_stmt_bind_param
    - taos_select_db
    - taos_query_with_reqid
    - taos_stmt_add_batch
    - taos_stmt_init
    - taos_stmt_close
    - taos_stmt_prepare
    - taos_free_result
    - taos_errstr
    - usleep
    - genReqid
    - taos_fetch_row
    - taos_stmt_use_result
    - taos_stmt_execute
    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_stmt_errstr
    - strcpy
    - taos_stmt_bind_param_batch
    - printf
    - taos_stmt_set_tbname
    - taos_num_fields
    - taos_errno
    - taos_fetch_fields
    - taos_print_row
    - taos_query
    - taos_stmt_bind_param
    - taos_select_db
    - strlen
    - taos_stmt_add_batch
    - taos_stmt_init
    - malloc
    - taos_stmt_close
    - taos_stmt_prepare
    - taos_free_result
    - taos_errstr
    - free
    - usleep
    - taos_fetch_row
    - taos_stmt_use_result
    - taos_stmt_execute
    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_stmt_errstr
    - strcpy
    - taos_stmt_bind_param_batch
    - printf
    - taos_num_fields
    - taos_errno
    - taos_fetch_fields
    - taos_print_row
    - taos_query
    - taos_stmt_bind_param
    - taos_select_db
    - strlen
    - taos_stmt_add_batch
    - taos_stmt_init
    - malloc
    - taos_stmt_close
    - taos_stmt_prepare
    - taos_free_result
    - taos_errstr
    - free
    - usleep
    - taos_stmt_set_tbname_tags
    - taos_fetch_row
    - taos_stmt_use_result
    - taos_stmt_execute
    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:
    - printf
    - taos_free_result
    - 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:
    - usleep
    - prepare_data
    - taos_query_a
    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_fetch_fields
    - puts
    - taos_print_row
    - printf
    - taos_num_fields
    linkageType: ''
    returnType: void
    signature: void stream_callback(void* param, TAOS_RES* res, TAOS_ROW row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/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:
    - verify_prepare2
    - taos_close
    - taos_connect
    - taos_options
    - verify_prepare3
    - printf
    - verify_async
    - taos_cleanup
    - verify_query
    - verify_prepare
    - taos_get_server_info
    - taos_errstr
    - taos_get_client_info
    - exit
    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:
    - CHECK_CONDITION
    - taos_connect
    - taos_errstr
    - taos_options
    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_fetch_row
    - taos_num_fields
    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_fetch_rows_a
    - taos_free_result
    - printResult
    - atomic_add_fetch_64
    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
    - taos_fetch_rows_a
    - atomic_add_fetch_64
    linkageType: ''
    returnType: void
    signature: void selectCallback(void* param, TAOS_RES* res, int32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_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
    - taos_close
    - atomic_load_64
    - printf
    - taosMsleep
    - getNewConnection
    - taos_cleanup
    - taos_select_db
    - verifyQueryAsync
    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: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: getCurrentTime
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - exit
    - taosGetTimeOfDay
    - 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: 2
    functionLinenumber: 52
    functionLinenumberEnd: 234
    functionName: stmt_bind_case_001
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    functionLinenumber: 237
    functionLinenumberEnd: 419
    functionName: stmt_bind_case_002
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    functionLinenumber: 422
    functionLinenumberEnd: 541
    functionName: stmt_bind_case_003
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    functionLinenumber: 543
    functionLinenumberEnd: 743
    functionName: stmt_bind_case_004
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    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
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    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
    - getCurrentTime
    - tstrerror
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    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
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: strcat
      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_errno
    - memset
    - taos_fetch_fields
    - taos_fetch_row
    - strcat
    - taos_print_row
    - printf
    - taos_query
    - taos_free_result
    - taos_errstr
    - taos_num_fields
    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_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - 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_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - 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_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - 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_errno
    - sprintf
    - printf
    - taos_query
    - taos_free_result
    - 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: 3
    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_002
    - taos_stmt_init
    - taos_stmt_close
    - stmt_bind_case_004
    - stmt_bind_case_003
    - printf
    - stmt_bind_error_case_002
    - stmt_bind_error_case_003
    - checkResult
    - prepareV
    - stmt_bind_case_001
    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: 2
    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
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 3
    functionLinenumber: 2246
    functionLinenumberEnd: 2321
    functionName: runCase_long
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - stmt_bind_case_001_long
    - prepareV_long
    - taos_stmt_init
    - taos_stmt_close
    - printf
    - checkResult
    - prepareV
    - 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: 2
    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
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    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
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    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
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 3
    functionLinenumber: 2743
    functionLinenumberEnd: 3200
    functionName: SpecifyColumnBatchCase
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - prepareVcolumn
    - stmt_specifyCol_bind_case_001
    - taos_stmt_init
    - taos_stmt_close
    - stmt_specifyCol_bind_case_002
    - printf
    - checkResult
    - prepareV
    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: 2
    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:
    - taosMemoryMalloc
    - getCurrentTime
    - tstrerror
    - taos_stmt_set_tbname_tags
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    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:
    - taosMemoryMalloc
    - getCurrentTime
    - tstrerror
    - taos_stmt_set_tbname_tags
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    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:
    - taosMemoryMalloc
    - getCurrentTime
    - tstrerror
    - taos_stmt_set_tbname_tags
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    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:
    - taosMemoryMalloc
    - getCurrentTime
    - tstrerror
    - taos_stmt_set_tbname_tags
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_bind_single_param_batch
    - taos_stmt_prepare
    - printf
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 3
    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_003_autoCreateTbl
    - taos_stmt_init
    - stmt_specifyCol_bind_case_004_autoCreateTbl
    - taos_stmt_close
    - printf
    - stmt_specifyCol_bind_case_002_autoCreateTbl
    - stmt_specifyCol_bind_case_001_autoCreateTbl
    - checkResult
    - prepareVcolumn_autoCreateTbl
    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: 2
    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
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_errstr
    - taos_stmt_prepare
    - taos_stmt_bind_single_param_batch
    - printf
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 2
    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
    - getCurrentTime
    - tstrerror
    - taos_stmt_add_batch
    - memset
    - sprintf
    - memcpy
    - taos_stmt_errstr
    - taos_stmt_prepare
    - taos_stmt_bind_single_param_batch
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taosMemoryCalloc
    - taosMemoryFree
    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: 3
    functionLinenumber: 4730
    functionLinenumberEnd: 5054
    functionName: SpecifyColumnBatchErrorCase
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - prepareVcolumn
    - stmt_specifyCol_bind_case_001
    - taos_stmt_init
    - taos_stmt_close
    - stmt_specifyCol_bind_error_case_001
    - stmt_specifyCol_bind_case_002
    - printf
    - stmt_specifyCol_bind_error_case_002
    - checkResult
    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: 4
    functionLinenumber: 5056
    functionLinenumberEnd: 5124
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosThreadJoin
    - taos_connect
    - taosMemoryFree
    - SpecifyColumnBatchCase_autoCreateTbl
    - taosThreadCreate
    - printf
    - atoi
    - taosMemoryCalloc
    - taos_errstr
    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_stmt_errstr
    - printf
    - taos_errno
    - taos_stmt2_exec
    - taos_query
    - taos_select_db
    - malloc
    - taos_stmt2_prepare
    - taos_stmt_close
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_free_fields
    - taos_free_result
    - taos_stmt2_get_fields
    - taos_errstr
    - free
    - usleep
    - taos_stmt2_bind_param
    - clock
    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:
    - taos_close
    - taos_connect
    - taos_options
    - printf
    - taos_cleanup
    - taos_errstr
    - veriry_stmt
    - exit
    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_connect
    - taos_connect
    - ws_errno
    - ws_errstr
    - push_back
    - ws_select_db
    - 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:
    - std::to_string
    - ws_errno
    - taos_errno
    - ws_errstr
    - std::string::c_str
    - taos_query
    - taos_free_result
    - ws_query
    - taos_errstr
    - ws_free_result
    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:
    - taos_close
    - ws_close
    - store
    - std::chrono::nanoseconds::count
    - now
    - createThreads
    - join
    - atoi
    - second::count
    - printHelp
    - connect
    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:
    - taos_close
    - taos_errno
    - fprintf
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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:
    - taos_close
    - sleep
    - taos_connect
    - createUsers
    - printf
    - taos_cleanup
    - dropUsers
    - exit
    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:
    - sprintf
    - taos_close
    - 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:
    - taos_connect
    - sprintf
    - fprintf
    - taos_fetch_whitelist_a
    - taos_set_notify_cb
    - printf
    - queryDB
    - taos_fetch_whitelist_dual_stack_a
    - exit
    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:
    - taos_errno
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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:
    - strlen
    - taos_load_table_info
    - taos_connect
    - taos_stmt_add_batch
    - strcpy
    - sprintf
    - taos_stmt_init
    - taos_stmt_close
    - taos_stmt_prepare
    - taos_stmt_use_result
    - check_result
    - taos_stmt_execute
    - calloc
    - taos_stmt_bind_param
    - execute_simple_sql
    - exit
    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_prepare
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_free_fields
    - printf
    - taos_stmt2_get_fields
    - taos_stmt2_error
    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_prepare
    - taos_stmt2_close
    - taos_stmt2_init
    - taos_stmt2_free_fields
    - printf
    - taos_stmt2_get_fields
    - taos_stmt2_error
    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_errno
    - printf
    - taos_query
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS *taos, const char *sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/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:
    - getQueryFields
    - printf
    - getFields
    - do_query
    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:
    - taos_close
    - taos_connect
    - do_stmt
    - printf
    - taos_cleanup
    - taos_errstr
    - exit
    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:
    - genReqid
    - taos_query_with_reqid
    - usleep
    - taos_affected_rows
    - printf
    - taos_free_result
    - taos_query
    - 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/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_fields
    - taos_fetch_row
    - puts
    - taos_print_row
    - printf
    - taos_fetch_block
    - taos_num_fields
    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:
    - genReqid
    - taos_query_with_reqid
    - prepare_data
    - taos_load_table_info
    - taos_fetch_lengths
    - taos_stop_query
    - check_row_count
    - taos_errno
    - printf
    - taos_free_result
    - taos_validate_sql
    - taos_result_precision
    - taos_field_count
    - taos_errstr
    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:
    - printf
    - taos_free_result
    - 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
    - prepare_data
    - taos_query_a_with_reqid
    - usleep
    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:
    - genReqid
    - taos_query_with_reqid
    - usleep
    - taos_schemaless_insert_with_reqid
    - taos_affected_rows
    - taos_errno
    - printf
    - taos_free_result
    - taos_select_db
    - 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_stmt_errstr
    - strcpy
    - taos_stmt_init_with_reqid
    - taos_stmt_bind_param_batch
    - printf
    - taos_stmt_set_tbname
    - taos_errno
    - taos_query
    - taos_select_db
    - strlen
    - taos_stmt_add_batch
    - malloc
    - taos_stmt_close
    - taos_stmt_prepare
    - taos_free_result
    - taos_errstr
    - free
    - usleep
    - genReqid
    - taos_stmt_execute
    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:
    - taos_close
    - taos_connect
    - taos_options
    - printf
    - verify_schema_less
    - verify_async
    - taos_cleanup
    - verify_query
    - taos_errstr
    - veriry_stmt
    - exit
    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:
    - taos_errno
    - printf
    - taos_query
    - taos_free_result
    - taos_errstr
    - exit
    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_fetch_fields
    - taos_fetch_row
    - taos_print_row
    - printf
    - taos_num_fields
    - exit
    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:
    - assert
    - taos_connect
    - taos_stmt_init
    - taos_stmt_close
    - printf
    - exit
    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:
    - assert
    - taos_connect
    - taosMemoryFree
    - taos_stmt_init
    - sprintf
    - taos_stmt_close
    - taos_stmt_prepare
    - printf
    - taosMemoryCalloc
    - execute_simple_sql
    - exit
    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:
    - assert
    - taos_connect
    - taosMemoryFree
    - taos_stmt_init
    - sprintf
    - taos_stmt_close
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taosMemoryCalloc
    - execute_simple_sql
    - exit
    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: (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: (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_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:
    - assert
    - taos_stmt_set_tbname_tags
    - taos_connect
    - taosMemoryFree
    - taos_stmt_init
    - sprintf
    - taos_stmt_close
    - taos_stmt_prepare
    - printf
    - taosMemoryCalloc
    - execute_simple_sql
    - exit
    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:
    - assert
    - taos_connect
    - taosMemoryFree
    - taos_stmt_init
    - sprintf
    - taos_stmt_close
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_sub_tbname
    - taosMemoryCalloc
    - execute_simple_sql
    - exit
    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:
    - assert
    - taos_connect
    - taosMemoryFree
    - taos_stmt_init
    - sprintf
    - taos_stmt_close
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_bind_param
    - taosMemoryCalloc
    - execute_simple_sql
    - exit
    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:
    - assert
    - printf
    - 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:
    - assert
    - printf
    - 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:
    - assert
    - taos_connect
    - taos_stmt_add_batch
    - taosMemoryFree
    - taos_stmt_init
    - sprintf
    - taos_stmt_close
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_bind_param
    - taosMemoryCalloc
    - execute_simple_sql
    - exit
    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: 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_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_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:
    - assert
    - taos_connect
    - taos_stmt_add_batch
    - taosMemoryFree
    - taos_stmt_init
    - sprintf
    - taos_stmt_close
    - taos_stmt_prepare
    - printf
    - taos_stmt_set_tbname
    - taos_stmt_execute
    - taos_stmt_bind_param
    - taosMemoryCalloc
    - execute_simple_sql
    - exit
    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:
    - assert
    - strlen
    - print_result
    - taos_stmt_init
    - strcpy
    - sprintf
    - taos_stmt_close
    - taos_stmt_prepare
    - taos_stmt_use_result
    - printf
    - taos_free_result
    - taos_stmt_execute
    - taos_stmt_bind_param
    - taosMemoryCalloc
    - taosMemoryFree
    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:
    - taos_stmt_use_result_query
    - taos_connect
    - printf
    - execute_simple_sql
    - exit
    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_close_test
    - taos_stmt_init_test
    - taos_stmt_preprare_test
    - taos_stmt_execute_test
    - taos_stmt_set_tbname_tags_test
    - taos_stmt_add_batch_test
    - taos_stmt_bind_param_test
    - taos_stmt_bind_param_batch_test
    - taos_stmt_set_tbname_test
    - taos_stmt_set_sub_tbname_test
    - taos_stmt_bind_single_param_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: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    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: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    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: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    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: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    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:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - value
    - pLastCol
    argTypes:
    - char*
    - SLastCol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 117
    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:124,1
    - Dst: tsdbCacheDeserializeV0
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:129,1
    - Dst: free
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:136,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:154,1
    - Dst: free
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - value
    - size
    - ppLastCol
    argTypes:
    - char*
    - size_t
    - SLastCol**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 176
    functionName: tsdbCacheDeserialize
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached:
    - tsdbCacheDeserializeV0
    - IS_VAR_DATA_TYPE
    - free
    - calloc
    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: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    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: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    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: 222
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 222
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_options_create
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:226,1
    - Dst: rocksdb_comparator_create
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:229,1
    - Dst: rocksdb_options_set_comparator
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:230,1
    - Dst: rocksdb_open
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:232,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:234,1
    - Dst: exit
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:235,1
    - Dst: rocksdb_readoptions_create
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:248,1
    - Dst: rocksdb_create_iterator
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:249,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:251,1
    - Dst: exit
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:252,1
    - Dst: rocksdb_iter_seek_to_first
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:255,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:255,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:255,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:257,1
    - Dst: rocksdb_iter_value
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:258,1
    - Dst: tsdbCacheDeserialize
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:261,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:263,1
    - Dst: exit
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:264,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:269,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:270,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:271,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:273,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:276,1
    - Dst: free
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:281,1
    - Dst: rocksdb_iter_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:284,1
    - Dst: rocksdb_readoptions_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:285,1
    - Dst: rocksdb_comparator_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:286,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:287,1
    - Dst: rocksdb_close
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:288,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:291,1
    - Dst: exit
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 296
    functionName: main
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached:
    - rocksdb_options_create
    - rocksdb_iter_destroy
    - rocksdb_close
    - printf
    - COL_VAL_IS_NULL
    - rocksdb_options_set_comparator
    - exit
    - rocksdb_iter_seek_to_first
    - rocksdb_iter_key
    - rocksdb_iter_valid
    - fprintf
    - rocksdb_readoptions_create
    - rocksdb_open
    - COL_VAL_IS_NONE
    - rocksdb_readoptions_destroy
    - tsdbCacheDeserialize
    - free
    - rocksdb_create_iterator
    - rocksdb_iter_next
    - COL_VAL_IS_VALUE
    - rocksdb_comparator_destroy
    - rocksdb_comparator_create
    - rocksdb_iter_value
    - rocksdb_options_destroy
    linkageType: ''
    returnType: int
    signature: int main()
  - 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:
    - tolower
    - strlen
    - 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:
    - strcasecmp
    - fprintf
    - exit
    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_errno
    - fprintf
    - taos_options
    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:
    - fieldOptionsArea
    - printf
    - 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(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(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(0xF7) == 4)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0xC2) == 2)
      pos:
        line_end: 141
        line_start: 141
        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(0xF0) == 4)
      pos:
        line_end: 149
        line_start: 149
        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(0xDF) == 2)
      pos:
        line_end: 142
        line_start: 142
        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:
    - trimStr
    - EXPECT_STREQ
    - strncpy
    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: 1
    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:
    - shellCountPrefixOnes
    - taosMbToWchar
    - taosWcharWidth
    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:
    - taosMbToWchar
    - taosWcharWidth
    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:
    - taosMbToWchar
    - shellClearScreen
    - memcpy
    - taosWcharWidth
    - memmove
    - shellShowOnScreen
    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:
    - memcpy
    - shellShowOnScreen
    - shellClearScreen
    - 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:
    - shellGetPrevCharSize
    - shellShowOnScreen
    - 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:
    - shellGetPrevCharSize
    - shellShowOnScreen
    - 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:
    - fprintf
    - fflush
    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:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void shellPositionCursor(int32_t step, int32_t direction)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellCommand.c:282,1
    - Dst: strcat
      Src: /src/tdengine/tools/shell/src/shellCommand.c:282,1
    - Dst: strcat
      Src: /src/tdengine/tools/shell/src/shellCommand.c:283,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:286,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: shellUpdateBuffer
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - memset
    - shellShowOnScreen
    - shellRegexMatch
    - strcat
    linkageType: ''
    returnType: void
    signature: void shellUpdateBuffer(SShellCmd *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:297,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:298,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:299,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellCommand.c:304,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:305,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: shellIsReadyGo
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - memset
    - sprintf
    - shellRegexMatch
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: bool
    signature: bool shellIsReadyGo(SShellCmd *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:314,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:315,1
    - Dst: taosMbsToWchars
      Src: /src/tdengine/tools/shell/src/shellCommand.c:316,1
    - Dst: taosWcharsWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:317,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - width
    argTypes:
    - char*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: shellGetMbSizeInfo
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosWcharsWidth
    - taosMbsToWchars
    - taosMemoryCalloc
    - taosMemoryFree
    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:324,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:325,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:326,1
    - Dst: strncpy
      Src: /src/tdengine/tools/shell/src/shellCommand.c:327,1
    - Dst: shellGetMbSizeInfo
      Src: /src/tdengine/tools/shell/src/shellCommand.c:330,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - cmd
    - s
    argTypes:
    - SShellCmd*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 337
    functionName: shellResetCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellClearScreen
    - memset
    - shellGetMbSizeInfo
    - shellShowOnScreen
    - strncpy
    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:343,1
    - Dst: GetStdHandle
      Src: /src/tdengine/tools/shell/src/shellCommand.c:343,1
    - Dst: ioctl
      Src: /src/tdengine/tools/shell/src/shellCommand.c:351,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - ws_col
    - ws_row
    argTypes:
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: shellGetScreenSize
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - GetStdHandle
    - GetConsoleScreenBufferInfo
    - ioctl
    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:364,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:369,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:370,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:372,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:375,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:377,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellCommand.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ecmd_pos
    - cursor_pos
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: shellClearScreen
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 12
    functionsReached:
    - shellGetScreenSize
    - fprintf
    - fflush
    - shellPositionCursor
    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:385,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:391,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:392,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellCommand.c:393,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:394,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:396,1
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:400,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:404,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:406,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:410,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:413,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:421,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:432,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:433,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:434,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:435,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellCommand.c:436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 437
    functionName: shellShowOnScreen
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 13
    functionsReached:
    - taosMemoryMalloc
    - taosMbToWchar
    - shellGetScreenSize
    - fflush
    - memset
    - sprintf
    - printf
    - taosWcharWidth
    - shellPositionCursor
    - taosMemoryFree
    - strcmp
    linkageType: ''
    returnType: void
    signature: void shellShowOnScreen(SShellCmd *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/tdengine/tools/shell/src/shellCommand.c:443,1
    - Dst: ReadConsoleW
      Src: /src/tdengine/tools/shell/src/shellCommand.c:451,1
    - Dst: WideCharToMultiByte
      Src: /src/tdengine/tools/shell/src/shellCommand.c:459,1
    - Dst: getchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 474
    functionName: taosGetConsoleChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - ReadConsoleW
    - GetStdHandle
    - WideCharToMultiByte
    - getchar
    linkageType: ''
    returnType: char
    signature: char taosGetConsoleChar()
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:482,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:483,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:484,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:489,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:492,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:493,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/src/shellCommand.c:498,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:501,1
    - Dst: shellInsertChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:504,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:505,1
    - Dst: pressTabKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:508,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:510,1
    - Dst: shellPositionCursorHome
      Src: /src/tdengine/tools/shell/src/shellCommand.c:516,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:519,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:520,1
    - Dst: raise
      Src: /src/tdengine/tools/shell/src/shellCommand.c:522,1
    - Dst: kill
      Src: /src/tdengine/tools/shell/src/shellCommand.c:524,1
    - Dst: taosResetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellCommand.c:528,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:529,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:530,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:531,1
    - Dst: shellPositionCursorEnd
      Src: /src/tdengine/tools/shell/src/shellCommand.c:534,1
    - Dst: shellBackspaceChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:537,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:543,1
    - Dst: shellIsReadyGo
      Src: /src/tdengine/tools/shell/src/shellCommand.c:545,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:546,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:547,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:548,1
    - Dst: shellUpdateBuffer
      Src: /src/tdengine/tools/shell/src/shellCommand.c:551,1
    - Dst: shellClearLineAfter
      Src: /src/tdengine/tools/shell/src/shellCommand.c:555,1
    - Dst: system
      Src: /src/tdengine/tools/shell/src/shellCommand.c:561,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:563,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:566,1
    - Dst: shellClearLineBefore
      Src: /src/tdengine/tools/shell/src/shellCommand.c:569,1
    - Dst: positionCursorMiddle
      Src: /src/tdengine/tools/shell/src/shellCommand.c:572,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:576,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:577,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:580,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:587,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:595,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:597,1
    - Dst: shellMoveCursorRight
      Src: /src/tdengine/tools/shell/src/shellCommand.c:603,1
    - Dst: shellMoveCursorLeft
      Src: /src/tdengine/tools/shell/src/shellCommand.c:606,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:609,1
    - Dst: shellPositionCursorHome
      Src: /src/tdengine/tools/shell/src/shellCommand.c:611,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:615,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:620,1
    - Dst: shellDeleteChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:622,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:626,1
    - Dst: shellPositionCursorEnd
      Src: /src/tdengine/tools/shell/src/shellCommand.c:628,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:632,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:637,1
    - Dst: shellPositionCursorHome
      Src: /src/tdengine/tools/shell/src/shellCommand.c:643,1
    - Dst: shellPositionCursorEnd
      Src: /src/tdengine/tools/shell/src/shellCommand.c:647,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:653,1
    - Dst: shellBackspaceChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:655,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:657,1
    - Dst: shellInsertChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:658,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 154
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 663
    functionName: shellReadCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellBackspaceChar
    - shellMoveCursorRight
    - sprintf
    - shellResetCommand
    - kill
    - shellUpdateBuffer
    - printf
    - shellClearLineAfter
    - pressOtherKey
    - shellInsertChar
    - taosMemoryCalloc
    - shellMoveCursorLeft
    - shellClearLineBefore
    - pressTabKey
    - shellPositionCursorHome
    - system
    - shellCountPrefixOnes
    - taosMemoryFreeClear
    - positionCursorMiddle
    - shellDeleteChar
    - shellShowOnScreen
    - taosResetTerminalMode
    - raise
    - shellPositionCursorEnd
    - shellIsReadyGo
    - taosGetConsoleChar
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellReadCommand(char *command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:472,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:474,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:475,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:476,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:478,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:480,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:481,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:482,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:483,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:484,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:485,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:486,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:487,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:488,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:489,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:490,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:492,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:493,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:494,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:495,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - EVersionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 498
    functionName: printfIntroduction
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - printf
    - sprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void printfIntroduction(EVersionType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:502,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:503,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:504,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - end
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 506
    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:509,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:510,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:655,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:676,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:678,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:692,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 694
    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: 701
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 701
    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: 711
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 711
    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: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    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:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 720
    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:724,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:725,1
    - Dst: wordType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:732,1
    - Dst: wordType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - p
    - len
    - pattern
    argTypes:
    - char*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 742
    functionName: addWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memset
    - wordType
    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:748,1
    - Dst: addWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:769,1
    - Dst: addWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:776,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - command
    - pattern
    argTypes:
    - SWords*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 784
    functionName: parseCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - addWord
    - strlen
    linkageType: ''
    returnType: void
    signature: void parseCommand(SWords* command, bool pattern)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:795,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - command
    argTypes:
    - SWords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 798
    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:801,1
    - Dst: insertWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:803,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:806,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - type
    - p
    - count
    argTypes:
    - int
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 809
    functionName: GenerateVarType
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - insertWord
    - taosThreadMutexLock
    - createTire
    - 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:818,1
    - Dst: parseCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:820,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:824,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/tools/shell/src/shellAuto.c:825,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:828,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:831,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:832,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:833,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:834,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:835,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:836,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:837,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:838,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:839,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:840,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:841,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:842,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:843,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 845
    functionName: shellAutoInit
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - parseCommand
    - memset
    - taosThreadMutexInit
    - SHELL_COMMAND_COUNT
    - GenerateVarType
    linkageType: ''
    returnType: void
    signature: void shellAutoInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateTireValue
      Src: /src/tdengine/tools/shell/src/shellAuto.c:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - runOnce
    argTypes:
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 853
    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:858,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:860,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:864,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:867,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:871,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:873,1
    - Dst: taosDestroyThread
      Src: /src/tdengine/tools/shell/src/shellAuto.c:878,1
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellAuto.c:885,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 888
    functionName: shellAutoExit
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - freeMatch
    - freeTire
    - taosDestroyThread
    - freeCommand
    - taosThreadMutexDestroy
    - taosThreadMutexUnlock
    - SHELL_COMMAND_COUNT
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void shellAutoExit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:896,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:901,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - type
    - pNew
    argTypes:
    - int
    - STire*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 911
    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:919,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 924
    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:932,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:937,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/shell/src/shellAuto.c:942,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - type
    - tire
    argTypes:
    - int
    - STire*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 947
    functionName: putBackAutoPtr
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - taosThreadMutexLock
    - freeTire
    - 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:957,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellAuto.c:962,1
    - Dst: createTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:965,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellAuto.c:971,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:974,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:976,1
    - Dst: insertWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:981,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellAuto.c:987,1
    - Dst: setNewAutoPtr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:991,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - type
    - tres
    argTypes:
    - int
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 994
    functionName: writeVarNames
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - insertWord
    - taos_fetch_lengths
    - memcpy
    - sprintf
    - taos_fetch_fields
    - createTire
    - taos_fetch_row
    - setNewAutoPtr
    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:997,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:999,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1003
    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:1011,1
    - Dst: taos_query
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1017,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1018,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1019,1
    - Dst: setThreadNull
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1020,1
    - Dst: writeVarNames
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1025,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1028,1
    - Dst: firstMatchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1033,1
    - Dst: setThreadNull
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1038
    functionName: varObtainThread
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - firstMatchCommand
    - taos_errno
    - setThreadNull
    - taos_query
    - taos_free_result
    - writeVarNames
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void * varObtainThread(void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1043,1
    - Dst: taosThreadRunning
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1050,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1052,1
    - Dst: taosDestroyThread
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1056,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1061,1
    - Dst: taosCreateThread
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1063,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1064,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - type
    - autoFill
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1070
    functionName: updateTireValue
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - taosCreateThread
    - taosThreadRunning
    - taosDestroyThread
    - taosThreadMutexUnlock
    - 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:1079,1
    - Dst: enumAll
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1089,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1092,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1093,1
    - Dst: matchPrefix
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1094,1
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1099,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1113,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1129,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1137,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - tire
    - pre
    argTypes:
    - STire*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1146
    functionName: matchNextPrefix
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - freeMatch
    - memset
    - matchPrefix
    - enumAll
    - 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:1158,1
    - Dst: updateTireValue
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1161,1
    - Dst: getAutoPtr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1166,1
    - Dst: matchNextPrefix
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1171,1
    - Dst: putBackAutoPtr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - type
    - pre
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1149
    functionDepth: 2
    functionLinenumber: 1149
    functionLinenumberEnd: 1176
    functionName: tireSearchWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - putBackAutoPtr
    - getAutoPtr
    - matchNextPrefix
    - updateTireValue
    linkageType: ''
    returnType: char
    signature: char * tireSearchWord(int type, char* pre)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1182,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1188,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1190,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1195,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1204,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - word1
    - word2
    argTypes:
    - SWord*
    - SWord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1179
    functionDepth: 3
    functionLinenumber: 1179
    functionLinenumberEnd: 1213
    functionName: matchVarWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - tireSearchWord
    - memcpy
    - strlen
    - 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:1232,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1237,1
    - Dst: matchVarWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1253,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - cmdPattern
    - cmdInput
    argTypes:
    - SWords*
    - SWords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1220
    functionDepth: 4
    functionLinenumber: 1220
    functionLinenumberEnd: 1272
    functionName: compareCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - matchVarWord
    - strncasecmp
    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:1276,1
    - Dst: compareCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - input
    - continueSearch
    argTypes:
    - SWords*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1275
    functionDepth: 5
    functionLinenumber: 1275
    functionLinenumberEnd: 1304
    functionName: matchCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - SHELL_COMMAND_COUNT
    - compareCommand
    linkageType: ''
    returnType: SWords
    signature: SWords * matchCommand(SWords* input, bool continueSearch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1315,1
    - Dst: shellGetPrevCharSize
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1319,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cmd
    - count
    argTypes:
    - SShellCmd*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1311
    functionDepth: 2
    functionLinenumber: 1311
    functionLinenumberEnd: 1327
    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:1341,1
    - Dst: deleteCount
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1350,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1360,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1362,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1363,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1365,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1366,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1368,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - con
    - cmd
    - match
    argTypes:
    - TAOS*
    - SShellCmd*
    - SWords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1330
    functionDepth: 3
    functionLinenumber: 1330
    functionLinenumberEnd: 1374
    functionName: printScreen
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - shellInsertStr
    - tstrncpy
    - deleteCount
    - taosMemoryCalloc
    - MATCH_WORD
    - taosMemoryFree
    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:1380,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1381,1
    - Dst: parseCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1384,1
    - Dst: matchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1389,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1392,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1393,1
    - Dst: printScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1398,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1400,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1401,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1403,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1377
    functionDepth: 6
    functionLinenumber: 1377
    functionLinenumberEnd: 1406
    functionName: firstMatchCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - parseCommand
    - matchCommand
    - memset
    - freeCommand
    - printf
    - printScreen
    - shellShowOnScreen
    - taosMemoryFree
    linkageType: ''
    returnType: bool
    signature: bool firstMatchCommand(TAOS* con, SShellCmd* cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1413,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1414,1
    - Dst: strncpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1421,1
    - Dst: strcat
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1422,1
    - Dst: strncpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - input
    - firstMatch
    argTypes:
    - SWords*
    - SWords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1432
    functionName: createInputFromFirst
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memset
    - strncpy
    - strcat
    linkageType: ''
    returnType: void
    signature: void createInputFromFirst(SWords* input, SWords* firstMatch)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1439,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1440,1
    - Dst: createInputFromFirst
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1443,1
    - Dst: parseCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1446,1
    - Dst: matchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1449,1
    - Dst: matchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1454,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1456,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1457,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1458,1
    - Dst: printScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1464,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1466,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1467,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1471,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1473,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - con
    - cmd
    - firstMatch
    argTypes:
    - TAOS*
    - SShellCmd*
    - SWords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1435
    functionDepth: 6
    functionLinenumber: 1435
    functionLinenumberEnd: 1479
    functionName: nextMatchCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - parseCommand
    - matchCommand
    - memset
    - freeCommand
    - printf
    - printScreen
    - shellShowOnScreen
    - taosMemoryFree
    - createInputFromFirst
    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:1485,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1491,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1494,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1495,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - con
    - cmd
    - pre
    - type
    argTypes:
    - TAOS*
    - SShellCmd*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1482
    functionDepth: 2
    functionLinenumber: 1482
    functionLinenumberEnd: 1500
    functionName: fillWithType
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - strlen
    - shellInsertStr
    - 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:1505,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1507,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1512,1
    - Dst: deleteCount
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1516,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1521,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1522,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - con
    - cmd
    - pre
    argTypes:
    - TAOS*
    - SShellCmd*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1503
    functionDepth: 3
    functionLinenumber: 1503
    functionLinenumberEnd: 1527
    functionName: fillTableName
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strlen
    - shellInsertStr
    - deleteCount
    - tireSearchWord
    - taosMemoryFree
    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:1538,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1550
    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:1554,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1555,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1565,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1594,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1599,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1606
    functionName: fieldsInputEnd
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool fieldsInputEnd(char* sql)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fieldsInputEnd
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sql
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1623
    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:1627,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1632,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1634,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1638,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1640,1
    - Dst: fieldsInputEnd
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1643,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1646,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1647,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1654,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1656,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1659,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1664,1
    - Dst: fillTableName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1667,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1669,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1672,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: 1674
      start: 1626
    functionDepth: 4
    functionLinenumber: 1626
    functionLinenumberEnd: 1674
    functionName: appendAfterSelect
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strlen
    - shellInsertStr
    - taosStrndup
    - fillWithType
    - fillTableName
    - lastWord
    - fieldsInputEnd
    - strstr
    - taosMemoryFree
    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:1678,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1682,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1691,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1695,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1700,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1706,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1711
    functionName: searchAfterSelect
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strstr
    - strncasecmp
    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:1716,1
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1736,1
    - Dst: searchAfterSelect
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1738,1
    - Dst: appendAfterSelect
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1713
    functionDepth: 5
    functionLinenumber: 1713
    functionLinenumberEnd: 1745
    functionName: matchSelectQuery
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - deleteCount
    - searchAfterSelect
    - appendAfterSelect
    - taosStrndup
    - taosMemoryFree
    linkageType: ''
    returnType: bool
    signature: bool matchSelectQuery(TAOS* con, SShellCmd* cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1749,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1750,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1756,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1768,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1788
    functionName: fieldOptionsArea
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 1
    functionsReached:
    - strrchr
    - strstr
    - strchr
    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: 1810
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1810
    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:1815,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1835,1
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1842,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1844,1
    - Dst: isCreateFieldsArea
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1847,1
    - Dst: fieldOptionsArea
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1848,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1850,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1853,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1860,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1862,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1864,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1872,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1874,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1876,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1881,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1812
    functionDepth: 3
    functionLinenumber: 1812
    functionLinenumberEnd: 1883
    functionName: matchCreateTable
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - fieldOptionsArea
    - deleteCount
    - strstr
    - strncasecmp
    - strchr
    - fillWithType
    - lastWord
    - taosStrndup
    - taosMemoryFree
    - isCreateFieldsArea
    linkageType: ''
    returnType: bool
    signature: bool matchCreateTable(TAOS* con, SShellCmd* cmd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1893,1
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1901,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1902,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1904,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1905,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1906,1
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1909,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1913,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1916,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1947,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1948,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1955,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1885
    functionDepth: 3
    functionLinenumber: 1885
    functionLinenumberEnd: 1958
    functionName: matchOther
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - shellInsertStr
    - strstr
    - fillWithType
    - lastWord
    - taosStrndup
    - taosMemoryFree
    - strncmp
    - 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:1964,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1965,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1966,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1972,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1975,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1982,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1988,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1994,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2001,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1961
    functionDepth: 3
    functionLinenumber: 1961
    functionLinenumberEnd: 2003
    functionName: matchEnd
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strlen
    - fillWithType
    - lastWord
    - taosStrndup
    - taosMemoryFree
    - 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:2014,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2016,1
    - Dst: matchCreateTable
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2025,1
    - Dst: firstMatchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2030,1
    - Dst: nextMatchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2032,1
    - Dst: matchOther
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2038,1
    - Dst: matchSelectQuery
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2042,1
    - Dst: matchEnd
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2046,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2006
    functionDepth: 7
    functionLinenumber: 2006
    functionLinenumberEnd: 2049
    functionName: pressTabKey
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 1
    functionsReached:
    - matchCreateTable
    - matchEnd
    - nextMatchCommand
    - firstMatchCommand
    - matchOther
    - matchSelectQuery
    - showHelp
    - shellShowOnScreen
    linkageType: ''
    returnType: void
    signature: void pressTabKey(SShellCmd* cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2052
    functionDepth: 1
    functionLinenumber: 2052
    functionLinenumberEnd: 2073
    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: 2095
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2095
    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:2100,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2106,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2112,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2118,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2123,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2129,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2132,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2136
    functionName: dealUseDB
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - freeTire
    - strcasecmp
    - strcpy
    - strncasecmp
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - getWordName
    linkageType: ''
    returnType: bool
    signature: bool dealUseDB(char* sql)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2141,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2147,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2154,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2156,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2157,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2157,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2161,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2163,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2165,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2173,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2176,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2182,1
    - Dst: insertWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2186,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2188,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2139
    functionDepth: 1
    functionLinenumber: 2139
    functionLinenumberEnd: 2191
    functionName: dealCreateCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strlen
    - insertWord
    - strcasecmp
    - strncasecmp
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - strstr
    - getWordName
    linkageType: ''
    returnType: bool
    signature: bool dealCreateCommand(char* sql)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2196,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2202,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2209,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2211,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2213,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2215,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2217,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2219,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2227,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2230,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2236,1
    - Dst: deleteWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2242,1
    - Dst: deleteWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2246,1
    - Dst: deleteWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2251,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2253,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2194
    functionDepth: 1
    functionLinenumber: 2194
    functionLinenumberEnd: 2256
    functionName: dealDropCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcasecmp
    - deleteWord
    - strncasecmp
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - getWordName
    linkageType: ''
    returnType: bool
    signature: bool dealDropCommand(char* sql)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dealUseDB
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2266,1
    - Dst: updateTireValue
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2268,1
    - Dst: dealCreateCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2273,1
    - Dst: dealDropCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - sqlstr
    - pSql
    - usedb
    argTypes:
    - char*
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2259
    functionDepth: 2
    functionLinenumber: 2259
    functionLinenumberEnd: 2283
    functionName: callbackAutoTab
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - dealDropCommand
    - dealCreateCommand
    - dealUseDB
    - updateTireValue
    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: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    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:82,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:86,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:90,1
    - Dst: system
      Src: /src/tdengine/tools/shell/src/shellEngine.c:94,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:96,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:102,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:104,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:105,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:106,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:107,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellEngine.c:110,1
    - Dst: TRANGE
      Src: /src/tdengine/tools/shell/src/shellEngine.c:111,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:117,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:119,1
    - Dst: shellRunSingleCommandImp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:121,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: shellSourceFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:129,1
    - Dst: shellRunSingleCommandImp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 134
    functionName: shellRunSingleCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - shellRunSingleCommandImp
    - shellSourceFile
    - system
    - TRANGE
    - shellRegexMatch
    - strncasecmp
    - printf
    - shellIsEmptyCommand
    - atoi
    - strtok
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellRunSingleCommand(char *command)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:137,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:137,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:138,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:147,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:149,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellEngine.c:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: shellRecordCommandToHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosStrCaseStr
    - strncasecmp
    - taosStrdup
    - strcmp
    linkageType: ''
    returnType: void
    signature: void shellRecordCommandToHistory(char *command)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: shellIsEmptyCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:161,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:166,1
    - Dst: showHelp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:168,1
    - Dst: shellRecordCommandToHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:173,1
    - Dst: shellRunSingleCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:189,1
    - Dst: shellRunSingleCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:196,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 2
    argNames:
    - command
    - recordHistory
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 197
    functionName: shellRunCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - shellRecordCommandToHistory
    - showHelp
    - shellIsEmptyCommand
    - shellRunSingleCommand
    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:204,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:210,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 220
    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:229,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:234,1
    - Dst: strendG
      Src: /src/tdengine/tools/shell/src/shellEngine.c:240,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:245,1
    - Dst: taos_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:247,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:248,1
    - Dst: shellPrintError
      Src: /src/tdengine/tools/shell/src/shellEngine.c:249,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:253,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:254,1
    - Dst: callbackAutoTab
      Src: /src/tdengine/tools/shell/src/shellEngine.c:257,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:259,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:266,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:268,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:270,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:272,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:276,1
    - Dst: shellDumpResult
      Src: /src/tdengine/tools/shell/src/shellEngine.c:280,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:283,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:285,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:287,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:287,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:290,1
    - Dst: taos_affected_rows64
      Src: /src/tdengine/tools/shell/src/shellEngine.c:292,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:293,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:294,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:295,1
    - Dst: callbackAutoTab
      Src: /src/tdengine/tools/shell/src/shellEngine.c:298,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:301,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 302
    functionName: shellRunSingleCommandImp
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - shellDumpResult
    - strendG
    - callbackAutoTab
    - taos_errstr
    - taos_errno
    - taos_affected_rows64
    - shellRegexMatch
    - taos_fetch_fields
    - shellPrintError
    - printf
    - taos_query
    - taos_free_result
    - strstr
    - taosGetTimestampUs
    linkageType: ''
    returnType: void
    signature: void shellRunSingleCommandImp(char *command)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:306,1
    - Dst: taosLocalTime
      Src: /src/tdengine/tools/shell/src/shellEngine.c:335,1
    - Dst: strftime
      Src: /src/tdengine/tools/shell/src/shellEngine.c:338,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:341,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:343,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:345,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: 349
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 349
    functionName: shellFormatTimestamp
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosLocalTime
    - strftime
    - sprintf
    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:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - val
    - length
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 358
    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: 33
    BranchProfiles: []
    Callsites:
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:362,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:374,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:377,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:380,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:383,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:386,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:389,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:392,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:395,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:398,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:403,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:403,1
    - Dst: tsnprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:405,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:405,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:407,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:407,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:409,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:416,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:416,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:417,1
    - Dst: tsnprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:419,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:419,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:421,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:421,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:423,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:431,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:443,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:444,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:449,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:452,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:453,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:457,1
    - Dst: shellDumpHexValue
      Src: /src/tdengine/tools/shell/src/shellEngine.c:459,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:460,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:461,1
    - Dst: shellFormatTimestamp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:465,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:466,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:470,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:476,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:479,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:480,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 114
    argCount: 5
    argNames:
    - pFile
    - val
    - field
    - length
    - precision
    argTypes:
    - TdFilePtr
    - char*
    - TAOS_FIELD*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 487
    functionName: shellDumpFieldToFile
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosAscii2Hex
    - GET_DOUBLE_VAL
    - taosFprintfFile
    - snprintf
    - tsnprintf
    - shellFormatTimestamp
    - taosMemoryCalloc
    - taosMemoryFree
    - 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:491,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:492,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:495,1
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:500,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:502,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:506,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:507,1
    - Dst: taos_result_precision
      Src: /src/tdengine/tools/shell/src/shellEngine.c:508,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:512,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:514,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:516,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellEngine.c:520,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:523,1
    - Dst: shellDumpFieldToFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:525,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:527,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:530,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - fname
    - tres
    argTypes:
    - char*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 536
    functionName: shellDumpResultToFile
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosCloseFile
    - taos_fetch_lengths
    - taosExpandDir
    - taos_fetch_fields
    - fprintf
    - taos_fetch_row
    - taosFprintfFile
    - taos_result_precision
    - taosOpenFile
    - shellDumpFieldToFile
    - taos_num_fields
    linkageType: ''
    returnType: int64_t
    signature: int64_t shellDumpResultToFile(const char *fname, TAOS_RES *tres)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:544,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellEngine.c:556,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:565,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:574,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:588,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:593,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:599,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 3
    argNames:
    - str
    - length
    - width
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 601
    functionName: shellPrintNChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosMbToWchar
    - taosWcharWidth
    - putchar
    - printf
    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:604,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:607,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:610,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:612,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - str
    - width
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 617
    functionName: shellPrintString
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    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:621,1
    - Dst: initCtxAsText
      Src: /src/tdengine/tools/shell/src/shellEngine.c:627,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:629,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/tools/shell/src/shellEngine.c:629,1
    - Dst: doAsText
      Src: /src/tdengine/tools/shell/src/shellEngine.c:634,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:636,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/tools/shell/src/shellEngine.c:636,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:640,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/tools/shell/src/shellEngine.c:642,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: 643
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 643
    functionName: shellPrintGeometry
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - initCtxAsText
    - shellPrintString
    - doAsText
    - geosFreeBuffer
    - getGeosErrMsg
    linkageType: ''
    returnType: void
    signature: void shellPrintGeometry(const unsigned char *val, int32_t length, int32_t
      width)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:647,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:656,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:659,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:662,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:665,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:668,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:671,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:674,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:677,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:677,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:680,1
    - Dst: taosGetUInt64Aligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:680,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:685,1
    - Dst: taosGetFloatAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:685,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:687,1
    - Dst: taosGetFloatAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:687,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:688,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:694,1
    - Dst: taosGetDoubleAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:694,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:695,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:697,1
    - Dst: taosGetDoubleAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:697,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:698,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:704,1
    - Dst: shellPrintNChar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:707,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:708,1
    - Dst: shellPrintNChar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:714,1
    - Dst: shellPrintGeometry
      Src: /src/tdengine/tools/shell/src/shellEngine.c:717,1
    - Dst: shellFormatTimestamp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:720,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:720,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:721,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:728,1
    - Dst: shellPrintNChar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:731,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:732,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:737,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 87
    argCount: 5
    argNames:
    - val
    - field
    - width
    - length
    - precision
    argTypes:
    - char*
    - TAOS_FIELD*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 741
    functionName: shellPrintField
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosAscii2Hex
    - shellPrintString
    - taosGetUInt64Aligned
    - shellPrintNChar
    - taosGetFloatAligned
    - taosGetInt64Aligned
    - snprintf
    - printf
    - shellPrintGeometry
    - shellFormatTimestamp
    - taosGetDoubleAligned
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void shellPrintField(const char *val, TAOS_FIELD *field, int32_t width,
      int32_t length, int32_t precision)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:746,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:750,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:754,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:758,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 767
    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:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 776
    functionName: shellIsShowQuery
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosStrCaseStr
    linkageType: ''
    returnType: bool
    signature: bool shellIsShowQuery(const char *sql)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsem_init
      Src: /src/tdengine/tools/shell/src/shellEngine.c:781,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:784,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:785,1
    - Dst: taos_result_precision
      Src: /src/tdengine/tools/shell/src/shellEngine.c:786,1
    - Dst: shellIsShowWhole
      Src: /src/tdengine/tools/shell/src/shellEngine.c:790,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:797,1
    - Dst: shellCalcColWidth
      Src: /src/tdengine/tools/shell/src/shellEngine.c:804,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - dump_info
    - tres
    - sql
    - vertical
    argTypes:
    - tsDumpInfo*
    - TAOS_RES*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 807
    functionName: init_dump_info
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - strlen
    - taos_fetch_fields
    - shellIsShowWhole
    - tsem_init
    - taos_result_precision
    - shellCalcColWidth
    - taos_num_fields
    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:810,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:812,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:820,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellEngine.c:822,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:827,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:828,1
    - Dst: shellPrintField
      Src: /src/tdengine/tools/shell/src/shellEngine.c:830,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:831,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:832,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:839,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:840,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:841,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:842,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:843,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:844,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:845,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:853,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - tres
    - dump_info
    argTypes:
    - TAOS_RES*
    - tsDumpInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 856
    functionName: shellVerticalPrintResult
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - strlen
    - taos_fetch_lengths
    - shellPrintField
    - taos_fetch_row
    - printf
    - putchar
    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:859,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:863,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:865,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:869,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:873,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:877,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:881,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:884,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:887,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:892,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:894,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:899,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:901,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:908,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:910,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:916,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:919,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:921,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:923,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:929,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:931,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:936,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:938,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/shell/src/shellEngine.c:940,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 73
    argCount: 2
    argNames:
    - field
    - precision
    argTypes:
    - TAOS_FIELD*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 944
    functionName: shellCalcColWidth
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - TMAX
    - strlen
    - ASSERT
    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:950,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:952,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:956,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:957,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:959,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:961,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:962,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: 963
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 963
    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:966,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:968,1
    - Dst: shellPrintHeader
      Src: /src/tdengine/tools/shell/src/shellEngine.c:975,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellEngine.c:979,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:981,1
    - Dst: shellPrintField
      Src: /src/tdengine/tools/shell/src/shellEngine.c:982,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:984,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:985,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:987,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:988,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:994,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:995,1
    - Dst: shellIsShowQuery
      Src: /src/tdengine/tools/shell/src/shellEngine.c:996,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:997,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:999,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1000,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1002,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1003,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1004,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1012,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - tres
    - dump_info
    argTypes:
    - TAOS_RES*
    - tsDumpInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 1015
    functionName: shellHorizontalPrintResult
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - shellIsShowQuery
    - taos_fetch_lengths
    - shellPrintField
    - taos_fetch_row
    - printf
    - putchar
    - shellPrintHeader
    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:1023,1
    - Dst: shellHorizontalPrintResult
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1025,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1030,1
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1032,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1036,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1036,1
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - param
    - tres
    - num_of_rows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1017
    functionDepth: 4
    functionLinenumber: 1017
    functionLinenumberEnd: 1040
    functionName: shellDumpResultCallback
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taos_fetch_rows_a
    - tsem_post
    - shellHorizontalPrintResult
    - tstrerror
    - printf
    - shellVerticalPrintResult
    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:1045,1
    - Dst: init_dump_info
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1049,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1050,1
    - Dst: tsem_wait
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1051,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1056,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: 1058
      start: 1042
    functionDepth: 3
    functionLinenumber: 1042
    functionLinenumberEnd: 1058
    functionName: shellDumpResult
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - shellDumpResultToFile
    - taos_fetch_rows_a
    - init_dump_info
    - taos_errno
    - tsem_wait
    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:1062,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1065,1
    - Dst: taosGetsFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1067,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1069,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1070,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1079,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1080,1
    - Dst: taosStatFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1082,1
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1083,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1090,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1093,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1096,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1097,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1100
    functionName: shellReadHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosStrdup
    - taosCloseFile
    - taosMemoryFreeClear
    - taosStatFile
    - taosFprintfFile
    - taosFsyncFile
    - taosGetsFile
    - taosOpenFile
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void shellReadHistory()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1105,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1110,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1111,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1117
    functionName: shellWriteHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosOpenFile
    - taosCloseFile
    - taosMemoryFree
    - taosFprintfFile
    linkageType: ''
    returnType: void
    signature: void shellWriteHistory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1127
    functionName: shellCleanupHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void shellCleanupHistory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1130,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1131,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1131,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1131,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tres
    - st
    argTypes:
    - TAOS_RES*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1133
    functionName: shellPrintError
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - taosGetTimestampUs
    - taos_errno
    - fprintf
    - taos_free_result
    - 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:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    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:1142,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1147,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1148,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1151,1
    - Dst: shellRecordCommandToHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1152,1
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1154,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1156,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1157,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1161,1
    - Dst: taosGetsFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1162,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1164,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1167,1
    - Dst: shellIsCommentLine
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1172,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1178,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1187,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1188,1
    - Dst: shellRunCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1189,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1190,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1194,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1195,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1196,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1140
    functionDepth: 3
    functionLinenumber: 1140
    functionLinenumberEnd: 1197
    functionName: shellSourceFile
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - tstrncpy
    - taosCloseFile
    - taosMemoryFreeClear
    - taosExpandDir
    - sprintf
    - memset
    - fprintf
    - memcpy
    - shellRecordCommandToHistory
    - printf
    - shellIsCommentLine
    - taosGetsFile
    - shellRunCommand
    - taosOpenFile
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void shellSourceFile(const char *file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1202,1
    - Dst: taos_get_server_info
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1202,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1203,1
    - Dst: taos_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1208,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1210,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1214,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1214,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1216,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1220,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1222,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1223,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1226,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1227,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1230,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1231,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1233,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1234,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1240,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1241,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1242,1
    - Dst: trimStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1244,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1246,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1248,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1250,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1253,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1256,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1259,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1265
    functionName: shellGetGrantInfo
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taos_errno
    - memcpy
    - taos_fetch_fields
    - fprintf
    - taos_fetch_row
    - strcmp
    - trimStr
    - sprintf
    - taos_query
    - taos_free_result
    - strtok
    - taos_field_count
    - taos_get_server_info
    - taos_errstr
    - exit
    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:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fdwCtrlType
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1271
    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:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1273
    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:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1276
    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:1279,1
    - Dst: tsem_wait
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1285,1
    - Dst: taosMsleep
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1286,1
    - Dst: taos_kill_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1292,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1301
    functionName: shellCancelHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taos_kill_query
    - taosMsleep
    - printf
    - setThreadName
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: void *shellCancelHandler(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1307,1
    - Dst: taosGetOldTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1308,1
    - Dst: taosThreadCleanupPush
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1309,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1312,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1314,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1319,1
    - Dst: taosSetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1320,1
    - Dst: shellReadCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1322,1
    - Dst: taosResetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1326,1
    - Dst: shellRunCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1327,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1329,1
    - Dst: shellWriteHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1330,1
    - Dst: shellExit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1331,1
    - Dst: taosThreadCleanupPop
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1306
    functionDepth: 4
    functionLinenumber: 1306
    functionLinenumberEnd: 1336
    functionName: shellThreadLoop
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosSetTerminalMode
    - taosGetOldTerminalMode
    - taosThreadCleanupPop
    - shellReadCommand
    - taosResetTerminalMode
    - memset
    - taosMemoryFreeClear
    - printf
    - setThreadName
    - shellWriteHistory
    - shellRunCommand
    - taosThreadCleanupPush
    - shellExit
    linkageType: ''
    returnType: void
    signature: void *shellThreadLoop(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strToLowerCopy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1350,1
    - Dst: parseDsn
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1357,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1359,1
    - Dst: free
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1360,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1371,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1375,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1376,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1377,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1377,1
    - Dst: defaultPort
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1387,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1390,1
    - Dst: taos_connect_auth
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1396,1
    - Dst: taos_connect
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1398,1
    - Dst: free
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - pArgs
    argTypes:
    - SShellArgs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1404
    functionName: createConnect
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - strlen
    - parseDsn
    - taos_connect
    - memcpy
    - sprintf
    - printf
    - defaultPort
    - taos_connect_auth
    - atoi
    - strToLowerCopy
    - free
    linkageType: ''
    returnType: TAOS
    signature: TAOS *createConnect(SShellArgs *pArgs)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1408,1
    - Dst: workingMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1409,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1410,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1411,1
    - Dst: createConnect
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1414,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1417,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1417,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1417,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1419,1
    - Dst: shellSetConn
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1424,1
    - Dst: shellReadHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1425,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1429,1
    - Dst: taos_set_conn_mode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1430,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1435,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1436,1
    - Dst: shellRunCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1437,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1438,1
    - Dst: shellSourceFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1442,1
    - Dst: taos_close
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1445,1
    - Dst: shellWriteHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1447,1
    - Dst: shellCleanupHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1448,1
    - Dst: tsem_init
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1452,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1453,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1453,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1458,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1460,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1461,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1462,1
    - Dst: shellGetGrantInfo
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1465,1
    - Dst: printfIntroduction
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1467,1
    - Dst: showAD
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1470,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1475,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1479,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1480,1
    - Dst: taosThreadClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1481,1
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1483,1
    - Dst: showAD
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1489,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1492,1
    - Dst: shellCleanupHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1494,1
    - Dst: taos_kill_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1495,1
    - Dst: taos_close
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1496,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1498,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1406
    functionDepth: 4
    functionLinenumber: 1406
    functionLinenumberEnd: 1499
    functionName: shellExecute
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - shellGetGrantInfo
    - shellSetConn
    - tstrerror
    - printfIntroduction
    - createConnect
    - taos_kill_query
    - workingMode
    - shellCleanupHistory
    - printf
    - shellWriteHistory
    - taosThreadJoin
    - taosThreadClear
    - taos_close
    - tsem_post
    - taos_errno
    - taos_get_client_info
    - TAOS_RETURN
    - taos_set_conn_mode
    - taosSetSignal
    - shellSourceFile
    - taosStrdup
    - taos_errstr
    - shellReadHistory
    - showAD
    - fflush
    - taosThreadCreate
    - tsem_init
    - shellRunCommand
    - taosMemoryFree
    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: 5
    functionsReached:
    - regcomp
    - regexec
    - regerror
    - regfree
    - fprintf
    - shellExit
    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:
    - strlen
    - printf
    - fflush
    - taosEncryptPass_c
    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:
    - fflush
    - terrstr
    - taosGetCfg
    - fprintf
    - osDefaultInit
    - 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:
    - strlen
    - fflush
    - printf
    - taosMsleep
    - taos_check_server_status
    linkageType: ''
    returnType: void
    signature: void shellCheckServerStatus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/tools/shell/src/shellUtil.c: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
    - strncmp
    - isspace
    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:
    - taosVersionStrToInt
    - strlen
    - tstrncpy
    - rpcClose
    - tstrerror
    - memcpy
    - terrstr
    - rpcSendRecv
    - printf
    - rpcMallocCont
    - taosEncryptPass_c
    - strtok
    - rpcOpen
    - taosGetTimestampUs
    - 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:
    - rpcMallocCont
    - printf
    - rpcSendResponse
    - fflush
    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:
    - taosVersionStrToInt
    - strlen
    - memcpy
    - terrstr
    - printf
    - taosMsleep
    - taosSetSignal
    - rpcOpen
    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:
    - shellWorkAsClient
    - shellWorkAsServer
    - rpcInit
    - osDefaultInit
    - 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:
    - taosIgnSignal
    - taos_write_crashinfo
    - exit
    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:
    - taos_options
    - shellAutoInit
    - shellPrintVersion
    - shellCheckIntSize
    - taos_cleanup
    - taos_errno
    - fprintf
    - taos_init
    - setConnMode
    - shellTestNetWork
    - shellPrintHelp
    - shellDumpConfig
    - shellParseArgs
    - shellAutoExit
    - taosSetSignal
    - taos_set_hb_quit
    - taos_errstr
    - shellCheckServerStatus
    - shellGenerateAuth
    - getDsnEnv
    - initArgument
    - shellExecute
    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:
    - insertToTree
    - strlen
    - insertToList
    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:
    - deleteFromTree
    - strlen
    - deleteFromList
    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:
    - strlen
    - memset
    - addWordToMatch
    - enumAllWords
    - tListLen
    - strncpy
    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:
    - strlen
    - addWordToMatch
    - 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:
    - matchPrefixFromList
    - matchPrefixFromTree
    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:
    - matchPrefix
    - addWordToMatch
    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:60,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:61,1
    - 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:74,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:76,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:77,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:78,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:79,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:80,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:81,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:82,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:90,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 94
    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:139,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: 139
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 139
    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:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    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: 33
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:163,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:197,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:209,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:215,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:218,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:222,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:223,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellArguments.c:226,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:228,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellArguments.c:228,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellArguments.c:231,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:232,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellArguments.c:232,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:242,1
    - Dst: getConnMode
      Src: /src/tdengine/tools/shell/src/shellArguments.c:245,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 101
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 260
    functionName: shellParseSingleOpt
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - strlen
    - tstrncpy
    - tstrerror
    - taosExpandDir
    - printf
    - atoi
    - getConnMode
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellParseSingleOpt(int32_t key, char *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:268,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:268,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:269,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:269,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:270,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:275,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:278,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:284,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:286,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:289,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:293,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:297,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:299,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 309
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:314,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:316,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:317,1
    - Dst: taosSetConsoleEcho
      Src: /src/tdengine/tools/shell/src/shellArguments.c:318,1
    - Dst: scanf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:319,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:320,1
    - Dst: taosSetConsoleEcho
      Src: /src/tdengine/tools/shell/src/shellArguments.c:322,1
    - Dst: getchar
      Src: /src/tdengine/tools/shell/src/shellArguments.c:323,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:324,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:327,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:328,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:330,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:333,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 345
    functionName: shellInitArgs
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 0
    functionsReached:
    - taosSetConsoleEcho
    - strlen
    - tstrncpy
    - strcpy
    - scanf
    - fprintf
    - printf
    - getchar
    - strncmp
    linkageType: ''
    returnType: void
    signature: void shellInitArgs(int argc, char *argv[])
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:349,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:349,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:350,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:354,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:354,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:355,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:359,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:359,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:360,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:364,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:364,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:365,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellArguments.c:371,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:372,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:377,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:377,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:378,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellArguments.c:381,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:382,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:394,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:395,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:399,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:399,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:400,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:404,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:405,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:410,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:415,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:420,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:425,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 430
    functionName: shellCheckArgs
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - taosExpandDir
    - printf
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellCheckArgs()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: shellInitArgs
      Src: /src/tdengine/tools/shell/src/shellArguments.c:433,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:438,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:440,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:444,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:445,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:445,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:447,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:448,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:448,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:450,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:451,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:453,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:457,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:464,1
    - Dst: shellParseArgsWithoutArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:465,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:468,1
    - Dst: getpwuid
      Src: /src/tdengine/tools/shell/src/shellArguments.c:468,1
    - Dst: getuid
      Src: /src/tdengine/tools/shell/src/shellArguments.c:468,1
    - Dst: shellParseArgsWithoutArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:469,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:472,1
    - Dst: shellParseArgsWithoutArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:474,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:477,1
    - Dst: getenv
      Src: /src/tdengine/tools/shell/src/shellArguments.c:477,1
    - Dst: shellParseArgsUseArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:478,1
    - Dst: shellCheckArgs
      Src: /src/tdengine/tools/shell/src/shellArguments.c:484,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 485
    functionName: shellParseArgs
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 1
    functionsReached:
    - shellParseArgsWithoutArgp
    - strlen
    - getenv
    - shellCheckArgs
    - getpwuid
    - strcpy
    - sprintf
    - snprintf
    - shellInitArgs
    - getuid
    - shellParseArgsUseArgp
    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:490,1
    - Dst: getenv
      Src: /src/tdengine/tools/shell/src/shellArguments.c:498,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:499,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:500,1
    - Dst: getenv
      Src: /src/tdengine/tools/shell/src/shellArguments.c:506,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:507,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 517
    functionName: getDsnEnv
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 1
    functionsReached:
    - getenv
    - strlen
    - fprintf
    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:
    - strcmp
    - printf
    - ASSERT_EQ
    - strToLowerCopy
    - free
    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:
    - getCodeFromResp
    - ASSERT_EQ
    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:
    - engineError
    - appendResultBufToFile
    - ASSERT_GE
    - benchCalloc
    - toolsGetTimestamp
    - calcGroupIndex
    - closeBenchConn
    - ASSERT_EQ
    - replaceChildTblName
    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
    - RUN_ALL_TESTS
    - exitLog
    - printf
    - calloc
    - initLog
    - free
    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
    - errorPrintReqArg3
    - setConsoleEcho
    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: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - printf
    - 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: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: MAX
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 1
    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: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    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: 3
    argNames:
    - (
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    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: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    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: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    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: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    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: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    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: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    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: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    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: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    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: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    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: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    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: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    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: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    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: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    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: 930
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 930
    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: 932
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 932
    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: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: GET_INT8_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_INT8_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: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: GET_INT16_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_INT16_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: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: GET_INT32_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_INT32_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: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: GET_INT64_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_INT64_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: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: GET_UINT8_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_UINT8_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: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: GET_UINT16_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_UINT16_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: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: GET_UINT32_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_UINT32_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: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: GET_UINT64_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_UINT64_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: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: GET_FLOAT_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 2
    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: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: GET_DOUBLE_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DOUBLE_VAL(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: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: SET_FLOAT_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FLOAT_VAL(x, y)
  - 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: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: SET_DOUBLE_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DOUBLE_VAL(x, y)
  - 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: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: SET_TIMESTAMP_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TIMESTAMP_VAL(x, y)
  - 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: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: SET_FLOAT_PTR
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FLOAT_PTR(x, y)
  - 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: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: SET_DOUBLE_PTR
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DOUBLE_PTR(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: GET_FLOAT_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 2
    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: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: GET_DOUBLE_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DOUBLE_VAL(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: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: SET_FLOAT_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FLOAT_VAL(x, y)
  - 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: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: SET_DOUBLE_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DOUBLE_VAL(x, y)
  - 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: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: SET_TIMESTAMP_VAL
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TIMESTAMP_VAL(x, y)
  - 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: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: SET_FLOAT_PTR
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FLOAT_PTR(x, y)
  - 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: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: SET_DOUBLE_PTR
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DOUBLE_PTR(x, y)
  - 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: 272
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 272
    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: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    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: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    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: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    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: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    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: toolsGetTimeOfDay
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:235,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:241,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: getUniqueIDFromEpoch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - toolsGetTimeOfDay
    - debugPrint
    - atomic_add_fetch_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getUniqueIDFromEpoch()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:253,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:258,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:259,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    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: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 304
    functionName: typeToStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *typeToStr(int type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:307,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:308,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:310,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:312,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:314,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:316,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:317,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:319,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:321,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:323,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:324,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:325,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:327,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:329,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:330,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:332,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:334,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:336,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:338,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:340,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:342,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:344,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:347,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 1
    argNames:
    - type_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 352
    functionName: typeStrToType
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int typeStrToType(const char *type_str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:357,1
    - Dst: toolsParseTime
      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: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 371
    functionName: getStartTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - strlen
    - 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:376,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:377,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:378,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 388
    functionName: getEndTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - strlen
    - 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:391,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - first
    - prev
    argTypes:
    - char*
    - SRenameDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 400
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:405,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:412,1
    - Dst: newNode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:427,1
    - Dst: newNode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:436,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 443
    functionName: setRenameDbs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - newNode
    - strlen
    - malloc
    linkageType: ''
    returnType: void
    signature: void setRenameDbs(char* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - oldName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 455
    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:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - des
    - src
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 470
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:486,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:487,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:502,1
    - Dst: findNewName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:506,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:512,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:512,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:513,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:514,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:517,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:518,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - cmd
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 522
    functionName: replaceNewName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - findNewName
    - memcpy
    - malloc
    - memset
    - strchr
    - strcat
    linkageType: ''
    returnType: char
    signature: char * replaceNewName(char* cmd, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:534,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:535,1
    - Dst: replaceNewName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 541
    functionName: afterRenameSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - replaceNewName
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: char * afterRenameSql(char *cmd)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:568,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:569,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:570,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:573,1
    - Dst: errorWrongValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:575,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:576,1
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:583,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:584,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:589,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:591,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:593,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:594,1
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:604,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:605,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:610,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:611,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:613,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:614,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:620,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:631,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:633,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:642,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:643,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:644,1
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:646,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:647,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:648,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:650,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:651,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:682,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:689,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:690,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:691,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:693,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:696,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:706,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:707,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:716,1
    - Dst: setRenameDbs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:723,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:726,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:727,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:730,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:731,1
    - Dst: getConnMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:734,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 162
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 741
    functionName: parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - strlen
    - getConnMode
    - strcmp
    - errorWrongValue
    - wordfree
    - snprintf
    - wordexp
    - warnPrint
    - printf
    - errorPrintReqArg2
    - errorPrint
    - atoi
    - setRenameDbs
    - toolsIsStringNumber
    - errorPrintReqArg3
    - exit
    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:751,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:752,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:753,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:754,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:755,1
    - Dst: setConsoleEcho
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:756,1
    - Dst: scanf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:757,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:758,1
    - Dst: setConsoleEcho
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:761,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:763,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:764,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:766,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:768,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:769,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:770,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:772,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:773,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:774,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:776,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:777,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:778,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:780,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:782,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:783,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:785,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:786,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:788,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:789,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:791,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:792,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:793,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:795,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:797,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:797,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:798,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:800,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:801,1
    - Dst: errorPrintReqArg
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:803,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:804,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:807,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:808,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:810,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:811,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:811,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:812,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:813,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:813,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:815,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:816,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:821,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:821,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:822,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:822,1
    - Dst: printVersion
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:823,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:824,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 3
    argNames:
    - argc
    - argv
    - arguments
    argTypes:
    - int
    - char*[]
    - SArguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 829
    functionName: parse_args
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - printVersion
    - strcpy
    - scanf
    - setConsoleEcho
    - exit
    - printf
    - errorPrintReqArg
    - errorPrint
    - errorPrintReqArg3
    - strncmp
    - 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:832,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:832,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:833,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:834,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:834,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:835,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:838,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - timeStr
    - isStartTime
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 842
    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:846,1
    - Dst: strtoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - timeStr
    - isStartTime
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 850
    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:854,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:855,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:858,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:859,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:859,1
    - Dst: copyHumanTimeToArg
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:860,1
    - Dst: copyTimestampToArg
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:862,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - input
    - isStartTime
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 865
    functionName: parseTimestampConvert
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strdup
    - strchr
    - copyHumanTimeToArg
    - errorPrint
    - free
    - copyTimestampToArg
    - exit
    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:872,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:873,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:875,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:876,1
    - Dst: parseTimestampConvert
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:881,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:882,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:883,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:886,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:887,1
    - Dst: parseTimestampConvert
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:892,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - argc
    - argv
    - arguments
    argTypes:
    - int
    - char*[]
    - SArguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 867
    functionDepth: 3
    functionLinenumber: 867
    functionLinenumberEnd: 895
    functionName: parse_timestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - parseTimestampConvert
    - strncmp
    - strcmp
    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:898,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:901,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:904,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - precision
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 913
    functionName: getPrecisionByString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int getPrecisionByString(char *precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:918,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 920
    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:925,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:927,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:927,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:928,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:929,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: 931
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 931
    functionName: cleanIfQueryFailed
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_errno
    - taos_free_result
    - errorPrint
    - taos_errstr
    - free
    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:939,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:947,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:949,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:951,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:952,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:956,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:962,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:964,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:965,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:966,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:967,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:968,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:971,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:975,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:980,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:988,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:990,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:991,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:995,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:996,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1000,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1005,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1007,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1012,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1015,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1017,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1033,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1034,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1035,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 4
    argNames:
    - dbName
    - table
    - pTableRecordInfo
    - tryStable
    argTypes:
    - char*
    - char*
    - TableRecordInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 1042
    functionName: getTableRecordInfoImplNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - taos_close
    - strlen
    - cleanIfQueryFailed
    - taosConnect
    - taos_fetch_lengths
    - memset
    - min
    - taos_fetch_row
    - snprintf
    - taos_free_result
    - taosQuery
    - calloc
    - errorPrint
    - taos_errstr
    - strncpy
    - free
    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:1047,1
    - Dst: getTableRecordInfoImplNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1050,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dbName
    - table
    - pTableRecordInfo
    argTypes:
    - char*
    - char*
    - TableRecordInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1057
    functionName: getTableRecordInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - getTableRecordInfoImplNative
    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:1061,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1062,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1066,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1074
    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:1081,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1082,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1086,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1088,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1090,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1091,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1095,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1102
    functionName: inDatabasesSeq
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    - strsep
    - strdup
    - free
    - strstr
    - 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:1108,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1109,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1111,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1117,1
    - Dst: isSystemDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1119,1
    - Dst: inDatabasesSeq
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1124,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - res
    argTypes:
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1104
    functionDepth: 2
    functionLinenumber: 1104
    functionLinenumberEnd: 1137
    functionName: getDbCountNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - isSystemDatabase
    - taos_fetch_lengths
    - taos_fetch_row
    - errorPrint
    - inDatabasesSeq
    - strncpy
    - 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:1145,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1147,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1151,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1156,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1157,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1160,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1162,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1163,1
    - Dst: getDbCountNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1167,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1168,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1169,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1139
    functionDepth: 3
    functionLinenumber: 1139
    functionLinenumberEnd: 1173
    functionName: getDumpDbCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_close
    - cleanIfQueryFailed
    - taosConnect
    - getDbCountNative
    - snprintf
    - taos_free_result
    - taosQuery
    - calloc
    - errorPrint
    - free
    linkageType: ''
    returnType: int
    signature: int getDumpDbCount()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1185,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1187,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1198,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1202,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1213,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1223,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1226,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1230,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1238,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1241,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1245,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1256,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1258,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1259,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 5
    argNames:
    - dbName
    - stable
    - tableDes
    - numColsAndTags
    - fp
    argTypes:
    - char*
    - char*
    - TableDes*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1262
    functionName: dumpCreateMTableClause
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - replaceCopy
    - TOOLS_ASSERT
    - malloc
    - sprintf
    - fprintf
    - snprintf
    - errorPrint
    - free
    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:1267,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1271,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1273,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1277,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1284,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1288,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1290,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1291,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1297,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1301,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1303,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1304,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - dbName
    - stbName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1307
    functionName: getTbCountOfStbNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - taos_close
    - cleanIfQueryFailed
    - taosConnect
    - taos_fetch_row
    - snprintf
    - taos_free_result
    - debugPrint
    - taosQuery
    - calloc
    - errorPrint
    - free
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTbCountOfStbNative(const char *dbName, const char *stbName)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1316,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1317,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1319,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1332,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1337,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1341,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1344,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1348,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1351,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1355,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1360,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1365,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1368,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1371,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1375,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1379,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1384,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1391,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1394,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1398,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1402,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1417,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1421,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1424,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1428,1
    - Dst: convertNCharToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1435,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1438,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1442,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1445,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1446,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1449,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1453,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1463,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 112
    argCount: 4
    argNames:
    - index
    - tableDes
    - value
    - len
    argTypes:
    - int
    - TableDes*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1469
    functionName: processFieldsValueV3
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_ASSERT
    - memset
    - strcpy
    - strncpy
    - snprintf
    - calloc
    - errorPrint
    - convertStringToReadable
    - convertNCharToReadable
    - strncmp
    - free
    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:1478,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1482,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1486,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1490,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1494,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1498,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1502,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1506,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1510,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1516,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1517,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1518,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1520,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1523,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1524,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1527,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1531,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1534,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1538,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1539,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1546,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1547,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1548,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1550,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1553,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1554,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1557,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1561,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1564,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1568,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1570,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1575,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1579,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1582,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1585,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1589,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1593,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1598,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1605,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1608,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1612,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1616,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1631,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1635,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1638,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1642,1
    - Dst: convertNCharToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1650,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1653,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1657,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1660,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1663,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1667,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1676,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1680,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: 1685
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1685
    functionName: processFieldsValueV2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - verbosePrint
    - GET_DOUBLE_VAL
    - memset
    - convertNCharToReadable
    - snprintf
    - calloc
    - errorPrint
    - convertStringToReadable
    - GET_FLOAT_VAL
    - strncpy
    - free
    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:1692,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - stbTableDes
    - table
    - ppTableDes
    argTypes:
    - TableDes*
    - char*
    - TableDes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1700
    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:1710,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1712,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1716,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1722,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1724,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1729,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1730,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1733,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1734,1
    - Dst: processFieldsValueV3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1735,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1737,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1739,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1740,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1747,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - taos
    - dbName
    - table
    - ppTableDes
    argTypes:
    - TAOS*
    - char*
    - char*
    - TableDes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1703
    functionDepth: 2
    functionLinenumber: 1703
    functionLinenumberEnd: 1751
    functionName: getTableTagValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - cleanIfQueryFailed
    - taos_fetch_lengths
    - strcpy
    - taos_fetch_row
    - snprintf
    - taos_free_result
    - taosQuery
    - calloc
    - errorPrint
    - free
    - processFieldsValueV3
    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:1759,1
    - Dst: getTableTagValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1760,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: 1761
      start: 1753
    functionDepth: 3
    functionLinenumber: 1753
    functionLinenumberEnd: 1761
    functionName: getTableDesFromStbNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - getTableTagValue
    - constructTableDesFromStb
    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:1775,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1777,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1781,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1788,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1790,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1792,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1796,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1798,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1799,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1801,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1804,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1806,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1812,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1813,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1816,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1820,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1831,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1832,1
    - Dst: getTableTagValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1841,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: 1842
      start: 1763
    functionDepth: 3
    functionLinenumber: 1763
    functionLinenumberEnd: 1842
    functionName: getTableDes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - getTableTagValue
    - cleanIfQueryFailed
    - taos_fetch_lengths
    - min
    - taos_fetch_row
    - snprintf
    - taos_free_result
    - taosQuery
    - debugPrint
    - typeStrToType
    - calloc
    - errorPrint
    - free
    - strncpy
    - 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: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1848,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1849,1
    - Dst: openQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1852,1
    - Dst: readRow
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1861,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1863,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1870,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1871,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1872,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1872,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1874,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1875,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1876,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1877,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1881,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1885,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1885,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1887,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1888,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1889,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1890,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1897,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1903,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1904,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1905,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1906,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1907,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1910,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - taos_v
    - dbName
    - tbName
    argTypes:
    - void**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1845
    functionDepth: 1
    functionLinenumber: 1845
    functionLinenumberEnd: 1914
    functionName: queryCreateTableSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - replaceCopy
    - readRow
    - memset
    - memcpy
    - strncasecmp
    - snprintf
    - closeQuery
    - debugPrint
    - calloc
    - errorPrint
    - openQuery
    linkageType: ''
    returnType: char
    signature: char *queryCreateTableSql(void** taos_v, const char *dbName, char *tbName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1920,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1924,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1927,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - recordSchema
    argTypes:
    - RecordSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 1929
    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:1937,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1939,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1941,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1943,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1946,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1947,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1952,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1957,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1958,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1959,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1961,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1962,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1966,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1966,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1968,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1973,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1975,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1977,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1979,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1983,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1986,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1994,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1996,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1997,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2001,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2006,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2009,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2016,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2018,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2019,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2026,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2034,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2035,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2037,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2038,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2043,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2050,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2052,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2054,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2060,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2061,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2065,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2066,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2072,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2074,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2076,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2087,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 2
    argNames:
    - value
    - recordSchema
    argTypes:
    - json_t*
    - RecordSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 1936
    functionDepth: 1
    functionLinenumber: 1936
    functionLinenumberEnd: 2093
    functionName: readJsonFields
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - json_array_size
    - verbosePrint
    - tstrncpy
    - json_typeof
    - json_string_value
    - json_array_get
    - json_plural
    - typeStrToType
    - calloc
    - errorPrint
    - strcmp
    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:1957,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1958,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1959,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1961,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1962,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1966,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1966,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1968,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1973,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1975,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1977,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1979,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1983,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1986,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1994,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1996,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1997,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2001,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2006,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2009,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2016,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2018,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2019,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2026,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2034,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2035,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2037,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2038,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2043,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2050,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2052,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2054,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2060,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2061,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2065,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2066,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2072,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2074,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2076,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 2084
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - json_array_size
    - json_typeof
    - json_string_value
    - json_array_get
    - typeStrToType
    - errorPrint
    - strcmp
    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:1994,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1996,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1997,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2001,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2006,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2009,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2016,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2018,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 2024
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_string_value
    - json_typeof
    - typeStrToType
    - 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:2016,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2018,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2013
    functionDepth: 1
    functionLinenumber: 2013
    functionLinenumberEnd: 2022
    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:2034,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2035,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2037,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2038,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2043,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2050,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2052,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2054,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2060,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2061,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2065,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2066,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2072,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2074,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2076,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2033
    functionDepth: 1
    functionLinenumber: 2033
    functionLinenumberEnd: 2081
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_string_value
    - json_typeof
    - typeStrToType
    - 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:2050,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2052,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2058
    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:2072,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2074,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2078
    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:2099,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2101,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2106,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2107,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2109,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2118,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2119,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2119,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2121,1
    - Dst: readJsonFields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2122,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - element
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2098
    functionDepth: 2
    functionLinenumber: 2098
    functionLinenumberEnd: 2130
    functionName: parse_json_to_recordschema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - json_typeof
    - strcmp
    - json_string_value
    - readJsonFields
    - calloc
    - errorPrint
    - free
    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:2118,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2119,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2119,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2121,1
    - Dst: readJsonFields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2122,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2116
    functionDepth: 2
    functionLinenumber: 2116
    functionLinenumberEnd: 2127
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - strcmp
    - json_string_value
    - readJsonFields
    - free
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(element, key, value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2138,1
    - Dst: avro_schema_from_json_length
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2139,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2139,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2140,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2142,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2143,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2146,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2147,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2151,1
    - Dst: parse_json_to_recordschema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2154,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2156,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2157,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2160,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2162,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2163,1
    - Dst: avro_file_writer_create_with_codec
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2166,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2169,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2170,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2171,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - avroFilename
    - jsonSchema
    - schema
    - recordSchema
    - writer
    argTypes:
    - char*
    - char*
    - avro_schema_t*
    - RecordSchema**
    - avro_file_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2132
    functionDepth: 3
    functionLinenumber: 2132
    functionLinenumberEnd: 2178
    functionName: prepareAvroWface
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_ASSERT
    - strlen
    - verbosePrint
    - avro_strerror
    - load_json
    - avro_schema_from_json_length
    - parse_json_to_recordschema
    - avro_generic_class_from_schema
    - avro_file_writer_create_with_codec
    - errorPrint
    - json_decref
    - print_json
    - exit
    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:2186,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2206,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2208,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2213,1
    - Dst: queryCreateTableSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2221,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2223,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2227,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2233,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2238,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2241,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2243,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2247,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2250,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2251,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2253,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2256,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2259,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2261,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2265,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2266,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2268,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2269,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2271,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2274,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2275,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2276,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2277,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2278,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2280,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2281,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: 2284
      start: 2180
    functionDepth: 4
    functionLinenumber: 2180
    functionLinenumberEnd: 2284
    functionName: dumpCreateTableClauseAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - freeRecordSchema
    - queryCreateTableSql
    - snprintf
    - avro_schema_decref
    - TOOLS_ASSERT
    - replaceCopy
    - avro_value_iface_decref
    - calloc
    - avro_value_set_branch
    - prepareAvroWface
    - avro_file_writer_append_value
    - avro_file_writer_close
    - avro_value_get_by_name
    - avro_value_set_string
    - errorPrint
    - free
    - avro_generic_value_new
    - avro_value_decref
    - avro_strerror
    - debugPrint
    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:2293,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2299,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2300,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2301,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2302,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2302,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2303,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - taos_v
    - tableDes
    - numOfCols
    - fp
    - dbName
    argTypes:
    - void**
    - TableDes*
    - int
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2286
    functionDepth: 2
    functionLinenumber: 2286
    functionLinenumberEnd: 2308
    functionName: dumpCreateTableClause
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - queryCreateTableSql
    - fprintf
    - debugPrint
    - errorPrint
    - free
    linkageType: ''
    returnType: int
    signature: "int dumpCreateTableClause(\n        void ** taos_v,\n        TableDes
      *tableDes,\n        int numOfCols,\n        FILE *fp,\n        const char* dbName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2319,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2323,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2325,1
    - Dst: dumpCreateTableClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2328,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: 2329
      start: 2310
    functionDepth: 4
    functionLinenumber: 2310
    functionLinenumberEnd: 2329
    functionName: dumpStableClasuse
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - dumpCreateTableClause
    - getTableDes
    - exit
    linkageType: ''
    returnType: int
    signature: "int dumpStableClasuse(\n        void **taos_v,\n        SDbInfo *dbInfo,\n
      \       const char *stbName,\n        TableDes **pStbTableDes,\n        FILE
      *fp)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dumpExtraInfo
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2336,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2339,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2346,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2347,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2348,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2349,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2354,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2359,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2363,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2364,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2369,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2374,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2379,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2384,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2389,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2393,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2398,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2402,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2403,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2406,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2421,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2425,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2429,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2433,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2434,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2435,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - taos_v
    - dbInfo
    - isDumpProperty
    - fp
    argTypes:
    - void**
    - SDbInfo*
    - bool
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2331
    functionDepth: 1
    functionLinenumber: 2331
    functionLinenumberEnd: 2436
    functionName: dumpCreateDbClause
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - dumpExtraInfo
    - sprintf
    - fprintf
    - debugPrint
    - 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:2441,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2442,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2449,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2450,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2452,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2453,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2459
    functionName: openDumpInFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - wordfree
    - wordexp
    - strerror
    - fopen
    - errorPrint
    linkageType: ''
    returnType: FILE
    signature: FILE * openDumpInFile(char *fptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2468,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2470,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2472,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2474,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2475,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2476,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2479,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2481,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2485,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2490,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - dbPath
    - ext
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2461
    functionDepth: 1
    functionLinenumber: 2461
    functionLinenumberEnd: 2495
    functionName: getFilesNum
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - verbosePrint
    - toolsOpenDir
    - toolsCloseDir
    - toolsGetDirEntryName
    - debugPrint
    - toolsReadDir
    - 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:2518,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2524,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - avroType
    - count
    argTypes:
    - enAVROTYPE
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2497
    functionDepth: 1
    functionLinenumber: 2497
    functionLinenumberEnd: 2527
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2532,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2534,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2535,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2537,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2538,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2540,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2540,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2546,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2547,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2550,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2551,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2556,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2557,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2560,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2561,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2566,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2567,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2570,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2571,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2576,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2577,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2580,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2581,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2586,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2595,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2598,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2600,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2601,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2602,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2605,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2606,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2609,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2612,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2614,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2618,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2620,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2624,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2626,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2630,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2632,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2636,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2644,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2647,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 86
    argCount: 3
    argNames:
    - dbPath
    - ext
    - count
    argTypes:
    - char*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2529
    functionDepth: 1
    functionLinenumber: 2529
    functionLinenumberEnd: 2649
    functionName: createDumpinList
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_ASSERT
    - strlen
    - verbosePrint
    - TOOLS_STRNCPY
    - toolsOpenDir
    - min
    - toolsCloseDir
    - toolsGetDirEntryName
    - debugPrint
    - calloc
    - errorPrint
    - toolsReadDir
    - strncmp
    - strcmp
    linkageType: ''
    returnType: enAVROTYPE
    signature: "enAVROTYPE createDumpinList(const char *dbPath,\n        const char
      *ext, int64_t count)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2663,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2672,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2678,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2684,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2690,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2696,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2702,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2708,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2714,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2720,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2726,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2733,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2740,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2747,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2754,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 5
    argNames:
    - tableDes
    - pos
    - ppstr
    - colOrTag
    - i
    argTypes:
    - TableDes*
    - int
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2760
    functionName: convertTbDesToJsonImplMore
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int convertTbDesToJsonImplMore(\n        TableDes *tableDes, int pos,
      char **ppstr, char *colOrTag, int i)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2772,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2777,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2798,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2804,1
    - Dst: convertTbDesToJsonImplMore
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2821,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2826,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2828,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2834,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2836,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 6
    argNames:
    - namespace
    - stable
    - tbName
    - tableDes
    - jsonSchema
    - onlyColumn
    argTypes:
    - char*
    - char*
    - char*
    - TableDes*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2763
    functionDepth: 1
    functionLinenumber: 2763
    functionLinenumberEnd: 2840
    functionName: convertTbDesToJsonImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - replaceCopy
    - sprintf
    - debugPrint
    - convertTbDesToJsonImplMore
    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:2847,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2847,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2850,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dbName
    - stable
    - tableDes
    - jsonSchema
    argTypes:
    - char*
    - char*
    - TableDes*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2843
    functionDepth: 2
    functionLinenumber: 2843
    functionLinenumberEnd: 2856
    functionName: convertTbTagsDesToJsonLoose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - getTbDesJsonSize
    - convertTbDesToJsonImpl
    - calloc
    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:2863,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2863,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2865,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dbName
    - stable
    - tableDes
    - jsonSchema
    argTypes:
    - char*
    - char*
    - TableDes*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2870
      start: 2858
    functionDepth: 2
    functionLinenumber: 2858
    functionLinenumberEnd: 2870
    functionName: convertTbTagsDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - getTbDesJsonSize
    - convertTbDesToJsonImpl
    - calloc
    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:2880,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2880,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2883,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2888,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: 2889
      start: 2872
    functionDepth: 2
    functionLinenumber: 2872
    functionLinenumberEnd: 2889
    functionName: convertTbDesToJsonLoose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - getTbDesJsonSize
    - convertTbDesToJsonImpl
    - calloc
    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:2898,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2898,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2901,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2906,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: 2907
      start: 2891
    functionDepth: 2
    functionLinenumber: 2891
    functionLinenumberEnd: 2907
    functionName: convertTbDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - getTbDesJsonSize
    - convertTbDesToJsonImpl
    - calloc
    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:2943,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2946,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - count
    - printDot
    argTypes:
    - int64_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 2952
    functionName: printDotOrX
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fflush
    - putchar
    linkageType: ''
    returnType: void
    signature: void printDotOrX(int64_t count, bool *printDot)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2960,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2962,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2965,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2967,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2969,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2973,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2976,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2980,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2984,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - command
    - taos
    - dbName
    - tbName
    - precision
    argTypes:
    - char*
    - TAOS*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2954
    functionDepth: 1
    functionLinenumber: 2954
    functionLinenumberEnd: 2987
    functionName: queryDbForDumpOutCountNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_errno
    - taos_fetch_row
    - taos_free_result
    - debugPrint
    - taosQuery
    - errorPrint
    - cleanIfQueryFailed
    - taos_errstr
    - free
    linkageType: ''
    returnType: int64_t
    signature: "int64_t queryDbForDumpOutCountNative(\n        char *command, TAOS
      *taos, const char *dbName, const char *tbName,\n        const int precision)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2994,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2996,1
    - Dst: getStartTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3000,1
    - Dst: getEndTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3001,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3003,1
    - Dst: queryDbForDumpOutCountNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - taos_v
    - dbName
    - tbName
    - precision
    argTypes:
    - void**
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 2989
    functionDepth: 2
    functionLinenumber: 2989
    functionLinenumberEnd: 3015
    functionName: queryDbForDumpOutCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - getStartTime
    - queryDbForDumpOutCountNative
    - snprintf
    - calloc
    - errorPrint
    - getEndTime
    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:3020,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3022,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3018
    functionDepth: 1
    functionLinenumber: 3018
    functionLinenumberEnd: 3028
    functionName: queryDbForDumpOutOffsetNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - cleanIfQueryFailed
    - taosQuery
    - free
    linkageType: ''
    returnType: TAOS_RES
    signature: TAOS_RES *queryDbForDumpOutOffsetNative(TAOS *taos, char *command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3039,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3041,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3046,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3055,1
    - Dst: queryDbForDumpOutOffsetNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - taos_v
    - dbName
    - tbName
    - precision
    - start_time
    - end_time
    - limit
    - offset
    argTypes:
    - void**
    - char*
    - char*
    - int
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3069
      start: 3030
    functionDepth: 2
    functionLinenumber: 3030
    functionLinenumberEnd: 3069
    functionName: queryDbForDumpOutOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - snprintf
    - errorPrint
    - queryDbForDumpOutOffsetNative
    - calloc
    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,\n        const int64_t
      limit,\n        const int64_t offset)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3085,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3087,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3090,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3094,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3104,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3105,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3110,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3111,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3113,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3115,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3117,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3119,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3125,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3126,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3128,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3129,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3135,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3136,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3138,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3139,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3145,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3146,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3148,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3149,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3155,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3156,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3158,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3162,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3163,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3164,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3166,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3167,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3168,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3175,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3176,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3178,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3182,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3183,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3184,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3186,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3187,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3188,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3195,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3196,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3198,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3202,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3203,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3204,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3206,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3207,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3208,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3215,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3216,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3218,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3222,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3223,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3224,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3226,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3227,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3228,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3235,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3236,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3238,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3239,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3245,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3246,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3248,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3249,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3249,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3255,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3256,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3258,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3259,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3259,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3264,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3265,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3267,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3268,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3269,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3270,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3271,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3272,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3281,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3282,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3284,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3285,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3292,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3293,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3295,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3296,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 175
    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: 3305
      start: 3071
    functionDepth: 1
    functionLinenumber: 3071
    functionLinenumberEnd: 3305
    functionName: processValueToAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - verbosePrint
    - avro_value_set_null
    - snprintf
    - avro_value_set_bytes
    - TOOLS_ASSERT
    - avro_value_set_int
    - calloc
    - avro_value_set_branch
    - GET_FLOAT_VAL
    - memset
    - avro_value_get_by_name
    - avro_value_set_string
    - errorPrint
    - avro_value_set_float
    - avro_value_set_long
    - free
    - avro_value_set_boolean
    - GET_DOUBLE_VAL
    - avro_value_append
    - debugPrint
    - avro_value_set_double
    - strncpy
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: queryDbForDumpOutCount
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3316,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3324,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3332,1
    - Dst: queryDbForDumpOutOffset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3359,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3366,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3368,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3369,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3375,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3376,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3379,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3386,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3388,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3393,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3394,1
    - Dst: processValueToAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3399,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3409,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3410,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3413,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3420,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3424,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3428,1
    - Dst: printDotOrX
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3429,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3434,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3440,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3443,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3444,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3445,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3446,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    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: 3449
      start: 3307
    functionDepth: 4
    functionLinenumber: 3307
    functionLinenumberEnd: 3449
    functionName: writeResultToAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - freeRecordSchema
    - taos_fetch_lengths
    - queryDbForDumpOutOffset
    - avro_schema_decref
    - replaceCopy
    - TOOLS_ASSERT
    - avro_value_iface_decref
    - taos_fetch_fields
    - queryDbForDumpOutCount
    - processValueToAvro
    - avro_value_set_branch
    - prepareAvroWface
    - avro_file_writer_append_value
    - avro_file_writer_close
    - avro_value_get_by_name
    - taos_free_result
    - avro_value_set_string
    - errorPrint
    - printDotOrX
    - avro_generic_value_new
    - infoPrint
    - avro_value_decref
    - avro_strerror
    - taos_fetch_row
    - taos_field_count
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - bindArray
    - elements
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3465
      start: 3451
    functionDepth: 1
    functionLinenumber: 3451
    functionLinenumberEnd: 3465
    functionName: freeBindArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    linkageType: ''
    returnType: void
    signature: void freeBindArray(char *bindArray, int elements)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3471,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3474,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3475,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3476,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3480,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3481,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3482,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3487,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3489,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3494,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3495,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3498,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3499,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: 3504
      start: 3467
    functionDepth: 1
    functionLinenumber: 3467
    functionLinenumberEnd: 3504
    functionName: dumpInAvroTagTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_int
    - verbosePrint
    - avro_value_get_null
    - sprintf
    - avro_value_get_current_branch
    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:3510,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3512,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3513,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3514,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3518,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3519,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3520,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3525,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3526,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3530,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3531,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3534,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3535,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: 3540
      start: 3506
    functionDepth: 1
    functionLinenumber: 3506
    functionLinenumberEnd: 3540
    functionName: dumpInAvroTagSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_int
    - verbosePrint
    - avro_value_get_null
    - sprintf
    - avro_value_get_current_branch
    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:3546,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3549,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3550,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3551,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3555,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3556,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3557,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3563,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3564,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3568,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3569,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3572,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3573,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: 3579
      start: 3542
    functionDepth: 1
    functionLinenumber: 3542
    functionLinenumberEnd: 3579
    functionName: dumpInAvroTagInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_int
    - verbosePrint
    - avro_value_get_null
    - sprintf
    - avro_value_get_current_branch
    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:3585,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3587,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3588,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3589,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3593,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3594,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3595,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3601,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3602,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3606,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3607,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3610,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3611,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: 3616
      start: 3581
    functionDepth: 1
    functionLinenumber: 3581
    functionLinenumberEnd: 3616
    functionName: dumpInAvroTagBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - verbosePrint
    - avro_value_get_null
    - avro_value_get_long
    - sprintf
    - avro_value_get_current_branch
    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:3622,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3623,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3624,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3625,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3628,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3629,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3630,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3635,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3637,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3638,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3641,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3642,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: 3646
      start: 3618
    functionDepth: 1
    functionLinenumber: 3618
    functionLinenumberEnd: 3646
    functionName: dumpInAvroTagFloat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_float
    - avro_value_get_null
    - sprintf
    - avro_value_get_current_branch
    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:3652,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3654,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3655,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3656,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3659,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3660,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3661,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3665,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3667,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3668,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3670,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3671,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: 3675
      start: 3648
    functionDepth: 1
    functionLinenumber: 3648
    functionLinenumberEnd: 3675
    functionName: dumpInAvroTagDouble
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_null
    - sprintf
    - avro_value_get_double
    - avro_value_get_current_branch
    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:3678,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3694,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3697,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3716
      start: 3677
    functionDepth: 0
    functionLinenumber: 3677
    functionLinenumberEnd: 3716
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3721,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3727,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3731,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3732,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3735,1
    - Dst: appendValues
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3718
    functionDepth: 1
    functionLinenumber: 3718
    functionLinenumberEnd: 3739
    functionName: dumpInAvroTagBinary
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - sprintf
    - appendValues
    - avro_value_get_string
    - avro_value_get_current_branch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagBinary(FieldStruct *field, 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:3747,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3749,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3753,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3754,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3756,1
    - Dst: appendValues
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3760
      start: 3741
    functionDepth: 1
    functionLinenumber: 3741
    functionLinenumberEnd: 3760
    functionName: dumpInAvroTagNChar
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - sprintf
    - appendValues
    - avro_value_get_current_branch
    - avro_value_get_bytes
    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:3766,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3767,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3768,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3769,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3773,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3774,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3775,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3781,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3782,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3786,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3787,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3790,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3791,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: 3797
      start: 3762
    functionDepth: 1
    functionLinenumber: 3762
    functionLinenumberEnd: 3797
    functionName: dumpInAvroTagTimeStamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - verbosePrint
    - avro_value_get_null
    - avro_value_get_long
    - sprintf
    - avro_value_get_current_branch
    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:3804,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3807,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3808,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3809,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3815,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3817,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3822,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3824,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3828,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3829,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3833,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3835,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3842,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3844,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3849,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3851,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3856,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3857,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3860,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3861,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3866,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3868,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: 3872
      start: 3799
    functionDepth: 1
    functionLinenumber: 3799
    functionLinenumberEnd: 3872
    functionName: dumpInAvroTagUnsignedTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_int
    - avro_value_get_size
    - avro_value_get_null
    - avro_value_get_by_index
    - sprintf
    - debugPrint
    - typeToStr
    - avro_value_get_current_branch
    - 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:3879,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3881,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3882,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3883,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3889,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3890,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3895,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3897,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3900,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3901,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3905,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3907,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3914,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3915,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3920,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3922,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3927,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3928,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3931,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3932,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3937,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3939,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: 3943
      start: 3874
    functionDepth: 1
    functionLinenumber: 3874
    functionLinenumberEnd: 3943
    functionName: dumpInAvroTagUnsignedSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_int
    - avro_value_get_size
    - avro_value_get_null
    - avro_value_get_by_index
    - sprintf
    - debugPrint
    - typeToStr
    - avro_value_get_current_branch
    - 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:3950,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3952,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3953,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3954,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3961,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3963,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3967,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3969,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3971,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3977,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3978,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3982,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3984,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3992,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3993,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3997,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3999,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4001,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4009,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4010,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4013,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4014,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4019,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4021,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: 4025
      start: 3945
    functionDepth: 1
    functionLinenumber: 3945
    functionLinenumberEnd: 4025
    functionName: dumpInAvroTagUnsignedInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_int
    - avro_value_get_size
    - avro_value_get_null
    - avro_value_get_by_index
    - sprintf
    - debugPrint
    - typeToStr
    - avro_value_get_current_branch
    - 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:4032,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4034,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4035,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4036,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4043,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4044,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4048,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4050,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4052,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4059,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4060,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4064,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4065,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4073,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4074,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4078,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4080,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4082,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4089,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4090,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4093,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4094,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4099,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4101,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: 4105
      start: 4027
    functionDepth: 1
    functionLinenumber: 4027
    functionLinenumberEnd: 4105
    functionName: dumpInAvroTagUnsignedBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_size
    - avro_value_get_null
    - avro_value_get_by_index
    - avro_value_get_long
    - sprintf
    - debugPrint
    - typeToStr
    - avro_value_get_current_branch
    - 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:4110,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4112,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4113,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4114,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4118,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4119,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4121,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4122,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: 4127
      start: 4107
    functionDepth: 1
    functionLinenumber: 4107
    functionLinenumberEnd: 4127
    functionName: dumpInAvroBool
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - verbosePrint
    - avro_value_get_null
    - sprintf
    - avro_value_get_boolean
    - avro_value_get_current_branch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroBool(avro_value_t *value,\n                              char
      *sqlstr, int32_t curr_sqlstr_len)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: AddStbChanged
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4149,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4159,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4161,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4174,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4176,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4177,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4184,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4186,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4191,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4210,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4214,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4216,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4220,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4221,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4223,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4225,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4226,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4227,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4230,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4231,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4234,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4235,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4239,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4241,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4243,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4250,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4251,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4253,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4257,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4264,1
    - Dst: idxInBindTags
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4274,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4275,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4281,1
    - Dst: dumpInAvroBool
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4287,1
    - Dst: dumpInAvroTagTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4292,1
    - Dst: dumpInAvroTagSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4297,1
    - Dst: dumpInAvroTagInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4302,1
    - Dst: dumpInAvroTagBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4307,1
    - Dst: dumpInAvroTagFloat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4312,1
    - Dst: dumpInAvroTagDouble
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4317,1
    - Dst: dumpInAvroTagBinary
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4322,1
    - Dst: dumpInAvroTagNChar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4330,1
    - Dst: dumpInAvroTagTimeStamp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4335,1
    - Dst: dumpInAvroTagUnsignedTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4340,1
    - Dst: dumpInAvroTagUnsignedSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4345,1
    - Dst: dumpInAvroTagUnsignedInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4350,1
    - Dst: dumpInAvroTagUnsignedBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4355,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4360,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4365,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4375,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4378,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4379,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4381,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4383,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4387,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4388,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4389,1
    - Dst: freeTbNameIfLooseMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4390,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4396,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4398,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4399,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4404,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4407,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4408,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4411,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4413,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 150
    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: 4418
      start: 4129
    functionDepth: 4
    functionLinenumber: 4129
    functionLinenumberEnd: 4418
    functionName: dumpInAvroTbTagsImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - AddStbChanged
    - dumpInAvroTagTinyInt
    - dumpInAvroTagFloat
    - strdup
    - dumpInAvroTagNChar
    - sprintf
    - snprintf
    - freeTbDes
    - getTableDes
    - dumpInAvroTagTimeStamp
    - strcmp
    - TOOLS_ASSERT
    - avro_value_iface_decref
    - dumpInAvroTagUnsignedBigInt
    - dumpInAvroTagDouble
    - avro_value_get_string
    - avro_generic_class_from_schema
    - dumpInAvroBool
    - avro_value_get_current_branch
    - calloc
    - dumpInAvroTagBigInt
    - dumpInAvroTagUnsignedTinyInt
    - dumpInAvroTagUnsignedSmallInt
    - debugPrint2
    - strlen
    - avro_file_reader_read_value
    - avro_value_get_by_name
    - dumpInAvroTagSmallInt
    - taos_free_result
    - dumpInAvroTagBinary
    - errorPrint
    - idxInBindTags
    - taos_errstr
    - free
    - avro_generic_value_new
    - freeTbNameIfLooseMode
    - TOOLS_STRNCPY
    - avro_value_decref
    - strsep
    - dumpInAvroTagInt
    - dumpInAvroTagUnsignedInt
    - warnPrint
    - debugPrint
    - taosQuery
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: AddStbChanged
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4433,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4441,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4443,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4445,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4449,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4454,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4456,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4459,1
    - Dst: afterRenameSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4464,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4466,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4470,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4472,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4476,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4481,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4485,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4492,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4493,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    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: 4498
      start: 4420
    functionDepth: 3
    functionLinenumber: 4420
    functionLinenumberEnd: 4498
    functionName: dumpInAvroNtbImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - AddStbChanged
    - avro_generic_value_new
    - infoPrint
    - avro_value_decref
    - afterRenameSql
    - avro_value_iface_decref
    - avro_file_reader_read_value
    - avro_value_get_by_name
    - taos_free_result
    - avro_value_get_string
    - avro_generic_class_from_schema
    - taosQuery
    - avro_value_get_current_branch
    - errorPrint
    - taos_errstr
    - free
    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:4506,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4508,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4510,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4513,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4514,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4519,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4521,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4525,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4527,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4530,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4534,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4535,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4540,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4541,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4546,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4548,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4552,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4554,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4557,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4561,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4565
      start: 4500
    functionDepth: 1
    functionLinenumber: 4500
    functionLinenumberEnd: 4565
    functionName: dumpInAvroDataUnsignedBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - avro_value_get_size
    - avro_value_get_null
    - avro_value_get_by_index
    - avro_value_get_long
    - malloc
    - debugPrint
    - typeToStr
    - avro_value_get_current_branch
    - errorPrint
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataUnsignedBigInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4573,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4575,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4577,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4580,1
    - Dst: TOOLS_ASSERT
      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:4585,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4587,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4592,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4594,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4597,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4601,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4602,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4607,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4608,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4612,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4614,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4619,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4620,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4623,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4627,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4632
      start: 4567
    functionDepth: 1
    functionLinenumber: 4567
    functionLinenumberEnd: 4632
    functionName: dumpInAvroDataUnsignedSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - avro_value_get_size
    - avro_value_get_int
    - avro_value_get_null
    - avro_value_get_by_index
    - malloc
    - debugPrint
    - typeToStr
    - avro_value_get_current_branch
    - errorPrint
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataUnsignedSmallInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4640,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4642,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4644,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4647,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4648,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4652,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4654,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4659,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4661,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4664,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4668,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4670,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4675,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4676,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4680,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4682,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4687,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4689,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4692,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4696,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4700
      start: 4634
    functionDepth: 1
    functionLinenumber: 4634
    functionLinenumberEnd: 4700
    functionName: dumpInAvroDataUnsignedTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - avro_value_get_size
    - avro_value_get_int
    - avro_value_get_null
    - avro_value_get_by_index
    - malloc
    - debugPrint
    - typeToStr
    - avro_value_get_current_branch
    - errorPrint
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataUnsignedTinyInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4708,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4710,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4712,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4715,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4716,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4720,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4722,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4727,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4729,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4731,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4736,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4740,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4742,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4747,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4748,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4752,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4754,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4759,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4761,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4763,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4766,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4770,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4774
      start: 4702
    functionDepth: 1
    functionLinenumber: 4702
    functionLinenumberEnd: 4774
    functionName: dumpInAvroDataUnsignedInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - avro_value_get_size
    - avro_value_get_int
    - avro_value_get_null
    - avro_value_get_by_index
    - malloc
    - debugPrint
    - typeToStr
    - avro_value_get_current_branch
    - errorPrint
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataUnsignedInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4781,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4782,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4784,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4786,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4787,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4788,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4789,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4795
      start: 4776
    functionDepth: 1
    functionLinenumber: 4776
    functionLinenumberEnd: 4795
    functionName: dumpInAvroDataBool
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - verbosePrint
    - avro_value_get_null
    - malloc
    - avro_value_get_boolean
    - avro_value_get_current_branch
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataBool(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4805,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4807,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4810,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4817
      start: 4797
    functionDepth: 1
    functionLinenumber: 4797
    functionLinenumberEnd: 4817
    functionName: dumpInAvroDataNChar
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_bytes
    - avro_value_get_current_branch
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataNChar(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4827,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4829,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4831,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4838
      start: 4819
    functionDepth: 1
    functionLinenumber: 4819
    functionLinenumberEnd: 4838
    functionName: dumpInAvroDataBytes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_bytes
    - avro_value_get_current_branch
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataBytes(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4845,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4849,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4852,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4855,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4859
      start: 4840
    functionDepth: 1
    functionLinenumber: 4840
    functionLinenumberEnd: 4859
    functionName: dumpInAvroDataBinary
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - strlen
    - avro_value_get_string
    - avro_value_get_current_branch
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataBinary(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4867,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4868,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4869,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4872,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4873,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4874,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4875,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4880,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4881,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4882,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4884,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4892
      start: 4861
    functionDepth: 1
    functionLinenumber: 4861
    functionLinenumberEnd: 4892
    functionName: dumpInAvroDataDouble
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - avro_value_get_null
    - malloc
    - avro_value_get_double
    - avro_value_get_current_branch
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataDouble(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4900,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4901,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4902,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4905,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4906,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4907,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4908,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4913,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4914,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4915,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4917,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4925
      start: 4894
    functionDepth: 1
    functionLinenumber: 4894
    functionLinenumberEnd: 4925
    functionName: dumpInAvroDataFloat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - avro_value_get_float
    - avro_value_get_null
    - malloc
    - avro_value_get_current_branch
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataFloat(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4933,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4934,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4936,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4938,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4939,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4940,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4941,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4946,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4947,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4948,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4953
      start: 4927
    functionDepth: 1
    functionLinenumber: 4927
    functionLinenumberEnd: 4953
    functionName: dumpInAvroDataTimeStamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - avro_value_get_null
    - avro_value_get_long
    - malloc
    - avro_value_get_current_branch
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataTimeStamp(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:4961,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4962,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4964,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4966,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4967,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4968,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4969,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4972,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4977,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4978,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4979,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4980,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4984,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4986,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4993
      start: 4955
    functionDepth: 1
    functionLinenumber: 4955
    functionLinenumberEnd: 4993
    functionName: dumpInAvroDataBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - verbosePrint
    - avro_value_get_null
    - avro_value_get_long
    - malloc
    - avro_value_get_current_branch
    - free
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataBigInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:5001,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5002,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5004,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5006,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5007,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5009,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5011,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5016,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5017,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5019,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5020,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5025,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5027,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5034
      start: 4995
    functionDepth: 1
    functionLinenumber: 4995
    functionLinenumberEnd: 5034
    functionName: dumpInAvroDataSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - avro_value_get_int
    - verbosePrint
    - avro_value_get_null
    - malloc
    - avro_value_get_current_branch
    - free
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataSmallInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:5042,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5043,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5045,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5047,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5048,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5050,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5052,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5057,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5058,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5060,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5062,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5067,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5069,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5076
      start: 5036
    functionDepth: 1
    functionLinenumber: 5036
    functionLinenumberEnd: 5076
    functionName: dumpInAvroDataTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - avro_value_get_int
    - verbosePrint
    - avro_value_get_null
    - malloc
    - avro_value_get_current_branch
    - free
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataTinyInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_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:5084,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5085,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5087,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5089,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5090,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5092,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5095,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5097,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5099,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5105,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5106,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5108,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5110,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5112,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5078
    functionDepth: 1
    functionLinenumber: 5078
    functionLinenumberEnd: 5119
    functionName: dumpInAvroDataInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - TOOLS_ASSERT
    - avro_value_get_int
    - avro_value_get_null
    - malloc
    - avro_value_get_current_branch
    - free
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_MULTI_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeBindArray
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5123,1
    - Dst: freeTbNameIfLooseMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - bindArray
    - onlyCol
    - failed
    - tbName
    argTypes:
    - char*
    - int32_t
    - int64_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5126
      start: 5121
    functionDepth: 2
    functionLinenumber: 5121
    functionLinenumberEnd: 5126
    functionName: countFailureAndFree
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - freeTbNameIfLooseMode
    - freeBindArray
    linkageType: ''
    returnType: void
    signature: "void countFailureAndFree(char *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:5136,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5138,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5143,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5146,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5148,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5149,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5152,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5154,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5154,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - stmt
    - tbName
    - stbChange
    - recordSchema
    - nBindCols
    argTypes:
    - TAOS_STMT*
    - char*
    - StbChange*
    - RecordSchema*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5159
      start: 5129
    functionDepth: 0
    functionLinenumber: 5129
    functionLinenumberEnd: 5159
    functionName: stmtPrepare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_stmt_errstr
    - sprintf
    - taos_stmt_prepare
    - snprintf
    - debugPrint
    - calloc
    - errorPrint
    - free
    linkageType: ''
    returnType: int32_t
    signature: int32_t stmtPrepare(TAOS_STMT *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: 5172
      start: 5161
    functionDepth: 0
    functionLinenumber: 5161
    functionLinenumberEnd: 5172
    functionName: FREE_DATAIMPL
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_DATAIMPL()
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5188,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5190,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5193,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5193,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5212,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5216,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5218,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5219,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5223,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5225,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5235,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5243,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5244,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5248,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5250,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5252,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5253,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5255,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5257,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5258,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5260,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5261,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5263,1
    - Dst: normalTableFolder
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5269,1
    - Dst: findStbChange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5270,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5283,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5285,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5286,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5296,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5298,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5299,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5302,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5306,1
    - Dst: stmtPrepare
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5310,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5312,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5313,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5316,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5320,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5321,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5325,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5326,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5333,1
    - Dst: printDotOrX
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5335,1
    - Dst: idxInBindCols
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5356,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5358,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5361,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5368,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5372,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5373,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5374,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5378,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5379,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5381,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5384,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5391,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5392,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5394,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5397,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5402,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5409,1
    - Dst: dumpInAvroDataInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5412,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5418,1
    - Dst: dumpInAvroDataTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5421,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5427,1
    - Dst: dumpInAvroDataSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5430,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5436,1
    - Dst: dumpInAvroDataBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5439,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5445,1
    - Dst: dumpInAvroDataTimeStamp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5448,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5454,1
    - Dst: dumpInAvroDataFloat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5457,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5463,1
    - Dst: dumpInAvroDataDouble
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5466,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5472,1
    - Dst: dumpInAvroDataBinary
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5475,1
    - Dst: dumpInAvroDataNChar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5483,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5485,1
    - Dst: dumpInAvroDataBytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5493,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5495,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5501,1
    - Dst: dumpInAvroDataBool
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5504,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5511,1
    - Dst: dumpInAvroDataUnsignedInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5514,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5521,1
    - Dst: dumpInAvroDataUnsignedTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5524,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5531,1
    - Dst: dumpInAvroDataUnsignedSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5534,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5541,1
    - Dst: dumpInAvroDataUnsignedBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5544,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5549,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5552,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5563,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5564,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5567,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5569,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5571,1
    - Dst: countFailureAndFree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5572,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5577,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5578,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5579,1
    - Dst: countFailureAndFree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5580,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5586,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5590,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5593,1
    - Dst: countFailureAndFree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5595,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5599,1
    - Dst: freeBindArray
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5603,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5608,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5609,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5609,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5613,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5618,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5621,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 295
    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: 5563
        line_start: 5563
        source_file: /src/tdengine/tools/taos-tools/src/taosdump.c
    constantsTouched: []
    func_position:
      end: 5627
      start: 5174
    functionDepth: 4
    functionLinenumber: 5174
    functionLinenumberEnd: 5627
    functionName: dumpInAvroDataImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    - assert
    - strcpy
    - taos_stmt_errstr
    - countFailureAndFree
    - strdup
    - dumpInAvroDataBigInt
    - dumpInAvroDataNChar
    - snprintf
    - dumpInAvroDataBinary
    - taos_stmt_bind_param_batch
    - findStbChange
    - dumpInAvroDataInt
    - dumpInAvroDataBool
    - dumpInAvroDataTinyInt
    - getTableDes
    - strcmp
    - TOOLS_ASSERT
    - taos_errno
    - dumpInAvroDataFloat
    - dumpInAvroDataUnsignedInt
    - dumpInAvroDataUnsignedBigInt
    - avro_value_get_string
    - avro_generic_class_from_schema
    - avro_value_get_current_branch
    - calloc
    - normalTableFolder
    - debugPrint2
    - strlen
    - taos_stmt_add_batch
    - dumpInAvroDataUnsignedTinyInt
    - taos_stmt_init
    - malloc
    - stmtPrepare
    - taos_stmt_close
    - avro_file_reader_read_value
    - avro_value_get_by_name
    - freeBindArray
    - errorPrint
    - printDotOrX
    - taos_errstr
    - free
    - avro_generic_value_new
    - infoPrint
    - strsep
    - avro_value_get_null
    - FREE_DATAIMPL
    - avro_value_get_long
    - warnPrint
    - dumpInAvroDataBytes
    - idxInBindCols
    - dumpInAvroDataSmallInt
    - debugPrint
    - taos_stmt_execute
    - dumpInAvroDataTimeStamp
    - typeToStr
    - dumpInAvroDataDouble
    - dumpInAvroDataUnsignedSmallInt
    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:5633,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5634,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5636,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5662,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5667,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5669,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5673,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5675,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5676,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5678,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5679,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5680,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5681,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5684,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5686,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5687,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5689,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5692,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5693,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5696,1
    - Dst: parse_json_to_recordschema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5701,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5703,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5704,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5707,1
    - Dst: mFileToRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5713,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: 5717
      start: 5629
    functionDepth: 3
    functionLinenumber: 5629
    functionLinenumberEnd: 5717
    functionName: getSchemaAndReaderFromFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    - mFileToRecordSchema
    - strlen
    - verbosePrint
    - avro_file_reader_get_writer_schema
    - avro_strerror
    - avro_writer_memory
    - load_json
    - parse_json_to_recordschema
    - avro_file_reader
    - avro_writer_free
    - calloc
    - errorPrint
    - json_decref
    - print_json
    - avro_schema_to_json
    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:5720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5719
    functionDepth: 0
    functionLinenumber: 5719
    functionLinenumberEnd: 5721
    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:5731,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5733,1
    - Dst: getSchemaAndReaderFromFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5739,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5742,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5747,1
    - Dst: findNewName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5749,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5751,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5755,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5760,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5768,1
    - Dst: dumpInAvroDataImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5770,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5780,1
    - Dst: dumpInAvroTbTagsImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5782,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5792,1
    - Dst: dumpInAvroNtbImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5794,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5800,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5805,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5807,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5808,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5809,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: 5812
      start: 5723
    functionDepth: 5
    functionLinenumber: 5723
    functionLinenumberEnd: 5812
    functionName: dumpInOneAvroFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_file_reader_close
    - infoPrint
    - findNewName
    - dumpInAvroDataImpl
    - closeTaosConnWrapper
    - taosConnect
    - dumpInAvroNtbImpl
    - freeRecordSchema
    - getSchemaAndReaderFromFile
    - dumpInAvroTbTagsImpl
    - snprintf
    - debugPrint
    - avro_schema_namespace
    - errorPrint
    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:5816,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5817,1
    - Dst: readFolderStbName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5831,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5843,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5853,1
    - Dst: dumpInOneAvroFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5859,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5867,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5870,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5871,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5877,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5878,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5885,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5886,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5893,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5900,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5901,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5907,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5908,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5915,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5916,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5923,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5931,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5938,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5942
      start: 5814
    functionDepth: 6
    functionLinenumber: 5814
    functionLinenumberEnd: 5942
    functionName: dumpInAvroWorkThreadFp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - verbosePrint
    - SET_THREAD_NAME
    - atomic_add_fetch_64
    - readFolderStbName
    - warnPrint
    - dumpInOneAvroFile
    - errorPrint
    - okPrint
    linkageType: ''
    returnType: void
    signature: void * dumpInAvroWorkThreadFp(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5945,1
    - Dst: getFilesNum
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5946,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5949,1
    - Dst: createDumpinList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5966,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5970,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5971,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5973,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5974,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5987,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5991,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5993,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5995,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5998,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5999,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6004,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6005,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6008,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6009,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6013,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6014,1
    - Dst: freeFileList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - dbPath
    - typeExt
    - pDbChange
    argTypes:
    - char*
    - char*
    - DBChange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 5944
    functionDepth: 2
    functionLinenumber: 5944
    functionLinenumberEnd: 6019
    functionName: dumpInAvroWorkThreads
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - TOOLS_ASSERT
    - verbosePrint
    - TOOLS_STRNCPY
    - createDumpinList
    - getFilesNum
    - freeFileList
    - strerror
    - debugPrint
    - errorPrint
    - calloc
    - pthread_join
    - pthread_create
    - free
    - exit
    linkageType: ''
    returnType: int
    signature: int dumpInAvroWorkThreads(const char* dbPath, const char *typeExt,
      DBChange *pDbChange)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6078,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6083,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6087,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6091,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6095,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6099,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6104,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6108,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6112,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6116,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6121,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6122,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6125,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6126,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6132,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6134,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6138,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6140,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6142,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6147,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6149,1
    - Dst: convertNCharToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6153,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6155,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6157,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 5
    argNames:
    - pstr
    - curr_sqlstr_len
    - type
    - value
    - len
    argTypes:
    - char*
    - int
    - uint8_t
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6168
      start: 6071
    functionDepth: 1
    functionLinenumber: 6071
    functionLinenumberEnd: 6168
    functionName: processResultValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - GET_DOUBLE_VAL
    - sprintf
    - free
    - calloc
    - errorPrint
    - convertStringToReadable
    - convertNCharToReadable
    - 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:6178,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6180,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6190,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6191,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6192,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6196,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6197,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6203,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6206,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6211,1
    - Dst: processResultValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6214,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6222,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6226,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6229,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6238,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6243,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6245,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6246,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: 6249
      start: 6170
    functionDepth: 2
    functionLinenumber: 6170
    functionLinenumberEnd: 6249
    functionName: writeResultDebugNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_ASSERT
    - infoPrint
    - taos_fetch_lengths
    - sprintf
    - taos_fetch_fields
    - fprintf
    - taos_fetch_row
    - debugPrint
    - calloc
    - errorPrint
    - processResultValue
    - taos_field_count
    - free
    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:6258,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6260,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6264,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6274,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6276,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6279,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: 6281
      start: 6252
    functionDepth: 1
    functionLinenumber: 6252
    functionLinenumberEnd: 6281
    functionName: queryDbForDumpOutNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - cleanIfQueryFailed
    - snprintf
    - taosQuery
    - calloc
    - errorPrint
    - free
    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:6298,1
    - Dst: convertTbDesToJsonLoose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6305,1
    - Dst: convertTbDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6307,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6310,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6313,1
    - Dst: writeResultToAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6317,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6321,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6322,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: 6325
      start: 6284
    functionDepth: 5
    functionLinenumber: 6284
    functionLinenumberEnd: 6325
    functionName: dumpTableDataAvroTsRange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    - taos_close
    - taosConnect
    - writeResultToAvro
    - convertTbDesToJson
    - errorPrint
    - convertTbDesToJsonLoose
    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:6330,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6333,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6335,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6340,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6343,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6349,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6352,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6355,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6358,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6363,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6374,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6375,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - dbInfo
    - subDirName
    - stable
    argTypes:
    - SDbInfo*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6381
      start: 6327
    functionDepth: 1
    functionLinenumber: 6327
    functionLinenumberEnd: 6381
    functionName: generateSubDirName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_64
    - toolsOpenDir
    - warnPrint
    - strcat
    - snprintf
    - bkdrHash
    - toolsCloseDir
    - mkdir
    - writeFile
    - errorPrint
    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:6389,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6396,1
    - Dst: generateSubDirName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6405,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6409,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6420,1
    - Dst: bkdrHash
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6432,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6433,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6440,1
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6443,1
    - Dst: generateSubDirName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6449,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6453,1
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6458,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6464,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: 6477
      start: 6383
    functionDepth: 2
    functionLinenumber: 6383
    functionLinenumberEnd: 6477
    functionName: generateFilename
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - snprintf
    - bkdrHash
    - generateSubDirName
    - getUniqueIDFromEpoch
    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:6493,1
    - Dst: getStartTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6498,1
    - Dst: getEndTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6499,1
    - Dst: dumpTableDataAvroTsRange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6504,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: 6508
      start: 6482
    functionDepth: 6
    functionLinenumber: 6482
    functionLinenumberEnd: 6508
    functionName: dumpTableDataAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - generateFilename
    - getStartTime
    - getEndTime
    - dumpTableDataAvroTsRange
    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:6521,1
    - Dst: queryDbForDumpOutNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6525,1
    - Dst: writeResultDebugNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6528,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6530,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6531,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: 6534
      start: 6510
    functionDepth: 3
    functionLinenumber: 6510
    functionLinenumberEnd: 6534
    functionName: dumpTableDataDebugTsRange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - queryDbForDumpOutNative
    - taos_close
    - writeResultDebugNative
    - taosConnect
    - taos_free_result
    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:6544,1
    - Dst: getEndTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6545,1
    - Dst: dumpTableDataDebugTsRange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6552,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: 6555
      start: 6536
    functionDepth: 4
    functionLinenumber: 6536
    functionLinenumberEnd: 6555
    functionName: dumpTableDataDebug
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - getStartTime
    - getEndTime
    - dumpTableDataDebugTsRange
    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: 24
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6570,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6571,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6585,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6588,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6593,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6597,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6601,1
    - Dst: dumpCreateMTableClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6605,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6610,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6613,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6617,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6621,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6625,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6633,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6638,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6642,1
    - Dst: createNTableMFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6648,1
    - Dst: dumpCreateTableClauseAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6652,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6656,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6658,1
    - Dst: dumpCreateTableClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6662,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6665,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6667,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6680,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6683,1
    - Dst: getTableDesFromStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6687,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6691,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6694,1
    - Dst: dumpTableDataAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6700,1
    - Dst: dumpTableDataDebug
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6707,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6716,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 89
    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: 6719
      start: 6558
    functionDepth: 7
    functionLinenumber: 6558
    functionLinenumberEnd: 6719
    functionName: dumpTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - createNTableMFile
    - generateFilename
    - dumpCreateTableClauseAvro
    - dumpCreateMTableClause
    - dumpCreateTableClause
    - getTableDesFromStbNative
    - dumpTableDataAvro
    - debugPrint
    - dumpTableDataDebug
    - calloc
    - errorPrint
    - getTableDes
    - freeTbDes
    - free
    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:6730,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6731,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6736,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6740,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6748,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6753,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6758,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6760,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6762,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6766,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6767,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6768,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6771,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6779,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6782,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6785,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: 6790
      start: 6721
    functionDepth: 8
    functionLinenumber: 6721
    functionLinenumberEnd: 6790
    functionName: dumpTableNotBelong
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - dumpTable
    - atomic_add_fetch_64
    - generateFilename
    - strerror
    - fclose
    - fopen
    - getPrecisionByString
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpTableNotBelong(\n        int64_t index,\n        void
      **taos_v, SDbInfo *dbInfo, char *ntbName)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6800,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6801,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6806,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6811,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6813,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6818,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6821,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6824,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6827,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6829,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6834,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6838,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6841,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6843,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6846,1
    - Dst: getTableDesFromStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6850,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6856,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6864,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6866,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6868,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6878,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6879,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6885,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6888,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6889,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6891,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6892,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6894,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6896,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6901,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6904,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6905,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6907,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6908,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6909,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6916,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6919,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6920,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6922,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6923,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6924,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6931,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6934,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6935,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6937,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6938,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6939,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6946,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6949,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6950,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6952,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6953,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6954,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6960,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6963,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6964,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6966,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6968,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6969,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6972,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6973,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6980,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6983,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6984,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6986,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6988,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6989,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6992,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6993,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7000,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7003,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7004,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7006,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7008,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7012,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7023,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7026,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7027,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7029,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7031,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7034,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7035,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7037,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7042,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7043,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7045,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7047,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7054,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7057,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7058,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7060,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7061,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7062,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7068,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7071,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7072,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7074,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7075,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7079,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7080,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7081,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7083,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7084,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7085,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7091,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7094,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7095,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7097,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7098,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7102,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7103,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7104,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7106,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7107,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7108,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7114,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7117,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7118,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7120,1
    - Dst: strtoul
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7121,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7125,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7126,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7127,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7129,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7130,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7131,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7137,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7140,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7141,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7143,1
    - Dst: strtoull
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7145,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7150,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7151,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7152,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7154,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7155,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7156,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7162,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7167,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7168,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7170,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7172,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7173,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 225
    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: 7176
      start: 6792
    functionDepth: 4
    functionLinenumber: 6792
    functionLinenumberEnd: 7176
    functionName: createMTableAvroHeadImp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - verbosePrint
    - avro_value_set_null
    - snprintf
    - freeTbDes
    - avro_value_set_bytes
    - strncmp
    - replaceCopy
    - TOOLS_ASSERT
    - avro_value_set_int
    - strtoull
    - calloc
    - avro_value_set_branch
    - strlen
    - memset
    - malloc
    - avro_file_writer_append_value
    - avro_value_get_by_name
    - avro_value_set_string
    - errorPrint
    - strtoul
    - avro_value_set_long
    - avro_value_set_float
    - avro_generic_value_new
    - free
    - avro_value_decref
    - avro_value_set_boolean
    - avro_strerror
    - memcpy
    - atof
    - avro_value_append
    - getTableDesFromStbNative
    - debugPrint
    - atoi
    - atoll
    - avro_value_set_double
    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:7184,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7185,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7188,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7191,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7196,1
    - Dst: convertTbTagsDesToJsonLoose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7201,1
    - Dst: convertTbTagsDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7203,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7206,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7209,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7210,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7214,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7220,1
    - Dst: createMTableAvroHeadImp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7225,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7232,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7233,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7234,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7235,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7237,1
    - Dst: tableDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7240,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7242,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7243,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7244,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 5
    argNames:
    - taos_v
    - dumpFilename
    - dbName
    - stable
    - specifiedTb
    argTypes:
    - void**
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7251
      start: 7178
    functionDepth: 5
    functionLinenumber: 7178
    functionLinenumberEnd: 7251
    functionName: createMTableAvroHeadSpecified
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    - freeRecordSchema
    - createMTableAvroHeadImp
    - convertTbTagsDesToJson
    - writeFile
    - freeTbDes
    - getTableDes
    - avro_schema_decref
    - avro_value_iface_decref
    - strcat
    - tableDesToJson
    - calloc
    - prepareAvroWface
    - strlen
    - avro_file_writer_close
    - convertTbTagsDesToJsonLoose
    - errorPrint
    - free
    - debugPrint
    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)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7260,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7262,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7264,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7264,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7265,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7275,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7276,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7280,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7285,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7286,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7288,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7298,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7305,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7307,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7311,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: 7313
      start: 7253
    functionDepth: 1
    functionLinenumber: 7253
    functionLinenumberEnd: 7313
    functionName: fillTbNameArrNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - taos_fetch_lengths
    - taos_errno
    - taos_fetch_row
    - taos_free_result
    - taosQuery
    - debugPrint
    - calloc
    - errorPrint
    - taos_errstr
    - strncpy
    - okPrint
    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:7321,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7323,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7328,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7334,1
    - Dst: fillTbNameArrNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7337,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7339,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7342,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: 7344
      start: 7315
    functionDepth: 2
    functionLinenumber: 7315
    functionLinenumberEnd: 7344
    functionName: fillTbNameArr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - snprintf
    - debugPrint
    - calloc
    - fillTbNameArrNative
    - errorPrint
    - free
    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: 44
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7356,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7360,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7362,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7367,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7370,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7373,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7376,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7378,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7383,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7387,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7390,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7393,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7401,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7403,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7405,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7415,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7416,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7421,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7424,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7425,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7427,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7428,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7430,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7432,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7437,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7440,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7441,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7443,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7444,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7445,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7452,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7455,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7456,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7458,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7459,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7460,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7467,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7470,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7471,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7473,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7474,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7475,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7482,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7485,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7486,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7488,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7489,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7490,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7496,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7499,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7500,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7502,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7504,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7505,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7508,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7509,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7516,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7519,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7520,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7522,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7524,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7525,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7528,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7529,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7536,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7539,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7540,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7542,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7544,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7548,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7559,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7562,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7563,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7565,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7567,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7570,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7571,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7573,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7578,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7579,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7581,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7583,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7589,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7592,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7593,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7595,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7596,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7597,1
    - Dst: strncmp
      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:7606,1
    - Dst: avro_value_set_null
      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:7609,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7610,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7614,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7615,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7616,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7618,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7619,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7620,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7626,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7629,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7630,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7632,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7633,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7637,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7638,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7639,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7641,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7642,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7643,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7649,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7652,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7653,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7655,1
    - Dst: strtoul
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7656,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7660,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7661,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7662,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7664,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7665,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7666,1
    - Dst: strncmp
      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:7675,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7676,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7678,1
    - Dst: strtoull
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7680,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7685,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7686,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7687,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7689,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7690,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7691,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7697,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7702,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7703,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7705,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7707,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 215
    argCount: 5
    argNames:
    - dbName
    - stbDes
    - tbDes
    - writer
    - wface
    argTypes:
    - char*
    - TableDes*
    - TableDes*
    - avro_file_writer_t
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7710
      start: 7348
    functionDepth: 1
    functionLinenumber: 7348
    functionLinenumberEnd: 7710
    functionName: writeTagsToAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - verbosePrint
    - avro_value_set_null
    - snprintf
    - avro_value_set_bytes
    - strncmp
    - replaceCopy
    - TOOLS_ASSERT
    - avro_value_set_int
    - strtoull
    - avro_value_set_branch
    - strlen
    - memset
    - malloc
    - avro_file_writer_append_value
    - avro_value_get_by_name
    - avro_value_set_string
    - errorPrint
    - strtoul
    - avro_value_set_long
    - avro_value_set_float
    - avro_generic_value_new
    - free
    - avro_value_decref
    - avro_value_set_boolean
    - avro_strerror
    - memcpy
    - atof
    - avro_value_append
    - debugPrint
    - atoi
    - atoll
    - avro_value_set_double
    linkageType: ''
    returnType: int
    signature: "int writeTagsToAvro(\n            const char *dbName,\n            const
      TableDes *stbDes,\n            const 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:7715,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7717,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos_v
    - sql
    argTypes:
    - void**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7722
      start: 7713
    functionDepth: 1
    functionLinenumber: 7713
    functionLinenumberEnd: 7722
    functionName: openQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 1
    functionsReached:
    - errorPrint
    - taos_free_result
    - taosQuery
    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:7727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7729
      start: 7725
    functionDepth: 0
    functionLinenumber: 7725
    functionLinenumberEnd: 7729
    functionName: closeQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 1
    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:7736,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7738,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7741,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7744,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7753,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7754,1
    - Dst: processFieldsValueV3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7755,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7756,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7765,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - res
    - tbDes
    argTypes:
    - void*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7771
      start: 7732
    functionDepth: 2
    functionLinenumber: 7732
    functionLinenumberEnd: 7771
    functionName: readNextTableDesNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_fetch_lengths
    - strcpy
    - taos_fetch_row
    - strncmp
    - errorPrint
    - strncpy
    - processFieldsValueV3
    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:7776,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7783,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: 7793
      start: 7773
    functionDepth: 0
    functionLinenumber: 7773
    functionLinenumberEnd: 7793
    functionName: readRow
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 1
    functionsReached:
    - taos_fetch_lengths
    - taos_fetch_row
    linkageType: ''
    returnType: int32_t
    signature: int32_t readRow(void *res, int32_t idx, int32_t col, uint32_t *len,
      char **data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7806,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7812,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7816,1
    - Dst: convertTbTagsDesToJsonLoose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7823,1
    - Dst: convertTbTagsDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7825,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7828,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7829,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7836,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7840,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7843,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7846,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7851,1
    - Dst: openQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7856,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7863,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7867,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7868,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7870,1
    - Dst: readNextTableDesNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7871,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7874,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7882,1
    - Dst: writeTagsToAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7885,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7891,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7897,1
    - Dst: tableDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7904,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7906,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7907,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7908,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7913,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7917,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7918,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7919,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7920,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7921,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7922,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: 7925
      start: 7797
    functionDepth: 4
    functionLinenumber: 7797
    functionLinenumberEnd: 7925
    functionName: dumpStableMeta
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    - freeRecordSchema
    - generateFilename
    - convertTbTagsDesToJson
    - strdup
    - snprintf
    - closeQuery
    - writeFile
    - freeTbDes
    - readNextTableDesNative
    - avro_schema_decref
    - avro_value_iface_decref
    - strcat
    - tableDesToJson
    - calloc
    - prepareAvroWface
    - okPrint
    - memset
    - avro_file_writer_close
    - writeTagsToAvro
    - convertTbTagsDesToJsonLoose
    - errorPrint
    - openQuery
    - free
    - infoPrint
    - memcpy
    - debugPrint
    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:7939,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7943,1
    - Dst: createMTableAvroHeadSpecified
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7946,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7953,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7958,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7962,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7965,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7967,1
    - 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: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7975,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7979,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7987,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7992,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7996,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: 8001
      start: 7927
    functionDepth: 8
    functionLinenumber: 7927
    functionLinenumberEnd: 8001
    functionName: dumpTableBelongStb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - dumpTable
    - atomic_add_fetch_64
    - generateFilename
    - strerror
    - debugPrint
    - fclose
    - fopen
    - createMTableAvroHeadSpecified
    - errorPrint
    - getPrecisionByString
    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:8004,1
    - Dst: printVersion
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8006,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8008,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8009,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8010,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8011,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8012,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8013,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8014,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8015,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8016,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8017,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8018,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8019,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8021,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8022,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8024,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8026,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8027,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8029,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8031,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8032,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8033,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8034,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8035,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8036,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8037,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8059
      start: 8003
    functionDepth: 0
    functionLinenumber: 8003
    functionLinenumberEnd: 8059
    functionName: printArgs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - printVersion
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void printArgs(FILE *file)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8066,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8067,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8072,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8075,1
    - Dst: printArgs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8076,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8080,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8083,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8085,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8090,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8095,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8103,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8112,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8116,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8118,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8121,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8122,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8126
      start: 8061
    functionDepth: 1
    functionLinenumber: 8061
    functionLinenumberEnd: 8126
    functionName: checkParam
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strcpy
    - printf
    - strerror
    - errorPrint
    - fopen
    - printArgs
    - exit
    linkageType: ''
    returnType: int
    signature: int checkParam()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - str
    - size
    - buf
    - bufsize
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8161
      start: 8150
    functionDepth: 1
    functionLinenumber: 8150
    functionLinenumberEnd: 8161
    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:8169,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8171,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8172,1
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8176,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - str
    - size
    - buf
    - bufsize
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8187
      start: 8163
    functionDepth: 1
    functionLinenumber: 8163
    functionLinenumberEnd: 8187
    functionName: convertNCharToReadable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 3
    functionsReached:
    - memcpy
    - stpcpy
    - mbtowc
    - errorPrint
    - exit
    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:8191,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8193,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8196,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8199,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8201,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8203,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8205,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8206,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8208,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8208,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8209,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8210,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8211,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8211,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8212,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8213,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8216,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8217,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8220,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8221,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8226,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8227,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8230,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8230,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8231,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8231,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8232,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8234,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8235,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8236,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8236,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8237,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8238,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8241,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8242,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8246,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - taos
    - fp
    argTypes:
    - void*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8248
      start: 8189
    functionDepth: 1
    functionLinenumber: 8189
    functionLinenumberEnd: 8248
    functionName: dumpExtraInfoVar
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_fetch_lengths
    - strcpy
    - snprintf
    - strcmp
    - taos_errno
    - fprintf
    - strerror
    - calloc
    - fwrite
    - strlen
    - taos_free_result
    - errorPrint
    - taos_errstr
    - free
    - min
    - warnPrint
    - taos_fetch_row
    - taosQuery
    - debugPrint
    - strncpy
    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:8253,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8257,1
    - Dst: taos_get_server_info
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8258,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8260,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8268,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8270,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8274,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8280,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8282,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8282,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8283,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8284,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8287,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8288,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8291,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8293,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8295,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8297,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8299,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8299,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8300,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8301,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8304,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8305,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8308,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8310,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8310,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8311,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8312,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8315,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8316,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8319,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8321,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8321,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8322,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8323,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8326,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - taos
    - fp
    argTypes:
    - void*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8331
      start: 8250
    functionDepth: 0
    functionLinenumber: 8250
    functionLinenumberEnd: 8331
    functionName: dumpExtraInfoHead
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fwrite
    - strlen
    - strchr
    - snprintf
    - strerror
    - fseek
    - errorPrint
    - taos_get_server_info
    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:8336,1
    - Dst: dumpExtraInfoVar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8342,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - taos_v
    - fp
    argTypes:
    - void**
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8347
      start: 8333
    functionDepth: 2
    functionLinenumber: 8333
    functionLinenumberEnd: 8347
    functionName: dumpExtraInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 1
    functionsReached:
    - ferror
    - dumpExtraInfoVar
    - 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:8352,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8354,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8358,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8359,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8360,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8363,1
    - Dst: getline
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8366,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8372,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8373,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8374,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8378,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8381,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8385,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - fp
    - mark
    - fcharset
    argTypes:
    - FILE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8389
      start: 8349
    functionDepth: 1
    functionLinenumber: 8349
    functionLinenumberEnd: 8389
    functionName: loadFileMark
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    - TOOLS_ASSERT
    - strlen
    - strncpy
    - fgets
    - calloc
    - fseek
    - getline
    - strncmp
    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:8393,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8397,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8399,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8403,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8406,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8410,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8410,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8411,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8411,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8412,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8415,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8416,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8417,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8418,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8419,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8419,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8420,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8421,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8422,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8423,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8424,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8425,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8426,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8427,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8429,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8432,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8435,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8437
      start: 8391
    functionDepth: 1
    functionLinenumber: 8391
    functionLinenumberEnd: 8437
    functionName: convertDbClauseForV3
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - strsep
    - sprintf
    - strdup
    - atoi
    - errorPrint
    - free
    - strncmp
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool convertDbClauseForV3(char **cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8444,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8447,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8448,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8454
      start: 8439
    functionDepth: 1
    functionLinenumber: 8439
    functionLinenumberEnd: 8454
    functionName: queryDbImplNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - taos_free_result
    - taosQuery
    - taos_errstr
    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:8574,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8575,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8582,1
    - Dst: openDumpInFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8585,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8587,1
    - Dst: dumpInOneDebugFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8592,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8597,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8598,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8602,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8603,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8611
      start: 8572
    functionDepth: 1
    functionLinenumber: 8572
    functionLinenumberEnd: 8611
    functionName: dumpInDebugWorkThreadFp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - SET_THREAD_NAME
    - dumpInOneDebugFile
    - atomic_add_fetch_64
    - openDumpInFile
    - snprintf
    - fclose
    - errorPrint
    - okPrint
    linkageType: ''
    returnType: void
    signature: void * dumpInDebugWorkThreadFp(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getFilesNum
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8617,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8619,1
    - Dst: createDumpinList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8623,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8627,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8628,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8630,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8631,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8658,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8662,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8667,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8668,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8669,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8673,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8675,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8678,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8679,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8684,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8685,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8688,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8689,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8694,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8698,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8699,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8702,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8703,1
    - Dst: freeFileList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8705,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8708
      start: 8613
    functionDepth: 2
    functionLinenumber: 8613
    functionLinenumberEnd: 8708
    functionName: dumpInDebugWorkThreads
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_ASSERT
    - verbosePrint
    - taos_close
    - taosConnect
    - atomic_add_fetch_64
    - createDumpinList
    - getFilesNum
    - freeFileList
    - exit
    - strerror
    - debugPrint
    - errorPrint
    - calloc
    - pthread_join
    - pthread_create
    - strncpy
    - free
    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: 8715
      start: 8711
    functionDepth: 0
    functionLinenumber: 8711
    functionLinenumberEnd: 8715
    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:8720,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8725,1
    - Dst: openDumpInFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8727,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8729,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8733,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8736,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8740,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8742,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8743,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8744,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8748,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8751,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8756,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8758,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8763,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8764,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8769,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8772,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8774,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8776,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8780,1
    - Dst: dumpInOneDebugFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8782,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8786,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8790,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8793,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8794,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8799,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8800,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8803
      start: 8717
    functionDepth: 2
    functionLinenumber: 8717
    functionLinenumberEnd: 8803
    functionName: dumpInDbs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - closeTaosConnWrapper
    - dumpInOneDebugFile
    - taosConnect
    - strcasecmp
    - strcpy
    - loadFileMark
    - openDumpInFile
    - snprintf
    - debugPrint
    - fclose
    - atoi
    - errorPrint
    - okPrint
    linkageType: ''
    returnType: int
    signature: int dumpInDbs(const char *dbPath)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8810,1
    - Dst: dumpInDbs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8812,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8813,1
    - Dst: createDbChange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8818,1
    - Dst: dumpInAvroWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8822,1
    - Dst: dumpInAvroWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8825,1
    - Dst: dumpInAvroWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8829,1
    - Dst: dumpInAvroWorkThreadsSub
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8831,1
    - Dst: dumpInDebugWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8835,1
    - Dst: freeDBChange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8844
      start: 8806
    functionDepth: 3
    functionLinenumber: 8806
    functionLinenumberEnd: 8844
    functionName: dumpInWithDbPath
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - freeDBChange
    - infoPrint
    - dumpInDbs
    - dumpInDebugWorkThreads
    - dumpInAvroWorkThreadsSub
    - errorPrint
    - dumpInAvroWorkThreads
    - createDbChange
    linkageType: ''
    returnType: int
    signature: int dumpInWithDbPath(const char *dbPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8907,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8913,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8925,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8939,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pThreadInfo
    - fp
    - dumpFilename
    argTypes:
    - threadInfo*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8949
      start: 8900
    functionDepth: 8
    functionLinenumber: 8900
    functionLinenumberEnd: 8949
    functionName: dumpTablesOfStbNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpTable
    - debugPrint
    - 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:8954,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8955,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8961,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8966,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8969,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8974,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8977,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8979,1
    - Dst: dumpTablesOfStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8984,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8986,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8991
      start: 8951
    functionDepth: 9
    functionLinenumber: 8951
    functionLinenumberEnd: 8991
    functionName: dumpTablesOfStbThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - generateFilename
    - dumpTablesOfStbNative
    - strerror
    - debugPrint
    - fclose
    - fopen
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void *dumpTablesOfStbThread(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9001,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9004,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9005,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9006,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9007,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9009,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9013,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9014,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9015,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9025,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9027,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9028,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9031,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9034,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9036,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9039,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9040,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9045,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9046,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9049,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9050,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9054,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9058,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9061,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9062,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 4
    argNames:
    - dbInfo
    - stbDes
    - tbNameArr
    - tbCount
    argTypes:
    - SDbInfo*
    - TableDes*
    - char**
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9064
      start: 8993
    functionDepth: 1
    functionLinenumber: 8993
    functionLinenumberEnd: 9064
    functionName: dumpSTableData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_ASSERT
    - infoPrint
    - taos_close
    - taosConnect
    - strcpy
    - pthread_create
    - exit
    - strerror
    - calloc
    - getPrecisionByString
    - errorPrint
    - pthread_join
    - free
    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:9070,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tbNameArr
    - tbCount
    argTypes:
    - char**
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9074
      start: 9067
    functionDepth: 0
    functionLinenumber: 9067
    functionLinenumberEnd: 9074
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9083,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9090,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9093,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9100,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9103,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9105,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9106,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9109,1
    - Dst: getTbCountOfStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9113,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9115,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9116,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9117,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9120,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9124,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9125,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9130,1
    - Dst: dumpStableMeta
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9132,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9139,1
    - Dst: freeTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9141,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9142,1
    - Dst: fillTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9146,1
    - Dst: freeTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9150,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9151,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9154,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9157,1
    - Dst: dumpSTableData
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9165,1
    - Dst: freeTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9166,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 3
    argNames:
    - taos_v
    - dbInfo
    - stbName
    argTypes:
    - void**
    - SDbInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9169
      start: 9077
    functionDepth: 5
    functionLinenumber: 9077
    functionLinenumberEnd: 9169
    functionName: dumpStable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - freeTbNameArr
    - dumpSTableData
    - getTbCountOfStbNative
    - fillTbNameArr
    - strcpy
    - dumpStableMeta
    - calloc
    - errorPrint
    - getTableDes
    - freeTbDes
    - exit
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpStable(\n        void **taos_v,\n        SDbInfo *dbInfo,\n
      \       const char *stbName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9178,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9181,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9183,1
    - Dst: dumpStableClasuse
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9187,1
    - Dst: dumpStable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9196,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9201,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9206,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: 9209
      start: 9171
    functionDepth: 6
    functionLinenumber: 9171
    functionLinenumberEnd: 9209
    functionName: dumpStbAndChildTb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpStableClasuse
    - dumpStable
    - calloc
    - errorPrint
    - freeTbDes
    - exit
    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:9215,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9220,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9222,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9229,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9234,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9236,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9237,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9238,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9239,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9245,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9246,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9248,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9258,1
    - Dst: dumpTableNotBelong
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9261,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9265,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9268,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9275,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - taos_v
    - dbInfo
    argTypes:
    - TAOS**
    - SDbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9279
      start: 9211
    functionDepth: 9
    functionLinenumber: 9211
    functionLinenumberEnd: 9279
    functionName: dumpNTablesOfDb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_fetch_lengths
    - warnPrint
    - taos_fetch_row
    - snprintf
    - okPrint
    - taos_free_result
    - taosQuery
    - calloc
    - dumpTableNotBelong
    - errorPrint
    - taos_errstr
    - strncpy
    - free
    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:9285,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9287,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9291,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9299,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9301,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9302,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9303,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9304,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9308,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9311,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9316,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9319,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9324,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9325,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9327,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9328,1
    - Dst: dumpStbAndChildTb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9332,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9338,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9344,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - taos_v
    - dbInfo
    - fpDbs
    argTypes:
    - TAOS**
    - SDbInfo*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9348
      start: 9281
    functionDepth: 7
    functionLinenumber: 9281
    functionLinenumberEnd: 9348
    functionName: dumpStbAndChildTbOfDb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - cleanIfQueryFailed
    - taos_fetch_lengths
    - taos_fetch_row
    - snprintf
    - taos_free_result
    - taosQuery
    - debugPrint
    - calloc
    - errorPrint
    - dumpStbAndChildTb
    - taos_errstr
    - strncpy
    - free
    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:9352,1
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9355,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9356,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9360,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dbInfo
    argTypes:
    - SDbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9371
      start: 9350
    functionDepth: 2
    functionLinenumber: 9350
    functionLinenumberEnd: 9371
    functionName: createDirForDbDump
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - snprintf
    - mkdir
    - errorPrint
    - getUniqueIDFromEpoch
    linkageType: ''
    returnType: int
    signature: int createDirForDbDump(SDbInfo *dbInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createDirForDbDump
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9377,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9380,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9382,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9385,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9387,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - dbInfo
    argTypes:
    - SDbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9393
      start: 9373
    functionDepth: 3
    functionLinenumber: 9373
    functionLinenumberEnd: 9393
    functionName: createDbsSqlPerDb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - snprintf
    - createDirForDbDump
    - strerror
    - fopen
    - errorPrint
    linkageType: ''
    returnType: FILE
    signature: FILE *createDbsSqlPerDb(SDbInfo *dbInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9397,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9399,1
    - Dst: createDbsSqlPerDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9406,1
    - Dst: dumpCreateDbClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9413,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9415,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9417,1
    - Dst: dumpStbAndChildTbOfDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9422,1
    - Dst: dumpNTablesOfDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9425,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - taos_v
    - dbInfo
    - fp
    argTypes:
    - void**
    - SDbInfo*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9432
      start: 9395
    functionDepth: 10
    functionLinenumber: 9395
    functionLinenumberEnd: 9432
    functionName: dumpWholeDatabase
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpCreateDbClause
    - infoPrint
    - atomic_add_fetch_64
    - createDbsSqlPerDb
    - fprintf
    - dumpStbAndChildTbOfDb
    - dumpNTablesOfDb
    - fclose
    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:9436,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9437,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9439,1
    - Dst: access
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - path
    - filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9447
      start: 9434
    functionDepth: 1
    functionLinenumber: 9434
    functionLinenumberEnd: 9447
    functionName: checkFileExists
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strlen
    - 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:9457,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9458,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9461,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9462,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9463,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9465,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9471,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9478,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9479,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9482,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9483,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9485,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9491,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - path
    - dirname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9496
      start: 9449
    functionDepth: 1
    functionLinenumber: 9449
    functionLinenumberEnd: 9496
    functionName: checkFileExistsDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - toolsOpenDir
    - closedir
    - strncmp
    - opendir
    - toolsCloseDir
    - toolsGetDirEntryName
    - readdir
    - toolsReadDir
    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:9502,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9508,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9511,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9512,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9513,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9515,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9521,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9527,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9530,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9531,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9533,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9539,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - path
    - ext
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9544
      start: 9498
    functionDepth: 1
    functionLinenumber: 9498
    functionLinenumberEnd: 9544
    functionName: checkFileExistsExt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - toolsOpenDir
    - closedir
    - opendir
    - toolsCloseDir
    - toolsGetDirEntryName
    - readdir
    - toolsReadDir
    - 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:9550,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9551,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9552,1
    - Dst: checkFileExists
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9559,1
    - Dst: checkFileExistsDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9560,1
    - Dst: checkFileExistsExt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9561,1
    - Dst: checkFileExistsExt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9562,1
    - Dst: checkFileExistsExt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9563,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9564,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9565,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9569,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9577,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - outpath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9581
      start: 9546
    functionDepth: 2
    functionLinenumber: 9546
    functionLinenumberEnd: 9581
    functionName: checkOutDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - checkFileExists
    - strlen
    - toolsOpenDir
    - checkFileExistsExt
    - toolsCloseDir
    - errorPrint
    - checkFileExistsDir
    linkageType: ''
    returnType: bool
    signature: bool checkOutDir(char *outpath)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9587,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9588,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9589,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9590,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9593,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9599,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9603,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9609,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9613,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9619,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9623,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9624,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9625,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9626,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9630,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9633,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9635,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9636,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9637,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9638,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9639,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9643,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9644,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9645,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9646,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9650,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9651,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9653,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9655,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9659,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9663,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9667,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9671,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9673,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9677,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9681,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9685,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9689,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9693,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9697,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9701,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9705,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9709,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9713,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9718,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9722,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9723,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9724,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9725,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9728,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: 9734
      start: 9583
    functionDepth: 1
    functionLinenumber: 9583
    functionLinenumberEnd: 9734
    functionName: fillDBInfoWithFieldsNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - min
    - debugPrint
    - 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:9741,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9743,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9746,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9751,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9754,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9756,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9759,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9761,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9765,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9771,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - taos
    - dbName
    - dbIndex
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9774
      start: 9736
    functionDepth: 1
    functionLinenumber: 9736
    functionLinenumberEnd: 9774
    functionName: fillDbExtraInfoV3Native
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - cleanIfQueryFailed
    - taos_fetch_fields
    - taos_fetch_row
    - snprintf
    - taos_free_result
    - taosQuery
    - calloc
    - errorPrint
    - free
    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:9780,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9782,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9786,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9790,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9792,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9795,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9796,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9798,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9799,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9801,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9807,1
    - Dst: isSystemDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9809,1
    - Dst: inDatabasesSeq
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9814,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9818,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9823,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9825,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9831,1
    - Dst: fillDBInfoWithFieldsNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9833,1
    - Dst: fillDbExtraInfoV3Native
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9839,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9853,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9854,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 1
    argNames:
    - taos
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9861
      start: 9776
    functionDepth: 2
    functionLinenumber: 9776
    functionLinenumberEnd: 9861
    functionName: fillDbInfoNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - isSystemDatabase
    - cleanIfQueryFailed
    - taos_fetch_lengths
    - fillDBInfoWithFieldsNative
    - fillDbExtraInfoV3Native
    - taos_fetch_fields
    - taos_fetch_row
    - snprintf
    - okPrint
    - taos_free_result
    - taosQuery
    - free
    - calloc
    - errorPrint
    - inDatabasesSeq
    - taos_field_count
    - strncpy
    - strcmp
    linkageType: ''
    returnType: int
    signature: int fillDbInfoNative(void *taos)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: checkOutDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9871,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9876,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9879,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9881,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9883,1
    - Dst: getDumpDbCount
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9887,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9888,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9892,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9893,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9897,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9899,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9907,1
    - Dst: dumpExtraInfo
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9913,1
    - Dst: fillDbInfoNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9919,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9922,1
    - Dst: dumpWholeDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9932,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9934,1
    - Dst: dumpWholeDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9941,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9943,1
    - Dst: dumpCreateDbClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9948,1
    - Dst: createDbsSqlPerDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9951,1
    - Dst: dumpCreateDbClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9953,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9956,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9965,1
    - Dst: getTableRecordInfo
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9970,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9973,1
    - Dst: dumpStbAndChildTb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9980,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9984,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9993,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9995,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9998,1
    - Dst: dumpStableClasuse
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10002,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10011,1
    - Dst: dumpTableBelongStb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10016,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10024,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10029,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10034,1
    - Dst: dumpTableNotBelong
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10037,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10043,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10053,1
    - Dst: freeDbInfos
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10057,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10059,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10061,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10063,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10065,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10069,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 129
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10074
      start: 9863
    functionDepth: 11
    functionLinenumber: 9863
    functionLinenumberEnd: 10074
    functionName: dumpOut
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpWholeDatabase
    - atomic_add_fetch_64
    - snprintf
    - getTableRecordInfo
    - fopen
    - freeTbDes
    - exit
    - dumpCreateDbClause
    - freeDbInfos
    - getDumpDbCount
    - createDbsSqlPerDb
    - strerror
    - calloc
    - dumpTableBelongStb
    - okPrint
    - strlen
    - closeTaosConnWrapper
    - taosConnect
    - dumpStableClasuse
    - checkOutDir
    - dumpTableNotBelong
    - errorPrint
    - dumpExtraInfo
    - fillDbInfoNative
    - debugPrint
    - fclose
    - dumpStbAndChildTb
    linkageType: ''
    returnType: int
    signature: int dumpOut()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkParam
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10079,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10080,1
    - Dst: printArgs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10083,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10086,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10088,1
    - Dst: toolsGetNumberOfCores
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10090,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10092,1
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10093,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10094,1
    - Dst: taos_options
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10098,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10108,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10109,1
    - Dst: dumpIn
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10113,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10115,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10116,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10118,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10124,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10127,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10130,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10136,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10137,1
    - Dst: dumpOut
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10142,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10146,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10148,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10150,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10152,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10154,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10159,1
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10160,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10161,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10165,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10169,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10170,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10173,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10177
      start: 10076
    functionDepth: 12
    functionLinenumber: 10076
    functionLinenumberEnd: 10177
    functionName: dumpEntry
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpIn
    - localtime
    - taos_options
    - fprintf
    - dumpOut
    - okPrint
    - time
    - printf
    - errorPrint
    - fclose
    - checkParam
    - printArgs
    - free
    - toolsGetNumberOfCores
    - exit
    linkageType: ''
    returnType: int
    signature: int dumpEntry()
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10180,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10182,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10187,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10188,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10190,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10198,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10199,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10199,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10201,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10202,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10204,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10206,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10208,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10211,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10213,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10215,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10222,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10227,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10228,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10229,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10231,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10232,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10235,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10236,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10239,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10244,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10246,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10248,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10250,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10254,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10259,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10267,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10269,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10270,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10273,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10276,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10280,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10285,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10293,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10296,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10298,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10306,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10314,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10315,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10317,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10318,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10319,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10327,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10328,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10329,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10336,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10337,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10340,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10341,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10347,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10348,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10349,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10361,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10363,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 107
    argCount: 1
    argNames:
    - element
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10372
      start: 10179
    functionDepth: 1
    functionLinenumber: 10179
    functionLinenumberEnd: 10372
    functionName: parse_json_for_inspect
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - json_array_size
    - json_typeof
    - strcmp
    - json_string_value
    - json_array_get
    - json_plural
    - debugPrint
    - calloc
    - errorPrint
    - free
    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:10198,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10199,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10199,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10201,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10202,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10204,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10206,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10208,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10211,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10213,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10215,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10222,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10227,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10228,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10229,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10231,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10232,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10235,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10236,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10239,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10244,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10246,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10248,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10250,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10254,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10259,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10267,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10269,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10270,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10273,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10276,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10280,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10285,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10293,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10296,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10298,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10306,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10314,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10315,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10317,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10318,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10319,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10327,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10328,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10329,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10336,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10337,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10340,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10341,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10347,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10348,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10349,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10361,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10363,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10369
      start: 10197
    functionDepth: 1
    functionLinenumber: 10197
    functionLinenumberEnd: 10369
    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
    - json_array_get
    - json_plural
    - debugPrint
    - calloc
    - errorPrint
    - free
    - strcmp
    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:10227,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10228,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10229,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10231,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10232,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10235,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10236,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10239,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10244,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10246,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10248,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10250,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10254,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10259,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10267,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10269,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10270,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10273,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10276,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10280,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10285,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10293,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10296,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10298,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10306,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10314,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10315,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10317,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10318,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10319,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10327,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10328,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10329,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10336,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10337,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10340,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10341,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10347,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10348,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10349,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10358
      start: 10226
    functionDepth: 1
    functionLinenumber: 10226
    functionLinenumberEnd: 10358
    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
    - json_array_get
    - errorPrint
    - strcmp
    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:10267,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10269,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10270,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10273,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10276,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10280,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10285,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10293,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10296,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10304
      start: 10263
    functionDepth: 1
    functionLinenumber: 10263
    functionLinenumberEnd: 10304
    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(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:10293,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10296,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10302
      start: 10289
    functionDepth: 1
    functionLinenumber: 10289
    functionLinenumberEnd: 10302
    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(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:10314,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10315,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10317,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10318,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10319,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10327,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10328,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10329,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10336,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10337,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10340,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10341,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10347,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10348,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10349,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10355
      start: 10313
    functionDepth: 1
    functionLinenumber: 10313
    functionLinenumberEnd: 10355
    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:10327,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10328,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10334
      start: 10326
    functionDepth: 1
    functionLinenumber: 10326
    functionLinenumberEnd: 10334
    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:10347,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10348,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10352
      start: 10346
    functionDepth: 1
    functionLinenumber: 10346
    functionLinenumberEnd: 10352
    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:10379,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10380,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10381,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10382,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10383,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10393,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10394,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10395,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10400,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10402,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10407,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10409,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10410,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10412,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10413,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10414,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10415,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10418,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10420,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10421,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10423,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10427,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10429,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10430,1
    - Dst: parse_json_for_inspect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10435,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10437,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10438,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10439,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10440,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10447,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10449,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10451,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10453,1
    - Dst: avro_value_get_by_name
      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: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10471,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10473,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10474,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10476,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10477,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10480,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10484,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10486,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10489,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10492,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10494,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10495,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10497,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10498,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10501,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10503,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10505,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10508,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10511,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10513,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10514,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10516,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10517,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10520,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10522,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10524,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10527,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10531,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10533,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10534,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10536,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10537,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10540,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10542,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10544,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10547,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10550,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10552,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10554,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10556,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10557,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10560,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10562,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10565,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10570,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10571,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10574,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10576,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10577,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10579,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10580,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10583,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10584,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10586,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10587,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10591,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10593,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10594,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10597,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10599,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10606,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10608,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10611,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10615,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10617,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10622,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10624,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10632,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10634,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10637,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10641,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10643,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10644,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10647,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10649,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10655,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10657,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10660,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10664,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10666,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10671,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10673,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10677,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10679,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10683,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10689,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10694,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10695,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10698,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10699,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10700,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10702,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10703,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10704,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10706,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 231
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10709
      start: 10375
    functionDepth: 2
    functionLinenumber: 10375
    functionLinenumberEnd: 10709
    functionName: inspectAvroFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    - freeRecordSchema
    - verbosePrint
    - avro_value_get_float
    - avro_value_get_size
    - avro_writer_memory
    - avro_value_get_double
    - printf
    - strcmp
    - avro_schema_decref
    - avro_value_iface_decref
    - fprintf
    - avro_file_reader
    - avro_value_get_string
    - avro_generic_class_from_schema
    - calloc
    - avro_value_get_current_branch
    - avro_value_get_bytes
    - print_json
    - avro_writer_free
    - strlen
    - avro_file_reader_get_writer_schema
    - strcasecmp
    - parse_json_for_inspect
    - avro_file_reader_read_value
    - avro_value_get_by_name
    - errorPrint
    - json_decref
    - avro_schema_to_json
    - avro_generic_value_new
    - avro_file_reader_close
    - avro_value_get_int
    - avro_value_decref
    - avro_value_get_null
    - avro_value_get_by_index
    - avro_value_get_long
    - avro_strerror
    - load_json
    - debugPrint
    - avro_value_get_boolean
    linkageType: ''
    returnType: int
    signature: int inspectAvroFile(char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10715,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10716,1
    - Dst: inspectAvroFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10717,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10722
      start: 10711
    functionDepth: 3
    functionLinenumber: 10711
    functionLinenumberEnd: 10722
    functionName: inspectAvroFiles
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - inspectAvroFile
    - fprintf
    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:10726,1
    - Dst: parse_timestamp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10732,1
    - Dst: parse_args
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10733,1
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10737,1
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10739,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10743,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10743,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10744,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10745,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10751,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10760,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10764,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10766,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10772,1
    - Dst: setConnMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10778,1
    - Dst: inspectAvroFiles
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10784,1
    - Dst: dumpEntry
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10786,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10791,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10800,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10805
      start: 10725
    functionDepth: 13
    functionLinenumber: 10725
    functionLinenumberEnd: 10805
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - getenv
    - infoPrint
    - abort
    - parse_timestamp
    - warnPrint
    - snprintf
    - dumpEntry
    - debugPrint
    - getUniqueIDFromEpoch
    - atoi
    - argp_parse
    - setConnMode
    - errorPrint
    - inspectAvroFiles
    - free
    - taos_get_client_info
    - parse_args
    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:
    - TAOS_SYSTEM_ERROR
    - pthread_mutex_destroy
    - 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:
    - pthread_mutex_lock
    - TAOS_SYSTEM_ERROR
    - EnterCriticalSection
    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:
    - TAOS_SYSTEM_ERROR
    - LeaveCriticalSection
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: exitLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: void exitLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: lockLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void lockLog(int8_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: unlockLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 0
    functionsReached:
    - 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:
    - tools_strnatoi
    - strchr
    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:
    - strlen
    - LEGAL_ALT
    - strptime
    - toolsStrpTime
    - strcmp
    - conv_num
    - strncmp
    - isspace
    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:
    - tools_user_mktime64
    - toolsStrpTime
    - toolsParseTimezone
    - timegm
    - parseFraction
    - forwardToTimeStringEnd
    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:
    - checkTzPresent
    - tools_strnchr
    - parseTimeWithTz
    linkageType: ''
    returnType: int32_t
    signature: int32_t toolsParseTime(char* timestr, int64_t* time, int32_t len, int32_t
      timePrec, int8_t day_light)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: 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: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - timep
    - result
    argTypes:
    - time_t*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 755
    functionName: toolsLocalTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - localtime_r
    - localtime_s
    linkageType: ''
    returnType: struct tm
    signature: struct tm * toolsLocalTime(const time_t *timep, struct tm *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 757
    functionName: toolsGetTimestampSec
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 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:764,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 776
    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:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 783
    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:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 789
    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:801,1
    - Dst: SetWaitableTimer
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:802,1
    - Dst: WaitForSingleObject
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:803,1
    - Dst: CloseHandle
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - usec
    argTypes:
    - __int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 805
    functionName: usleep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 22
    functionsReached:
    - CloseHandle
    - WaitForSingleObject
    - SetWaitableTimer
    - CreateWaitableTimer
    linkageType: ''
    returnType: void
    signature: void usleep(__int64 usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsClockGetTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 813
    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:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mseconds
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: toolsMsleep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    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:823,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:825,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:832,1
    - Dst: localtime_s
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:842,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:844,1
    - Dst: FileTimeToSystemTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:852,1
    - Dst: localtime_r
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:863,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:865,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - timep
    - result
    - buf
    argTypes:
    - time_t*
    - struct tm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 869
    functionName: tLocalTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - localtime
    - localtime_r
    - sprintf
    - localtime_s
    - FileTimeToSystemTime
    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:897,1
    - Dst: strftime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:900,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:903,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:905,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:907,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - val
    - precision
    argTypes:
    - char*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 911
    functionName: toolsFormatTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - strftime
    - sprintf
    - 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: 12
    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: 1
    functionLinenumber: 82
    functionLinenumberEnd: 117
    functionName: setConsoleEcho
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: 2
    functionsReached:
    - GetConsoleMode
    - tcgetattr
    - tcsetattr
    - perror
    - SetConsoleMode
    - GetStdHandle
    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:
    - strcpy
    - strlen
    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:
    - assert
    - rand
    - realloc
    - fputs
    - strtod
    - fread
    - srand
    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:
    - memset
    - FULL_DISORDER
    - calloc
    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:
    - RD
    - SWAP
    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:
    - strcpy
    - benchArrayGet
    - strcat
    - calloc
    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:
    - RD
    - sprintf
    - snprintf
    - genBatColsNames
    - 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:
    - snprintf
    - RD
    - debugPrint
    - taosRandom
    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:
    - RD
    - sprintf
    - GET_IDX
    - benchArrayGet
    - snprintf
    - dataGenByField
    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
    - GET_IDX
    - dataGenByCalcTs
    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:
    - NEED_TAKEOUT_ROW_TOBUF
    - takeRowOutToBuf
    - debugPrint
    - createColsData
    - FORCE_TAKEOUT
    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:
    - infoPrint
    - RD
    - sprintf
    - debugPrint
    - createColsData
    - strstr
    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:
    - needChangeTs
    - infoPrint
    - FULL_DISORDER
    - appendRowRuleOld
    - RD
    - sprintf
    - debugPrint
    - appendRowRuleMix
    - fillBatchWithBuf
    - strstr
    - FORCE_TAKEOUT
    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:
    - FULL_DISORDER
    - RD
    - sprintf
    - ABS_DIFF
    - snprintf
    - queryCnt
    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:
    - errorPrint
    - infoPrint
    - queryCnt
    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:
    - infoPrint
    - queryTS
    - sprintf
    - queryCnt
    - 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:
    - toolsGetTimestampUs
    - mixRatioInit
    - sprintf
    - FAILED_BREAK
    - genInsertPreSql
    - tmfree
    - toolsMsleep
    - appendEndCheckSql
    - benchCalloc
    - FULL_DISORDER
    - succPrint
    - needExecDel
    - checkCorrect
    - queryCnt
    - toolsGetTimestampMs
    - checkSqlsResult
    - execInsert
    - genBatchSql
    - benchArrayPush
    - genDelPreSql
    - memset
    - mixRatioExit
    - errorPrint
    - generateTagData
    - perfPrint
    - infoPrint
    - executeSql
    - debugPrint
    - fclose
    - openTagCsv
    - genBatchDelSql
    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_errno
    - taos_query
    - printErrCmdCodeStr
    - taos_free_result
    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_errno
    - taos_fetch_fields
    - taos_fetch_row
    - taos_query
    - taos_free_result
    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_errno
    - taos_fetch_fields
    - taos_fetch_row
    - taos_query
    - taos_free_result
    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:
    - createSockFd
    - destroySockFd
    - postProcessSql
    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:
    - infoPrint
    - taos_fetch_fields_e
    - strlen
    - taos_fetch_lengths
    - convertStringToDatatype
    - taos_errno
    - taos_fetch_row
    - strncasecmp
    - taos_query
    - closeBenchConn
    - taos_free_result
    - searchBArray
    - taos_num_fields
    - errorPrint
    - initBenchConn
    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:
    - queryDbExecCall
    - createSockFd
    - infoPrint
    - queryDbExecRest
    - closeBenchConn
    - convertServAddr
    - errorPrint
    - toolsMsleep
    - isRest
    - initBenchConn
    - destroySockFd
    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:
    - benchCalloc
    - getCompressStr
    - convertDatatypeToString
    - queryDbExec
    - benchArrayGet
    - snprintf
    - tmfree
    - debugPrint
    - errorPrint
    - free
    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:
    - benchArrayInit
    - benchArrayPush
    - benchCalloc
    - printErrCmdCodeStr
    - taos_errno
    - benchArrayGet
    - taos_fetch_row
    - snprintf
    - taos_query
    - debugPrint
    - taos_free_result
    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:
    - infoPrint
    - benchArrayGet
    - snprintf
    - 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:
    - infoPrint
    - createSockFd
    - geneDbCreateCmd
    - snprintf
    - postProcessSql
    - errorPrint
    - toolsMsleep
    - destroySockFd
    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_errno
    - taos_fetch_row
    - taos_query
    - closeBenchConn
    - debugPrint
    - taos_free_result
    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:
    - queryDbExecCall
    - infoPrint
    - getVgroupsNative
    - memset
    - benchArrayGet
    - geneDbCreateCmd
    - toolsMsleep
    - warnPrint
    - snprintf
    - closeBenchConn
    - errorPrint
    - getRemainVnodes
    - initBenchConn
    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:
    - createDatabaseTaosc
    - createDatabaseRest
    - isRest
    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:
    - memset
    - strchr
    - snprintf
    - debugPrint
    - errorPrint
    - strncpy
    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: 3
    functionLinenumber: 863
    functionLinenumberEnd: 1051
    functionName: createTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchCalloc
    - queryDbExecCall
    - getBatchOfTblCreating
    - prctl
    - strdup
    - snprintf
    - generateChildTblName
    - queryDbExecRest
    - debugPrint
    - tmfree
    - toolsGetTimestampMs
    - fclose
    - openTagCsv
    - toolsMsleep
    - getIntervalOfTblCreating
    - generateTagData
    linkageType: ''
    returnType: void
    signature: void *createTable(void *sarg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1065,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1066,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1073,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1091,1
    - Dst: FREE_PIDS_INFOS_RETURN_MINUS_1
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1093,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1097,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1107,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1109,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1114,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1117,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1125,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1132,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1141,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1142,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1144
    functionName: startMultiThreadCreateChildTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchCalloc
    - createSockFd
    - tmfree
    - debugPrint
    - closeBenchConn
    - FREE_PIDS_INFOS_RETURN_MINUS_1
    - pthread_create
    - toolsMsleep
    - pthread_join
    - initBenchConn
    - free
    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:1148,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1151,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1155,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1159,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1163,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1175,1
    - Dst: startMultiThreadCreateChildTable
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1178,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1186,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1190,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1146
    functionDepth: 3
    functionLinenumber: 1146
    functionLinenumberEnd: 1203
    functionName: createChildTables
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - startMultiThreadCreateChildTable
    - succPrint
    - benchArrayGet
    - infoPrintToFile
    - debugPrint
    - toolsGetTimestampMs
    linkageType: ''
    returnType: int
    signature: int createChildTables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1210,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1212,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1214,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1216,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1220,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1222,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - childTbl
    - colsSize
    argTypes:
    - SChildTable*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1225
    functionName: freeChildTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - tmfree
    - 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:1228,1
    - Dst: tmfclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1230,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1234,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1237,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1239,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1243,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1247,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1248,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1250,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1252,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1254,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1255,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1257,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1258,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1260,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1262,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1265,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1268,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1269,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1271,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1273,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1282,1
    - Dst: freeChildTable
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1283,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1288,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1289,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1291,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1297,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1300,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1306,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1307,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1310,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1314,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:1318,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1319,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1320
    functionName: postFreeResource
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchArrayGet
    - benchArrayDestroy
    - tmfclose
    - freeChildTable
    - tmfree
    - tools_cJSON_Delete
    - free
    linkageType: ''
    returnType: void
    signature: void postFreeResource()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1339,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1340,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1342,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1344,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1345,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1353,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1354,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1364,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1366,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1367,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1385,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1386,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1387,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1388,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1392,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1397,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1399,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1401,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1408,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1410,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1410,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1413,1
    - Dst: taos_schemaless_insert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1417,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1427,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1430,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1431,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1433,1
    - Dst: taos_schemaless_insert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1434,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1444,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1451,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1455,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1458,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1460,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1465,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1473,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1477,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1481,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1487,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1500,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 101
    argCount: 3
    argNames:
    - pThreadInfo
    - k
    - delay3
    argTypes:
    - threadInfo*
    - uint32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1322
    functionDepth: 3
    functionLinenumber: 1322
    functionLinenumberEnd: 1511
    functionName: execInsert
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 1
    functionsReached:
    - queryDbExecCall
    - infoPrint
    - toolsGetTimestampUs
    - taos_schemaless_insert
    - strlen
    - taos_stmt_add_batch
    - taos_stmt_errstr
    - taos_errno
    - taos_stmt2_exec
    - snprintf
    - taos_free_result
    - debugPrint
    - taos_stmt_execute
    - postProcessSql
    - errorPrint
    - toolsMsleep
    - taos_errstr
    - taos_stmt2_error
    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:1521,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1522,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1530,1
    - Dst: queryDbExecRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1534,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1542,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1545,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1548,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1549,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1556,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: 1559
      start: 1513
    functionDepth: 2
    functionLinenumber: 1513
    functionLinenumberEnd: 1559
    functionName: smartContinueIfFail
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - queryDbExecCall
    - benchCalloc
    - infoPrint
    - snprintf
    - queryDbExecRest
    - debugPrint
    - tmfree
    - toolsMsleep
    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:1564,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pThreadInfo
    - mode
    argTypes:
    - threadInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1579
    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:1585,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - stbInfo
    - disorderRange
    argTypes:
    - SSuperTable*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1599
    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:1615,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1617,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1618,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1621,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1624,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1628,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1629,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pThreadInfo
    argTypes:
    - threadInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1601
    functionDepth: 3
    functionLinenumber: 1601
    functionLinenumberEnd: 1633
    functionName: loadChildTableInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchCalloc
    - taos_load_table_info
    - toolsGetTimestampUs
    - sprintf
    - tmfree
    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:1649,1
    - Dst: initStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1654,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1656,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1663,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1671,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1673,1
    - Dst: initStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1677,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1679,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1679,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1683,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1685,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - pThreadInfo
    argTypes:
    - threadInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1636
    functionDepth: 1
    functionLinenumber: 1636
    functionLinenumberEnd: 1691
    functionName: reCreateConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - succPrint
    - taos_stmt2_close
    - closeBenchConn
    - taos_select_db
    - errorPrint
    - taos_errstr
    - initBenchConn
    - initStmt2
    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:1696,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pThreadInfo
    - w
    argTypes:
    - threadInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1708
    functionName: reConnectStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - prepareStmt2
    - reCreateConn
    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:1713,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1714,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1716,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1716,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1719,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1720,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1723,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1724,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1725,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: 1727
      start: 1710
    functionDepth: 4
    functionLinenumber: 1710
    functionLinenumberEnd: 1727
    functionName: submitStmt2Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - toolsGetTimestampUs
    - taos_stmt2_bind_param
    - debugPrint
    - errorPrint
    - execInsert
    - taos_stmt2_error
    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:1749,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1762,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1764,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1769,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1771,1
    - Dst: reConnectStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1772,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1775,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: 1786
      start: 1729
    functionDepth: 5
    functionLinenumber: 1729
    functionLinenumberEnd: 1786
    functionName: submitStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - reConnectStmt2
    - toolsMsleep
    - snprintf
    - errorPrint
    - submitStmt2Impl
    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:1792,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1801,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1803,1
    - Dst: loadChildTableInfo
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1809,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1815,1
    - Dst: openTagCsv
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1822,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1823,1
    - Dst: createBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1839,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1845,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1846,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1853,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1891,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1898,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1901,1
    - Dst: ds_add_str
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1905,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1910,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1918,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1926,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1931,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1941,1
    - Dst: getDisorderTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1958,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1963,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1966,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1973,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1974,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1976,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1982,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1985,1
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1989,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1991,1
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1994,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2006,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2009,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2012,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2021,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2024,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2030,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2037,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2038,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2044,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2045,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2047,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2050,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2054,1
    - Dst: bindParamBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2057,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2088,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2094,1
    - Dst: bindVTags
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2100,1
    - Dst: bindVColsInterlace
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2105,1
    - Dst: getDisorderTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2128,1
    - Dst: tools_cJSON_Duplicate
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2131,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2132,1
    - Dst: generateSmlJsonCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2137,1
    - Dst: tools_cJSON_Duplicate
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2142,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2143,1
    - Dst: generateSmlTaosJsonCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2148,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2153,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2163,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2175,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2182,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2205,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2207,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2209,1
    - Dst: showBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2225,1
    - Dst: submitStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2227,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2233,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2234,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2238,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2241,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2258,1
    - Dst: free_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2260,1
    - Dst: new_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2261,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2264,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2269,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2272,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2275,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2277,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2284,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2286,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2299,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2302,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2305,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2307,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2308,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2317,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2319,1
    - Dst: cleanupAndPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2330,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2332,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2334,1
    - Dst: freeBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2335,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 333
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 1788
    functionDepth: 6
    functionLinenumber: 1788
    functionLinenumberEnd: 2337
    functionName: syncWriteInterlace
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - needChangeTs
    - toolsGetTimestampUs
    - taos_stmt_errstr
    - new_ds
    - snprintf
    - prepareStmt2
    - taos_stmt_set_tbname
    - tmfree
    - toolsMsleep
    - benchCalloc
    - toolsGetTimestamp
    - generateSmlTaosJsonCols
    - free_ds
    - toolsGetTimestampMs
    - bindVTags
    - generateSmlJsonCols
    - bindParamBatch
    - execInsert
    - loadChildTableInfo
    - ds_add_strs
    - benchArrayPush
    - createBindV
    - memset
    - tools_cJSON_Delete
    - errorPrint
    - tools_cJSON_PrintUnformatted
    - tools_cJSON_GetArrayItem
    - generateTagData
    - getDisorderTs
    - freeBindV
    - perfPrint
    - infoPrint
    - ds_len
    - bindVColsInterlace
    - cleanupAndPrint
    - showBindV
    - submitStmt2
    - ds_add_str
    - debugPrint
    - fclose
    - tools_cJSON_Duplicate
    - tools_cJSON_CreateArray
    - openTagCsv
    - prepareStmt
    linkageType: ''
    returnType: void
    signature: void *syncWriteInterlace(void *sarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2346,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2349,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2352,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2353,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2355,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2358,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2361,1
    - Dst: bindParamBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2368,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: 2376
      start: 2339
    functionDepth: 3
    functionLinenumber: 2339
    functionLinenumberEnd: 2376
    functionName: prepareProgressDataStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - toolsGetTimestampUs
    - taos_stmt_errstr
    - snprintf
    - taos_stmt_set_tbname
    - errorPrint
    - bindParamBatch
    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:2382,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - timestamp
    - stbInfo
    argTypes:
    - int64_t*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2378
    functionDepth: 1
    functionLinenumber: 2378
    functionLinenumberEnd: 2395
    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:2410,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2416,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2419,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2422,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2429,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2432,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2438,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2441,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2447,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2450,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2463,1
    - Dst: makeTimestampDisorder
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2468,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2475,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2479,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2481,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: 2484
      start: 2397
    functionDepth: 2
    functionLinenumber: 2397
    functionLinenumberEnd: 2484
    functionName: prepareProgressDataSmlJsonText
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - needChangeTs
    - strncat
    - snprintf
    - debugPrint
    - errorPrint
    - makeTimestampDisorder
    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:2498,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2499,1
    - Dst: debugPrintJsonNoTime
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2504,1
    - Dst: generateSmlTaosJsonCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2505,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2514,1
    - Dst: makeTimestampDisorder
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2519,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2527,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2530,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2532,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: 2536
      start: 2486
    functionDepth: 2
    functionLinenumber: 2486
    functionLinenumberEnd: 2536
    functionName: prepareProgressDataSmlJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - needChangeTs
    - debugPrintJsonNoTime
    - generateSmlTaosJsonCols
    - tmfree
    - debugPrint
    - tools_cJSON_Duplicate
    - makeTimestampDisorder
    - tools_cJSON_PrintUnformatted
    - tools_cJSON_GetArrayItem
    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:2551,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2559,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2574,1
    - Dst: makeTimestampDisorder
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2579,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: 2587
      start: 2538
    functionDepth: 2
    functionLinenumber: 2538
    functionLinenumberEnd: 2587
    functionName: prepareProgressDataSmlLineOrTelnet
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - snprintf
    - makeTimestampDisorder
    - 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:2608,1
    - Dst: prepareProgressDataSmlJsonText
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2615,1
    - Dst: prepareProgressDataSmlJson
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2621,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2627,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: 2633
      start: 2589
    functionDepth: 3
    functionLinenumber: 2589
    functionLinenumberEnd: 2633
    functionName: prepareProgressDataSml
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - prepareProgressDataSmlLineOrTelnet
    - prepareProgressDataSmlJsonText
    - 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:2648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - stbInfo
    - pkCur
    - pkCnt
    argTypes:
    - SSuperTable*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2636
    functionDepth: 1
    functionLinenumber: 2636
    functionLinenumberEnd: 2666
    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:2686,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2696,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2705,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2717,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2729,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2739,1
    - Dst: getDisorderTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2744,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2745,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2757,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: 2772
      start: 2668
    functionDepth: 2
    functionLinenumber: 2668
    functionLinenumberEnd: 2772
    functionName: prepareProgressDataSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - snprintf
    - debugPrint
    - needChangeTs
    - getDisorderTs
    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:2779,1
    - Dst: insertDataMix
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2782,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2787,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2793,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2795,1
    - Dst: openTagCsv
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2805,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2806,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2812,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2818,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2838,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2858,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2867,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2873,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2890,1
    - Dst: prepareProgressDataSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2900,1
    - Dst: prepareProgressDataStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2909,1
    - Dst: stmt2BindAndSubmit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2915,1
    - Dst: prepareProgressDataSml
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2923,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2942,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2943,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2946,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2952,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2957,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2964,1
    - Dst: smartContinueIfFail
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2970,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2985,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2991,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2998,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3002,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3004,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3006,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3012,1
    - Dst: executeSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3013,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3015,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3017,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3030,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:3038,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3042,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3046,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3049,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3052,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3054,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3066,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3069,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3072,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3074,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3075,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3084,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3086,1
    - Dst: cleanupAndPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3100,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3102,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3104,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 228
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3106
      start: 2774
    functionDepth: 6
    functionLinenumber: 2774
    functionLinenumberEnd: 3106
    functionName: syncWriteProgressive
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - toolsGetTimestampUs
    - prepareProgressDataStmt
    - sprintf
    - snprintf
    - prepareProgressDataSql
    - prepareStmt2
    - tmfree
    - smartContinueIfFail
    - toolsMsleep
    - benchCalloc
    - insertDataMix
    - toolsGetTimestampMs
    - execInsert
    - loadChildTableInfo
    - prepareProgressDataSml
    - benchArrayPush
    - memset
    - tools_cJSON_Delete
    - generateTagData
    - stmt2BindAndSubmit
    - infoPrint
    - perfPrint
    - executeSql
    - cleanupAndPrint
    - warnPrint
    - debugPrint
    - fclose
    - tools_cJSON_CreateArray
    - openTagCsv
    - prepareStmt
    linkageType: ''
    returnType: void
    signature: void *syncWriteProgressive(void *sarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3113,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3119,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3119,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - tsStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3108
    functionDepth: 2
    functionLinenumber: 3108
    functionLinenumberEnd: 3125
    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:3147,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3158,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3160,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3165,1
    - Dst: strToTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3168,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3169,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3173,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3180,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3191,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3196,1
    - Dst: strtoul
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3199,1
    - Dst: atof
      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: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3209,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3213,1
    - Dst: strtoll
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3216,1
    - Dst: strtoull
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3220,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3223,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3230,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3231,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3236,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3241,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3244,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3246,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3254,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3255,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3256,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3258,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3259,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3264,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3270,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3271,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3273,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3282,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: 3286
      start: 3127
    functionDepth: 3
    functionLinenumber: 3127
    functionLinenumberEnd: 3286
    functionName: initStmtDataValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - strlen
    - convertDatatypeToString
    - min
    - benchArrayGet
    - strcmp
    - atof
    - strtoll
    - strToTimestamp
    - exit
    - debugPrint
    - atoi
    - calloc
    - strtoull
    - errorPrint
    - strtoul
    - strncpy
    - free
    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:3294,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3295,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3296,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3302,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3303,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3304,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3310,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3311,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3312,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3318,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3319,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3320,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3325,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3326,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3327,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3332,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3333,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3334,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3339,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3340,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3341,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3349,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3350,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3351,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3356,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3357,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3358,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3364,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3365,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3366,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3369,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3370,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3371,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3377,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3378,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 78
    argCount: 3
    argNames:
    - dataType
    - data
    - length
    argTypes:
    - char
    - void**
    - uint32_t
    assertStmts:
    - condition: (tmpP)
      pos:
        line_end: 3302
        line_start: 3302
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3294
        line_start: 3294
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3318
        line_start: 3318
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3356
        line_start: 3356
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3369
        line_start: 3369
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3325
        line_start: 3325
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3339
        line_start: 3339
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3310
        line_start: 3310
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3332
        line_start: 3332
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3349
        line_start: 3349
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    constantsTouched: []
    func_position:
      end: 3381
      start: 3288
    functionDepth: 1
    functionLinenumber: 3288
    functionLinenumberEnd: 3381
    functionName: initStmtData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - assert
    - convertDatatypeToString
    - tmfree
    - calloc
    - errorPrint
    - exit
    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:3388,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3389,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3393,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3394,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3395,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3396,1
    - Dst: initStmtData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3398,1
    - Dst: initStmtDataValue
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3401,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: 3402
      start: 3383
    functionDepth: 4
    functionLinenumber: 3383
    functionLinenumberEnd: 3402
    functionName: parseBufferToStmtBatchChildTbl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - initStmtData
    - benchArrayGet
    - tmfree
    - initStmtDataValue
    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:3408,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3411,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3412,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3413,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3414,1
    - Dst: initStmtData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3416,1
    - Dst: initStmtDataValue
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - stbInfo
    - bind_ts_array
    argTypes:
    - SSuperTable*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3404
    functionDepth: 4
    functionLinenumber: 3404
    functionLinenumberEnd: 3420
    functionName: parseBufferToStmtBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - initStmtData
    - benchArrayGet
    - tmfree
    - initStmtDataValue
    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:3429,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3433,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - stbInfo
    argTypes:
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3439
      start: 3422
    functionDepth: 1
    functionLinenumber: 3422
    functionLinenumberEnd: 3439
    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:3445,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3453
      start: 3441
    functionDepth: 1
    functionLinenumber: 3441
    functionLinenumberEnd: 3453
    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:3457,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3463,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3469,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3475,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3476,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3477,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3480,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3481,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3485,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3486,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3487,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3488,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3491,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3495,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3498
      start: 3455
    functionDepth: 1
    functionLinenumber: 3455
    functionLinenumberEnd: 3498
    functionName: fillChildTblNameByLimitOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - printErrCmdCodeStr
    - taos_fetch_lengths
    - taos_errno
    - strncpy
    - taos_fetch_row
    - snprintf
    - taos_query
    - debugPrint
    - closeBenchConn
    - taos_free_result
    - initBenchConn
    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:3502,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3511,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:3520,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3530,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - stbInfo
    argTypes:
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3533
      start: 3500
    functionDepth: 0
    functionLinenumber: 3500
    functionLinenumberEnd: 3533
    functionName: preProcessArgument
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - infoPrint
    - exit
    linkageType: ''
    returnType: void
    signature: void preProcessArgument(SSuperTable *stbInfo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3551,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3562,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3572,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3574,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: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3587,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3597,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3599,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3600,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3601,1
    - Dst: tools_cJSON_AddNumberToObject
      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: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:3609,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_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3614,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3616,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3618,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3619,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3621,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3624,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3626,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: 3630
      start: 3535
    functionDepth: 1
    functionLinenumber: 3535
    functionLinenumberEnd: 3630
    functionName: printTotalDelay
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_AddNumberToObject
    - tools_cJSON_AddStringToObject
    - succPrint
    - sprintf
    - tools_cJSON_CreateObject
    - benchArrayGet
    - fprintf
    - tools_cJSON_Delete
    - fclose
    - fopen
    - errorPrint
    - tools_cJSON_PrintUnformatted
    - free
    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:3635,1
    - Dst: fillChildTblNameByFromTo
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3637,1
    - Dst: fillChildTblNameByCount
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3642
      start: 3632
    functionDepth: 2
    functionLinenumber: 3632
    functionLinenumberEnd: 3642
    functionName: fillChildTblNameImp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - fillChildTblNameByLimitOffset
    - fillChildTblNameByCount
    - fillChildTblNameByFromTo
    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:3646,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3650,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3656,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3658,1
    - Dst: fillChildTblNameImp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3662,1
    - Dst: fillChildTblNameByCount
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3668
      start: 3644
    functionDepth: 3
    functionLinenumber: 3644
    functionLinenumberEnd: 3668
    functionName: fillChildTblName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - fillChildTblNameImp
    - strdup
    - snprintf
    - fillChildTblNameByCount
    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:3672,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3677,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3679,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3680,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3681,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3683,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3684,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3688,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3690,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3691,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3696,1
    - Dst: toolsFormatTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3699,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3700,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3702,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3706
      start: 3671
    functionDepth: 2
    functionLinenumber: 3671
    functionLinenumberEnd: 3706
    functionName: fillSTableLastTs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - printErrCmdCodeStr
    - taos_errno
    - memset
    - taos_fetch_row
    - snprintf
    - taos_query
    - closeBenchConn
    - taos_free_result
    - toolsFormatTimestamp
    - initBenchConn
    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:3710,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3715,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3717,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3718,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3719,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3721,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3722,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3726,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3728,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3729,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3734,1
    - Dst: toolsFormatTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3737,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3738,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3740,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3709
    functionDepth: 2
    functionLinenumber: 3709
    functionLinenumberEnd: 3744
    functionName: calcExprFromServer
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - printErrCmdCodeStr
    - taos_errno
    - memset
    - taos_fetch_row
    - snprintf
    - taos_query
    - closeBenchConn
    - taos_free_result
    - toolsFormatTimestamp
    - initBenchConn
    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: 3758
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3758
    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:3766,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3770,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3776,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3777,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3784,1
    - Dst: calcGroupIndex
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3790,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3794,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3795,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3761
    functionDepth: 1
    functionLinenumber: 3761
    functionLinenumberEnd: 3802
    functionName: assignTableToThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchCalloc
    - calcGroupIndex
    - benchArrayGet
    - debugPrint
    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:3807,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3808,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3812,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3815,1
    - Dst: taos_stmt_init_with_options
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - taos
    - single
    argTypes:
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3817
      start: 3805
    functionDepth: 0
    functionLinenumber: 3805
    functionLinenumberEnd: 3817
    functionName: initStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - memset
    - infoPrint
    - taos_stmt_init
    - taos_stmt_init_with_options
    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:3822,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3826,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3828,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - single
    argTypes:
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3820
    functionDepth: 1
    functionLinenumber: 3820
    functionLinenumberEnd: 3832
    functionName: initStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 1
    functionsReached:
    - taos_stmt2_init
    - errorPrint
    - memset
    - 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:3836,1
    - Dst: parseBufferToStmtBatchChildTbl
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bind_ts_array
    - stbInfo
    argTypes:
    - uint64_t*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3844
      start: 3835
    functionDepth: 5
    functionLinenumber: 3835
    functionLinenumberEnd: 3844
    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:3854,1
    - Dst: new_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3859,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3861,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3863,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3874,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3883,1
    - Dst: initStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3884,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3886,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3886,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3893,1
    - Dst: initStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3894,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3896,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3896,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3903,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3904,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3911,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3913,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3915,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3917,1
    - Dst: copyBArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3920,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3922,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3923,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3930,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3940,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3942,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3946,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3947,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3954,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3958,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3960,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3964,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3972,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3975,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3977,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3980,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3981,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3982,1
    - Dst: generateSmlJsonTags
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3985,1
    - Dst: generateSmlTaosJsonTags
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3991,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3996,1
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3998,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3999,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4000,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4001,1
    - Dst: generateSmlJsonValues
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4003,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4011,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4013,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4017,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4018,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4021,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4022,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4026,1
    - Dst: new_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4030,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4032,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4034,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4035,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 169
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4047
      start: 3846
    functionDepth: 2
    functionLinenumber: 3846
    functionLinenumberEnd: 4047
    functionName: genInsertTheadInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - queryDbExecCall
    - new_ds
    - snprintf
    - tmfree
    - accumulateRowLen
    - initStmt2
    - benchCalloc
    - createSockFd
    - benchArrayGet
    - generateSmlJsonTags
    - taos_select_db
    - initStmt
    - initBenchConn
    - generateRandData
    - benchArrayInit
    - generateSmlTaosJsonTags
    - memset
    - taos_stmt_close
    - taos_stmt2_close
    - errorPrint
    - generateSmlJsonValues
    - taos_errstr
    - debugPrint
    - tools_cJSON_CreateArray
    - copyBArray
    linkageType: ''
    returnType: void
    signature: void *genInsertTheadInfo(void* arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4055,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4059,1
    - Dst: initTsArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4060,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4075,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4076,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4081,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4100,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4106,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4107,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4111,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4114,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: 4119
      start: 4051
    functionDepth: 6
    functionLinenumber: 4051
    functionLinenumberEnd: 4119
    functionName: initInsertThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchCalloc
    - initTsArray
    - memcpy
    - benchArrayGet
    - tmfree
    - pthread_join
    - pthread_create
    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:4125,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4128,1
    - Dst: pthread_tryjoin_np
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4140,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4142,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4145,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4154,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4156,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4162,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4173,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4176,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4180,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: 4183
      start: 4124
    functionDepth: 2
    functionLinenumber: 4124
    functionLinenumberEnd: 4183
    functionName: runInsertLimitThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchCalloc
    - pthread_tryjoin_np
    - tmfree
    - debugPrint
    - pthread_create
    - 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:4188,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4194,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4196,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4203,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4204,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: 4208
      start: 4187
    functionDepth: 0
    functionLinenumber: 4187
    functionLinenumberEnd: 4208
    functionName: runInsertThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - pthread_create
    - infoPrint
    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:4214,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4216,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4228,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4237,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4238,1
    - Dst: free_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4240,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4242,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4248,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4249,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4255,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:4260,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4264,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4266,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4269,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4273,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4280,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4282,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4284,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4286,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4294,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4300,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4304,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4305,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4306,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4313,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4314,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4316,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4318,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4322,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4329,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4331,1
    - Dst: free_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4338,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4340,1
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4354,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4356,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4361,1
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4367,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4370,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4372,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4373,1
    - Dst: printTotalDelay
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4376,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4378,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: 4383
      start: 4212
    functionDepth: 2
    functionLinenumber: 4212
    functionLinenumberEnd: 4383
    functionName: exitInsertThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayInit
    - qsort
    - benchArrayAddBatch
    - benchArrayGet
    - taos_stmt_close
    - benchArrayDestroy
    - taos_stmt2_close
    - printTotalDelay
    - tmfree
    - tools_cJSON_Delete
    - closeBenchConn
    - free
    - toolsMsleep
    - free_ds
    - destroySockFd
    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:4388,1
    - Dst: preProcessArgument
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4393,1
    - Dst: obtainTableCount
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4396,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4398,1
    - Dst: assignTableToThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4409,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4411,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4416,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4429,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4430,1
    - Dst: initInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4433,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4435,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4436,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4437,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4441,1
    - Dst: prompt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4442,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4446,1
    - Dst: runInsertLimitThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4450,1
    - Dst: runInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4452,1
    - Dst: runInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4456,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4459,1
    - Dst: exitInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4467,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4469
      start: 4385
    functionDepth: 7
    functionLinenumber: 4385
    functionLinenumberEnd: 4469
    functionName: startMultiThreadInsertData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - assignTableToThread
    - benchCalloc
    - prompt
    - toolsGetTimestampUs
    - runInsertLimitThread
    - runInsertThread
    - obtainTableCount
    - tmfree
    - errorPrint
    - initInsertThread
    - exitInsertThread
    - preProcessArgument
    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:4474,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4476,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4477,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4479,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4482,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - dbName
    - stbName
    - taos
    argTypes:
    - char*
    - char*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4490
      start: 4471
    functionDepth: 1
    functionLinenumber: 4471
    functionLinenumberEnd: 4490
    functionName: getStbInsertedRows
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - printErrCmdCodeStr
    - taos_errno
    - taos_fetch_row
    - snprintf
    - taos_query
    - taos_free_result
    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:4494,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4500,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4503,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - tsma
    - conn
    - stbName
    argTypes:
    - TSMA*
    - SBenchConn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4507
      start: 4492
    functionDepth: 1
    functionLinenumber: 4492
    functionLinenumberEnd: 4507
    functionName: create_tsma
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - snprintf
    - queryDbExecCall
    - infoPrint
    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:4512,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4517,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4518,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4519,1
    - Dst: getStbInsertedRows
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4523,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4526,1
    - Dst: create_tsma
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4528,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4534,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4536,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4539
      start: 4509
    functionDepth: 2
    functionLinenumber: 4509
    functionLinenumberEnd: 4539
    functionName: create_tsmas
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - getStbInsertedRows
    - create_tsma
    - benchArrayGet
    - benchArrayDestroy
    - closeBenchConn
    - taos_select_db
    - errorPrint
    - toolsMsleep
    - initBenchConn
    linkageType: ''
    returnType: void
    signature: void * create_tsmas(void* args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4543,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4545,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4554
      start: 4541
    functionDepth: 1
    functionLinenumber: 4541
    functionLinenumberEnd: 4554
    functionName: changeGlobalIface
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchArrayGet
    linkageType: ''
    returnType: void
    signature: void changeGlobalIface()
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: prompt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4557,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4559,1
    - Dst: changeGlobalIface
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4561,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4564,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4565,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4574,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4578,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4579,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4580,1
    - Dst: createDatabase
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4588,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4589,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4593,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4596,1
    - Dst: getVgroupsNative
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4598,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4600,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4601,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4604,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4605,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4612,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4615,1
    - Dst: getSuperTableFromServer
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4619,1
    - Dst: createSuperTable
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4625,1
    - Dst: fillSTableLastTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4632,1
    - Dst: calcExprFromServer
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4637,1
    - Dst: fillChildTblName
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4641,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4642,1
    - Dst: prepareSampleData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4644,1
    - Dst: prepareTagsStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4650,1
    - Dst: queryDbExec
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4657,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4668,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4673,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4679,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4684,1
    - Dst: createChildTables
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4692,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4696,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4699,1
    - Dst: prompt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4703,1
    - Dst: startMultiThreadInsertData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4704,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4711
      start: 4556
    functionDepth: 8
    functionLinenumber: 4556
    functionLinenumberEnd: 4711
    functionName: insertTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - createSuperTable
    - pthread_create
    - createDatabase
    - getSuperTableFromServer
    - benchCalloc
    - createChildTables
    - prepareTagsStmt
    - succPrint
    - benchArrayGet
    - fillSTableLastTs
    - closeBenchConn
    - fillChildTblName
    - initBenchConn
    - prompt
    - prepareSampleData
    - calcExprFromServer
    - convertServAddr
    - errorPrint
    - isRest
    - infoPrint
    - getVgroupsNative
    - startMultiThreadInsertData
    - queryDbExec
    - changeGlobalIface
    - encodeAuthBase64
    linkageType: ''
    returnType: int
    signature: int insertTestProcess()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4725,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4747,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4753,1
    - Dst: bindVColsProgressive
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4757,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4759,1
    - Dst: freeBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4760,1
    - Dst: showBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4766,1
    - Dst: submitStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4770,1
    - Dst: freeBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4772,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4775,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4775,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4778,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: 4782
      start: 4717
    functionDepth: 6
    functionLinenumber: 4717
    functionLinenumberEnd: 4782
    functionName: stmt2BindAndSubmit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 1
    functionsReached:
    - bindVColsProgressive
    - infoPrint
    - createBindV
    - showBindV
    - submitStmt2
    - debugPrint
    - errorPrint
    - freeBindV
    - taos_stmt2_error
    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: 3
    functionLinenumber: 62
    functionLinenumberEnd: 143
    functionName: dataGenByField
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataMix.c
    functionUses: 1
    functionsReached:
    - tmpGeometry
    - tmpInt8Impl
    - tmpFloatImpl
    - strcpy
    - sprintf
    - tmpStr
    - tmpUint32Impl
    - decimal64ToString
    - RD
    - tmpDoubleImpl
    - strcat
    - tmpUint16Impl
    - toolsGetTimestampMs
    - tmpUint64Impl
    - tmpDecimal64Impl
    - tmpInt64Impl
    - toolsFormatTimestamp
    - tmpBool
    - tmpUint8Impl
    - tmpInt16Impl
    - decimal128ToString
    - tmpInt32Impl
    - tmpDecimal128Impl
    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:65,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: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    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:76,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: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    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: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    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:97,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: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    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:112,1
    - Dst: sin
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:116,1
    - Dst: cos
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:118,1
    - Dst: funCount
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:120,1
    - Dst: funSaw
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:122,1
    - Dst: funSquare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:124,1
    - Dst: funTriAngle
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:126,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - field
    - angle
    - loop
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 140
    functionName: funValueFloat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - taosRandom
    - funSquare
    - funCount
    - cos
    - ATOR
    - sin
    - funTriAngle
    - funSaw
    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:144,1
    - Dst: sin
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:148,1
    - Dst: cos
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:150,1
    - Dst: funCount
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:152,1
    - Dst: funSaw
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:154,1
    - Dst: funSquare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:156,1
    - Dst: funTriAngle
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:158,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - field
    - angle
    - loop
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 173
    functionName: funValueInt32
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - taosRandom
    - funSquare
    - funCount
    - cos
    - ATOR
    - sin
    - funTriAngle
    - funSaw
    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*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 215
    functionName: usc2utf8
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int usc2utf8(char *p, int unic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:226,1
    - Dst: usc2utf8
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:227,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - str
    - size
    - chinese
    argTypes:
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 243
    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:248,1
    - Dst: genQMark
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:251,1
    - Dst: genQMark
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:257,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:266,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:268,1
    - Dst: workingMode
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:273,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:275,1
    - Dst: genColNames
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:280,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:281,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:290,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:292,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:293,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:297,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: 308
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 308
    functionName: genPrepareSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchCalloc
    - genQMark
    - workingMode
    - snprintf
    - tmfree
    - genColNames
    linkageType: ''
    returnType: char
    signature: char * genPrepareSql(SSuperTable *stbInfo, char* tagData, uint64_t
      tableSeq, char *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: genPrepareSql
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:311,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:312,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:312,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:313,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:313,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:314,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:317,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:318,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: 320
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: prepareStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 2
    functionsReached:
    - strlen
    - taos_stmt_errstr
    - taos_stmt_prepare
    - genPrepareSql
    - tmfree
    - debugPrint
    - 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:323,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:324,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:324,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:325,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:325,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:326,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:329,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:330,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: 332
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: prepareStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 3
    functionsReached:
    - strlen
    - taos_stmt2_prepare
    - genPrepareSql
    - tmfree
    - debugPrint
    - errorPrint
    - taos_stmt2_error
    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:338,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:339,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:341,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:345,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - filePath
    - stbInfo
    - child
    argTypes:
    - char*
    - SSuperTable*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: getSampleFileNameByPattern
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strlen
    - 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:422,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:424,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:425,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:432,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:434,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:435,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:439,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:443,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - sampleFile
    - insertRows
    argTypes:
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 446
    functionName: getAndSetRowsFromCsvFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - strerror
    - tmfree
    - fclose
    - fgets
    - fopen
    - errorPrint
    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:451,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:511,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 2
    argNames:
    - fields
    - iface
    argTypes:
    - BArray*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 519
    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:524,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:526,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:528,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:529,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:532,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:538,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:540,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:543,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:546,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:551,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:553,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:553,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: 557
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 557
    functionName: tmpStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - tools_cJSON_GetArraySize
    - taosRandom
    - snprintf
    - rand_string
    - errorPrint
    - tools_cJSON_GetArrayItem
    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:562,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:564,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:566,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:567,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:570,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:581,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:581,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:581,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:585,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:591,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:591,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:591,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:593,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: 596
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 596
    functionName: tmpGeometry
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - tmpUint16
    - tools_cJSON_GetArraySize
    - taosRandom
    - strcat
    - snprintf
    - errorPrint
    - tools_cJSON_GetArrayItem
    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:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - field
    argTypes:
    - Field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 606
    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: 614
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 614
    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: 622
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 622
    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: 630
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 630
    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: 638
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 638
    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:644,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:646,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:649,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: 663
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 663
    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: 679
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 679
    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:686,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:688,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:691,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: 699
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 699
    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:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 709
    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:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 719
    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:724,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:730,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:732,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:736,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:739,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: 755
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 755
    functionName: tmpFloatImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - taosRandom
    - funValueFloat
    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:760,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:765,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:767,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 783
    functionName: tmpDoubleImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - taosRandom
    - funValueFloat
    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:788,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:790,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:796,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:799,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:804,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:805,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:806,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:809,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:811,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:814,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:816,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:819,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: 825
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 825
    functionName: tmpJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - snprintf
    - tmfree
    - rand_string
    - 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:832,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - range
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 864
    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:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 874
    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:883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 884
    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:891,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:891,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:891,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_SET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - result
    - min
    - max
    argTypes:
    - Decimal64*
    - Decimal64*
    - Decimal64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 895
    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:903,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:904,1
    - Dst: DECIMAL128_LOW_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: randInt64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:910,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:914,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:916,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:918,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:920,1
    - Dst: DECIMAL128_SET_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:923,1
    - Dst: DECIMAL128_SET_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:924,1
    - Dst: decimal128BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:926,1
    - Dst: decimal128BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:926,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - result
    - min
    - max
    argTypes:
    - Decimal128*
    - Decimal128*
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 929
    functionName: decimal128Rand
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - randInt64
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - DECIMAL128_SET_HIGH_WORD
    - DECIMAL128_SET_LOW_WORD
    - decimal128BCompare
    - randUint64
    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:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 932
    functionDepth: 3
    functionLinenumber: 932
    functionLinenumberEnd: 939
    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:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 942
    functionDepth: 3
    functionLinenumber: 942
    functionLinenumberEnd: 949
    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:963,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:970,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:972,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:982,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:983,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:988,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:989,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:994,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:995,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1000,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1001,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1006,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1007,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1012,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1013,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1018,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1019,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1024,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1025,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1031,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1032,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1037,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1038,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1043,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1044,1
    - Dst: tmpDecimal128Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1049,1
    - Dst: decimal128ToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1050,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1052,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1053,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1053,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1056,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1057,1
    - Dst: tmpDecimal64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1062,1
    - Dst: decimal64ToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1063,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1065,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1066,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1069,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1070,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1077,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1078,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1079,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1082,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1084,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1089,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1090,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1091,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1094,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1095,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1100,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1101,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1102,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1105,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1106,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1110,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1120,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: 1137
      start: 952
    functionDepth: 4
    functionLinenumber: 952
    functionLinenumberEnd: 1137
    functionName: generateRandDataSQL
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_LOW_WORD
    - tmpGeometry
    - tmpInt8Impl
    - tmpFloatImpl
    - snprintf
    - tmfree
    - tmpStr
    - tmpUint32Impl
    - tmpJson
    - decimal64ToString
    - benchCalloc
    - tmpDoubleImpl
    - benchArrayGet
    - tmpUint16Impl
    - tmpUint64Impl
    - tmpDecimal64Impl
    - strlen
    - tmpInt64Impl
    - errorPrint
    - DECIMAL64_GET_VALUE
    - free
    - tmpBool
    - DECIMAL128_HIGH_WORD
    - tmpUint8Impl
    - tmpInt16Impl
    - decimal128ToString
    - tmpInt32Impl
    - tmpDecimal128Impl
    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:1146,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1153,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1156,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1171,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1177,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1182,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1188,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1193,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1199,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1204,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1210,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1215,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1221,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1226,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1232,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1237,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1243,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1248,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1254,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1260,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1266,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1271,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1277,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1282,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1288,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1295,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1296,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1297,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1301,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1306,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1311,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1313,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1318,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1319,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1320,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1324,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1326,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1328,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1329,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1333,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1334,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1335,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1339,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1344,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1349,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1351,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1355,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1365,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1373,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: 1385
      start: 1139
    functionDepth: 3
    functionLinenumber: 1139
    functionLinenumberEnd: 1385
    functionName: fillStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - tmpGeometry
    - tmpInt8Impl
    - tmpFloatImpl
    - snprintf
    - tmfree
    - tmpStr
    - tmpUint32Impl
    - tmpJson
    - benchCalloc
    - tmpDoubleImpl
    - benchArrayGet
    - tmpUint16Impl
    - tmpUint64Impl
    - tmpInt64Impl
    - errorPrint
    - free
    - tmpBool
    - tmpUint8Impl
    - tmpInt16Impl
    - debugPrint
    - tmpInt32Impl
    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:1395,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1396,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1399,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1402,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1407,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1409,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1412,1
    - Dst: fillStmt
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1415,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: 1421
      start: 1387
    functionDepth: 4
    functionLinenumber: 1387
    functionLinenumberEnd: 1421
    functionName: generateRandDataStmtForChildTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - benchArrayGet
    - debugPrint
    - fillStmt
    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:1431,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1436,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1438,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1442,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1444,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1447,1
    - Dst: fillStmt
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1451,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: 1457
      start: 1423
    functionDepth: 4
    functionLinenumber: 1423
    functionLinenumberEnd: 1457
    functionName: generateRandDataStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - benchArrayGet
    - debugPrint
    - fillStmt
    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:1472,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1476,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1478,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1482,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1488,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1490,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1493,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1499,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1501,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1504,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1510,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1512,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1515,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1521,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1523,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1526,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1532,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1534,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1538,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1545,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1547,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1551,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1557,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1559,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1564,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1572,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1574,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1578,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1584,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1586,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1589,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1595,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1597,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1600,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1608,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1609,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1610,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1615,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1619,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1623,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1625,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1632,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1636,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1640,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1642,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1648,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1652,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1653,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1654,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1658,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1662,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1666,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1668,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1673,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1677,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1687,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: 1705
      start: 1459
    functionDepth: 3
    functionLinenumber: 1459
    functionLinenumberEnd: 1705
    functionName: generateRandDataSmlTelnet
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - tmpGeometry
    - tmpInt8Impl
    - tmpFloatImpl
    - snprintf
    - tmfree
    - tmpStr
    - tmpUint32Impl
    - tmpJson
    - benchCalloc
    - tmpDoubleImpl
    - benchArrayGet
    - tmpUint16Impl
    - tmpUint64Impl
    - tmpInt64Impl
    - errorPrint
    - tmpBool
    - tmpUint8Impl
    - tmpInt16Impl
    - tmpInt32Impl
    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:1717,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1721,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1722,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1727,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1728,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1733,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1734,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1739,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1740,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1745,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1746,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1751,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1752,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1757,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1758,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1763,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1764,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1770,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1771,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1776,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1777,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1782,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1783,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1790,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1791,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1792,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1795,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1797,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1801,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1811,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: 1828
      start: 1707
    functionDepth: 3
    functionLinenumber: 1707
    functionLinenumberEnd: 1828
    functionName: generateRandDataSmlJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - tmpInt8Impl
    - tmpFloatImpl
    - snprintf
    - tmfree
    - tmpStr
    - tmpUint32Impl
    - tmpJson
    - benchCalloc
    - tmpDoubleImpl
    - benchArrayGet
    - tmpUint16Impl
    - tmpUint64Impl
    - tmpInt64Impl
    - errorPrint
    - free
    - tmpBool
    - tmpUint8Impl
    - tmpInt16Impl
    - tmpInt32Impl
    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:1840,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1844,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1854,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1857,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1858,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1863,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1864,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1869,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1870,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1875,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1876,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1881,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1882,1
    - Dst: tmpInt32ImplTag
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1890,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1892,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1894,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1900,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1901,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1906,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1907,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1913,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1914,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1919,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1920,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1926,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1927,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1934,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1935,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1936,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1940,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1944,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1948,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1952,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1953,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1954,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1957,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1960,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1964,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1967,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1978,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: 1996
      start: 1830
    functionDepth: 3
    functionLinenumber: 1830
    functionLinenumberEnd: 1996
    functionName: generateRandDataSmlLine
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - tmpGeometry
    - tmpInt8Impl
    - tmpFloatImpl
    - snprintf
    - tmfree
    - tmpStr
    - tmpUint32Impl
    - tmpJson
    - tmpInt32ImplTag
    - benchCalloc
    - tmpDoubleImpl
    - benchArrayGet
    - tmpUint16Impl
    - tmpUint64Impl
    - tmpInt64Impl
    - errorPrint
    - free
    - tmpBool
    - tmpUint8Impl
    - tmpInt16Impl
    - tmpInt32Impl
    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:2006,1
    - Dst: generateRandDataSmlTelnet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2009,1
    - Dst: generateRandDataSmlJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2012,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: 2017
      start: 1998
    functionDepth: 4
    functionLinenumber: 1998
    functionLinenumberEnd: 2017
    functionName: generateRandDataSml
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - generateRandDataSmlLine
    - generateRandDataSmlJson
    - generateRandDataSmlTelnet
    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:2027,1
    - Dst: generateRandDataSQL
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2031,1
    - Dst: generateRandDataStmtForChildTable
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2036,1
    - Dst: generateRandDataStmt
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2041,1
    - Dst: generateRandDataSml
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2046,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2049,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: 2054
      start: 2019
    functionDepth: 5
    functionLinenumber: 2019
    functionLinenumberEnd: 2054
    functionName: generateRandData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - generateRandDataSml
    - generateRandDataSQL
    - generateRandDataStmtForChildTable
    - generateRandDataStmt
    - errorPrint
    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:2057,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2060,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - colsSize
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2065
    functionName: initChildCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - benchArrayInit
    - benchArrayPush
    - benchCalloc
    linkageType: ''
    returnType: BArray
    signature: BArray *initChildCols(int colsSize)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2068,1
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2069,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2080,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2089,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2092,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2096,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2102,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2103,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2107,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2116,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2121,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2124,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2131,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2133,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2139,1
    - Dst: initChildCols
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2146,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2149,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2151,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2157,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2164,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2173,1
    - Dst: getAndSetRowsFromCsvFile
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2176,1
    - Dst: generateSampleFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2181,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2184,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2189,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2191,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2192,1
    - Dst: getSampleFileNameByPattern
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2198,1
    - Dst: access
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2199,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2203,1
    - Dst: getAndSetRowsFromCsvFile
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2205,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2207,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2213,1
    - Dst: generateSampleFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2215,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2221,1
    - Dst: initChildCols
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2227,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2230,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2236,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2237,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 108
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2067
    functionDepth: 6
    functionLinenumber: 2067
    functionLinenumberEnd: 2245
    functionName: prepareSampleData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - infoPrint
    - benchCalloc
    - initChildCols
    - generateSampleFromCsv
    - benchArrayGet
    - access
    - snprintf
    - convertServAddr
    - debugPrint
    - accumulateRowLen
    - getSampleFileNameByPattern
    - getAndSetRowsFromCsvFile
    - errorPrint
    - strstr
    - isRest
    - generateRandData
    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:2251,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2253,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: 2257
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2257
    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:2269,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2286,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2289,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2297,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2298,1
    - Dst: getTSRandTail
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2317,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2325,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2345,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2346,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2348,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2349,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2352,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2355,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2356,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2357,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2358,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2362,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: 2366
      start: 2259
    functionDepth: 3
    functionLinenumber: 2259
    functionLinenumberEnd: 2366
    functionName: bindParamBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 2
    functionsReached:
    - needChangeTs
    - toolsGetTimestampUs
    - taos_stmt_add_batch
    - convertDatatypeToString
    - memset
    - benchArrayGet
    - taos_stmt_errstr
    - taos_stmt_bind_param_batch
    - debugPrint
    - errorPrint
    - getTSRandTail
    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:2372,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2373,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2374,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2376,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2378,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2379,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2382,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2383,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2387,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2388,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2392,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2393,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2400,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2401,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2403,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2405,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2407,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2413,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2415,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2421,1
    - Dst: debugPrintJsonNoTime
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2422,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2423,1
    - Dst: debugPrintNoTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2424,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2428,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2429,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: 2430
      start: 2368
    functionDepth: 2
    functionLinenumber: 2368
    functionLinenumberEnd: 2430
    functionName: generateSmlJsonTags
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - tmpBool
    - benchCalloc
    - debugPrintJsonNoTime
    - tools_cJSON_AddNumberToObject
    - tools_cJSON_AddItemToArray
    - tools_cJSON_AddStringToObject
    - taosRandom
    - benchArrayGet
    - tools_cJSON_CreateObject
    - snprintf
    - tmpFloat
    - tmfree
    - debugPrintNoTimestamp
    - rand_string
    - tmpDouble
    - tools_cJSON_PrintUnformatted
    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:2434,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2435,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2436,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2438,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2439,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2441,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2442,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2443,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2446,1
    - Dst: tools_cJSON_AddBoolToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2447,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2448,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2452,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2453,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2454,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2458,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2459,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2460,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2467,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2468,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2470,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:2473,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2474,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2476,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2482,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2484,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2485,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2486,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2490,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2492,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2493,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2494,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: 2495
      start: 2432
    functionDepth: 2
    functionLinenumber: 2432
    functionLinenumberEnd: 2495
    functionName: generateSmlTaosJsonTags
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - tmpBool
    - benchCalloc
    - tools_cJSON_AddItemToObject
    - tools_cJSON_AddNumberToObject
    - tools_cJSON_AddItemToArray
    - convertDatatypeToString
    - tools_cJSON_AddStringToObject
    - taosRandom
    - benchArrayGet
    - tools_cJSON_CreateObject
    - snprintf
    - tmpFloat
    - tools_cJSON_AddBoolToObject
    - tmfree
    - rand_string
    - tmpDouble
    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:2500,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2501,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2504,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2505,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2506,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2511,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2512,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2513,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2518,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2519,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2520,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2527,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2528,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2529,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2530,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2532,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2536,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2537,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2538,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2539,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2541,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2545,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2546,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2547,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: 2552
      start: 2497
    functionDepth: 2
    functionLinenumber: 2497
    functionLinenumberEnd: 2552
    functionName: generateSmlJsonValues
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - tmpBool
    - strlen
    - benchCalloc
    - tmpGeometry
    - benchArrayGet
    - snprintf
    - tmpFloat
    - tmfree
    - rand_string
    - tmpDouble
    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:2557,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2558,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2559,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2562,1
    - Dst: tools_cJSON_AddBoolToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2563,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2567,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2568,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2572,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2573,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2579,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2580,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2582,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2584,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2586,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2590,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2591,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2592,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2593,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2597,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2598,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2602,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2603,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2604,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: 2605
      start: 2554
    functionDepth: 2
    functionLinenumber: 2554
    functionLinenumberEnd: 2605
    functionName: generateSmlJsonCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - tmpBool
    - benchCalloc
    - tmpGeometry
    - tools_cJSON_AddNumberToObject
    - tools_cJSON_AddItemToObject
    - tools_cJSON_AddItemToArray
    - tools_cJSON_AddStringToObject
    - benchArrayGet
    - tools_cJSON_CreateObject
    - tmpFloat
    - tools_cJSON_AddBoolToObject
    - tmfree
    - rand_string
    - tmpDouble
    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:2610,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2611,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2612,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2614,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2616,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2618,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2620,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2621,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2624,1
    - Dst: tools_cJSON_AddBoolToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2625,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2626,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2630,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2631,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2632,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2636,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2637,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2638,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2644,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2645,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2647,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:2650,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2651,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2653,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2657,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2658,1
    - Dst: tools_cJSON_AddStringToObject
      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: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2661,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2666,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2668,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2669,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2670,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2674,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_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2677,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2678,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: 2679
      start: 2607
    functionDepth: 2
    functionLinenumber: 2607
    functionLinenumberEnd: 2679
    functionName: generateSmlTaosJsonCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 2
    functionsReached:
    - tmpBool
    - benchCalloc
    - tmpGeometry
    - tools_cJSON_AddNumberToObject
    - tools_cJSON_AddItemToObject
    - tools_cJSON_AddItemToArray
    - convertDatatypeToString
    - tools_cJSON_AddStringToObject
    - taosRandom
    - benchArrayGet
    - tools_cJSON_CreateObject
    - tmpFloat
    - tools_cJSON_AddBoolToObject
    - tmfree
    - rand_string
    - tmpDouble
    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:2684,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2691,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2697,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: 2703
      start: 2682
    functionDepth: 6
    functionLinenumber: 2682
    functionLinenumberEnd: 2703
    functionName: generateTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 4
    functionsReached:
    - generateSampleFromCsv
    - errorPrint
    - generateRandData
    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:2737,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2739,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2739,1
    - Dst: seekFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2743,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2744,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2745,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2745,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - stbInfo
    - seek
    argTypes:
    - SSuperTable*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2734
    functionDepth: 0
    functionLinenumber: 2734
    functionLinenumberEnd: 2753
    functionName: openTagCsv
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 4
    functionsReached:
    - infoPrint
    - seekFromCsv
    - strerror
    - fclose
    - fopen
    - 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:2767,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2768,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2784,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2788,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2795,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2796,1
    - Dst: getTSRandTail
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2815,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2823,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: 2832
      start: 2758
    functionDepth: 2
    functionLinenumber: 2758
    functionLinenumberEnd: 2832
    functionName: bindVColsProgressive
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - needChangeTs
    - convertDatatypeToString
    - memset
    - benchArrayGet
    - debugPrint
    - getTSRandTail
    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:2844,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2850,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: 2860
      start: 2838
    functionDepth: 1
    functionLinenumber: 2838
    functionLinenumberEnd: 2860
    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:2894,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2898,1
    - Dst: getTSRandTail
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2920,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2928,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: 2935
      start: 2865
    functionDepth: 2
    functionLinenumber: 2865
    functionLinenumberEnd: 2935
    functionName: bindVColsInterlace
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - needChangeTs
    - benchArrayGet
    - getTSRandTail
    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:2942,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2947,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2949,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2953,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2955,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - stbInfo
    argTypes:
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2938
    functionDepth: 1
    functionLinenumber: 2938
    functionLinenumberEnd: 2961
    functionName: prepareTagsStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - benchCalloc
    - benchArrayGet
    - debugPrint
    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:
    - tolower
    - strtol
    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:
    - snprintf
    - errorPrint
    - strlen
    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:
    - errorPrint
    - csvValidateParamTsFormat
    - csvValidateParamTsInterval
    linkageType: ''
    returnType: int
    signature: int csvParseStbParameter(SSuperTable* stb)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: localtime_s
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:160,1
    - Dst: localtime_r
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:162,1
    - Dst: mktime
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:189,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - seconds
    - ts_format
    argTypes:
    - time_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 190
    functionName: csvAlignTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - localtime_r
    - mktime
    - localtime_s
    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:203,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: 204
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 204
    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:209,1
    - Dst: localtime_s
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:211,1
    - Dst: localtime_r
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:213,1
    - Dst: strftime
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:215,1
    - Dst: setlocale
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:217,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: 220
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: csvConvertTime2String
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - strftime
    - setlocale
    - localtime_r
    - localtime_s
    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: 237
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 237
    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: 251
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 251
    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:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    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:261,1
    - Dst: csvCalcTimestampFromSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - write_meta
    - thread_meta
    argTypes:
    - CsvWriteMeta*
    - CsvThreadMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 264
    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: 290
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 290
    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:305,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 310
    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:324,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:328,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:329,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:333,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:337,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:338,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 346
    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:352,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:355,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:360,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:362,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:364,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:372,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:375,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:378,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - db
    - buf
    - size
    argTypes:
    - SDataBase*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 383
    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:391,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:393,1
    - Dst: fwrite
      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: ferror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:401,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - write_meta
    - fp
    argTypes:
    - CsvWriteMeta*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 408
    functionName: csvExportCreateDbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - ferror
    - csvGenCreateDbSql
    - perror
    - fwrite
    - 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:414,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:417,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:420,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:426,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:432,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:436,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:436,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:438,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:438,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:444,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:449,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:453,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:454,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:457,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:458,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:463,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:469,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:472,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:482,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:486,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:486,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:489,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:489,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:494,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: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:536,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:539,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:542,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:552,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:555,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 119
    argCount: 4
    argNames:
    - db
    - stb
    - buf
    - size
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 557
    functionName: csvGenCreateStbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - strlen
    - convertDatatypeToString
    - benchArrayGet
    - snprintf
    - debugPrint
    - 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:565,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:567,1
    - Dst: fwrite
      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: ferror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:575,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - write_meta
    - fp
    argTypes:
    - CsvWriteMeta*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 582
    functionName: csvExportCreateStbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - ferror
    - csvGenCreateStbSql
    - perror
    - fwrite
    - 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:592,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:597,1
    - Dst: csvExportCreateDbSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:604,1
    - Dst: csvExportCreateStbSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:610,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:615,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 623
    functionName: csvExportCreateSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - fopen
    - succPrint
    - snprintf
    - fclose
    - csvExportCreateStbSql
    - csvExportCreateDbSql
    linkageType: ''
    returnType: int
    signature: int csvExportCreateSql(CsvWriteMeta* write_meta)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: csvGetFileNamingType
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:627,1
    - Dst: csvGenCsvHeader
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:637,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:639,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:646,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:650,1
    - Dst: csvCalcTimestampStep
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:651,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:655,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:656,1
    - Dst: csvGenThreadFormatter
      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: csvCalcTimestampStep
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:664,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 3
    argNames:
    - db
    - stb
    - write_meta
    argTypes:
    - SDataBase*
    - SSuperTable*
    - CsvWriteMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 674
    functionName: csvInitWriteMeta
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - MIN
    - csvGenCsvHeader
    - csvGetFileNamingType
    - snprintf
    - csvGenThreadFormatter
    - csvCalcTimestampStep
    - 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:694,1
    - Dst: csvGetStartSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:703,1
    - Dst: csvCalcSliceTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - write_meta
    - thread_id
    - thread_meta
    argTypes:
    - CsvWriteMeta*
    - uint32_t
    - CsvThreadMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 714
    functionName: csvInitThreadMeta
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvCalcCtbRange
    - csvCalcSliceTimestamp
    - csvGetStartSeconds
    linkageType: ''
    returnType: void
    signature: void csvInitThreadMeta(CsvWriteMeta* write_meta, uint32_t thread_id,
      CsvThreadMeta* thread_meta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: csvGetStartSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:728,1
    - Dst: csvCalcSliceTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:730,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: 739
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 739
    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: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    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:758,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:762,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:766,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:767,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:768,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:772,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:773,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:777,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:778,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:779,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:780,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: 790
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 790
    functionName: csvGetFileFullname
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - snprintf
    - csvGetGzipFilePrefix
    - 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:799,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: 813
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 813
    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:836,1
    - Dst: dataGenByField
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:844,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: 848
      start: 816
    functionDepth: 4
    functionLinenumber: 816
    functionLinenumberEnd: 848
    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:857,1
    - Dst: csvGenRowFields
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:860,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: 863
      start: 851
    functionDepth: 5
    functionLinenumber: 851
    functionLinenumberEnd: 863
    functionName: csvGenRowTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - snprintf
    - csvGenRowFields
    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:868,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:869,1
    - Dst: csvGenRowFields
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:872,1
    CyclomaticComplexity: 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: 874
      start: 866
    functionDepth: 5
    functionLinenumber: 866
    functionLinenumberEnd: 874
    functionName: csvGenRowColData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - snprintf
    - toolsFormatTimestamp
    - csvGenRowFields
    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:885,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:890,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - thread_meta
    - tags_buf_array
    argTypes:
    - CsvThreadMeta*
    - CsvRowTagsBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 892
    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:904,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:912,1
    - Dst: csvGenRowTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:919,1
    - Dst: csvFreeCtbTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:931,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - write_meta
    - thread_meta
    argTypes:
    - CsvWriteMeta*
    - CsvThreadMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 895
    functionDepth: 6
    functionLinenumber: 895
    functionLinenumberEnd: 933
    functionName: csvGenCtbTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvGenRowTagData
    - benchCalloc
    - csvFreeCtbTagData
    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:940,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:942,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:948,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:952,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:953,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:958,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - filename
    - compress_level
    argTypes:
    - char*
    - CsvCompressionLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 968
    functionName: csvOpen
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - snprintf
    - tmfree
    - fopen
    - errorPrint
    - gzopen
    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:973,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:975,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:977,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:978,1
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:984,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:986,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:989,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - fhdl
    - buf
    - size
    argTypes:
    - CsvFileHandle*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 997
    functionName: csvWrite
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - gzwrite
    - ferror
    - perror
    - gzerror
    - fwrite
    - 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:1007,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1012,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fhdl
    argTypes:
    - CsvFileHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1018
    functionName: csvClose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - gzclose
    - tmfree
    - fclose
    linkageType: ''
    returnType: void
    signature: void csvClose(CsvFileHandle* fhdl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: csvGenRowColData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1030,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1032,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1041,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1043,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1052,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1054,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1060,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1062,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1068,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1070,1
    CyclomaticComplexity: 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: 1076
      start: 1021
    functionDepth: 6
    functionLinenumber: 1021
    functionLinenumberEnd: 1076
    functionName: csvWriteFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - csvWrite
    - csvGenRowColData
    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:1107,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1109,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1116,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1118,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1131,1
    - Dst: csvGetFileFullname
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1136,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1138,1
    - Dst: csvOpen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1144,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1146,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1147,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1154,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1156,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1158,1
    - Dst: csvCalcSliceBatchTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1162,1
    - Dst: csvWriteFile
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1166,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1168,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1169,1
    - Dst: csvClose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1170,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1178,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1181,1
    - Dst: csvClose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1190,1
    - Dst: csvClose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1199,1
    - Dst: csvUpdateSliceRange
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1201,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1204,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1207,1
    - Dst: csvFreeCtbTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1212,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1213,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1079
    functionDepth: 7
    functionLinenumber: 1079
    functionLinenumberEnd: 1215
    functionName: csvGenStbThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - MIN
    - infoPrint
    - benchCalloc
    - csvWriteFile
    - csvOpen
    - csvGetFileFullname
    - csvUpdateSliceRange
    - succPrint
    - csvGenCtbTagData
    - csvCalcSliceBatchTimestamp
    - strerror
    - tmfree
    - toolsGetTimestampMs
    - errorPrint
    - csvClose
    - csvFreeCtbTagData
    linkageType: ''
    returnType: void
    signature: void * csvGenStbThread(void* arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1230,1
    - Dst: csvInitWriteMeta
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1236,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1242,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1244,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1250,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1256,1
    - Dst: csvInitThreadMeta
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1260,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1262,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1264,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1272,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1276,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1277,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1288,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1290,1
    - Dst: csvExportCreateSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1295,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1298,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1299,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1300,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - db
    - stb
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1218
    functionDepth: 4
    functionLinenumber: 1218
    functionLinenumberEnd: 1302
    functionName: csvGenStbProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchCalloc
    - csvExportCreateSql
    - csvInitWriteMeta
    - succPrint
    - perror
    - csvInitThreadMeta
    - tmfree
    - toolsGetTimestampMs
    - pthread_join
    - pthread_create
    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:1306,1
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - stb
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1314
    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:1319,1
    - Dst: csvGenStbProcess
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - stb
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1317
    functionDepth: 5
    functionLinenumber: 1317
    functionLinenumberEnd: 1322
    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:1328,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1332,1
    - Dst: csvParseStbParameter
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1338,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1340,1
    - Dst: csvGenStb
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1346,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1348,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1325
    functionDepth: 6
    functionLinenumber: 1325
    functionLinenumberEnd: 1357
    functionName: csvWriteThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - csvParseStbParameter
    - benchArrayGet
    - csvGenStb
    linkageType: ''
    returnType: int
    signature: int csvWriteThread()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: csvParseParameter
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1362,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1366,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1367,1
    - Dst: csvWriteThread
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1368,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1372,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1360
    functionDepth: 7
    functionLinenumber: 1360
    functionLinenumberEnd: 1376
    functionName: csvTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvWriteThread
    - csvParseParameter
    - toolsGetTimestampMs
    - infoPrint
    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:
    - strlen
    - printVersion
    - benchParseSingleOpt
    - benchPrintHelp
    - strcmp
    - errorPrint
    - exit
    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: 0
    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:
    - TOOLS_STRNCPY
    - parseFieldDatatype
    - benchArrayClear
    - benchCalloc
    - benchArrayPush
    - toolsIsStringNumber
    - printVersion
    - strcasecmp
    - getConnMode
    - benchArrayGet
    - strtoll
    - errorPrintReqArg2
    - debugPrint
    - atoi
    - errorPrint
    - atol
    - exit
    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:
    - infoPrint
    - memset
    - taos_errno
    - snprintf
    - taos_query
    - taos_free_result
    - closeBenchConn
    - errorPrint
    - taos_errstr
    - initBenchConn
    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:
    - infoPrint
    - tmq_list_new
    - tmq_list_append
    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:
    - taos_field_count
    - tmq_get_table_name
    - taos_fetch_fields
    - fprintf
    - tmq_get_vgroup_id
    - taos_fetch_row
    - tmq_get_topic_name
    - taos_print_row
    - calloc
    - errorPrint
    - tmq_get_db_name
    - free
    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:
    - infoPrint
    - tmq_conf_new
    - tmq_subscribe
    - memset
    - tmq_conf_destroy
    - snprintf
    - tmq_list_destroy
    - tmq_conf_set
    - errorPrint
    - buildTopicList
    - tmq_err2str
    - 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: 3
    functionLinenumber: 202
    functionLinenumberEnd: 310
    functionName: tmqConsume
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: 0
    functionsReached:
    - strlen
    - infoPrint
    - data_msg_process
    - memset
    - tmq_consumer_close
    - infoPrintToFile
    - tmq_get_res_type
    - strncasecmp
    - strncmp
    - taos_free_result
    - tmq_consumer_poll
    - toolsGetTimestampMs
    - rand_string
    - errorPrint
    - tmq_commit_sync
    - tmq_err2str
    - buildConsumerAndSubscribe
    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:
    - infoPrintToFile
    - snprintf
    - fopen
    - rand_string
    - pthread_create
    - pthread_join
    - buildConsumerAndSubscribe
    - benchCalloc
    - printfTmqConfigIntoFile
    - tools_cJSON_AddNumberToObject
    - tools_cJSON_CreateObject
    - fprintf
    - strlen
    - memset
    - strncasecmp
    - tools_cJSON_Delete
    - errorPrint
    - tools_cJSON_PrintUnformatted
    - free
    - infoPrint
    - create_topic
    - fclose
    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: 1
    functionLinenumber: 32
    functionLinenumberEnd: 77
    functionName: parseFunArgs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - strlen
    - strdup
    - atoi
    - strtok
    - strstr
    - free
    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: 18
    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:146,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:148,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:151,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:153,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:161,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:163,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:170,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:172,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:174,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:176,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    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: 181
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 181
    functionName: parseFuns
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - strlen
    - atof
    - parseFunArgs
    - atoi
    - strstr
    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:189,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:190,1
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:193,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:195,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:228,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:229,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:230,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:233,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:234,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:240,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:241,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:246,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:247,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:250,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:251,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:252,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:255,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:262,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:265,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:266,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:271,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:276,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:277,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:282,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:294,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:295,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:298,1
    - Dst: pow
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:310,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:319,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:320,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:323,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:324,1
    - Dst: stringToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:332,1
    - Dst: doubleToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:334,1
    - Dst: getDecimal128DefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:336,1
    - Dst: getDecimalOps
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:338,1
    - Dst: SDecimalOps*::subtract
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:339,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:339,1
    - Dst: stringToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:342,1
    - Dst: doubleToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:344,1
    - Dst: getDecimal128DefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:346,1
    - Dst: decimal128BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:349,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:350,1
    - Dst: stringToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:362,1
    - Dst: doubleToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:364,1
    - Dst: getDecimal64DefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:366,1
    - Dst: getDecimalOps
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:369,1
    - Dst: SDecimalOps*::subtract
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:370,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:370,1
    - Dst: stringToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:373,1
    - Dst: doubleToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:375,1
    - Dst: getDecimal64DefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:377,1
    - Dst: decimal64BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:380,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:381,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:389,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:390,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:391,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:396,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:397,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:398,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:404,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:405,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:409,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:410,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:414,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:415,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:420,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:421,1
    - Dst: parseFuns
      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_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:428,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:429,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:430,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:435,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:436,1
    - Dst: convertTypeToLength
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:445,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:450,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:451,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:452,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:486,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:490,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:495,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:496,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:498,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:503,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:504,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:506,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:511,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:512,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:514,1
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:524,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:525,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:526,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:530,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:548,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:549,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:550,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:553,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:554,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:560,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:561,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:565,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:566,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:581,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:586,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:592,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:593,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:594,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:596,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:599,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:606,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:607,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:611,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:615,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:616,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:620,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:632,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:633,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:636,1
    - Dst: pow
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:648,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:705,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:707,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:708,1
    - Dst: convertTypeToLength
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:715,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:719,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:720,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:721,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:727,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:728,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:729,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:751,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:755,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 367
    argCount: 2
    argNames:
    - superTblObj
    - stbInfo
    argTypes:
    - tools_cJSON*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 763
    functionName: getColumnAndTagTypeFromInsertJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_IsObject
    - convertDatatypeToDefaultMax
    - stringToDecimal64
    - convertStringToDatatype
    - convertDatatypeToDefaultMin
    - doubleToDecimal64
    - strcpy
    - snprintf
    - tools_cJSON_IsNumber
    - decimal128BCompare
    - benchArrayClear
    - benchCalloc
    - tools_cJSON_IsArray
    - getDecimal128DefaultMin
    - tools_cJSON_GetArraySize
    - tools_cJSON_GetObjectItem
    - benchArrayGet
    - doubleToDecimal128
    - SDecimalOps*::subtract
    - benchArrayPush
    - strlen
    - getDecimalOps
    - getDecimal64DefaultMax
    - decimal64BCompare
    - pow
    - getDecimal64DefaultMin
    - strcasecmp
    - stringToDecimal128
    - parseFuns
    - errorPrint
    - tools_cJSON_IsString
    - tools_cJSON_GetArrayItem
    - getDecimal128DefaultMax
    - convertTypeToLength
    - strCompareN
    - DECIMAL_WORD_NUM
    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:768,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:771,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:773,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: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:777,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:777,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:784,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - jsonObj
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 789
    functionName: getDurationVal
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - strlen
    - strchr
    - tools_cJSON_IsNumber
    - atoi
    - tools_cJSON_IsString
    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:792,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:796,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:797,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:798,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:816,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - cfg
    - value
    argTypes:
    - SDbCfg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 824
    functionName: setDBCfgString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - strlen
    - trimCaseCmp
    - memcpy
    - calloc
    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:829,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:830,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:831,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:833,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:835,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:846,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:847,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:848,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:849,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:856,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:857,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:860,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:861,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:862,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:865,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:866,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:867,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:870,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:871,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:872,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:875,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:881,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:885,1
    - Dst: getDurationVal
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:886,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:889,1
    - Dst: setDBCfgString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:890,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:891,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:895,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:896,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:899,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:910,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 2
    argNames:
    - dbinfos
    - index
    argTypes:
    - tools_cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 915
    functionName: getDatabaseInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayInit
    - tools_cJSON_IsObject
    - benchArrayPush
    - benchCalloc
    - tools_cJSON_IsString
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - benchArrayGet
    - setDBCfgString
    - getDurationVal
    - trimCaseCmp
    - tools_cJSON_IsNumber
    - errorPrint
    - tools_cJSON_GetArrayItem
    - free
    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:918,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:919,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:923,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:924,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:927,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:928,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:929,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:930,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:933,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:935,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:937,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:939,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:940,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:941,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:947,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:948,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:949,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:950,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:956,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:957,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:958,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:959,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:965,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:966,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:967,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:968,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:974,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:978,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:979,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:985,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - stb_obj
    - stbInfo
    argTypes:
    - tools_cJSON*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 989
    functionName: get_tsma_info
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayInit
    - tools_cJSON_IsObject
    - benchArrayPush
    - benchCalloc
    - tools_cJSON_IsArray
    - tools_cJSON_IsString
    - tools_cJSON_GetArraySize
    - tools_cJSON_GetObjectItem
    - tools_cJSON_IsNumber
    - errorPrint
    - tools_cJSON_GetArrayItem
    - free
    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:992,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:993,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:994,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:995,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:996,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:998,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1000,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1002,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1003,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1004,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1005,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - str
    - arr
    argTypes:
    - char*
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1009
    functionName: parseStringToIntArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayPush
    - benchCalloc
    - strsep
    - strdup
    - tmfree
    - atoi
    - benchArrayClear
    - strstr
    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:1014,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1016,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1018,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1020,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1027
    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:1030,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1031,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1032,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1033,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1034,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1037,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1040,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1041,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1042,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1043,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1044,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1046,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1075,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1078,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1079,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1084,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1085,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1089,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1090,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1094,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1095,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1096,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1100,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1101,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1105,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1106,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1110,1
    - Dst: parseStringToIntArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1111,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1115,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1116,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1120,1
    - Dst: parseStringToIntArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1121,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1125,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1126,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1127,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1134,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1135,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1144,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1145,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1146,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1151,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1152,1
    - Dst: getInterface
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1153,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1160,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1164,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1166,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1170,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1173,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1176,1
    - Dst: getServerVersionRest
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1178,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1184,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1185,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1186,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:1191,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1193,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1199,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1200,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1201,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1205,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1206,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1210,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1218,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1223,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1224,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1230,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1236,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1237,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1241,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1247,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1248,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1251,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1260,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1265,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1272,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1273,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1274,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1276,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1278,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1281,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1292,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1293,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1294,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1298,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1300,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1302,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1306,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1312,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1313,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1314,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1316,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1320,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1324,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1326,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1328,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1334,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1338,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1343,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1344,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1349,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1350,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1355,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1356,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1361,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1362,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1367,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1368,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1369,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1373,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1377,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1378,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1379,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1384,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1385,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1386,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1391,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1392,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1397,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1398,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1399,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1402,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1406,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1407,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1409,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1410,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1412,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1416,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1417,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1418,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1423,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1424,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1429,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1430,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1436,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1437,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1445,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1446,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1451,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1452,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1459,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1460,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1466,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1467,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1473,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1474,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1482,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1483,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1489,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1490,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1498,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1499,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1506,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1507,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1508,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1513,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1514,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1519,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1520,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1525,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1526,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1531,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1532,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1537,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1538,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1543,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1544,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1548,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1549,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1553,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1554,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1559,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1560,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1565,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1566,1
    - Dst: get_tsma_info
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1570,1
    - Dst: getColumnAndTagTypeFromInsertJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1575,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1580,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1581,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1585,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1586,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1590,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1591,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1596,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1597,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1598,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1600,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1603,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1604,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1605,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1613,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1621,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1629,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1638,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1640,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1642,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1648,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1656,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1658,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1660,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1662,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1664,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 423
    argCount: 2
    argNames:
    - dbinfos
    - index
    argTypes:
    - tools_cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1029
    functionDepth: 4
    functionLinenumber: 1029
    functionLinenumberEnd: 1672
    functionName: getStableInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - getServerVersionRest
    - getInterface
    - strdup
    - tools_cJSON_IsNumber
    - benchCalloc
    - tools_cJSON_IsArray
    - toolsGetTimestamp
    - tools_cJSON_GetArraySize
    - tools_cJSON_GetObjectItem
    - benchArrayGet
    - parseStringToIntArray
    - benchArrayInit
    - benchArrayPush
    - strlen
    - toolsParseTime
    - strcasecmp
    - memset
    - strncasecmp
    - get_tsma_info
    - convertServAddr
    - errorPrint
    - tools_cJSON_IsString
    - tools_cJSON_GetArrayItem
    - isRest
    - getColumnAndTagTypeFromInsertJsonFile
    - infoPrint
    - TOOLS_STRNCPY
    - warnPrint
    - encodeAuthBase64
    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:1677,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1681,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1682,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1684,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1689,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1690,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1690,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1693,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1698,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1702,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1707,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1711,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1716,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1723,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1727,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1732,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1737,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1742,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1745,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1752,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1753,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1754,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1756,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1758,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1761,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1768,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1774,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 71
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1675
    functionDepth: 1
    functionLinenumber: 1675
    functionLinenumberEnd: 1778
    functionName: getMetaFromCommonJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - strlen
    - infoPrint
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - warnPrint
    - mkdir
    - debugPrint
    - errorPrint
    - tools_cJSON_IsString
    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:1784,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1785,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1786,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1792,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1793,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1794,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1799,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1805,1
    - Dst: check_write_permission
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1814,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1815,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1818,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1821,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1829,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1830,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1831,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1836,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1842,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1848,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1849,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1854,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1858,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1863,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1870,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1876,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1879,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1885,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1888,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1894,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1899,1
    - Dst: getInterface
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1902,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1905,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1906,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1907,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1910,1
    - Dst: getDatabaseInfo
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1913,1
    - Dst: getStableInfo
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1916,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 95
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1780
    functionDepth: 5
    functionLinenumber: 1780
    functionLinenumberEnd: 1925
    functionName: getMetaFromInsertJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - tools_cJSON_IsArray
    - tools_cJSON_GetArraySize
    - strcasecmp
    - tools_cJSON_GetObjectItem
    - check_write_permission
    - getInterface
    - strncasecmp
    - getDatabaseInfo
    - tools_cJSON_IsNumber
    - getStableInfo
    - errorPrint
    - tools_cJSON_IsString
    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:1930,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1932,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1933,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1941,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1942,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1950,1
    - Dst: tools_cJSON_IsString
      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: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1955,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1957,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1959,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1967,1
    - Dst: tools_cJSON_IsString
      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: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1972,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1974,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1976,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1983,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1984,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1990,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1991,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1997,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1998,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1999,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2009,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2010,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2019,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2020,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2029,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2030,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2031,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2041,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2042,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2043,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2054,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2055,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2056,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2058,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2062,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2063,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2064,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2065,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2066,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2068,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2069,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2070,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2074,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2075,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2076,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2078,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2079,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2083,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2084,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2085,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2088,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2089,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2090,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2091,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2092,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2094,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2100,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2101,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2102,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2103,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2104,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2106,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2107,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2108,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2111,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2114,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 122
    argCount: 1
    argNames:
    - specifiedQuery
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 1928
    functionDepth: 1
    functionLinenumber: 1928
    functionLinenumberEnd: 2124
    functionName: readSpecQueryJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_IsObject
    - tools_cJSON_IsNumber
    - fgets
    - fopen
    - strcmp
    - benchCalloc
    - tools_cJSON_IsArray
    - tools_cJSON_GetArraySize
    - tools_cJSON_GetObjectItem
    - benchArrayGet
    - benchArrayPush
    - strlen
    - strcasecmp
    - memset
    - errorPrint
    - tools_cJSON_IsString
    - tools_cJSON_GetArrayItem
    - free
    - infoPrint
    - TOOLS_STRNCPY
    - debugPrint
    - fclose
    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:2133,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2141,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2149,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2155,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2161,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2164,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2170,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2173,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2183,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2193,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2196,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2206,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2209,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2221,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2233,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2244,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2248,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2250,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2258,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2261,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2263,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2267,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2270,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2273,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 91
    argCount: 1
    argNames:
    - superQuery
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2127
    functionDepth: 1
    functionLinenumber: 2127
    functionLinenumberEnd: 2282
    functionName: readSuperQueryJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - tools_cJSON_GetArraySize
    - tools_cJSON_GetObjectItem
    - memset
    - errorPrint
    - tools_cJSON_GetArrayItem
    - 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:2290,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2291,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2295,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2296,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2303,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2304,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2311,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2312,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2319,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2320,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2321,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2329,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2330,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2336,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2337,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2341,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2342,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2343,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2345,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2348,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2354,1
    - Dst: check_write_permission
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2358,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2359,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2365,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2368,1
    - Dst: readSpecQueryJson
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2370,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2372,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2378,1
    - Dst: readSuperQueryJson
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2380,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2382,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2390,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2396,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2285
    functionDepth: 2
    functionLinenumber: 2285
    functionLinenumberEnd: 2402
    functionName: getMetaFromQueryJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayInit
    - readSuperQueryJson
    - strcasecmp
    - tools_cJSON_GetObjectItem
    - check_write_permission
    - readSpecQueryJson
    - tools_cJSON_IsNumber
    - errorPrint
    - tools_cJSON_IsString
    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:2406,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2412,1
    - Dst: check_write_permission
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2416,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2417,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2423,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2425,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2426,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2432,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2435,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2436,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2441,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2442,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2447,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2448,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2453,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2454,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2458,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2460,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2465,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2466,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2470,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2471,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2475,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2477,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2481,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2483,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2487,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2489,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2494,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2496,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2500,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2502,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2506,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2507,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2512,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2513,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2517,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2518,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2519,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2521,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2522,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2523,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2525,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2527,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2532,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2536,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2538,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2540,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2545,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 86
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2404
    functionDepth: 1
    functionLinenumber: 2404
    functionLinenumberEnd: 2555
    functionName: getMetaFromTmqJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_IsObject
    - TOOLS_STRNCPY
    - tools_cJSON_IsArray
    - tools_cJSON_GetArraySize
    - strcasecmp
    - tools_cJSON_GetObjectItem
    - check_write_permission
    - tools_cJSON_GetArrayItem
    - tools_cJSON_IsNumber
    - errorPrint
    - tools_cJSON_IsString
    linkageType: ''
    returnType: int
    signature: int getMetaFromTmqJsonFile(tools_cJSON *json)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2559,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2561,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2562,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2567,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2568,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2570,1
    - Dst: tools_cJSON_Parse
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2575,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2577,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2582,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2583,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2584,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2586,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2587,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2588,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2590,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2592,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2594,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2597,1
    - Dst: getMetaFromCommonJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2606,1
    - Dst: getMetaFromInsertJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2609,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2612,1
    - Dst: getMetaFromQueryJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2613,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2616,1
    - Dst: getMetaFromTmqJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2617,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2621,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2622,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2557
    functionDepth: 6
    functionLinenumber: 2557
    functionLinenumberEnd: 2624
    functionName: readJsonConfig
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - fread
    - tmfree
    - fopen
    - tools_cJSON_Print
    - benchCalloc
    - tools_cJSON_GetObjectItem
    - strerror
    - getMetaFromInsertJsonFile
    - getMetaFromQueryJsonFile
    - strcasecmp
    - memset
    - errorPrint
    - tools_cJSON_IsString
    - free
    - infoPrint
    - getMetaFromTmqJsonFile
    - tools_cJSON_Parse
    - fclose
    - getMetaFromCommonJsonFile
    linkageType: ''
    returnType: int
    signature: int readJsonConfig(char * file)
  - BBCount: 2
    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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - signum
    - sigingo
    - context
    argTypes:
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: benchQueryInterruptHandler
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: 0
    functionsReached:
    - sem_post
    - infoPrint
    - exit
    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:47,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:48,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:52,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: benchCancelHandler
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: 0
    functionsReached:
    - toolsMsleep
    - bsem_wait
    - exit
    linkageType: ''
    returnType: void
    signature: void * benchCancelHandler(void* arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:61,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:66,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:67,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:70,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:73,1
    - Dst: getServerVersionRest
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:75,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:84,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:90,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 95
    functionName: checkArgumentValid
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - getServerVersionRest
    - isRest
    - convertServAddr
    - errorPrint
    - encodeAuthBase64
    linkageType: ''
    returnType: int
    signature: int checkArgumentValid()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:103,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:104,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:105,1
    - Dst: taos_options
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:107,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:108,1
    - Dst: taos_options
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:110,1
    - Dst: engineError
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cfgDir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: applyConfigDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: 0
    functionsReached:
    - engineError
    - taos_options
    - wordfree
    - wordexp
    - errorPrint
    - exit
    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:124,1
    - Dst: initArgument
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:125,1
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:126,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:126,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:129,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:129,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:130,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:131,1
    - Dst: benchParseArgs
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:136,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:137,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:143,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:144,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:150,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:151,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:153,1
    - Dst: readJsonConfig
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:160,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:161,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:162,1
    - Dst: modifyArgument
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:166,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:171,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:174,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:176,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:182,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:182,1
    - Dst: checkArgumentValid
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:183,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:184,1
    - Dst: setConnMode
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:189,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:190,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:195,1
    - Dst: applyConfigDir
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:197,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:198,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:201,1
    - Dst: sem_init
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:206,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:207,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:208,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:211,1
    - Dst: benchSetSignal
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:212,1
    - Dst: insertTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:217,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:218,1
    - Dst: csvTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:222,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:223,1
    - Dst: queryTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:227,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:228,1
    - Dst: subscribeTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:232,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:233,1
    - Dst: queryAggrFunc
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:239,1
    - Dst: postFreeResource
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:243,1
    - Dst: pthread_cancel
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:246,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:247,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:250,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 95
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 120
    functionDepth: 9
    functionLinenumber: 120
    functionLinenumberEnd: 252
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: 0
    functionsReached:
    - subscribeTestProcess
    - getenv
    - insertTestProcess
    - snprintf
    - readJsonConfig
    - csvTestProcess
    - checkArgumentValid
    - fopen
    - pthread_join
    - pthread_create
    - exit
    - applyConfigDir
    - time
    - benchParseArgs
    - setConnMode
    - postFreeResource
    - taos_get_client_info
    - queryTestProcess
    - strlen
    - queryAggrFunc
    - exitLog
    - srand
    - pthread_cancel
    - benchSetSignal
    - errorPrint
    - initLog
    - infoPrint
    - modifyArgument
    - debugPrint
    - atoi
    - initArgument
    - sem_init
    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:
    - errorPrint
    - calloc
    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:
    - GetConsoleMode
    - SetConsoleMode
    - GetLastError
    - GetStdHandle
    - exit
    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:
    - exit
    - GetLastError
    - printf
    - SetConsoleMode
    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:
    - strlen
    - benchCalloc
    - printErrCmdCodeStr
    - taos_fetch_lengths
    - RD
    - taos_errno
    - taos_fetch_row
    - snprintf
    - taos_query
    - debugPrint
    - taos_free_result
    - errorPrint
    - swapItem
    - strncpy
    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:
    - getaddrinfo
    - inet_addr
    - MAKEWORD
    - gethostbyname
    - memset
    - memcpy
    - WSACleanup
    - WSAStartup
    - freeaddrinfo
    - debugPrint
    - errorPrint
    - htons
    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
    - tmfclose
    - fprintf
    - fopen
    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
    - strlen
    - snprintf
    - errorPrint
    - strstr
    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: 3
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: toolsGetTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 3
    functionsReached:
    - toolsGetTimestampUs
    - toolsGetTimestampNs
    - toolsGetTimestampMs
    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: sprintf
      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:
    - strlen
    - benchCalloc
    - parseDsn
    - taos_connect
    - memcpy
    - sprintf
    - taos_errno
    - succPrint
    - tmfree
    - defaultPort
    - atoi
    - errorPrint
    - taos_errstr
    - strToLowerCopy
    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:
    - infoPrint
    - toolsMsleep
    - initBenchConnImpl
    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:
    - taos_close
    - tmfree
    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:
    - strlen
    - benchCalloc
    - appendResultBufToFile
    - memset
    - memcpy
    - taos_fetch_fields
    - taos_fetch_row
    - taos_print_row
    - snprintf
    - taos_field_count
    - free
    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:
    - snprintf
    - strlen
    - 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:
    - snprintf
    - strlen
    - 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:
    - decimal64FromStr
    - strlen
    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:
    - MIN
    - stringToDecimal64
    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:
    - MIN
    - stringToDecimal64
    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:
    - strcasecmp
    - strncasecmp
    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:
    - strCompareN
    - errorPrint
    - exit
    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:
    - memcpy
    - tmfree
    - BARRAY_GET_ELEM
    - benchArrayEnsureCap
    linkageType: ''
    returnType: void
    signature: void * benchArrayAddBatch(BArray* pArray, void* pData, int32_t elems,
      bool free)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c: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:
    - errorPrint
    - BARRAY_GET_ELEM
    - exit
    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:
    - strlen
    - benchArrayGet
    - strncasecmp
    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:
    - benchArrayInit
    - benchArrayAddBatch
    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:
    - errorPrint
    - infoPrint
    - convertHostToServAddr
    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:
    - infoPrint
    - MAKEWORD
    - closesocket
    - socket
    - errorPrintSocketMsg
    - WSACleanup
    - WSAStartup
    - close
    - errorPrint
    - connect
    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:
    - closesocket
    - WSACleanup
    - 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:
    - infoPrint
    - recv
    - errorPrintSocketMsg
    - shutdown
    - debugPrint
    - closeSockFd
    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:
    - strlen
    - snprintf
    - taos_free_result
    - errorPrint
    - taos_errstr
    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:
    - benchCalloc
    - strcat
    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:
    - benchCalloc
    - strcpy
    - benchArrayGet
    - strcat
    - snprintf
    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:
    - showBind
    - debugPrint
    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:
    - showTableBinds
    - debugPrint
    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:
    - snprintf
    - strlen
    - 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:
    - createSockFd
    - initBenchConn
    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:
    - closesocket
    - closeBenchConn
    - WSACleanup
    - 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:
    - benchArrayGet
    - tmfree
    - 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:
    - infoPrint
    - TOOLS_STRNCPY
    - strlen
    - printErrCmdCodeStr
    - taos_connect
    - taos_fetch_lengths
    - taos_close
    - taos_errno
    - min
    - taos_fetch_row
    - snprintf
    - taos_query
    - taos_free_result
    - 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_join
    - pthread_create
    - toolsMsleep
    - errorPrint
    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:
    - strlen
    - infoPrint
    - benchCalloc
    - printErrCmdCodeStr
    - taos_errno
    - taos_fetch_fields
    - taos_fetch_row
    - snprintf
    - taos_print_row
    - taos_query
    - closeBenchConn
    - taos_free_result
    - tmfree
    - taos_num_fields
    - errorPrint
    - getAllChildNameOfSuperTable
    - atol
    - initBenchConn
    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: 0
    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_errno
    - taos_query
    - printErrCmdCodeStr
    - taos_free_result
    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:
    - snprintf
    - memset
    - strlen
    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:
    - strlen
    - benchCalloc
    - appendResultBufToFile
    - recv
    - snprintf
    - tmfree
    - debugPrint
    - errorPrint
    - strstr
    - send
    - free
    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_Print
    - benchCalloc
    - tools_cJSON_IsArray
    - postProceSqlImpl
    - tools_cJSON_Parse
    - tools_cJSON_GetObjectItem
    - snprintf
    - tmfree
    - debugPrint
    - tools_cJSON_Delete
    - tools_cJSON_GetArrayItem
    - atoi
    - errorPrint
    - strstr
    - free
    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:
    - createSockFd
    - getServerVersionRestImpl
    - 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:
    - tools_cJSON_Print
    - tools_cJSON_IsString
    - tools_cJSON_Parse
    - tools_cJSON_GetObjectItem
    - tmfree
    - tools_cJSON_Delete
    - tools_cJSON_IsNumber
    - errorPrint
    - strstr
    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:
    - tools_cJSON_Print
    - benchCalloc
    - tools_cJSON_IsString
    - postProceSqlImpl
    - tools_cJSON_Parse
    - getCodeFromResp
    - tools_cJSON_GetObjectItem
    - tmfree
    - debugPrint
    - tools_cJSON_IsNumber
    - tools_cJSON_Delete
    - errorPrint
    - strstr
    - free
    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:
    - errorPrint
    - fclose
    - 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_errno
    - taos_query
    - taos_free_result
    - debugPrint
    - postProcessSql
    - errorPrint
    - fetchResult
    - taos_errstr
    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:
    - infoPrint
    - toolsMsleep
    - debugPrint
    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: 3
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: showRealQPS
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - toolsGetTimestampMs
    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:
    - benchArrayInit
    - infoPrint
    - toolsGetTimestampUs
    - benchCalloc
    - benchArrayPush
    - prctl
    - benchArrayGet
    - resetQueryCache
    - autoSleep
    - selectAndGetResult
    - tmfree
    - debugPrint
    - showRealQPS
    - toolsGetTimestampMs
    - taos_select_db
    - errorPrint
    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:
    - benchArrayInit
    - infoPrint
    - toolsGetTimestampUs
    - prctl
    - benchArrayGet
    - resetQueryCache
    - autoSleep
    - benchArrayPushNoFree
    - snprintf
    - selectAndGetResult
    - showRealQPS
    - debugPrint
    - toolsGetTimestampMs
    - taos_select_db
    - errorPrint
    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:
    - benchArrayInit
    - infoPrint
    - benchCalloc
    - toolsGetTimestampUs
    - prctl
    - resetQueryCache
    - memset
    - benchArrayPushNoFree
    - autoSleep
    - snprintf
    - selectAndGetResult
    - tmfree
    - debugPrint
    - showRealQPS
    - toolsGetTimestampMs
    - errorPrint
    - replaceChildTblName
    linkageType: ''
    returnType: void
    signature: void *stbQueryThread(void *sarg)
  - BBCount: 6
    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: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:435,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:446,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:448,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:450,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:452,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:454,1
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:460,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - infos
    - threadCnt
    - spend
    - pDelays
    argTypes:
    - qThreadInfo*
    - int
    - int64_t
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 463
    functionName: totalChildQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - benchArrayInit
    - infoPrint
    - qsort
    - benchArrayGet
    - benchArrayDestroy
    - errorPrint
    - benchArrayAddBatch
    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:482,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:485,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:514,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:517,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:519,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:539,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:542,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:553,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:555,1
    - Dst: totalChildQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:562,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:567,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:568,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:571,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:573,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 575
    functionName: stbQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - toolsGetTimestampUs
    - benchCalloc
    - initQueryConn
    - closeQueryConn
    - totalChildQuery
    - tmfree
    - errorPrint
    - pthread_join
    - pthread_create
    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:592,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:594,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:599,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:600,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:605,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:607,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:608,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:618,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:619,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:622,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:633,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:637,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:639,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:652,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:655,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:657,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:662,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:666,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:674,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:693,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:706,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:716,1
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:729,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:730,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:731,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:732,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:748,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:749,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:750,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:751,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:752,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:753,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:754,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:755,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:756,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:757,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:758,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:759,1
    - Dst: infoPrintNoTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:762,1
    - Dst: infoPrintNoTimestampToFile
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:763,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:764,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:768,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:770,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:772,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:773,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:775,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:779,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:781,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:787,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:788,1
    - Dst: freeSpecialQueryInfo
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:791,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 120
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 580
    functionDepth: 4
    functionLinenumber: 580
    functionLinenumberEnd: 793
    functionName: specQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - toolsGetTimestampUs
    - snprintf
    - tmfree
    - infoPrintNoTimestampToFile
    - fopen
    - pthread_join
    - pthread_create
    - benchCalloc
    - tools_cJSON_AddNumberToObject
    - infoPrintNoTimestamp
    - tools_cJSON_AddItemToArray
    - freeSpecialQueryInfo
    - benchArrayGet
    - tools_cJSON_CreateObject
    - fprintf
    - closeQueryConn
    - strlen
    - memset
    - tools_cJSON_Delete
    - errorPrint
    - tools_cJSON_PrintUnformatted
    - free
    - tools_cJSON_AddItemToObject
    - qsort
    - initQueryConn
    - benchArrayDestroy
    - warnPrint
    - fclose
    - tools_cJSON_CreateArray
    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:802,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:803,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:810,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:833,1
    - Dst: pthread_create
      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: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:857,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:859,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:861,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:873,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:877,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:881,1
    - Dst: totalChildQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:886,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:890,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:891,1
    - Dst: freeSpecialQueryInfo
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:894,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 798
    functionDepth: 4
    functionLinenumber: 798
    functionLinenumberEnd: 897
    functionName: specQueryMix
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - toolsGetTimestampUs
    - benchCalloc
    - freeSpecialQueryInfo
    - initQueryConn
    - benchArrayDestroy
    - warnPrint
    - closeQueryConn
    - totalChildQuery
    - tmfree
    - errorPrint
    - pthread_join
    - pthread_create
    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:901,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:906,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:910,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:913,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:918,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:926,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:928,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:930,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:932,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - allSleep
    - pDelays
    argTypes:
    - int32_t
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 937
    functionName: totalBatchQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - qsort
    - printf
    - 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:948,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:949,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:950,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:958,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:975,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:993,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1012,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1014,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1029,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1031,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1043,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1047,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1051,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1056,1
    - Dst: totalChildQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1057,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1061,1
    - Dst: autoSleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1065,1
    - Dst: totalBatchQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1076,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1082,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1086,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1087,1
    - Dst: freeSpecialQueryInfo
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1090,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1094,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 942
    functionDepth: 4
    functionLinenumber: 942
    functionLinenumberEnd: 1098
    functionName: specQueryBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - benchArrayInit
    - infoPrint
    - benchCalloc
    - toolsGetTimestampUs
    - freeSpecialQueryInfo
    - initQueryConn
    - autoSleep
    - benchArrayDestroy
    - warnPrint
    - closeQueryConn
    - totalChildQuery
    - printf
    - tmfree
    - errorPrint
    - totalBatchQuery
    - pthread_join
    - pthread_create
    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:1111,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1118,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1122,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - spends
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1124
    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:1127,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1131,1
    - Dst: convertHostToServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1134,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1137,1
    - Dst: killSlowQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1144,1
    - Dst: fetchChildTableName
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1153,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1155,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1164,1
    - Dst: specQueryBatch
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1170,1
    - Dst: specQueryMix
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1174,1
    - Dst: specQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1180,1
    - Dst: stbQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1186,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1191,1
    - Dst: totalQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1196,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1196,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1126
    functionDepth: 5
    functionLinenumber: 1126
    functionLinenumberEnd: 1198
    functionName: queryTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 1
    functionsReached:
    - prompt
    - totalQuery
    - encodeAuthBase64
    - killSlowQuery
    - specQuery
    - specQueryMix
    - stbQuery
    - fetchChildTableName
    - toolsGetTimestampMs
    - errorPrint
    - convertHostToServAddr
    - specQueryBatch
    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:
    - benchArrayPush
    - benchCalloc
    - randCoordArray
    - memcpy
    - benchArrayGet
    - geoObject2DInit
    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:
    - sprintf
    - benchArrayGet
    - 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:
    - benchArrayInit
    - taosRandom
    - benchArrayPush
    - 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:
    - geoObject2DRandInit
    - geoObject2DDestory
    - taosRandom
    - min
    - geoObject2DToStr
    linkageType: ''
    returnType: void
    signature: void rand_geometry(char *str, int fieldLen, int maxType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c: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:
    - convertDatatypeToDefaultMax
    - convertStringToDatatype
    - convertDatatypeToDefaultMin
    - snprintf
    - exit
    - benchCalloc
    - getDecimal128DefaultMin
    - regfree
    - benchArrayGet
    - benchArrayPush
    - getDecimal64DefaultMax
    - regexec
    - getDecimal64DefaultMin
    - errorPrint
    - getDecimal128DefaultMax
    - regcomp
    - convertTypeToLength
    - atoi
    - strncpy
    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
    - processSingleToken
    - tmfree
    - errorPrint
    - strstr
    - exit
    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:
    - benchArrayInit
    - benchArrayPush
    - benchCalloc
    - TOOLS_STRNCPY
    - benchArrayGet
    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:
    - benchArrayInit
    - benchArrayPush
    - benchCalloc
    - benchArrayGet
    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:
    - benchArrayInit
    - benchCalloc
    - initDatabase
    - initStable
    - taos_get_client_info
    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:
    - convertDatatypeToDefaultMax
    - benchArrayPush
    - benchCalloc
    - convertDatatypeToDefaultMin
    - benchArrayGet
    - snprintf
    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: 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: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:443,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:446,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:448,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:450,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:453,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:457,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 459
    functionName: queryStableAggrFunc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchCalloc
    - toolsGetTimestampUs
    - printErrCmdCodeStr
    - strncat
    - prctl
    - benchArrayGet
    - taos_errno
    - fprintf
    - taos_fetch_row
    - snprintf
    - taos_query
    - taos_free_result
    - postProcessSql
    - free
    linkageType: ''
    returnType: void
    signature: void *queryStableAggrFunc(void *sarg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:468,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:470,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:472,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:473,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:486,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:488,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:497,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:506,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:509,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:513,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:514,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:516,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:517,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:520,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:523,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:526,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:530,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:536,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:539,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 541
    functionName: queryNtableAggrFunc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - benchCalloc
    - toolsGetTimestampUs
    - printErrCmdCodeStr
    - prctl
    - benchArrayGet
    - taos_errno
    - fprintf
    - taos_fetch_row
    - snprintf
    - taos_query
    - taos_free_result
    - postProcessSql
    - free
    linkageType: ''
    returnType: void
    signature: void *queryNtableAggrFunc(void *sarg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:545,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:547,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:550,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:552,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:553,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:556,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:558,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:559,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:565,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:567,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:568,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:572,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:574,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:579,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:581,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:583,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:586,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:589,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 593
    functionName: queryAggrFunc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 1
    functionsReached:
    - benchCalloc
    - createSockFd
    - pthread_create
    - benchArrayGet
    - closeBenchConn
    - pthread_join
    - errorPrint
    - destroySockFd
    - initBenchConn
    - free
    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:
    - errorPrint
    - malloc
    - exit
    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:
    - exit
    - free
    - debugPrint
    - ds_header
    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_len
    - fast_sqrt
    - ds_cap
    - ds_resize
    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:
    - ds_set_len
    - realloc
    - ds_len
    - ds_set_cap
    - errorPrint
    - exit
    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:
    - ds_grow
    - ds_set_len
    - strlen
    - ds_end
    - ds_len
    - memcpy
    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_arg
    - va_start
    - ds_add_str
    - va_end
    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:
    - memset
    - _fullpath
    - printf
    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: 1
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: toolsOpenDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: 6
    functionsReached:
    - FindFirstFile
    - toolsMemoryFree
    - strcpy
    - toolsMemoryMalloc
    - strcat
    - opendir
    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: 1
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: toolsReadDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: 4
    functionsReached:
    - readdir
    - readdir_r
    - FindNextFile
    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: 4
    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: 1
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: toolsCloseDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: 6
    functionsReached:
    - toolsMemoryFree
    - closedir
    - FindClose
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - code
    - type
    argTypes:
    - int32_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 83
    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:91,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - tableDes
    - self
    argTypes:
    - TableDes*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: freeTbDes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 9
    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:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - indent
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    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:113,1
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:114,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:116,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:117,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:119,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: print_json_array
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - print_json_aux
    - json_array_get
    - printf
    - json_plural
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: void print_json_array(json_t *element, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:124,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:125,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: print_json_string
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - json_string_value
    - printf
    - 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: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    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:137,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:138,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:140,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:141,1
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:143,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:144,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: print_json_object
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - print_json_aux
    - printf
    - 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:143,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:144,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - print_json_aux
    - printf
    - 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:151,1
    - Dst: print_json_object
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:153,1
    - Dst: print_json_array
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:157,1
    - Dst: print_json_string
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:161,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:186,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: print_json_aux
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 3
    functionsReached:
    - print_json_array
    - json_typeof
    - print_json_object
    - errorPrint
    - print_json_string
    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:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    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:198,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - jsonbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 205
    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:213,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:215,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:215,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:220,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:221,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:221,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:222,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - txt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: writeFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 3
    functionsReached:
    - fprintf
    - warnPrint
    - strerror
    - 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:231,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:233,1
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:237,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: getFileSize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - fseek
    - ftell
    linkageType: ''
    returnType: long
    signature: long getFileSize(FILE *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:245,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:247,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:247,1
    - Dst: getFileSize
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:252,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:254,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:254,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:255,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:261,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:263,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:263,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:264,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:269,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:271,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:271,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:272,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 279
    functionName: readFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - getFileSize
    - fread
    - warnPrint
    - calloc
    - strerror
    - fclose
    - fopen
    - errorPrint
    - free
    linkageType: ''
    returnType: char
    signature: char * readFile(char *filename)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strToLowerCopy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:300,1
    - Dst: parseDsn
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:307,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:309,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:310,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:321,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:325,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:326,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:327,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:327,1
    - Dst: defaultPort
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:338,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:341,1
    - Dst: taos_connect
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:350,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:354,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:360,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:360,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:361,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:367,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:368,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:372,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 375
    functionName: taosConnect
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 10
    functionsReached:
    - strlen
    - infoPrint
    - parseDsn
    - taos_connect
    - memcpy
    - sprintf
    - taos_errno
    - okPrint
    - defaultPort
    - atoi
    - errorPrint
    - toolsMsleep
    - taos_errstr
    - strToLowerCopy
    - free
    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:382,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:383,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:387,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:393,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:393,1
    - Dst: canRetry
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:396,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:397,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:407,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - taos
    - sql
    - code
    argTypes:
    - TAOS*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 412
    functionName: taosQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 18
    functionsReached:
    - infoPrint
    - canRetry
    - taos_errno
    - taos_query
    - errorPrint
    - toolsMsleep
    - taos_errstr
    - okPrint
    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:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - fun
    - code
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    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: 434
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 434
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:438,1
    - Dst: pthread_mutex_init
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - map
    argTypes:
    - HashMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: hashMapInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - memset
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void hashMapInit(HashMap *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:445,1
    - Dst: bkdrHash
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:446,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:447,1
    - Dst: pthread_mutex_unlock
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:449,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:454,1
    - Dst: pthread_mutex_unlock
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - map
    - key
    - value
    argTypes:
    - HashMap*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 462
    functionName: hashMapInsert
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - malloc
    - pthread_mutex_unlock
    - strdup
    - bkdrHash
    - pthread_mutex_lock
    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:466,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - HashMap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 475
    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:484,1
    - Dst: freeStbChange
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:486,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:487,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:488,1
    - Dst: pthread_mutex_destroy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - map
    argTypes:
    - HashMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 495
    functionName: hashMapDestroy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - freeStbChange
    - pthread_mutex_destroy
    - debugPrint
    - free
    linkageType: ''
    returnType: void
    signature: void hashMapDestroy(HashMap *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:505,1
    - Dst: hashMapInit
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 510
    functionName: createDbChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - hashMapInit
    - calloc
    linkageType: ''
    returnType: DBChange
    signature: DBChange *createDbChange(const char *dbPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashMapDestroy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:515,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pDbChange
    argTypes:
    - DBChange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 519
    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:525,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:531,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:535,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - stbChange
    argTypes:
    - StbChange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 541
    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:552,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:555,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - colDes
    - from
    - num
    argTypes:
    - ColDes*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 563
    functionName: genPartStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - sprintf
    - strcat
    - calloc
    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:574,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:578,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:587,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:589,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:594,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - recordSchema
    - tableDesSrv
    argTypes:
    - RecordSchema*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 603
    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:608,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:610,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - colDes
    - tableDes
    argTypes:
    - ColDes*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 617
    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:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - des
    - src
    argTypes:
    - TableDes*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 628
    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:638,1
    - Dst: schemaNoChanged
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:645,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:646,1
    - Dst: copyTableDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:647,1
    - Dst: findFieldInServer
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:660,1
    - Dst: findFieldInServer
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:668,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:680,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:682,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:687,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:688,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:695,1
    - Dst: genPartStr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:701,1
    - Dst: genPartStr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:702,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:706,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - pDbChange
    - pStbChange
    - recordSchema
    - tableDesSrv
    argTypes:
    - DBChange*
    - StbChange*
    - RecordSchema*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 710
    functionName: localCrossServer
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - schemaNoChanged
    - genPartStr
    - strcpy
    - findFieldInServer
    - calloc
    - errorPrint
    - copyTableDes
    - freeTbDes
    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:717,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:723,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:730,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:732,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:737,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:738,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:739,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:745,1
    - Dst: localCrossServer
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:750,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:751,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:752,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:753,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:756,1
    - Dst: hashMapInsert
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:765,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:766,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:768,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:771,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: 778
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 778
    functionName: AddStbChanged
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 2
    functionsReached:
    - infoPrint
    - localCrossServer
    - hashMapInsert
    - debugPrint
    - calloc
    - errorPrint
    - getTableDes
    - freeTbDes
    - free
    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:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pDbChange
    - stbName
    argTypes:
    - DBChange*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 789
    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:796,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:797,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:802,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:805,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:810,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:811,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:811,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:812,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - elements
    - cols
    argTypes:
    - json_t*
    - ColDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 822
    functionName: readStbSchemaCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - json_typeof
    - warnPrint
    - json_integer_value
    - json_string_value
    - json_array_get
    - strncpy
    - strcmp
    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:810,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:811,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:811,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:812,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 815
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - json_string_value
    - json_integer_value
    - strncpy
    - strcmp
    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:832,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:834,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:839,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:840,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:841,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:842,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:842,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:843,1
    - Dst: readStbSchemaCols
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:844,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:846,1
    - Dst: readStbSchemaCols
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:847,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:854,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:858,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - element
    - recordSchema
    argTypes:
    - json_t*
    - RecordSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 864
    functionName: readJsonStbSchema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - json_integer_value
    - readStbSchemaCols
    - json_string_value
    - debugPrint
    - calloc
    - 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:839,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:840,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:841,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:842,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:842,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:843,1
    - Dst: readStbSchemaCols
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:844,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:846,1
    - Dst: readStbSchemaCols
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 850
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - strcmp
    - readStbSchemaCols
    - json_string_value
    - json_integer_value
    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:869,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:870,1
    - Dst: readFile
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:873,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:881,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:884,1
    - Dst: readJsonStbSchema
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:887,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:888,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:890,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - avroFile
    - recordSchema
    argTypes:
    - char*
    - RecordSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 867
    functionDepth: 3
    functionLinenumber: 867
    functionLinenumberEnd: 896
    functionName: mFileToRecordSchema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - readJsonStbSchema
    - strcpy
    - load_json
    - strcat
    - readFile
    - errorPrint
    - json_decref
    - print_json
    - free
    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: 913
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 913
    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: 930
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 930
    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:944,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:945,1
    - Dst: readFile
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:948,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:950,1
    - Dst: hashMapFind
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:955,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:957,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - folder
    - pDbChange
    argTypes:
    - char*
    - DBChange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 960
    functionName: readFolderStbName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - strcpy
    - strcat
    - debugPrint
    - readFile
    - 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: 985
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 985
    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: 1001
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1001
    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:1009,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pstr
    - colDes
    - num
    argTypes:
    - char*
    - ColDes*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1018
    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:1024,1
    - Dst: getStbSchemaSize
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1024,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1028,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1036,1
    - Dst: colDesToJson
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1038,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1040,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1045,1
    - Dst: colDesToJson
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1047,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1049,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tableDes
    argTypes:
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1058
    functionName: tableDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 2
    functionsReached:
    - sprintf
    - colDesToJson
    - getStbSchemaSize
    - calloc
    linkageType: ''
    returnType: char
    signature: char * tableDesToJson(TableDes *tableDes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1063,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1064,1
    - Dst: tableDesToJson
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1068,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1070,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1072,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - metaFileName
    - tableDes
    argTypes:
    - char*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1078
    functionName: createNTableMFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - strcpy
    - strcat
    - tableDesToJson
    - writeFile
    - errorPrint
    - free
    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:1085,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1086,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1094
    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:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: l_isspace
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l_isspace(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: l_isspace
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:52,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:55,1
    - Dst: l_isspace
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: strip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: 0
    functionsReached:
    - l_isspace
    - strlen
    linkageType: ''
    returnType: char
    signature: char *strip(char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:69,1
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:70,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:71,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:73,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:74,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: loadfile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: 0
    functionsReached:
    - malloc
    - fread
    - ftell
    - fseek
    - exit
    linkageType: ''
    returnType: char
    signature: char *loadfile(FILE *file)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: loadfile
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:85,1
    - Dst: strtok
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:86,1
    - Dst: strtok
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:86,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:87,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:89,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:91,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:96,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:97,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:98,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:99,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:100,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:101,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:102,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:103,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:104,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:105,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:106,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:107,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:108,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:109,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:110,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:112,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:118,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - conffile
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: read_conf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: 0
    functionsReached:
    - strchr
    - printf
    - loadfile
    - atoi
    - strtok
    - free
    - strncmp
    - strcmp
    linkageType: ''
    returnType: void
    signature: void read_conf(FILE *conffile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:126,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:127,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:130,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:132,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:133,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:136,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:137,1
    - Dst: loadfile
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:140,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:141,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:145,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - str
    - path
    - fname
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 149
    functionName: cmpfile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: 0
    functionsReached:
    - sprintf
    - strcmp
    - strcat
    - printf
    - fclose
    - loadfile
    - fopen
    - free
    - exit
    linkageType: ''
    returnType: int
    signature: int cmpfile(const char *str, const char *path, const char *fname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:160,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:161,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:162,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:166,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:167,1
    - Dst: read_conf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:169,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:170,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:174,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:175,1
    - Dst: JSON_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:179,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:194,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:195,1
    - Dst: JSON_REAL_PRECISION
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:199,1
    - Dst: json_object_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:202,1
    - Dst: loadfile
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:206,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:207,1
    - Dst: strip
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:207,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:208,1
    - Dst: json_loadf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:210,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:212,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:215,1
    - Dst: cmpfile
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:218,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:222,1
    - Dst: cmpfile
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:223,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:224,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:225,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - test_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 228
    functionName: use_conf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: 0
    functionsReached:
    - JSON_REAL_PRECISION
    - fopen
    - json_dumps
    - sprintf
    - fprintf
    - json_decref
    - json_loadf
    - fclose
    - loadfile
    - read_conf
    - json_object_seed
    - json_loads
    - strip
    - free
    - cmpfile
    - JSON_INDENT
    linkageType: ''
    returnType: int
    signature: int use_conf(char *test_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:234,1
    - Dst: strtol
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: getenv_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: 0
    functionsReached:
    - getenv
    - strtol
    linkageType: ''
    returnType: int
    signature: int getenv_int(const char *name)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:254,1
    - Dst: _fileno
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:254,1
    - Dst: _setmode
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:255,1
    - Dst: _fileno
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:255,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:258,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:260,1
    - Dst: JSON_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:264,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:266,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:269,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:272,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:275,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:278,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:280,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:284,1
    - Dst: json_object_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:285,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:285,1
    - Dst: JSON_REAL_PRECISION
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:288,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:290,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:299,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:301,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:302,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:307,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:315,1
    - Dst: strip
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:315,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:316,1
    - Dst: json_loadf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:318,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:321,1
    - Dst: json_dumpf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:326,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:327,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 330
    functionName: use_env
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: 0
    functionsReached:
    - JSON_REAL_PRECISION
    - getenv
    - realloc
    - strip
    - getenv_int
    - json_dumpf
    - fprintf
    - fread
    - json_decref
    - _setmode
    - json_loadf
    - _fileno
    - json_object_seed
    - json_loads
    - free
    - JSON_INDENT
    linkageType: ''
    returnType: int
    signature: int use_env()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:337,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:345,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:347,1
    - Dst: use_env
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:354,1
    - Dst: use_conf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:359,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:363,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 366
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: 0
    functionsReached:
    - fprintf
    - use_conf
    - setlocale
    - use_env
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:14,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: create_and_free_complex_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - json_pack
    - json_decref
    linkageType: ''
    returnType: void
    signature: void create_and_free_complex_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:23,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:26,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:27,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:27,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: create_and_free_object_with_oom
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - json_object
    - json_object_set_new
    - json_integer
    - snprintf
    - json_decref
    linkageType: ''
    returnType: void
    signature: void create_and_free_object_with_oom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: my_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *my_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: my_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void my_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_set_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:47,1
    - Dst: json_get_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:48,1
    - Dst: create_and_free_complex_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:49,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: test_simple
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - create_and_free_complex_object
    - json_set_alloc_funcs
    - json_get_alloc_funcs
    - fail
    linkageType: ''
    returnType: void
    signature: void test_simple()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: oom_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *oom_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: oom_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void oom_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_set_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:70,1
    - Dst: create_and_free_object_with_oom
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:71,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: test_oom
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - create_and_free_object_with_oom
    - json_set_alloc_funcs
    - fail
    linkageType: ''
    returnType: void
    signature: void test_oom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: secure_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *secure_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:96,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: secure_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - memset
    - free
    linkageType: ''
    returnType: void
    signature: void secure_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_set_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:101,1
    - Dst: create_and_free_complex_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: test_secure_funcs
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - create_and_free_complex_object
    - json_set_alloc_funcs
    linkageType: ''
    returnType: void
    signature: void test_secure_funcs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_get_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: test_bad_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - json_get_alloc_funcs
    linkageType: ''
    returnType: void
    signature: void test_bad_args(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_simple
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:111,1
    - Dst: test_secure_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:112,1
    - Dst: test_oom
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:113,1
    - Dst: test_bad_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: 0
    functionsReached:
    - test_oom
    - test_simple
    - test_secure_funcs
    - test_bad_args
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:14,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:15,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:17,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:18,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:18,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:19,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:22,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:23,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:24,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:27,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:28,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:30,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:31,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:32,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:33,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:35,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:37,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:38,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:39,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:41,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:42,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:45,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:46,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:48,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:49,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:50,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:51,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:53,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:55,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:56,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:57,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:59,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:60,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:63,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:64,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:66,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:67,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:68,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:69,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:71,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:73,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:74,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:75,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:76,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:78,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:80,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:81,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:82,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:84,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:85,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 86
    functionName: test_equal_simple
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c
    functionUses: 0
    functionsReached:
    - json_true
    - fail
    - json_integer
    - json_real
    - json_equal
    - json_string
    - json_decref
    linkageType: ''
    returnType: void
    signature: void test_equal_simple()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:91,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:92,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:94,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:96,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:97,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:99,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:99,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:100,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:100,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:101,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:101,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:102,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:102,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:103,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:103,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:104,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:104,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:105,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:106,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:108,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:109,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:110,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:112,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:112,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:113,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:114,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:116,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: test_equal_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c
    functionUses: 0
    functionsReached:
    - json_array_append_new
    - fail
    - json_array_remove
    - json_integer
    - json_equal
    - json_string
    - json_decref
    - json_array
    linkageType: ''
    returnType: void
    signature: void test_equal_array()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:123,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:124,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:126,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:128,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:129,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:131,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:131,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:132,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:132,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:133,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:133,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:134,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:134,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:135,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:135,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:136,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:136,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:137,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:138,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:140,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:141,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:142,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:144,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:144,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:145,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:146,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:148,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:149,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:149,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:150,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:151,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:153,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 155
    functionName: test_equal_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c
    functionUses: 0
    functionsReached:
    - json_object
    - json_object_set_new
    - fail
    - json_integer
    - json_equal
    - json_object_del
    - json_string
    - json_decref
    linkageType: ''
    returnType: void
    signature: void test_equal_object()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:172,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:173,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:174,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:176,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:177,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:178,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:180,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:181,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:181,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:182,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:183,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:184,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:186,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:187,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:187,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:188,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:189,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:190,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:192,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:193,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: test_equal_complex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c
    functionUses: 0
    functionsReached:
    - json_object_set_new
    - fail
    - json_decref
    - json_object_get
    - json_array_set_new
    - json_equal
    - json_string
    - json_loads
    - json_false
    linkageType: ''
    returnType: void
    signature: void test_equal_complex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_equal_simple
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:198,1
    - Dst: test_equal_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:199,1
    - Dst: test_equal_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:200,1
    - Dst: test_equal_complex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c
    functionUses: 0
    functionsReached:
    - test_equal_simple
    - test_equal_object
    - test_equal_complex
    - test_equal_array
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:30,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:30,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:32,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:35,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:35,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:37,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:40,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:40,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:41,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:44,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:45,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:47,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:48,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:51,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:52,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:54,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:55,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:58,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:59,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:61,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:62,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:65,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:66,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:68,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:69,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:71,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:72,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:74,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:75,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:78,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:79,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:80,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:81,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:82,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:85,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:86,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:87,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:88,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:89,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:92,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:93,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:94,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:95,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:98,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:99,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:100,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:101,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:104,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:105,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:107,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:108,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:111,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:112,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:114,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:115,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:116,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:119,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:120,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:122,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:123,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:126,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:127,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:129,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:130,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:133,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:134,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:136,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:137,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:143,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:144,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:145,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:146,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:149,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:150,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:151,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:152,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:155,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:156,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:157,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:158,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:160,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:162,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:163,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:164,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:165,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:167,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:170,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:171,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:172,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:173,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:175,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:178,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:179,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:180,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:181,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:183,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:186,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:187,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:188,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:189,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:191,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:193,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:194,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:195,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:196,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:198,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:201,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:202,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:203,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:204,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:206,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:209,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:210,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:211,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:212,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:213,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:216,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:217,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:218,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:219,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:220,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:223,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:224,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:225,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:228,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:229,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:230,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:233,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:234,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:235,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:238,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:239,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:240,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:243,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:244,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:245,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:248,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:249,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:250,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:253,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:254,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:255,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:258,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:259,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:260,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:263,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:264,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:267,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:268,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:269,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:270,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:272,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:275,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:276,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:277,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:278,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:279,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:282,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:283,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:284,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:285,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:287,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:293,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:294,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:296,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:297,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:299,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:300,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:301,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:302,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:304,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:307,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:308,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:309,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:310,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:312,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:314,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:315,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:316,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:317,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:318,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:321,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:322,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:323,1
    - Dst: check_errors
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:327,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:330,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:332,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:333,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:335,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:336,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:339,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:340,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:341,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:342,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:345,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:346,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:347,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:349,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:351,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:352,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:353,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:354,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:357,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:358,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:359,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:361,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:364,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:365,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:366,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:367,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:369,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:372,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:373,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:374,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:375,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:377,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:380,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:382,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:383,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:385,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:386,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:389,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:390,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:391,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:393,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:394,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:396,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:398,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:399,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:401,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:402,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:404,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:405,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:406,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:408,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:409,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:412,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:414,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:415,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:417,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:419,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:420,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:423,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:425,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:426,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:428,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:430,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 270
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 431
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c
    functionUses: 0
    functionsReached:
    - json_true
    - json_object
    - fail
    - json_integer
    - check_errors
    - json_unpack
    - json_decref
    - json_real
    - json_pack
    - json_unpack_ex
    - check_error
    - json_array
    - json_string
    - json_false
    - json_null
    - strcmp
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:13,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:14,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:17,1
    - Dst: json_string_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:19,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:20,1
    - Dst: json_stringn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:21,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:22,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:23,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:24,1
    - Dst: json_stringn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:25,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:26,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:28,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:29,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:30,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:31,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:33,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:34,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:35,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:36,1
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:38,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:39,1
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:40,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:41,1
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:42,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:43,1
    - Dst: json_string_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:45,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:46,1
    - Dst: json_string_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:48,1
    - Dst: json_string_setn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:49,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:50,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:53,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:55,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:57,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:58,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 59
    functionName: test_bad_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c
    functionUses: 1
    functionsReached:
    - fail
    - json_integer
    - json_string_setn
    - json_decref
    - json_stringn
    - json_string_value
    - json_string_length
    - json_string
    - json_string_set
    - json_stringn_nocheck
    - json_string_setn_nocheck
    - json_string_nocheck
    - json_string_set_nocheck
    linkageType: ''
    returnType: void
    signature: void test_bad_args(void)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: json_boolean
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:65,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:66,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:67,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:68,1
    - Dst: json_boolean
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:70,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:71,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:72,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:73,1
    - Dst: json_boolean
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:75,1
    - Dst: json_is_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:76,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:77,1
    - Dst: json_boolean_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:78,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:79,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:80,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:82,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:83,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:84,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:86,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:87,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:89,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:90,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:92,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:93,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:95,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:96,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:98,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:99,1
    - Dst: json_is_number
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:101,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:102,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:104,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:105,1
    - Dst: json_is_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:107,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:108,1
    - Dst: json_is_boolean
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:110,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:111,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:113,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:114,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:116,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:118,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:120,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:121,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:121,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:122,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:123,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:124,1
    - Dst: json_string_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:126,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:127,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:128,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:128,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:129,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:130,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:131,1
    - Dst: json_string_setn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:133,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:134,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:135,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:135,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:136,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:137,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:138,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:140,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:142,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:144,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:147,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:149,1
    - Dst: json_string_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:151,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:153,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:154,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:154,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:155,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:156,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:157,1
    - Dst: json_string_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:159,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:160,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:161,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:161,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:162,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:163,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:164,1
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:166,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:167,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:168,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:168,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:169,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:170,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:171,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:173,1
    - Dst: json_string_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:176,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:178,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:179,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:179,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:180,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:181,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:182,1
    - Dst: json_string_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:184,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:185,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:186,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:186,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:187,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:188,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:189,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:191,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:193,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:195,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:196,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:197,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:198,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:199,1
    - Dst: json_integer_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:201,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:202,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:203,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:204,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:205,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:206,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:208,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:210,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:212,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:213,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:214,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:215,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:216,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:218,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:219,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:220,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:221,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:222,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:223,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:225,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:227,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:229,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:230,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:232,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:234,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:235,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:237,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:239,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:240,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:243,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:245,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:246,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:248,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:249,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:251,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:253,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:255,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:256,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:258,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:259,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:261,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:263,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:265,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:266,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:268,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:269,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:271,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:274,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:276,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:278,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:279,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:282,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:283,1
    - Dst: test_bad_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:286,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 174
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 287
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c
    functionUses: 0
    functionsReached:
    - json_real_value
    - json_is_number
    - json_integer_set
    - json_typeof
    - json_real
    - test_bad_args
    - json_string
    - json_is_integer
    - json_string_set
    - strcmp
    - json_is_true
    - json_is_string
    - json_number_value
    - json_string_setn
    - json_is_object
    - json_is_array
    - json_is_boolean
    - json_boolean
    - json_is_false
    - json_string_setn_nocheck
    - json_is_real
    - json_true
    - memcmp
    - fail
    - json_incref
    - json_real_set
    - json_boolean_value
    - json_decref
    - json_false
    - json_null
    - json_string_set_nocheck
    - json_integer_value
    - json_integer
    - json_is_null
    - json_string_value
    - json_string_length
    - json_string_nocheck
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:32,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:33,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:34,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:37,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:38,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:39,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:42,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:43,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: test_inifity
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c
    functionUses: 0
    functionsReached:
    - check_error
    - json_pack_ex
    - fail
    linkageType: ''
    returnType: void
    signature: void test_inifity()
  - BBCount: 105
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:63,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:64,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:65,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:67,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:68,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:71,1
    - Dst: json_is_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:72,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:73,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:75,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:76,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:79,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:80,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:81,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:83,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:84,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:87,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:88,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:88,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:89,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:91,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:92,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:95,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:96,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:96,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:97,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:99,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:100,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:103,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:104,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:104,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:105,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:107,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:108,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:111,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:112,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:112,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:112,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:113,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:115,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:116,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:119,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:120,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:120,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:120,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:121,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:123,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:124,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:127,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:128,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:129,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:131,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:132,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:135,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:136,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:137,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:141,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:142,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:143,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:147,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:148,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:148,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:148,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:149,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:151,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:152,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:155,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:156,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:156,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:156,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:157,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:159,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:160,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:163,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:164,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:164,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:164,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:165,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:167,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:168,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:171,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:172,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:172,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:172,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:173,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:175,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:176,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:179,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:180,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:182,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:183,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:183,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:183,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:184,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:186,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:187,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:190,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:191,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:191,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:191,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:192,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:194,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:195,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:198,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:199,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:199,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:199,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:200,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:202,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:204,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:207,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:208,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:208,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:209,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:211,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:212,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:215,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:216,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:216,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:217,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:219,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:220,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:223,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:223,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:224,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:224,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:225,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:227,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:228,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:231,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:231,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:232,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:232,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:233,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:235,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:236,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:239,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:240,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:241,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:243,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:244,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:247,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:247,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:248,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:248,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:249,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:251,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:252,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:253,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:256,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:256,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:257,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:257,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:258,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:260,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:262,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:263,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:266,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:267,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:268,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:270,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:273,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:274,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:274,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:275,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:276,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:276,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:277,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:278,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:279,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:280,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:283,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:284,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:284,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:285,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:286,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:286,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:287,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:288,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:289,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:290,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:293,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:295,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:297,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:299,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:301,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:302,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:303,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:306,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:307,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:307,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:308,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:309,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:311,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:313,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:316,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:317,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:318,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:321,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:322,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:323,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:327,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:328,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:328,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:329,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:331,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:331,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:332,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:332,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:334,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:336,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:339,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:341,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:343,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:344,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:345,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:348,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:350,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:351,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:352,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:352,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:353,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:354,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:358,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:359,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:360,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:363,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:364,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:365,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:368,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:369,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:370,1
    - Dst: test_inifity
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:375,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:379,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:380,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:380,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:380,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:381,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:382,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:385,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:386,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:386,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:387,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:388,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:391,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:392,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:392,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:393,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:394,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:401,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:402,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:403,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:407,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:408,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:409,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:412,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:413,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:414,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:418,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:419,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:420,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:424,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:425,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:426,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:430,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:431,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:432,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:435,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:436,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:437,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:441,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:442,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:443,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:446,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:447,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:448,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:452,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:453,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:454,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:458,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:459,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:460,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:464,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:465,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:466,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:469,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:469,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:470,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:471,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:472,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:474,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:475,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:478,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:479,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:480,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:484,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:485,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:486,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:490,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:491,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:492,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:496,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:497,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:498,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:501,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:502,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:503,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:506,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:507,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:509,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:512,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:513,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:515,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:518,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:519,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:520,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:522,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:523,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:524,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:526,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:527,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:528,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:530,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:531,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:532,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:534,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:535,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:536,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:539,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:540,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:541,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:544,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:544,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:545,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:546,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 320
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 547
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c
    functionUses: 0
    functionsReached:
    - json_real_value
    - json_array_get
    - json_is_integer
    - json_pack_ex
    - strcmp
    - json_is_true
    - json_is_string
    - test_inifity
    - json_is_object
    - json_is_array
    - json_is_false
    - json_is_real
    - json_object
    - fail
    - json_incref
    - json_pack
    - json_decref
    - json_integer_value
    - json_array_size
    - json_integer
    - json_is_null
    - json_object_get
    - json_string_value
    - check_error
    - json_object_size
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fds
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: pipe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pipe(fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: encode_null_callback
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int encode_null_callback(const char *buffer, size_t size, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:29,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:30,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:32,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:33,1
    - Dst: json_dumpf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:35,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:36,1
    - Dst: json_dumpfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:39,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:40,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:45,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: encode_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 0
    functionsReached:
    - json_dumps
    - json_dumpfd
    - json_dumpb
    - json_dumpf
    - fail
    - json_dump_callback
    linkageType: ''
    returnType: void
    signature: void encode_null()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:55,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:56,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:57,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:58,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:59,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:61,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:61,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:62,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:63,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:64,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:65,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:67,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:69,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:70,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:71,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:72,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:73,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:75,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:75,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:76,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:77,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:78,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:79,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 82
    functionName: encode_twice
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 0
    functionsReached:
    - json_object
    - json_dumps
    - fail
    - json_object_set_new
    - json_array_append_new
    - json_integer
    - strcmp
    - json_array
    - json_decref
    - free
    linkageType: ''
    returnType: void
    signature: void encode_twice()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:96,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:97,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:97,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:98,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:98,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:98,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:99,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:99,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:99,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:100,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:102,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:103,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:105,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:105,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:105,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:107,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:108,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:109,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:110,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:112,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:114,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:115,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:115,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:116,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:116,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:116,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:117,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:117,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:117,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:118,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:120,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:121,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:123,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:123,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:123,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:125,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:126,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:127,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:128,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 131
    functionName: circular_references
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 0
    functionsReached:
    - json_dumps
    - json_object
    - json_object_set_new
    - fail
    - json_array_append_new
    - json_array_remove
    - json_decref
    - json_array_append
    - json_object_get
    - json_array_get
    - json_object_del
    - json_array
    - free
    - json_object_set
    - strcmp
    linkageType: ''
    returnType: void
    signature: void circular_references()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:140,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:141,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:142,1
    - Dst: json_dumpf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:143,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:144,1
    - Dst: json_dumpfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:145,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:146,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:148,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:149,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:150,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:152,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:153,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:155,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:156,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:157,1
    - Dst: json_dumpf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:158,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:159,1
    - Dst: json_dumpfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:160,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:161,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:163,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:164,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:165,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:167,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 169
    functionName: encode_other_than_array_or_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 0
    functionsReached:
    - json_dumps
    - json_dumpfd
    - json_dumpf
    - fail
    - json_integer
    - json_decref
    - json_string
    - free
    - strcmp
    linkageType: ''
    returnType: void
    signature: void encode_other_than_array_or_object()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:177,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:178,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:178,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:180,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:181,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:182,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:184,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:186,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:188,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:189,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:191,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 193
    functionName: escape_slashes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 0
    functionsReached:
    - json_object
    - json_object_set_new
    - json_dumps
    - fail
    - json_decref
    - json_string
    - free
    - strcmp
    linkageType: ''
    returnType: void
    signature: void escape_slashes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_stringn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:199,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:200,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:201,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:202,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:204,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: encode_nul_byte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 0
    functionsReached:
    - json_dumps
    - memcmp
    - fail
    - json_decref
    - json_stringn
    - free
    linkageType: ''
    returnType: void
    signature: void encode_nul_byte()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_dump_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:212,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:214,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:216,1
    - Dst: json_dump_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:217,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:219,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:221,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: dump_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 1
    functionsReached:
    - json_object
    - fail
    - remove
    - json_decref
    - json_dump_file
    linkageType: ''
    returnType: void
    signature: void dump_file()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:230,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:232,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:233,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:234,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:236,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:237,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:239,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:241,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: dumpb
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 2
    functionsReached:
    - json_object
    - fail
    - json_dumpb
    - json_pack
    - json_decref
    - strncmp
    linkageType: ''
    returnType: void
    signature: void dumpb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:251,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:252,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:254,1
    - Dst: json_dumpfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:256,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:257,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:258,1
    - Dst: json_loadfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:260,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:262,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:263,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:265,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:266,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:268,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 271
    functionName: dumpfd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 3
    functionsReached:
    - json_dumpfd
    - fail
    - pipe
    - close
    - json_pack
    - json_equal
    - json_loadfd
    - json_decref
    linkageType: ''
    returnType: void
    signature: void dumpfd()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:286,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:287,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:288,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:290,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:291,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:293,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:294,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:295,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 298
    functionName: embed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 0
    functionsReached:
    - strlen
    - fail
    - json_dumpb
    - calloc
    - json_loads
    - json_decref
    - strncmp
    - free
    linkageType: ''
    returnType: void
    signature: void embed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:301,1
    - Dst: encode_twice
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:302,1
    - Dst: circular_references
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:303,1
    - Dst: encode_other_than_array_or_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:304,1
    - Dst: escape_slashes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:305,1
    - Dst: encode_nul_byte
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:306,1
    - Dst: dump_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:307,1
    - Dst: dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:308,1
    - Dst: dumpfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:309,1
    - Dst: embed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: 0
    functionsReached:
    - embed
    - circular_references
    - dumpb
    - escape_slashes
    - encode_nul_byte
    - dump_file
    - encode_null
    - dumpfd
    - encode_other_than_array_or_object
    - encode_twice
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:13,1
    - Dst: jansson_version_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:13,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: test_version_str
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c
    functionUses: 0
    functionsReached:
    - jansson_version_str
    - fail
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_version_str(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:19,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:21,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:24,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:25,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:29,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:31,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:36,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:38,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:42,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:44,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:49,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:52,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:54,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 56
    functionName: test_version_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c
    functionUses: 0
    functionsReached:
    - jansson_version_cmp
    - fail
    linkageType: ''
    returnType: void
    signature: void test_version_cmp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_version_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:59,1
    - Dst: test_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c
    functionUses: 0
    functionsReached:
    - test_version_cmp
    - test_version_str
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:15,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:16,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:19,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:20,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:22,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:23,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:24,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:27,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:28,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:30,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:31,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:32,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:35,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:36,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:38,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:39,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:40,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:43,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:45,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:46,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:48,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:50,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:51,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:52,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:54,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:55,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:56,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:59,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:61,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:62,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:64,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:66,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:67,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:68,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:70,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:71,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:72,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:75,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:77,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:78,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:80,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:82,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:83,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:84,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:86,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:87,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:88,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 89
    functionName: test_copy_simple
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: 0
    functionsReached:
    - json_true
    - fail
    - json_integer
    - json_decref
    - json_copy
    - json_real
    - json_equal
    - json_string
    - json_false
    - json_null
    linkageType: ''
    returnType: void
    signature: void test_copy_simple(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:94,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:95,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:98,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:99,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:101,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:102,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:103,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:106,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:107,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:109,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:110,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:111,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:114,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:115,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:117,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:118,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:119,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:122,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:124,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:125,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:127,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:129,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:130,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:131,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:133,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:134,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:135,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:138,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:140,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:141,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:143,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:145,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:146,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:147,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:149,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:150,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:151,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:154,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:156,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:157,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:159,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:161,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:162,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:163,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:165,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:166,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:167,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 168
    functionName: test_deep_copy_simple
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: 0
    functionsReached:
    - json_true
    - fail
    - json_integer
    - json_false
    - json_real
    - json_equal
    - json_deep_copy
    - json_string
    - json_decref
    - json_null
    linkageType: ''
    returnType: void
    signature: void test_deep_copy_simple(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:176,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:178,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:180,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:182,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:184,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:185,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:186,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:188,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:189,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:189,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:190,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:193,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: test_copy_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - fail
    - json_copy
    - json_array_get
    - json_equal
    - json_loads
    - json_decref
    linkageType: ''
    returnType: void
    signature: void test_copy_array(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:203,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:205,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:207,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:209,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:211,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:212,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:213,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:215,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:216,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:216,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:217,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:220,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 222
    functionName: test_deep_copy_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - fail
    - json_array_get
    - json_equal
    - json_deep_copy
    - json_loads
    - json_decref
    linkageType: ''
    returnType: void
    signature: void test_deep_copy_array(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:234,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:236,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:238,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:240,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:242,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:243,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:244,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:247,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:252,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:253,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:254,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:257,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:259,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:260,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:262,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:266,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 268
    functionName: test_copy_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: 0
    functionsReached:
    - json_object_iter_next
    - fail
    - json_object_iter_key
    - json_copy
    - json_object_iter
    - json_object_get
    - json_object_iter_value
    - json_equal
    - json_loads
    - json_decref
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_copy_object(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:280,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:282,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:284,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:286,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:288,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:289,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:290,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:293,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:298,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:299,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:300,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:303,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:305,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:306,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:308,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:312,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 314
    functionName: test_deep_copy_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: 0
    functionsReached:
    - json_object_iter_next
    - fail
    - json_object_iter_key
    - json_object_iter
    - json_object_get
    - json_object_iter_value
    - json_equal
    - json_deep_copy
    - json_loads
    - json_decref
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_deep_copy_object(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:328,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:329,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:329,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:330,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:330,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:330,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:331,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:331,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:331,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:332,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:334,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:336,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:338,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:338,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:338,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:340,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:342,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:344,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:345,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:347,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:348,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:348,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:349,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:349,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:349,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:350,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:350,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:350,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:351,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:353,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:355,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:357,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:357,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:357,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:359,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:361,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:363,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 365
    functionName: test_deep_copy_circular_references
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: 0
    functionsReached:
    - json_object
    - json_object_set_new
    - fail
    - json_array_append_new
    - json_array_remove
    - json_array_append
    - json_object_get
    - json_array_get
    - json_object_del
    - json_deep_copy
    - json_decref
    - json_object_set
    - json_array
    linkageType: ''
    returnType: void
    signature: void test_deep_copy_circular_references(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_copy_simple
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:368,1
    - Dst: test_deep_copy_simple
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:369,1
    - Dst: test_copy_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:370,1
    - Dst: test_deep_copy_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:371,1
    - Dst: test_copy_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:372,1
    - Dst: test_deep_copy_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:373,1
    - Dst: test_deep_copy_circular_references
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: 0
    functionsReached:
    - test_deep_copy_object
    - test_copy_array
    - test_deep_copy_circular_references
    - test_deep_copy_array
    - test_deep_copy_simple
    - test_copy_object
    - test_copy_simple
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:21,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:23,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:25,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:26,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:27,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:29,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:30,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: test_inifity
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c
    functionUses: 1
    functionsReached:
    - json_real_value
    - fail
    - json_real
    - json_real_set
    - json_decref
    linkageType: ''
    returnType: void
    signature: void test_inifity()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:40,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:42,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:43,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:44,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:45,1
    - Dst: json_integer_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:48,1
    - Dst: json_integer_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:49,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:50,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:52,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:53,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:54,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:55,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:57,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:58,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:59,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:60,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:62,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:63,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:64,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:65,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:68,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:70,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: test_bad_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c
    functionUses: 2
    functionsReached:
    - json_real_value
    - fail
    - json_number_value
    - json_integer_set
    - json_real_set
    - json_string
    - json_decref
    - json_integer_value
    linkageType: ''
    returnType: void
    signature: void test_bad_args(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:78,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:79,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:82,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:84,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:86,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:88,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:90,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:92,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:94,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:96,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:97,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:99,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:101,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:102,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:105,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:107,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:109,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:110,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:111,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:113,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:114,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:116,1
    - Dst: test_inifity
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:120,1
    - Dst: test_bad_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 123
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c
    functionUses: 0
    functionsReached:
    - json_real_value
    - fail
    - json_number_value
    - json_integer
    - json_real
    - test_inifity
    - json_real_set
    - test_bad_args
    - json_decref
    - json_integer_value
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: fail
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/util.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - code_
    - ','
    - texts_
    - ','
    - num_
    - ','
    - source_
    - ','
    - line_
    - ','
    - column_
    - ','
    - position_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 78
    functionName: check_errors
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_errors(code_, texts_, num_, source_, line_, column_, position_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - code_
    - ','
    - text_
    - ','
    - source_
    - ','
    - line_
    - ','
    - column_
    - ','
    - position_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: check_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_error(code_, text_, source_, line_, column_, position_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/util.h:87,1
    - Dst: run_tests
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/util.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/util.h
    functionUses: 0
    functionsReached:
    - setlocale
    - run_tests
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:6,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:8,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:9,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:10,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:11,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:11,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:12,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:14,1
    - Dst: json_sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:16,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:18,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:19,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:20,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:21,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:22,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:23,1
    - Dst: json_sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:25,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:26,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 27
    functionName: test_sprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c
    functionUses: 0
    functionsReached:
    - json_sprintf
    - json_is_string
    - fail
    - json_string_value
    - json_string_length
    - json_decref
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_sprintf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c: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: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c
    functionUses: 1
    functionsReached:
    - test_sprintf
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - buflen
    - arg
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: greedy_reader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t greedy_reader(void *buf, size_t buflen, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:40,1
    - Dst: json_load_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:43,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:46,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:47,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:50,1
    - Dst: json_load_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:53,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:55,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:56,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:59,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:60,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:62,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:63,1
    - Dst: json_load_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:67,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:69,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:70,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:73,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 77
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c
    functionUses: 1
    functionsReached:
    - strlen
    - fail
    - json_decref
    - json_load_callback
    - strcmp
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:27,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:28,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 33
    functionName: test_keylen_iterator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: 0
    functionsReached:
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void test_keylen_iterator(json_t *object)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:27,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:28,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: json_object_keylen_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: 0
    functionsReached:
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void json_object_keylen_foreach(object, key, keylen, value)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:36,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:42,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:43,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:45,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:45,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:48,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:50,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:50,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:51,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:53,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:54,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:56,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:56,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:57,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:59,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:60,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:62,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:62,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:63,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:65,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:65,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:66,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:68,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:69,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:71,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:71,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:72,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:74,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:75,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:77,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:77,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:78,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:80,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:81,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:83,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:83,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:84,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:86,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:87,1
    - Dst: test_keylen_iterator
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:89,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:91,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:91,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:92,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:94,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:95,1
    - Dst: json_object_deln
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:97,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:98,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:99,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:100,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:101,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:102,1
    - Dst: json_object_deln
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:104,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:105,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:106,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:107,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:108,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:109,1
    - Dst: json_object_deln
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:111,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:112,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:113,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:114,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:115,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:116,1
    - Dst: json_object_deln
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:118,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:119,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:120,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:121,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:122,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:123,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:125,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 126
    functionName: test_keylen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: 0
    functionsReached:
    - json_true
    - test_keylen_iterator
    - json_object
    - fail
    - json_object_getn
    - json_decref
    - json_object_get
    - json_object_deln
    - json_object_set_new_nocheck
    - json_false
    - json_object_size
    - json_object_setn_nocheck
    linkageType: ''
    returnType: void
    signature: void test_keylen(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:129,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:132,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:132,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:134,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:135,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:137,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:138,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:140,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:141,1
    - Dst: json_object_setn_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:143,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:143,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:144,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:146,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:146,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:147,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:149,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:150,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: test_invalid_keylen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: 0
    functionsReached:
    - json_true
    - json_object
    - fail
    - json_object_setn_new_nocheck
    - json_object_getn
    - json_object_setn_new
    - json_object_set_new_nocheck
    - json_object_del
    - json_decref
    linkageType: ''
    returnType: void
    signature: void test_invalid_keylen(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:156,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:160,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:160,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:161,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:161,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:163,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:163,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:164,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:166,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:166,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:167,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: test_binary_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: 0
    functionsReached:
    - json_true
    - json_is_true
    - json_object
    - fail
    - json_object_getn
    - json_decref
    - json_object_setn_nocheck
    linkageType: ''
    returnType: void
    signature: void test_binary_keys(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:173,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:182,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:182,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:183,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:183,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:185,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:187,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:189,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:190,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:192,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:193,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:194,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:196,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: test_dump_order
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: 0
    functionsReached:
    - json_object
    - memcmp
    - json_object_setn_new_nocheck
    - json_dumpb
    - fail
    - malloc
    - json_string
    - json_decref
    - free
    linkageType: ''
    returnType: void
    signature: void test_dump_order(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_keylen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:201,1
    - Dst: test_invalid_keylen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:202,1
    - Dst: test_binary_keys
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:203,1
    - Dst: test_dump_order
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: 1
    functionsReached:
    - test_invalid_keylen
    - test_binary_keys
    - test_dump_order
    - test_keylen
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:15,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:16,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:19,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:21,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:23,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:23,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:24,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:24,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:25,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:26,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:28,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:29,1
    - Dst: json_object_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:31,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:33,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:34,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:36,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:37,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 38
    functionName: test_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_object_clear
    - json_object
    - fail
    - json_integer
    - json_decref
    - json_object_size
    - json_object_set
    linkageType: ''
    returnType: void
    signature: void test_clear()
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:43,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:44,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:46,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:50,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:52,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:56,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:57,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:59,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:60,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:62,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:63,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:67,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:67,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:68,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:68,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:69,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:70,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:72,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:73,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:75,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:76,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:78,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:78,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:79,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:79,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:80,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:81,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:85,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:86,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:88,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:89,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:91,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:91,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:92,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:92,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:93,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:94,1
    - Dst: json_object_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:99,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:100,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:102,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:102,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:103,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:103,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:104,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:105,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:107,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:108,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:110,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:111,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:113,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:113,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:114,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:114,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:115,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:116,1
    - Dst: json_object_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:119,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:120,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:122,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:122,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:123,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:123,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:124,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:125,1
    - Dst: json_object_update_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:127,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:128,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:129,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:131,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:132,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:134,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:134,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:135,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:135,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:136,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:136,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:137,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:138,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:140,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:141,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:142,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:143,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 144
    functionName: test_update
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_object_clear
    - json_object
    - fail
    - json_integer
    - json_object_set
    - json_object_get
    - json_pack
    - json_object_update_new
    - json_decref
    - json_object_size
    - json_object_update
    linkageType: ''
    returnType: void
    signature: void test_update()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:152,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:154,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:156,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:158,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:161,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:163,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:164,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:167,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 169
    functionName: test_set_many_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - strlen
    - json_object
    - fail
    - json_string
    - json_decref
    - json_object_set
    linkageType: ''
    returnType: void
    signature: void test_set_many_keys()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:174,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:175,1
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:177,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:178,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:180,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:181,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:183,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:183,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:184,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:186,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:186,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:187,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:189,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:192,1
    - Dst: json_object_update_existing_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:194,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:194,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:195,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:197,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:198,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:200,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:200,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:201,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:203,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:203,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:204,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:206,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:208,1
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:210,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:211,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:213,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:214,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:216,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:216,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:217,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:219,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:219,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:220,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:222,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:222,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:223,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:225,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:228,1
    - Dst: json_object_update_missing_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:230,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:230,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:231,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:233,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:234,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:236,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:236,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:237,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:239,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:239,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:240,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:242,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:242,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:243,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:245,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:246,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 247
    functionName: test_conditional_updates
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_object_update_missing
    - fail
    - json_object_update_missing_new
    - json_object_update_existing
    - json_object_get
    - json_pack
    - json_object_update_existing_new
    - json_decref
    - json_object_size
    - json_integer_value
    linkageType: ''
    returnType: void
    signature: void test_conditional_updates()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:252,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:254,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:255,1
    - Dst: json_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:257,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:258,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:260,1
    - Dst: json_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:262,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:263,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:265,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:266,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:268,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:268,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:269,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:271,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:271,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:272,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:274,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:274,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:275,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:277,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:278,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:280,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:281,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:282,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:285,1
    - Dst: json_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:287,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:288,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:290,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:291,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:293,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:294,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:296,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:296,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:296,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:297,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:299,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:301,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:304,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:306,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:307,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:310,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:311,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:312,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:312,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:312,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:313,1
    - Dst: json_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:315,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:316,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:318,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:318,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:318,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:319,1
    - Dst: json_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:321,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:322,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:324,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:325,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 326
    functionName: test_recursive_updates
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_object_set_new
    - fail
    - json_object_update_recursive
    - json_integer
    - json_object_get
    - json_pack
    - json_decref
    - json_object_size
    - json_object_set
    - json_integer_value
    linkageType: ''
    returnType: void
    signature: void test_recursive_updates()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:331,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:332,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:334,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:337,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:338,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:341,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:341,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:342,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:345,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:346,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:349,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:350,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 352
    functionName: test_circular
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_dumps
    - json_object
    - fail
    - json_decref
    - json_object_set
    linkageType: ''
    returnType: void
    signature: void test_circular()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:357,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:358,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:361,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:363,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:365,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:366,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:367,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:368,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:371,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:372,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:373,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:374,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:376,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:376,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:377,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:378,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:378,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:379,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:382,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:382,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:383,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:384,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:384,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:385,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:387,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 389
    functionName: test_set_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_object
    - fail
    - json_integer
    - json_object_get
    - json_object_set_new_nocheck
    - json_object_set_nocheck
    - json_string
    - json_decref
    - json_integer_value
    linkageType: ''
    returnType: void
    signature: void test_set_nocheck()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:395,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:396,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:398,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:399,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:401,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:402,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:403,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:404,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:406,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:408,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:409,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:411,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:411,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:412,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:413,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:415,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:417,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:418,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:418,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:419,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:420,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:421,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:423,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:425,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:426,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:426,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:427,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:428,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:429,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:431,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:433,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:434,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:434,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:435,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:436,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:437,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:439,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:440,1
    - Dst: json_object_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:442,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:443,1
    - Dst: json_object_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:445,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:447,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:449,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:449,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:450,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:451,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:452,1
    - Dst: json_object_iter_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:454,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:455,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:457,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:457,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:458,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:459,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:460,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:461,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:462,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:464,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:465,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:466,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:467,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 468
    functionName: test_iterators
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_object_iter_set
    - json_object
    - fail
    - json_object_iter_key
    - json_object_iter_at
    - strcmp
    - json_object_iter
    - json_object_get
    - json_object_iter_value
    - json_string
    - json_decref
    - json_object_set
    - json_object_iter_next
    linkageType: ''
    returnType: void
    signature: void test_iterators()
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:473,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:474,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:475,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:478,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:480,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:482,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:483,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:485,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:486,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:488,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:489,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:491,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:492,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:494,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:495,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:497,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:498,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:501,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:502,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:504,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:506,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:508,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:511,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:511,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:512,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:513,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:515,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:517,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:519,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:521,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:522,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:524,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:526,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:528,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:530,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:531,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:533,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:534,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:536,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:537,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:539,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:540,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:544,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:545,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:547,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:548,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:550,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:551,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:553,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:554,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:556,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:557,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:559,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:560,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:562,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:562,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:563,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:565,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:566,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:566,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:567,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:569,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:569,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:570,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:572,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:573,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:575,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:576,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:577,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 578
    functionName: test_misc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_object
    - json_object_set_new
    - fail
    - json_integer
    - json_object_get
    - json_object_del
    - json_string
    - json_is_integer
    - json_decref
    - json_object_set
    - json_integer_value
    linkageType: ''
    returnType: void
    signature: void test_misc()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:587,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:589,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:589,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:590,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:590,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:591,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:591,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:592,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:592,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:593,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:593,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:596,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:596,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:599,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:602,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:602,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:604,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:606,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:607,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:608,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:611,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 613
    functionName: test_preserve_order
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_object
    - json_object_set_new
    - json_dumps
    - fail
    - json_integer
    - fprintf
    - json_decref
    - json_object_del
    - free
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_preserve_order()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:619,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:620,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:622,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:622,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:624,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:625,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:627,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 629
    functionName: test_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_object
    - json_object_foreach
    - fail
    - json_pack
    - json_equal
    - json_decref
    - json_object_set
    linkageType: ''
    returnType: void
    signature: void test_object_foreach()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:636,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:638,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:640,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:641,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 644
    functionName: test_object_foreach_safe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - fail
    - json_pack
    - json_object_del
    - json_decref
    - json_object_size
    linkageType: ''
    returnType: void
    signature: void test_object_foreach_safe()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 638
    functionName: json_object_foreach_safe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 0
    functionsReached:
    - json_object_del
    linkageType: ''
    returnType: void
    signature: void json_object_foreach_safe(object, tmp, key, value)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:647,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:648,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:652,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:654,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:654,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:655,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:657,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:659,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:661,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:662,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:663,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:664,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:666,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:667,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:668,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:669,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:670,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:671,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:673,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:673,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:674,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:676,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:676,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:677,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:679,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:679,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:680,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:682,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:682,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:683,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:685,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:686,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:687,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:688,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:689,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:690,1
    - Dst: json_object_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:692,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:693,1
    - Dst: json_object_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:694,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:695,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:697,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:698,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:700,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:701,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:703,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:704,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:706,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:707,1
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:710,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:711,1
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:713,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:714,1
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:716,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:717,1
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:719,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:720,1
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:723,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:724,1
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:726,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:727,1
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:729,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:730,1
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:732,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:733,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:736,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:737,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:738,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:739,1
    - Dst: json_object_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:741,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:742,1
    - Dst: json_object_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:743,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:744,1
    - Dst: json_object_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:745,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:746,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:748,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:749,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:750,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:751,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:753,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:754,1
    - Dst: json_object_key_to_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:756,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:757,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:759,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:760,1
    - Dst: json_object_iter_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:762,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:762,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:763,1
    - Dst: json_object_iter_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:765,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:765,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:766,1
    - Dst: json_object_iter_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:768,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:768,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:769,1
    - Dst: json_object_iter_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:770,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:771,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:774,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:777,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:779,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:780,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 781
    functionName: test_bad_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 3
    functionsReached:
    - json_object_clear
    - json_object_set_new_nocheck
    - json_object_del
    - json_object_update_missing
    - json_object_iter_key
    - json_object_iter_at
    - json_object_key_to_iter
    - json_object_update
    - json_object_iter_next
    - json_object
    - fail
    - json_object_update_existing
    - json_incref
    - json_object_iter_value
    - json_object_iter_set_new
    - json_decref
    - json_null
    - json_object_set
    - json_integer
    - json_object_iter
    - json_object_get
    - json_object_size
    linkageType: ''
    returnType: void
    signature: void test_bad_args(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_misc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:784,1
    - Dst: test_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:785,1
    - Dst: test_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:786,1
    - Dst: test_set_many_keys
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:787,1
    - Dst: test_conditional_updates
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:788,1
    - Dst: test_recursive_updates
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:789,1
    - Dst: test_circular
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:790,1
    - Dst: test_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:791,1
    - Dst: test_iterators
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:792,1
    - Dst: test_preserve_order
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:793,1
    - Dst: test_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:794,1
    - Dst: test_object_foreach_safe
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:795,1
    - Dst: test_bad_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 797
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: 1
    functionsReached:
    - test_clear
    - test_object_foreach_safe
    - test_preserve_order
    - test_set_nocheck
    - test_circular
    - test_object_foreach
    - test_update
    - test_misc
    - test_iterators
    - test_bad_args
    - test_set_many_keys
    - test_recursive_updates
    - test_conditional_updates
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_load_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:17,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:19,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:21,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:26,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:28,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:32,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:33,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:34,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 36
    functionName: file_not_found
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 0
    functionsReached:
    - fail
    - json_load_file
    - json_error_code
    - strchr
    - strcmp
    linkageType: ''
    returnType: void
    signature: void file_not_found()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_load_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:42,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:46,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:48,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:50,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:51,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:52,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: very_long_file_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 0
    functionsReached:
    - json_error_code
    - json_load_file
    - strncmp
    - fail
    linkageType: ''
    returnType: void
    signature: void very_long_file_name()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:59,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:60,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: reject_duplicates
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 0
    functionsReached:
    - check_error
    - json_loads
    - fail
    linkageType: ''
    returnType: void
    signature: void reject_duplicates()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:71,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:72,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:73,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:76,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:78,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: disable_eof_check
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 0
    functionsReached:
    - check_error
    - json_loads
    - json_decref
    - fail
    linkageType: ''
    returnType: void
    signature: void disable_eof_check()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:87,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:88,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:89,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:90,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:92,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:93,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:94,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:95,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:97,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:98,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:99,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:100,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:102,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:103,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:104,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: decode_any
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 0
    functionsReached:
    - json_is_true
    - json_is_string
    - fail
    - json_is_null
    - json_is_integer
    - json_loads
    - json_decref
    linkageType: ''
    returnType: void
    signature: void decode_any()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:119,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:120,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:120,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:121,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:122,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:129,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:130,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:130,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:131,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:132,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:138,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:141,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:142,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:143,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:144,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 146
    functionName: decode_int_as_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 0
    functionsReached:
    - json_real_value
    - fail
    - memset
    - strcmp
    - json_error_code
    - json_loads
    - json_decref
    - json_is_real
    linkageType: ''
    returnType: void
    signature: void decode_int_as_real()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:154,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:155,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:156,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:158,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:159,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:161,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:161,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:162,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: allow_nul
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 0
    functionsReached:
    - json_is_string
    - memcmp
    - fail
    - json_string_value
    - json_string_length
    - json_loads
    - json_decref
    linkageType: ''
    returnType: void
    signature: void allow_nul()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:171,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:173,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:175,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:177,1
    - Dst: json_loadf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:179,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:181,1
    - Dst: json_loadfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:183,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:185,1
    - Dst: json_load_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:187,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: load_wrong_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 0
    functionsReached:
    - json_loadb
    - fail
    - json_load_file
    - json_loadf
    - json_loadfd
    - json_loads
    linkageType: ''
    returnType: void
    signature: void load_wrong_args()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:197,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:199,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:200,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:202,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:204,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: position
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 0
    functionsReached:
    - json_loads
    - json_decref
    - fail
    linkageType: ''
    returnType: void
    signature: void position()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:210,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:212,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:213,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:214,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:215,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:216,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:218,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:220,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:221,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:222,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:223,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: error_code
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 4
    functionsReached:
    - json_loads
    - strlen
    - json_error_code
    - fail
    linkageType: ''
    returnType: void
    signature: void error_code()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_not_found
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:228,1
    - Dst: very_long_file_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:229,1
    - Dst: reject_duplicates
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:230,1
    - Dst: disable_eof_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:231,1
    - Dst: decode_any
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:232,1
    - Dst: decode_int_as_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:233,1
    - Dst: allow_nul
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:234,1
    - Dst: load_wrong_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:235,1
    - Dst: position
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:236,1
    - Dst: error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: 1
    functionsReached:
    - disable_eof_check
    - error_code
    - load_wrong_args
    - allow_nul
    - decode_any
    - very_long_file_name
    - file_not_found
    - decode_int_as_real
    - position
    - reject_duplicates
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:16,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:16,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:18,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:20,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:22,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:24,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:26,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:27,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:31,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:33,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 37
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c
    functionUses: 1
    functionsReached:
    - strlen
    - fail
    - json_loadb
    - json_decref
    - strcmp
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: chaos_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *chaos_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: chaos_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void chaos_free(void *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - condition
    - ','
    - code
    - ','
    - cleanup
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: chaos_loop
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chaos_loop(condition, code, cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - json
    - ','
    - initcall
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: chaos_loop_new_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chaos_loop_new_value(json, initcall)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:46,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:51,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:52,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:54,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:55,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:56,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:61,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: test_unpack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: 0
    functionsReached:
    - fail
    - json_error_code
    - json_pack
    - json_unpack_ex
    - json_decref
    - strcmp
    linkageType: ''
    returnType: int
    signature: int test_unpack()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:72,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: dump_chaos_callback
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: 0
    functionsReached:
    - json_decref
    - json_object
    linkageType: ''
    returnType: int
    signature: int dump_chaos_callback(const char *buffer, size_t size, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:90,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:91,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:92,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:93,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:94,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:95,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:97,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:101,1
    - Dst: json_get_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:103,1
    - Dst: json_set_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:104,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:106,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:106,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:107,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:107,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:108,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:108,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:109,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:109,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:110,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:110,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:110,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:111,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:111,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:112,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:112,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:117,1
    - Dst: test_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:117,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:119,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:119,1
    - Dst: JSON_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:119,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:121,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:121,1
    - Dst: JSON_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:122,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:124,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:124,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:124,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:127,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:127,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:128,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:128,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:130,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:130,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:131,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:131,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:133,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:133,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:134,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:134,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:135,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:135,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:138,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:138,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:139,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:139,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:139,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:141,1
    - Dst: json_sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:141,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:148,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:149,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:149,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:149,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:151,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:151,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:151,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:152,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:152,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:152,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:155,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:155,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:156,1
    - Dst: json_string_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:156,1
    - Dst: json_set_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:158,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:159,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:160,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:161,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:162,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:163,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:164,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 166
    functionName: test_chaos
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: 0
    functionsReached:
    - json_set_alloc_funcs
    - json_array_append_new
    - json_real
    - json_array_insert_new
    - snprintf
    - json_object_set_new_nocheck
    - json_deep_copy
    - json_string
    - json_array
    - json_sprintf
    - json_loadb
    - json_copy
    - json_loads
    - json_dump_callback
    - strlen
    - json_object
    - fail
    - json_get_alloc_funcs
    - json_incref
    - json_pack
    - chaos_loop
    - json_decref
    - json_null
    - free
    - json_string_set_nocheck
    - json_dumps
    - json_integer
    - json_array_extend
    - test_unpack
    - chaos_loop_new_value
    - JSON_INDENT
    linkageType: ''
    returnType: void
    signature: void test_chaos()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_chaos
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: 1
    functionsReached:
    - test_chaos
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - len
    - data
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: my_writer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int my_writer(const char *buffer, size_t len, void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:35,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:37,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:40,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:42,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:43,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:47,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:48,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:50,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:51,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:52,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:55,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:56,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:57,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:58,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:59,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:62,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:63,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:64,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:65,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:66,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:71,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:72,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:73,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:74,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:75,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:79,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:80,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c
    functionUses: 1
    functionsReached:
    - strlen
    - json_dumps
    - fail
    - malloc
    - json_dump_callback
    - json_loads
    - json_decref
    - strncmp
    - free
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:15,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:16,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:17,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:20,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:22,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:24,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:25,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:27,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:28,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:30,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:31,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:33,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:34,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:36,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:38,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:40,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:42,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:43,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:45,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:46,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:48,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:50,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:52,1
    - Dst: json_array_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:54,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:55,1
    - Dst: json_array_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:57,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:58,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:60,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:61,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:63,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:65,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:67,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:69,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:70,1
    - Dst: json_array_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:72,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:73,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:76,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:77,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:79,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:80,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:84,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:86,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:88,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:91,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:91,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:92,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:94,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:95,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:95,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:96,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:98,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:99,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:101,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:101,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:102,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:104,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:104,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:105,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:105,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:106,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:108,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:109,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:111,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:112,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:113,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 114
    functionName: test_misc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: 1
    functionsReached:
    - json_array_size
    - json_array_set
    - fail
    - json_array_append_new
    - json_integer
    - json_array_append
    - json_array_set_new
    - json_integer_value
    - json_array_get
    - json_is_integer
    - json_decref
    - json_array
    linkageType: ''
    returnType: void
    signature: void test_misc(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:120,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:121,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:122,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:123,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:126,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:128,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:130,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:131,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:133,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:134,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:136,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:137,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:139,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:140,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:142,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:143,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:145,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:146,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:148,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:149,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:151,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:152,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:154,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:155,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:157,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:158,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:160,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:161,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:163,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:164,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:166,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:167,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:169,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:169,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:170,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:172,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:173,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:173,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:174,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:176,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:177,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:180,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:181,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:185,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:186,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:189,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:190,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:192,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:193,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:194,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:195,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 196
    functionName: test_insert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - fail
    - json_integer
    - json_integer_value
    - json_array_insert_new
    - json_array_get
    - json_array_insert
    - json_is_integer
    - json_decref
    - json_array
    linkageType: ''
    returnType: void
    signature: void test_insert(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:202,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:203,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:204,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:207,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:209,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:211,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:213,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:214,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:216,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:217,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:219,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:220,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:222,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:223,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:225,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:226,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:228,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:228,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:229,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:229,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:230,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:232,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:233,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:235,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:236,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:238,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:238,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:239,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:240,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:242,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:244,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:246,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:247,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:249,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:250,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:253,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:255,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:256,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:257,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 258
    functionName: test_remove
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - json_array_remove
    - fail
    - json_integer
    - json_array_append
    - json_array_get
    - json_decref
    - json_array
    linkageType: ''
    returnType: void
    signature: void test_remove(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:264,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:265,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:266,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:269,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:271,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:274,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:275,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:278,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:279,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:282,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:283,1
    - Dst: json_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:285,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:286,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:288,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:289,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:291,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:292,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 294
    functionName: test_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: 1
    functionsReached:
    - json_array_size
    - fail
    - json_integer
    - json_array_append
    - json_array_clear
    - json_decref
    - json_array
    linkageType: ''
    returnType: void
    signature: void test_clear(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:300,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:301,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:302,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:303,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:306,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:308,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:311,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:312,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:315,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:316,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:319,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:319,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:320,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:322,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:323,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:326,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:327,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:330,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:331,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:334,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:335,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:336,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:337,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 338
    functionName: test_extend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - fail
    - json_integer
    - json_array_append
    - json_array_get
    - json_array_extend
    - json_decref
    - json_array
    linkageType: ''
    returnType: void
    signature: void test_extend(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:345,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:347,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:349,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:350,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:352,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:353,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:355,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:355,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:356,1
    - Dst: json_array_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:358,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:359,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:361,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:365,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:366,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:368,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:370,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:370,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:371,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:374,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:375,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:378,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:379,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:380,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 381
    functionName: test_circular
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: 1
    functionsReached:
    - json_true
    - json_array_set
    - json_dumps
    - json_array_append_new
    - fail
    - json_array_append
    - json_array_insert
    - json_decref
    - json_array
    linkageType: ''
    returnType: void
    signature: void test_circular()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:387,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:388,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:390,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:392,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:393,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:395,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 397
    functionName: test_array_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: 0
    functionsReached:
    - fail
    - json_array_append
    - json_pack
    - json_equal
    - json_decref
    - json_array
    linkageType: ''
    returnType: void
    signature: void test_array_foreach()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: json_array_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: 0
    functionsReached:
    - json_array_append
    linkageType: ''
    returnType: void
    signature: void json_array_foreach(array1, index, value)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:400,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:401,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:404,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:406,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:407,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:408,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:409,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:411,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:412,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:413,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:414,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:416,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:416,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:417,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:418,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:418,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:419,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:420,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:421,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:422,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:422,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:423,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:425,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:426,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:427,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:428,1
    - Dst: json_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:430,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:431,1
    - Dst: json_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:432,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:433,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:435,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:435,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:436,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:437,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:437,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:438,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:439,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:440,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:441,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:441,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:442,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:444,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:444,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:445,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:446,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:446,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:447,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:448,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:449,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:450,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:450,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:451,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:453,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:454,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:456,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:457,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:459,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:460,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:462,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:463,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:467,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:469,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:471,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:472,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 473
    functionName: test_bad_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: 4
    functionsReached:
    - json_array_size
    - fail
    - json_array_remove
    - json_array_append_new
    - json_integer
    - json_array_set_new
    - json_incref
    - json_array_get
    - json_array_clear
    - json_array_insert_new
    - json_array_extend
    - json_decref
    - json_array
    linkageType: ''
    returnType: void
    signature: void test_bad_args(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_misc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:476,1
    - Dst: test_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:477,1
    - Dst: test_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:478,1
    - Dst: test_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:479,1
    - Dst: test_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:480,1
    - Dst: test_circular
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:481,1
    - Dst: test_array_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:482,1
    - Dst: test_bad_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: 1
    functionsReached:
    - test_clear
    - test_circular
    - test_extend
    - test_remove
    - test_array_foreach
    - test_misc
    - test_bad_args
    - test_insert
    linkageType: ''
    returnType: void
    signature: void run_tests()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:19,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:22,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:28,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:31,1
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:32,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:35,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:38,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:42,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:43,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:46,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:48,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:51,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:56,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:63,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:69,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/standaloneengine.cc
    functionUses: 0
    functionsReached:
    - fopen
    - fread
    - fprintf
    - printf
    - ftell
    - fclose
    - calloc
    - fseek
    - free
    - LLVMFuzzerTestOneInput
    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: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: FUZZ_DEBUG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUZZ_DEBUG(FMT, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint64_t *>
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: json_dump_counter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint64_t *>
    linkageType: ''
    returnType: int
    signature: int json_dump_counter(const char *buffer, size_t size, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:37,1
    - Dst: FUZZ_DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:39,1
    - Dst: FUZZ_DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:50,1
    - Dst: FUZZ_DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:67,1
    - Dst: FUZZ_DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:92,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:98,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:99,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:109,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:112,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:122,1
    - Dst: FUZZ_DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:123,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 132
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/ossfuzz/json_load_dump_fuzzer.cc
    functionUses: 1
    functionsReached:
    - getenv
    - reinterpret_cast<const char *>
    - json_dumps
    - json_loadb
    - json_decref
    - FUZZ_DEBUG
    - json_dump_callback
    - free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:22,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: newline_offset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c
    functionUses: 0
    functionsReached:
    - strlen
    - strchr
    linkageType: ''
    returnType: int
    signature: int newline_offset(const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:38,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: write_response
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c
    functionUses: 0
    functionsReached:
    - memcpy
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: size_t write_response(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:55,1
    - Dst: curl_easy_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:56,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:66,1
    - Dst: curl_slist_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:70,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:73,1
    - Dst: curl_easy_perform
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:75,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:77,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:78,1
    - Dst: curl_easy_strerror
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:78,1
    - Dst: curl_easy_getinfo
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:82,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:88,1
    - Dst: curl_slist_free_all
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:89,1
    - Dst: curl_global_cleanup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:90,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:99,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:101,1
    - Dst: curl_slist_free_all
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:103,1
    - Dst: curl_global_cleanup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 106
    functionName: request
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_slist_free_all
    - malloc
    - curl_easy_getinfo
    - fprintf
    - curl_easy_cleanup
    - curl_slist_append
    - curl_easy_init
    - curl_easy_setopt
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_strerror
    - free
    linkageType: ''
    returnType: char
    signature: char *request(const char *url)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:117,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:118,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:122,1
    - Dst: request
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:124,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:128,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:129,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:132,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:136,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:137,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:138,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:142,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:146,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:147,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:148,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:149,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:153,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:154,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:155,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:159,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:160,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:161,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:162,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:166,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:167,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:168,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:169,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:173,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:174,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:174,1
    - Dst: newline_offset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:174,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:178,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - json_is_string
    - fprintf
    - json_object_get
    - snprintf
    - json_array_get
    - json_string_value
    - printf
    - newline_offset
    - request
    - json_is_array
    - json_is_object
    - json_loads
    - json_decref
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: strbuffer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: 0
    functionsReached:
    - jsonp_malloc
    linkageType: ''
    returnType: int
    signature: int strbuffer_init(strbuffer_t *strbuff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: strbuffer_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: 0
    functionsReached:
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: void strbuffer_close(strbuffer_t *strbuff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: strbuffer_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void strbuffer_clear(strbuffer_t *strbuff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: strbuffer_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *strbuffer_value(const strbuffer_t *strbuff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: strbuffer_steal_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *strbuffer_steal_value(strbuffer_t *strbuff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strbuff
    - byte
    argTypes:
    - strbuffer_t*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: strbuffer_append_byte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: 0
    functionsReached:
    - strbuffer_append_bytes
    linkageType: ''
    returnType: int
    signature: int strbuffer_append_byte(strbuffer_t *strbuff, char byte)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:71,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:73,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:77,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:79,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - strbuff
    - data
    - size
    argTypes:
    - strbuffer_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: strbuffer_append_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: 1
    functionsReached:
    - max
    - memcpy
    - jsonp_free
    - jsonp_malloc
    linkageType: ''
    returnType: int
    signature: int strbuffer_append_bytes(strbuffer_t *strbuff, const char *data,
      size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: strbuffer_pop
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char strbuffer_pop(strbuffer_t *strbuff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: buf_to_uint32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t buf_to_uint32(char *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:68,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:72,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:73,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:77,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:81,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:82,1
    - Dst: buf_to_uint32
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 90
    functionName: seed_from_urandom
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: 0
    functionsReached:
    - open
    - close
    - fread
    - buf_to_uint32
    - read
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int seed_from_urandom(uint32_t *seed)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:112,1
    - Dst: TEXT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:112,1
    - Dst: GetProcAddress
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:117,1
    - Dst: GetProcAddress
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:121,1
    - Dst: GetProcAddress
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:126,1
    - Dst: pCryptAcquireContext
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:130,1
    - Dst: pCryptGenRandom
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:134,1
    - Dst: pCryptReleaseContext
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:135,1
    - Dst: buf_to_uint32
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 142
    functionName: seed_from_windows_cryptoapi
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: 0
    functionsReached:
    - TEXT
    - GetProcAddress
    - buf_to_uint32
    - pCryptAcquireContext
    - pCryptGenRandom
    - GetModuleHandle
    - pCryptReleaseContext
    linkageType: ''
    returnType: int
    signature: int seed_from_windows_cryptoapi(uint32_t *seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:150,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:154,1
    - Dst: GetCurrentProcessId
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:159,1
    - Dst: getpid
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 165
    functionName: seed_from_timestamp_and_pid
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: 0
    functionsReached:
    - time
    - getpid
    - GetCurrentProcessId
    - gettimeofday
    linkageType: ''
    returnType: int
    signature: int seed_from_timestamp_and_pid(uint32_t *seed)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: seed_from_urandom
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:172,1
    - Dst: seed_from_windows_cryptoapi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:177,1
    - Dst: seed_from_timestamp_and_pid
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 192
    functionName: generate_seed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: 0
    functionsReached:
    - seed_from_timestamp_and_pid
    - seed_from_urandom
    - seed_from_windows_cryptoapi
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t generate_seed()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_test_and_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:203,1
    - Dst: generate_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:206,1
    - Dst: __atomic_store_n
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:208,1
    - Dst: sched_yield
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:213,1
    - Dst: __atomic_load_n
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - seed
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: json_object_seed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: 2
    functionsReached:
    - __atomic_load_n
    - generate_seed
    - __atomic_test_and_set
    - sched_yield
    - __atomic_store_n
    linkageType: ''
    returnType: void
    signature: void json_object_seed(size_t seed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generate_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:229,1
    - Dst: __sync_bool_compare_and_swap
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:233,1
    - Dst: sched_yield
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - seed
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 244
    functionName: json_object_seed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: 2
    functionsReached:
    - __sync_bool_compare_and_swap
    - generate_seed
    - sched_yield
    linkageType: ''
    returnType: void
    signature: void json_object_seed(size_t seed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:251,1
    - Dst: generate_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:254,1
    - Dst: SwitchToThread
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - seed
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: json_object_seed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: 2
    functionsReached:
    - SwitchToThread
    - InterlockedIncrement
    - generate_seed
    linkageType: ''
    returnType: void
    signature: void json_object_seed(size_t seed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generate_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - seed
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: json_object_seed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: 2
    functionsReached:
    - generate_seed
    linkageType: ''
    returnType: void
    signature: void json_object_seed(size_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: isnan
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE isnan(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:37,1
    - Dst: isnan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: isinf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - isnan
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE isinf(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - json
    - type
    argTypes:
    - json_t*
    - json_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: json_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_init(json_t *json, json_type type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:49,1
    - Dst: hashtable_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:54,1
    - Dst: hashtable_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:57,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - parents
    - json
    - key
    - key_size
    - key_len_out
    argTypes:
    - hashtable_t*
    - json_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: jsonp_loop_check
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - snprintf
    - hashtable_get
    - json_null
    - hashtable_set
    linkageType: ''
    returnType: int
    signature: "int jsonp_loop_check(hashtable_t *parents, const json_t *json, char
      *key, size_t key_size,\n                     size_t *key_len_out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:65,1
    - Dst: json_object_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:71,1
    - Dst: json_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:74,1
    - Dst: hashtable_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:76,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 82
    functionName: json_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 27
    functionsReached:
    - hashtable_init
    - jsonp_free
    - jsonp_malloc
    - json_object_seed
    - json_init
    linkageType: ''
    returnType: json_t
    signature: json_t *json_object(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:85,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - json_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: json_delete_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - jsonp_free
    - hashtable_close
    linkageType: ''
    returnType: void
    signature: void json_delete_object(json_object_t *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:92,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: json_object_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 9
    functionsReached:
    - json_to_object
    - json_is_object
    linkageType: ''
    returnType: size_t
    signature: size_t json_object_size(const json_t *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:103,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - json
    - key
    argTypes:
    - json_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: json_object_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 15
    functionsReached:
    - strlen
    - json_object_getn
    linkageType: ''
    returnType: json_t
    signature: json_t *json_object_get(const json_t *json, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:109,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:112,1
    - Dst: hashtable_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - json
    - key
    - key_len
    argTypes:
    - json_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: json_object_getn
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 4
    functionsReached:
    - json_to_object
    - hashtable_get
    - json_is_object
    linkageType: ''
    returnType: json_t
    signature: json_t *json_object_getn(const json_t *json, const char *key, size_t
      key_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:118,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:121,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - json
    - key
    - value
    argTypes:
    - json_t*
    - char*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: json_object_set_new_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 5
    functionsReached:
    - json_decref
    - strlen
    - json_object_setn_new_nocheck
    linkageType: ''
    returnType: int
    signature: int json_object_set_new_nocheck(json_t *json, const char *key, json_t
      *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:131,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:132,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:135,1
    - Dst: hashtable_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:137,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - json
    - key
    - key_len
    - value
    argTypes:
    - json_t*
    - char*
    - size_t
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: json_object_setn_new_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - json_to_object
    - json_decref
    - hashtable_set
    - json_is_object
    linkageType: ''
    returnType: int
    signature: "int json_object_setn_new_nocheck(json_t *json, const char *key, size_t
      key_len,\n                                 json_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:147,1
    - Dst: json_object_setn_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:151,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - json
    - key
    - value
    argTypes:
    - json_t*
    - char*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: json_object_set_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 10
    functionsReached:
    - json_decref
    - strlen
    - json_object_setn_new
    linkageType: ''
    returnType: int
    signature: int json_object_set_new(json_t *json, const char *key, json_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:155,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:156,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - json
    - key
    - key_len
    - value
    argTypes:
    - json_t*
    - char*
    - size_t
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: json_object_setn_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - json_decref
    - utf8_check_string
    - json_object_setn_new_nocheck
    linkageType: ''
    returnType: int
    signature: int json_object_setn_new(json_t *json, const char *key, size_t key_len,
      json_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_deln
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:167,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - json
    - key
    argTypes:
    - json_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: json_object_del
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 9
    functionsReached:
    - strlen
    - json_object_deln
    linkageType: ''
    returnType: int
    signature: int json_object_del(json_t *json, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:173,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:176,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - json
    - key
    - key_len
    argTypes:
    - json_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: json_object_deln
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - json_to_object
    - hashtable_del
    - json_is_object
    linkageType: ''
    returnType: int
    signature: int json_object_deln(json_t *json, const char *key, size_t key_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:183,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:186,1
    - Dst: hashtable_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: json_object_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - json_to_object
    - hashtable_clear
    - json_is_object
    linkageType: ''
    returnType: int
    signature: int json_object_clear(json_t *json)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:196,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:196,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: json_object_update
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - json_is_object
    - json_object_set_nocheck
    linkageType: ''
    returnType: int
    signature: int json_object_update(json_t *object, json_t *other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 1
    functionsReached:
    - json_object_set_nocheck
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(other, key, value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:212,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:212,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:216,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: json_object_update_existing
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - json_object_getn
    - json_object_setn_nocheck
    - json_is_object
    linkageType: ''
    returnType: int
    signature: int json_object_update_existing(json_t *object, json_t *other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:216,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: json_object_keylen_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_object_getn
    - json_object_setn_nocheck
    linkageType: ''
    returnType: void
    signature: void json_object_keylen_foreach(other, key, key_len, value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:227,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:227,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:231,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: json_object_update_missing
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - json_object_set_nocheck
    - json_is_object
    - json_object_get
    linkageType: ''
    returnType: int
    signature: int json_object_update_missing(json_t *object, json_t *other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:231,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 1
    functionsReached:
    - json_object_set_nocheck
    - json_object_get
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(other, key, value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:246,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:246,1
    - Dst: jsonp_loop_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:249,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:253,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:255,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:255,1
    - Dst: do_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:256,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:261,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - object
    - other
    - parents
    argTypes:
    - json_t*
    - json_t*
    - hashtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 271
    functionName: do_object_update_recursive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 1
    functionsReached:
    - jsonp_loop_check
    - json_object_get
    - json_is_object
    - do_object_update_recursive
    - hashtable_del
    - json_object_setn_nocheck
    linkageType: ''
    returnType: int
    signature: int do_object_update_recursive(json_t *object, json_t *other, hashtable_t
      *parents)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:253,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:255,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:255,1
    - Dst: do_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:256,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 266
    functionName: json_object_keylen_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - do_object_update_recursive
    - json_object_setn_nocheck
    - json_is_object
    - json_object_get
    linkageType: ''
    returnType: void
    signature: void json_object_keylen_foreach(other, key, key_len, value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:277,1
    - Dst: do_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:279,1
    - Dst: hashtable_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: json_object_update_recursive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 1
    functionsReached:
    - hashtable_init
    - do_object_update_recursive
    - hashtable_close
    linkageType: ''
    returnType: int
    signature: int json_object_update_recursive(json_t *object, json_t *other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:288,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:291,1
    - Dst: hashtable_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: json_object_iter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 4
    functionsReached:
    - json_to_object
    - hashtable_iter
    - json_is_object
    linkageType: ''
    returnType: void
    signature: void *json_object_iter(json_t *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:298,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:301,1
    - Dst: hashtable_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:302,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - json
    - key
    argTypes:
    - json_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: json_object_iter_at
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - json_to_object
    - strlen
    - hashtable_iter_at
    - json_is_object
    linkageType: ''
    returnType: void
    signature: void *json_object_iter_at(json_t *json, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:308,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:311,1
    - Dst: hashtable_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - json
    - iter
    argTypes:
    - json_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: json_object_iter_next
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 4
    functionsReached:
    - json_to_object
    - json_is_object
    - hashtable_iter_next
    linkageType: ''
    returnType: void
    signature: void *json_object_iter_next(json_t *json, void *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: json_object_iter_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 4
    functionsReached:
    - hashtable_iter_key
    linkageType: ''
    returnType: char
    signature: char *json_object_iter_key(void *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_iter_key_len
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: json_object_iter_key_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - hashtable_iter_key_len
    linkageType: ''
    returnType: size_t
    signature: size_t json_object_iter_key_len(void *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: json_object_iter_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 4
    functionsReached:
    - hashtable_iter_value
    linkageType: ''
    returnType: json_t
    signature: json_t *json_object_iter_value(void *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:337,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:338,1
    - Dst: hashtable_iter_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - json
    - iter
    - value
    argTypes:
    - json_t*
    - void*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: json_object_iter_set_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 1
    functionsReached:
    - json_decref
    - hashtable_iter_set
    - json_is_object
    linkageType: ''
    returnType: int
    signature: int json_object_iter_set_new(json_t *json, void *iter, json_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_key_to_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: json_object_key_to_iter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 1
    functionsReached:
    - hashtable_key_to_iter
    linkageType: ''
    returnType: void
    signature: void *json_object_key_to_iter(const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:357,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:357,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:360,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:361,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - object1
    - object2
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: json_object_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_equal
    - json_object_size
    - json_object_foreach
    - json_object_get
    linkageType: ''
    returnType: int
    signature: int json_object_equal(const json_t *object1, const json_t *object2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:376,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:380,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - object
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 5
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: json_object_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_object
    - json_object_foreach
    - json_object_set_nocheck
    linkageType: ''
    returnType: json_t
    signature: json_t *json_object_copy(json_t *object)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_loop_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:391,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:394,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:400,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:404,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:405,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:407,1
    - Dst: do_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:407,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:408,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:412,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - object
    - parents
    argTypes:
    - json_t*
    - hashtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 385
    functionDepth: 5
    functionLinenumber: 385
    functionLinenumberEnd: 419
    functionName: json_object_deep_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - jsonp_loop_check
    - json_object
    - json_object_iter_key
    - json_object_iter
    - do_deep_copy
    - json_object_iter_value
    - json_object_set_new_nocheck
    - json_decref
    - hashtable_del
    - json_object_iter_next
    linkageType: ''
    returnType: json_t
    signature: json_t *json_object_deep_copy(const json_t *object, hashtable_t *parents)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:424,1
    - Dst: json_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:427,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:432,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: json_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 15
    functionsReached:
    - jsonp_free
    - json_init
    - jsonp_malloc
    linkageType: ''
    returnType: json_t
    signature: json_t *json_array(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:445,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:447,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - array
    argTypes:
    - json_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: json_delete_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_decref
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: void json_delete_array(json_array_t *array)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:452,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: json_array_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 17
    functionsReached:
    - json_to_array
    - json_is_array
    linkageType: ''
    returnType: size_t
    signature: size_t json_array_size(const json_t *json)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:460,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - json
    - index
    argTypes:
    - json_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: json_array_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 18
    functionsReached:
    - json_to_array
    - json_is_array
    linkageType: ''
    returnType: json_t
    signature: json_t *json_array_get(const json_t *json, size_t index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:476,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:477,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:480,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:483,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - json
    - index
    - value
    argTypes:
    - json_t*
    - size_t
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 491
    functionName: json_array_set_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - json_decref
    - json_is_array
    - json_to_array
    linkageType: ''
    returnType: int
    signature: int json_array_set_new(json_t *json, size_t index, json_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - array
    - dest
    - src
    - count
    argTypes:
    - json_array_t*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: array_move
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void array_move(json_array_t *array, size_t dest, size_t src, size_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dest
    - dpos
    - src
    - spos
    - count
    argTypes:
    - json_t**
    - size_t
    - json_t**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: array_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void array_copy(json_t **dest, size_t dpos, json_t **src, size_t spos,\n
      \                      size_t count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:511,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:512,1
    - Dst: array_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:520,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 526
    functionName: json_array_grow
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - max
    - array_copy
    - jsonp_free
    - jsonp_malloc
    linkageType: ''
    returnType: json_t
    signature: json_t **json_array_grow(json_array_t *array, size_t amount, int copy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:534,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:535,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:538,1
    - Dst: json_array_grow
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:540,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 549
    functionName: json_array_append_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 8
    functionsReached:
    - json_array_grow
    - json_decref
    - json_is_array
    - json_to_array
    linkageType: ''
    returnType: int
    signature: int json_array_append_new(json_t *json, json_t *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:558,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:559,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:562,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:565,1
    - Dst: json_array_grow
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:569,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:571,1
    - Dst: array_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:576,1
    - Dst: array_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:577,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:578,1
    - Dst: array_move
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - json
    - index
    - value
    argTypes:
    - json_t*
    - size_t
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 586
    functionName: json_array_insert_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - json_array_grow
    - jsonp_free
    - json_to_array
    - json_is_array
    - array_copy
    - json_decref
    - array_move
    linkageType: ''
    returnType: int
    signature: int json_array_insert_new(json_t *json, size_t index, json_t *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:591,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:593,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:598,1
    - Dst: array_move
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - json
    - index
    argTypes:
    - json_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 607
    functionName: json_array_remove
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 5
    functionsReached:
    - array_move
    - json_to_array
    - json_decref
    - json_is_array
    linkageType: ''
    returnType: int
    signature: int json_array_remove(json_t *json, size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:613,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:615,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 622
    functionName: json_array_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - json_to_array
    - json_decref
    - json_is_array
    linkageType: ''
    returnType: int
    signature: int json_array_clear(json_t *json)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:628,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:628,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:630,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:631,1
    - Dst: json_array_grow
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:633,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:637,1
    - Dst: array_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:639,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - json
    - other_json
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 643
    functionName: json_array_extend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - json_array_grow
    - json_incref
    - json_to_array
    - json_is_array
    - array_copy
    linkageType: ''
    returnType: int
    signature: int json_array_extend(json_t *json, json_t *other_json)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:648,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:649,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:655,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:656,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 663
    functionName: json_array_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_array_get
    - json_array_size
    - json_equal
    linkageType: ''
    returnType: int
    signature: int json_array_equal(const json_t *array1, const json_t *array2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:669,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:673,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:674,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - array
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 677
    functionName: json_array_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_array_get
    - json_array_size
    - json_array_append
    - json_array
    linkageType: ''
    returnType: json_t
    signature: json_t *json_array_copy(json_t *array)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_loop_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:685,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:688,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:692,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:693,1
    - Dst: do_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:694,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:694,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:695,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - array
    - parents
    argTypes:
    - json_t*
    - hashtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 679
    functionDepth: 3
    functionLinenumber: 679
    functionLinenumberEnd: 705
    functionName: json_array_deep_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - jsonp_loop_check
    - json_array_size
    - json_array_append_new
    - do_deep_copy
    - json_array_get
    - json_decref
    - hashtable_del
    - json_array
    linkageType: ''
    returnType: json_t
    signature: json_t *json_array_deep_copy(const json_t *array, hashtable_t *parents)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_strndup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:719,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:724,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:726,1
    - Dst: json_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - value
    - len
    - own
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 734
    functionName: string_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - jsonp_malloc
    - jsonp_free
    - jsonp_strndup
    - json_init
    linkageType: ''
    returnType: json_t
    signature: json_t *string_create(const char *value, size_t len, int own)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_create
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:740,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 741
    functionName: json_string_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - string_create
    - strlen
    linkageType: ''
    returnType: json_t
    signature: json_t *json_string_nocheck(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_create
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 745
    functionName: json_stringn_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 1
    functionsReached:
    - string_create
    linkageType: ''
    returnType: json_t
    signature: json_t *json_stringn_nocheck(const char *value, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_create
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: jsonp_stringn_nocheck_own
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - string_create
    linkageType: ''
    returnType: json_t
    signature: json_t *jsonp_stringn_nocheck_own(const char *value, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_stringn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:756,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 757
    functionName: json_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 19
    functionsReached:
    - strlen
    - json_stringn
    linkageType: ''
    returnType: json_t
    signature: json_t *json_string(const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:760,1
    - Dst: json_stringn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 759
    functionDepth: 3
    functionLinenumber: 759
    functionLinenumberEnd: 764
    functionName: json_stringn
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - json_stringn_nocheck
    - utf8_check_string
    linkageType: ''
    returnType: json_t
    signature: json_t *json_stringn(const char *value, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:767,1
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 771
    functionName: json_string_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 28
    functionsReached:
    - json_is_string
    - json_to_string
    linkageType: ''
    returnType: char
    signature: char *json_string_value(const json_t *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:774,1
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 778
    functionName: json_string_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 4
    functionsReached:
    - json_is_string
    - json_to_string
    linkageType: ''
    returnType: size_t
    signature: size_t json_string_length(const json_t *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:784,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - json_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 785
    functionName: json_string_set_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - strlen
    - json_string_setn_nocheck
    linkageType: ''
    returnType: int
    signature: int json_string_set_nocheck(json_t *json, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:791,1
    - Dst: jsonp_strndup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:794,1
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:798,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:799,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - json
    - value
    - len
    argTypes:
    - json_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 804
    functionName: json_string_setn_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - jsonp_free
    - json_is_string
    - json_to_string
    - jsonp_strndup
    linkageType: ''
    returnType: int
    signature: int json_string_setn_nocheck(json_t *json, const char *value, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_string_setn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:810,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - json_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 811
    functionName: json_string_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - strlen
    - json_string_setn
    linkageType: ''
    returnType: int
    signature: int json_string_set(json_t *json, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:814,1
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - json
    - value
    - len
    argTypes:
    - json_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 818
    functionName: json_string_setn
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - json_string_setn_nocheck
    - utf8_check_string
    linkageType: ''
    returnType: int
    signature: int json_string_setn(json_t *json, const char *value, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:821,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - json_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: json_delete_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: void json_delete_string(json_string_t *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:828,1
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:829,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - string1
    - string2
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 831
    functionName: json_string_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - memcmp
    - json_to_string
    linkageType: ''
    returnType: int
    signature: int json_string_equal(const json_t *string1, const json_t *string2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:836,1
    - Dst: json_stringn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 833
    functionDepth: 3
    functionLinenumber: 833
    functionLinenumberEnd: 838
    functionName: json_string_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_stringn_nocheck
    - json_to_string
    linkageType: ''
    returnType: json_t
    signature: json_t *json_string_copy(const json_t *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:845,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:847,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:851,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:855,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:859,1
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:860,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:861,1
    - Dst: jsonp_stringn_nocheck_own
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:865,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:868,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 870
    functionName: json_vsprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - va_copy
    - jsonp_free
    - jsonp_malloc
    - utf8_check_string
    - json_string
    - va_end
    - vsnprintf
    - jsonp_stringn_nocheck_own
    linkageType: ''
    returnType: json_t
    signature: json_t *json_vsprintf(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:876,1
    - Dst: json_vsprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:877,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 872
    functionDepth: 4
    functionLinenumber: 872
    functionLinenumberEnd: 881
    functionName: json_sprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - json_vsprintf
    linkageType: ''
    returnType: json_t
    signature: json_t *json_sprintf(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:886,1
    - Dst: json_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - json_int_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 893
    functionName: json_integer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 27
    functionsReached:
    - json_init
    - jsonp_malloc
    linkageType: ''
    returnType: json_t
    signature: json_t *json_integer(json_int_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:896,1
    - Dst: json_to_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 900
    functionName: json_integer_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 14
    functionsReached:
    - json_is_integer
    - json_to_integer
    linkageType: ''
    returnType: json_int_t
    signature: json_int_t json_integer_value(const json_t *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:903,1
    - Dst: json_to_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - json_t*
    - json_int_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 909
    functionName: json_integer_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 2
    functionsReached:
    - json_is_integer
    - json_to_integer
    linkageType: ''
    returnType: int
    signature: int json_integer_set(json_t *json, json_int_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - integer
    argTypes:
    - json_integer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 911
    functionName: json_delete_integer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: void json_delete_integer(json_integer_t *integer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:914,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - integer1
    - integer2
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 915
    functionName: json_integer_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_integer_value
    linkageType: ''
    returnType: int
    signature: int json_integer_equal(const json_t *integer1, const json_t *integer2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:918,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - integer
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 919
    functionName: json_integer_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_integer
    - json_integer_value
    linkageType: ''
    returnType: json_t
    signature: json_t *json_integer_copy(const json_t *integer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:926,1
    - Dst: isinf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:926,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:929,1
    - Dst: json_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 936
    functionName: json_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 8
    functionsReached:
    - isnan
    - json_init
    - jsonp_malloc
    - isinf
    linkageType: ''
    returnType: json_t
    signature: json_t *json_real(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:939,1
    - Dst: json_to_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 943
    functionName: json_real_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 6
    functionsReached:
    - json_to_real
    - json_is_real
    linkageType: ''
    returnType: double
    signature: double json_real_value(const json_t *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:946,1
    - Dst: isnan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:946,1
    - Dst: isinf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:946,1
    - Dst: json_to_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - json_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 952
    functionName: json_real_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 4
    functionsReached:
    - isnan
    - json_to_real
    - isinf
    - json_is_real
    linkageType: ''
    returnType: int
    signature: int json_real_set(json_t *json, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - real
    argTypes:
    - json_real_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 954
    functionName: json_delete_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: void json_delete_real(json_real_t *real)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:957,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - real1
    - real2
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 958
    functionName: json_real_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_real_value
    linkageType: ''
    returnType: int
    signature: int json_real_equal(const json_t *real1, const json_t *real2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:961,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - real
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 960
    functionDepth: 3
    functionLinenumber: 960
    functionLinenumberEnd: 962
    functionName: json_real_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_real_value
    - json_real
    linkageType: ''
    returnType: json_t
    signature: json_t *json_real_copy(const json_t *real)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:967,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:968,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:969,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 973
    functionName: json_number_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - json_is_integer
    - json_real_value
    - json_is_real
    - json_integer_value
    linkageType: ''
    returnType: double
    signature: double json_number_value(const json_t *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 980
    functionName: json_true
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: json_t
    signature: json_t *json_true(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 985
    functionName: json_false
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: json_t
    signature: json_t *json_false(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: json_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: json_t
    signature: json_t *json_null(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:998,1
    - Dst: json_delete_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1000,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1000,1
    - Dst: json_delete_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1003,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1003,1
    - Dst: json_delete_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1006,1
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1006,1
    - Dst: json_delete_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1009,1
    - Dst: json_to_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1009,1
    - Dst: json_delete_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1012,1
    - Dst: json_to_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1012,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1019
    functionName: json_delete
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 0
    functionsReached:
    - json_delete_real
    - json_delete_object
    - json_to_integer
    - json_to_object
    - json_delete_string
    - json_to_real
    - json_typeof
    - json_delete_integer
    - json_to_array
    - json_to_string
    - json_delete_array
    linkageType: ''
    returnType: void
    signature: void json_delete(json_t *json)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1027,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1027,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1034,1
    - Dst: json_object_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1036,1
    - Dst: json_array_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1038,1
    - Dst: json_string_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1040,1
    - Dst: json_integer_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1042,1
    - Dst: json_real_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - json1
    - json2
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1023
    functionDepth: 3
    functionLinenumber: 1023
    functionLinenumberEnd: 1048
    functionName: json_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 15
    functionsReached:
    - json_string_equal
    - json_object_equal
    - json_array_equal
    - json_integer_equal
    - json_typeof
    - json_real_equal
    linkageType: ''
    returnType: int
    signature: int json_equal(const json_t *json1, const json_t *json2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1056,1
    - Dst: json_object_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1058,1
    - Dst: json_array_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1060,1
    - Dst: json_string_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1062,1
    - Dst: json_integer_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1064,1
    - Dst: json_real_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1052
    functionDepth: 6
    functionLinenumber: 1052
    functionLinenumberEnd: 1074
    functionName: json_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 4
    functionsReached:
    - json_string_copy
    - json_typeof
    - json_object_copy
    - json_integer_copy
    - json_real_copy
    - json_array_copy
    linkageType: ''
    returnType: json_t
    signature: json_t *json_copy(json_t *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1080,1
    - Dst: do_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1082,1
    - Dst: hashtable_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1086
    functionName: json_deep_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 5
    functionsReached:
    - hashtable_init
    - hashtable_close
    - do_deep_copy
    linkageType: ''
    returnType: json_t
    signature: json_t *json_deep_copy(const json_t *json)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1092,1
    - Dst: json_object_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1094,1
    - Dst: json_array_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1096,1
    - Dst: json_string_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1100,1
    - Dst: json_integer_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1102,1
    - Dst: json_real_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - json
    - parents
    argTypes:
    - json_t*
    - hashtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1088
    functionDepth: 6
    functionLinenumber: 1088
    functionLinenumberEnd: 1112
    functionName: do_deep_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: 3
    functionsReached:
    - json_array_deep_copy
    - json_string_copy
    - json_typeof
    - json_object_deep_copy
    - json_integer_copy
    - json_real_copy
    linkageType: ''
    returnType: json_t
    signature: json_t *do_deep_copy(const json_t *json, hashtable_t *parents)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_set_source
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:11,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - error
    - source
    argTypes:
    - json_error_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 15
    functionName: jsonp_error_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c
    functionUses: 0
    functionsReached:
    - jsonp_error_set_source
    linkageType: ''
    returnType: void
    signature: void jsonp_error_init(json_error_t *error, const char *source)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:23,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:25,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:28,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - error
    - source
    argTypes:
    - json_error_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: jsonp_error_set_source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c
    functionUses: 1
    functionsReached:
    - memcpy
    - strlen
    - strncpy
    linkageType: ''
    returnType: void
    signature: void jsonp_error_set_source(json_error_t *error, const char *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:37,1
    - Dst: jsonp_error_vset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:38,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - error
    - line
    - column
    - position
    - code
    - msg
    argTypes:
    - json_error_t*
    - int
    - int
    - size_t
    - enum json_error_code
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: jsonp_error_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c
    functionUses: 0
    functionsReached:
    - jsonp_error_vset
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: "void jsonp_error_set(json_error_t *error, int line, int column, size_t
      position,\n                     enum json_error_code code, const char *msg,
      ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - error
    - line
    - column
    - position
    - code
    - msg
    - ap
    argTypes:
    - json_error_t*
    - int
    - int
    - size_t
    - enum json_error_code
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: jsonp_error_vset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c
    functionUses: 1
    functionsReached:
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void jsonp_error_vset(json_error_t *error, int line, int column, size_t
      position,\n                      enum json_error_code code, const char *msg,
      va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: list_to_pair
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_to_pair(list_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: ordered_list_to_pair
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ordered_list_to_pair(list_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: hash_str
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_str(key, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: list_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE list_init(list_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - list_t*
    - list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: list_insert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE list_insert(list_t *list, list_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: list_remove
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE list_remove(list_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - hashtable
    - bucket
    argTypes:
    - hashtable_t*
    - bucket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: bucket_is_empty
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE bucket_is_empty(hashtable_t *hashtable, bucket_t *bucket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bucket_is_empty
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:62,1
    - Dst: list_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:63,1
    - Dst: list_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - hashtable
    - bucket
    - list
    argTypes:
    - hashtable_t*
    - bucket_t*
    - list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: insert_to_bucket
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached:
    - list_insert
    - bucket_is_empty
    linkageType: ''
    returnType: void
    signature: void insert_to_bucket(hashtable_t *hashtable, bucket_t *bucket, list_t
      *list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bucket_is_empty
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:76,1
    - Dst: list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:81,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - hashtable
    - bucket
    - key
    - key_len
    - hash
    argTypes:
    - hashtable_t*
    - bucket_t*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: hashtable_find_pair
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached:
    - list_to_pair
    - memcmp
    - bucket_is_empty
    linkageType: ''
    returnType: pair_t
    signature: "pair_t *hashtable_find_pair(hashtable_t *hashtable, bucket_t *bucket,\n
      \                                  const char *key, size_t key_len, size_t hash)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hashmask
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:102,1
    - Dst: hashtable_find_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:105,1
    - Dst: list_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:118,1
    - Dst: list_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:119,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:120,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - hashtable
    - key
    - key_len
    - hash
    argTypes:
    - hashtable_t*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 126
    functionName: hashtable_do_del
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached:
    - jsonp_free
    - hashmask
    - hashtable_find_pair
    - json_decref
    - list_remove
    linkageType: ''
    returnType: int
    signature: "int hashtable_do_del(hashtable_t *hashtable, const char *key, size_t
      key_len,\n                            size_t hash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:134,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:135,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: hashtable_do_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached:
    - list_to_pair
    - json_decref
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: void hashtable_do_clear(hashtable_t *hashtable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:147,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:149,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:153,1
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:157,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:162,1
    - Dst: list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:166,1
    - Dst: insert_to_bucket
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 172
    functionName: hashtable_do_rehash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached:
    - jsonp_free
    - hashsize
    - jsonp_malloc
    - list_init
    - insert_to_bucket
    - list_to_pair
    linkageType: ''
    returnType: int
    signature: int hashtable_do_rehash(hashtable_t *hashtable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:179,1
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:179,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:183,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:184,1
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 191
    functionName: hashtable_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 3
    functionsReached:
    - hashsize
    - jsonp_malloc
    - list_init
    linkageType: ''
    returnType: int
    signature: int hashtable_init(hashtable_t *hashtable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_do_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:194,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: hashtable_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 3
    functionsReached:
    - jsonp_free
    - hashtable_do_clear
    linkageType: ''
    returnType: void
    signature: void hashtable_close(hashtable_t *hashtable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:210,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:216,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:221,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - value
    - key
    - key_len
    - hash
    argTypes:
    - json_t*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 225
    functionName: init_pair
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 0
    functionsReached:
    - memcpy
    - jsonp_malloc
    - list_init
    linkageType: ''
    returnType: pair_t
    signature: pair_t *init_pair(json_t *value, const char *key, size_t key_len, size_t
      hash)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:234,1
    - Dst: hashtable_do_rehash
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:235,1
    - Dst: hash_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:238,1
    - Dst: hashmask
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:239,1
    - Dst: hashtable_find_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:241,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:244,1
    - Dst: init_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:247,1
    - Dst: insert_to_bucket
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:252,1
    - Dst: list_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - hashtable
    - key
    - key_len
    - value
    argTypes:
    - hashtable_t*
    - char*
    - size_t
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: hashtable_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 2
    functionsReached:
    - hashtable_do_rehash
    - hash_str
    - hashmask
    - list_insert
    - hashsize
    - init_pair
    - insert_to_bucket
    - json_decref
    - hashtable_find_pair
    linkageType: ''
    returnType: int
    signature: "int hashtable_set(hashtable_t *hashtable, const char *key, size_t
      key_len,\n                  json_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:265,1
    - Dst: hashmask
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:266,1
    - Dst: hashtable_find_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hashtable
    - key
    - key_len
    argTypes:
    - hashtable_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: hashtable_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 2
    functionsReached:
    - hashmask
    - hashtable_find_pair
    - hash_str
    linkageType: ''
    returnType: void
    signature: void *hashtable_get(hashtable_t *hashtable, const char *key, size_t
      key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:276,1
    - Dst: hashtable_do_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hashtable
    - key
    - key_len
    argTypes:
    - hashtable_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: hashtable_del
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 4
    functionsReached:
    - hashtable_do_del
    - hash_str
    linkageType: ''
    returnType: int
    signature: int hashtable_del(hashtable_t *hashtable, const char *key, size_t key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_do_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:283,1
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:285,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:289,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: hashtable_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 1
    functionsReached:
    - hashsize
    - list_init
    - hashtable_do_clear
    linkageType: ''
    returnType: void
    signature: void hashtable_clear(hashtable_t *hashtable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: hashtable_iter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 1
    functionsReached:
    - hashtable_iter_next
    linkageType: ''
    returnType: void
    signature: void *hashtable_iter(hashtable_t *hashtable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:303,1
    - Dst: hashmask
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:304,1
    - Dst: hashtable_find_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hashtable
    - key
    - key_len
    argTypes:
    - hashtable_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: hashtable_iter_at
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 1
    functionsReached:
    - hashmask
    - hashtable_find_pair
    - hash_str
    linkageType: ''
    returnType: void
    signature: void *hashtable_iter_at(hashtable_t *hashtable, const char *key, size_t
      key_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hashtable
    - iter
    argTypes:
    - hashtable_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: hashtable_iter_next
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *hashtable_iter_next(hashtable_t *hashtable, void *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ordered_list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: hashtable_iter_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 1
    functionsReached:
    - ordered_list_to_pair
    linkageType: ''
    returnType: void
    signature: void *hashtable_iter_key(void *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ordered_list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: hashtable_iter_key_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 1
    functionsReached:
    - ordered_list_to_pair
    linkageType: ''
    returnType: size_t
    signature: size_t hashtable_iter_key_len(void *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ordered_list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: hashtable_iter_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 1
    functionsReached:
    - ordered_list_to_pair
    linkageType: ''
    returnType: void
    signature: void *hashtable_iter_value(void *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ordered_list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:336,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iter
    - value
    argTypes:
    - void*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: hashtable_iter_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: 1
    functionsReached:
    - json_decref
    - ordered_list_to_pair
    linkageType: ''
    returnType: void
    signature: void hashtable_iter_set(void *iter, json_t *value)
  - 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: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: l_isupper
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l_isupper(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: l_islower
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l_islower(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: l_isalpha
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l_isalpha(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: l_isdigit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l_isdigit(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: l_isxdigit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l_isxdigit(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: stream_to_lex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_to_lex(stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:98,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:99,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:101,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:104,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:112,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:126,1
    - Dst: jsonp_error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - error
    - lex
    - code
    - msg
    argTypes:
    - json_error_t*
    - lex_t*
    - enum json_error_code
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 135
    functionName: error_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 1
    functionsReached:
    - va_start
    - snprintf
    - jsonp_error_set
    - strbuffer_value
    - va_end
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void error_set(json_error_t *error, const lex_t *lex, enum json_error_code
      code,\n                      const char *msg, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - get
    - data
    argTypes:
    - stream_t*
    - get_func
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: stream_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stream_init(stream_t *stream, get_func get, void *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stream_t*::get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:158,1
    - Dst: utf8_check_first
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:171,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:175,1
    - Dst: stream_t*::get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:178,1
    - Dst: utf8_check_full
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:180,1
    - Dst: utf8_check_first
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:195,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:205,1
    - Dst: stream_to_lex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:205,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - stream_t*
    - json_error_t*
    assertStmts:
    - condition: (count >= 2)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    constantsTouched: []
    func_position:
      end: 208
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 208
    functionName: stream_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - assert
    - utf8_check_full
    - stream_t*::get
    - utf8_check_first
    - error_set
    - stream_to_lex
    linkageType: ''
    returnType: int
    signature: int stream_get(stream_t *stream, json_error_t *error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_first
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:218,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:221,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - stream
    - c
    argTypes:
    - stream_t*
    - int
    assertStmts:
    - condition: (stream->buffer[stream->buffer_pos] == c)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    - condition: (stream->buffer_pos > 0)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: stream_unget
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - assert
    - utf8_check_first
    linkageType: ''
    returnType: void
    signature: void stream_unget(stream_t *stream, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lex
    - error
    argTypes:
    - lex_t*
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: lex_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - stream_get
    linkageType: ''
    returnType: int
    signature: int lex_get(lex_t *lex, json_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strbuffer_append_byte
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lex
    - c
    argTypes:
    - lex_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: lex_save
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - strbuffer_append_byte
    linkageType: ''
    returnType: void
    signature: void lex_save(lex_t *lex, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:233,1
    - Dst: lex_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - lex
    - error
    argTypes:
    - lex_t*
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: lex_get_save
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - lex_save
    - stream_get
    linkageType: ''
    returnType: int
    signature: int lex_get_save(lex_t *lex, json_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_unget
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lex
    - c
    argTypes:
    - lex_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: lex_unget
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - stream_unget
    linkageType: ''
    returnType: void
    signature: void lex_unget(lex_t *lex, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_unget
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:250,1
    - Dst: strbuffer_pop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:254,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - lex
    - c
    argTypes:
    - lex_t*
    - int
    assertStmts:
    - condition: (c == d)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: lex_unget_unsave
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - assert
    - strbuffer_pop
    - stream_unget
    linkageType: ''
    returnType: void
    signature: void lex_unget_unsave(lex_t *lex, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lex_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lex
    argTypes:
    - lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: lex_save_cached
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - lex_save
    linkageType: ''
    returnType: void
    signature: void lex_save_cached(lex_t *lex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lex
    argTypes:
    - lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: lex_free_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: void lex_free_string(lex_t *lex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:278,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:283,1
    - Dst: l_islower
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:285,1
    - Dst: l_isupper
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts:
    - condition: (str[0] == 'u')
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    constantsTouched: []
    func_position:
      end: 294
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 294
    functionName: decode_unicode_escape
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - assert
    - l_islower
    - l_isdigit
    - l_isupper
    linkageType: ''
    returnType: int32_t
    signature: int32_t decode_unicode_escape(const char *str)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:305,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:312,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:319,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:321,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:323,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:329,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:331,1
    - Dst: l_isxdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:333,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:334,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:338,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:342,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:344,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:348,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:358,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:366,1
    - Dst: decode_unicode_escape
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:375,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:377,1
    - Dst: decode_unicode_escape
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:386,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:388,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:400,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:406,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:411,1
    - Dst: utf8_encode
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:416,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:417,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:442,1
    - Dst: lex_free_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:456,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 128
    argCount: 2
    argNames:
    - lex
    - error
    argTypes:
    - lex_t*
    - json_error_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    - condition: (0)
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    constantsTouched: []
    func_position:
      end: 457
      start: 296
    functionDepth: 5
    functionLinenumber: 296
    functionLinenumberEnd: 457
    functionName: lex_scan_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - assert
    - utf8_encode
    - lex_free_string
    - lex_get_save
    - l_isxdigit
    - error_set
    - strbuffer_value
    - jsonp_malloc
    - lex_unget_unsave
    - decode_unicode_escape
    linkageType: ''
    returnType: void
    signature: void lex_scan_string(lex_t *lex, json_error_t *error)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:479,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:482,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:483,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:484,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:487,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:489,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:490,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:492,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:499,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:501,1
    - Dst: json_strtoint
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:504,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:507,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:510,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:514,1
    - Dst: lex_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:522,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:523,1
    - Dst: lex_unget
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:524,1
    - Dst: lex_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:527,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:530,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:531,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:535,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:537,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:539,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:540,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:545,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:546,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:549,1
    - Dst: jsonp_strtod
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:551,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:552,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 3
    argNames:
    - lex
    - c
    - error
    argTypes:
    - lex_t*
    - int
    - json_error_t*
    assertStmts:
    - condition: (end == saved_text + lex->saved_text.length)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    constantsTouched: []
    func_position:
      end: 562
      start: 471
    functionDepth: 5
    functionLinenumber: 471
    functionLinenumberEnd: 562
    functionName: lex_scan_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - assert
    - lex_unget
    - jsonp_strtod
    - lex_get_save
    - json_strtoint
    - error_set
    - strbuffer_value
    - lex_unget_unsave
    - lex_save
    - l_isdigit
    - lex_get
    linkageType: ''
    returnType: int
    signature: int lex_scan_number(lex_t *lex, int c, json_error_t *error)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strbuffer_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:567,1
    - Dst: lex_free_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:570,1
    - Dst: lex_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:573,1
    - Dst: lex_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:586,1
    - Dst: lex_scan_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:592,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:594,1
    - Dst: lex_scan_number
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:595,1
    - Dst: l_isalpha
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:599,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:604,1
    - Dst: l_isalpha
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:605,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:606,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:608,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:610,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:612,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:614,1
    - Dst: lex_save_cached
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:623,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 45
    argCount: 2
    argNames:
    - lex
    - error
    argTypes:
    - lex_t*
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 564
    functionDepth: 6
    functionLinenumber: 564
    functionLinenumberEnd: 629
    functionName: lex_scan
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - lex_free_string
    - lex_get_save
    - strbuffer_value
    - lex_scan_string
    - lex_scan_number
    - l_isalpha
    - lex_save_cached
    - lex_unget_unsave
    - lex_save
    - l_isdigit
    - strbuffer_clear
    - lex_get
    - strcmp
    linkageType: ''
    returnType: int
    signature: int lex_scan(lex_t *lex, json_error_t *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lex
    - out_len
    argTypes:
    - lex_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 640
    functionName: lex_steal_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *lex_steal_string(lex_t *lex, size_t *out_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:643,1
    - Dst: strbuffer_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - lex
    - get
    - flags
    - data
    argTypes:
    - lex_t*
    - get_func
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: lex_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - stream_init
    - strbuffer_init
    linkageType: ''
    returnType: int
    signature: int lex_init(lex_t *lex, get_func get, size_t flags, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lex_free_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:654,1
    - Dst: strbuffer_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lex
    argTypes:
    - lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 656
    functionName: lex_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - lex_free_string
    - strbuffer_close
    linkageType: ''
    returnType: void
    signature: void lex_close(lex_t *lex)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:663,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:667,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:677,1
    - Dst: lex_steal_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:681,1
    - Dst: memchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:684,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:685,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:686,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:692,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:693,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:694,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:699,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:701,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:702,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:706,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:707,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:709,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:713,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:714,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:718,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:720,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:724,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:728,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:735,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 3
    argNames:
    - lex
    - flags
    - error
    argTypes:
    - lex_t*
    - size_t
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 662
    functionDepth: 7
    functionLinenumber: 662
    functionLinenumberEnd: 737
    functionName: parse_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - lex_scan
    - json_object
    - json_object_setn_new_nocheck
    - memchr
    - jsonp_free
    - json_object_getn
    - lex_steal_string
    - error_set
    - json_decref
    - parse_value
    linkageType: ''
    returnType: json_t
    signature: json_t *parse_object(lex_t *lex, size_t flags, json_error_t *error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:740,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:744,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:749,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:753,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:757,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:761,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:765,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:772,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - lex
    - flags
    - error
    argTypes:
    - lex_t*
    - size_t
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 739
    functionDepth: 7
    functionLinenumber: 739
    functionLinenumberEnd: 774
    functionName: parse_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - lex_scan
    - json_array_append_new
    - error_set
    - json_decref
    - parse_value
    - json_array
    linkageType: ''
    returnType: json_t
    signature: json_t *parse_array(lex_t *lex, size_t flags, json_error_t *error)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:781,1
    - Dst: memchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:791,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:792,1
    - Dst: jsonp_stringn_nocheck_own
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:798,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:805,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:810,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:815,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:819,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:823,1
    - Dst: parse_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:827,1
    - Dst: parse_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:831,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:835,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:839,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 3
    argNames:
    - lex
    - flags
    - error
    argTypes:
    - lex_t*
    - size_t
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 848
    functionName: parse_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 2
    functionsReached:
    - json_true
    - memchr
    - json_integer
    - json_real
    - error_set
    - parse_array
    - json_false
    - json_null
    - parse_object
    - jsonp_stringn_nocheck_own
    linkageType: ''
    returnType: json_t
    signature: json_t *parse_value(lex_t *lex, size_t flags, json_error_t *error)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:855,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:858,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:863,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:868,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:870,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - lex
    - flags
    - error
    argTypes:
    - lex_t*
    - size_t
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 850
    functionDepth: 7
    functionLinenumber: 850
    functionLinenumberEnd: 883
    functionName: parse_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - json_decref
    - error_set
    - lex_scan
    - parse_value
    linkageType: ''
    returnType: json_t
    signature: json_t *parse_json(lex_t *lex, size_t flags, json_error_t *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 900
    functionName: string_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int string_get(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:907,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:910,1
    - Dst: lex_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:917,1
    - Dst: parse_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:920,1
    - Dst: lex_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - string
    - flags
    - error
    argTypes:
    - char*
    - size_t
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 902
    functionDepth: 8
    functionLinenumber: 902
    functionLinenumberEnd: 924
    functionName: json_loads
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 20
    functionsReached:
    - jsonp_error_init
    - lex_close
    - error_set
    - parse_json
    - lex_init
    linkageType: ''
    returnType: json_t
    signature: json_t *json_loads(const char *string, size_t flags, json_error_t *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 941
    functionName: buffer_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int buffer_get(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:948,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:951,1
    - Dst: lex_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:959,1
    - Dst: parse_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:962,1
    - Dst: lex_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - buffer
    - buflen
    - flags
    - error
    argTypes:
    - char*
    - size_t
    - size_t
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 943
    functionDepth: 8
    functionLinenumber: 943
    functionLinenumberEnd: 966
    functionName: json_loadb
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 4
    functionsReached:
    - jsonp_error_init
    - lex_close
    - error_set
    - parse_json
    - lex_init
    linkageType: ''
    returnType: json_t
    signature: json_t *json_loadb(const char *buffer, size_t buflen, size_t flags,
      json_error_t *error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:978,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:981,1
    - Dst: lex_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:985,1
    - Dst: parse_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:988,1
    - Dst: lex_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - input
    - flags
    - error
    argTypes:
    - FILE*
    - size_t
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 968
    functionDepth: 8
    functionLinenumber: 968
    functionLinenumberEnd: 992
    functionName: json_loadf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 3
    functionsReached:
    - jsonp_error_init
    - lex_close
    - error_set
    - parse_json
    - lex_init
    linkageType: ''
    returnType: json_t
    signature: json_t *json_loadf(FILE *input, size_t flags, json_error_t *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1001
    functionName: fd_get_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: int fd_get_func(int *fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1015,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1018,1
    - Dst: lex_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1022,1
    - Dst: parse_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1025,1
    - Dst: lex_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1027,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - input
    - flags
    - error
    argTypes:
    - int
    - size_t
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1003
    functionDepth: 8
    functionLinenumber: 1003
    functionLinenumberEnd: 1029
    functionName: json_loadfd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 2
    functionsReached:
    - jsonp_error_init
    - lex_close
    - error_set
    - parse_json
    - lex_init
    linkageType: ''
    returnType: json_t
    signature: json_t *json_loadfd(int input, size_t flags, json_error_t *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1035,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1038,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1042,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1044,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1045,1
    - Dst: json_loadf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1049,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - path
    - flags
    - error
    argTypes:
    - char*
    - size_t
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1031
    functionDepth: 9
    functionLinenumber: 1031
    functionLinenumberEnd: 1053
    functionName: json_load_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 3
    functionsReached:
    - jsonp_error_init
    - json_loadf
    - error_set
    - strerror
    - fclose
    - fopen
    linkageType: ''
    returnType: json_t
    signature: json_t *json_load_file(const char *path, size_t flags, json_error_t
      *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: callback_data_t*::callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1079
    functionName: callback_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 0
    functionsReached:
    - callback_data_t*::callback
    linkageType: ''
    returnType: int
    signature: int callback_get(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1088,1
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1092,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1095,1
    - Dst: lex_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1099,1
    - Dst: parse_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1102,1
    - Dst: lex_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - callback
    - arg
    - flags
    - error
    argTypes:
    - json_load_callback_t
    - void*
    - size_t
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1081
    functionDepth: 8
    functionLinenumber: 1081
    functionLinenumberEnd: 1106
    functionName: json_load_callback
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: 1
    functionsReached:
    - memset
    - jsonp_error_init
    - lex_close
    - error_set
    - parse_json
    - lex_init
    linkageType: ''
    returnType: json_t
    signature: "json_t *json_load_callback(json_load_callback_t callback, void *arg,
      size_t flags,\n                           json_error_t *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:31,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - strbuffer
    argTypes:
    - strbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: to_locale
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c
    functionUses: 0
    functionsReached:
    - localeconv
    - strchr
    linkageType: ''
    returnType: void
    signature: void to_locale(strbuffer_t *strbuffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:46,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: from_locale
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c
    functionUses: 0
    functionsReached:
    - localeconv
    - strchr
    linkageType: ''
    returnType: void
    signature: void from_locale(char *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: to_locale
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:63,1
    - Dst: strtod
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:67,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - strbuffer
    - out
    argTypes:
    - strbuffer_t*
    - double*
    assertStmts:
    - condition: (end == strbuffer->value + strbuffer->length)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: jsonp_strtod
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c
    functionUses: 1
    functionsReached:
    - strtod
    - to_locale
    - assert
    linkageType: ''
    returnType: int
    signature: int jsonp_strtod(strbuffer_t *strbuffer, double *out)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:87,1
    - Dst: from_locale
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:96,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:101,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:101,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:114,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - buffer
    - size
    - value
    - precision
    argTypes:
    - char*
    - size_t
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 132
    functionName: jsonp_dtostr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c
    functionUses: 0
    functionsReached:
    - snprintf
    - from_locale
    - memmove
    - strchr
    linkageType: ''
    returnType: int
    signature: int jsonp_dtostr(char *buffer, size_t size, double value, int precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: hashtable_key_to_iter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashtable_key_to_iter(key_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: JANSSON_ATTRS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JANSSON_ATTRS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: json_typeof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_typeof(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: json_is_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_is_object(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: json_is_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_is_array(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: json_is_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_is_string(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: json_is_integer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_is_integer(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: json_is_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_is_real(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: json_is_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_is_number(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: json_is_true
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_is_true(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: json_is_false
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_is_false(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: json_is_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_is_boolean(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: json_is_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_is_null(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: json_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_boolean(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: JSON_INTERNAL_INCREF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INTERNAL_INCREF(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: JSON_INTERNAL_DECREF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INTERNAL_DECREF(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: JSON_INTERNAL_INCREF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INTERNAL_INCREF(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: JSON_INTERNAL_DECREF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INTERNAL_DECREF(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: JSON_INTERNAL_INCREF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INTERNAL_INCREF(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: JSON_INTERNAL_DECREF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INTERNAL_DECREF(json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_INTERNAL_INCREF
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: json_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 6
    functionsReached:
    - JSON_INTERNAL_INCREF
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE *json_incref(json_t *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_INTERNAL_DECREF
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:132,1
    - Dst: json_delete
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: json_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 94
    functionsReached:
    - json_delete
    - JSON_INTERNAL_DECREF
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_decref(json_t *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: json_decrefp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached:
    - json_decref
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_decrefp(json_t **json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - json_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: json_error_code
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_error_code(const json_error_t *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - object
    - ','
    - key
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_foreach(object, key, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - object
    - ','
    - key
    - ','
    - key_len
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: json_object_keylen_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_keylen_foreach(object, key, key_len, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - object
    - ','
    - n
    - ','
    - key
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: json_object_foreach_safe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_foreach_safe(object, n, key, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - object
    - ','
    - n
    - ','
    - key
    - ','
    - key_len
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: json_object_keylen_foreach_safe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_keylen_foreach_safe(object, n, key, key_len, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - array
    - ','
    - index
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: json_array_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_array_foreach(array, index, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:249,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - key
    - value
    argTypes:
    - json_t*
    - char*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: json_object_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 11
    functionsReached:
    - json_object_set_new
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_object_set(json_t *object, const char *key, json_t
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_setn_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:254,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - object
    - key
    - key_len
    - value
    argTypes:
    - json_t*
    - char*
    - size_t
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: json_object_setn
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 0
    functionsReached:
    - json_object_setn_new
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: "JSON_INLINE json_object_setn(json_t *object, const char *key, size_t
      key_len,\n                                        json_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:259,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - key
    - value
    argTypes:
    - json_t*
    - char*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: json_object_set_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 6
    functionsReached:
    - json_object_set_new_nocheck
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: "JSON_INLINE json_object_set_nocheck(json_t *object, const char *key,\n
      \                                              json_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:264,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - object
    - key
    - key_len
    - value
    argTypes:
    - json_t*
    - char*
    - size_t
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: json_object_setn_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 6
    functionsReached:
    - json_incref
    - json_object_setn_new_nocheck
    linkageType: ''
    returnType: JSON_INLINE
    signature: "JSON_INLINE json_object_setn_nocheck(json_t *object, const char *key,\n
      \                                               size_t key_len, json_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_iter_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:268,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - iter
    - value
    argTypes:
    - json_t*
    - void*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: json_object_iter_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 1
    functionsReached:
    - json_object_iter_set_new
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_object_iter_set(json_t *object, void *iter, json_t
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:272,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: json_object_update_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 1
    functionsReached:
    - json_decref
    - json_object_update
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_object_update_new(json_t *object, json_t *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:278,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: json_object_update_existing_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 1
    functionsReached:
    - json_object_update_existing
    - json_decref
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_object_update_existing_new(json_t *object, json_t
      *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:284,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: json_object_update_missing_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 1
    functionsReached:
    - json_decref
    - json_object_update_missing
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_object_update_missing_new(json_t *object, json_t *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:300,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - array
    - ind
    - value
    argTypes:
    - json_t*
    - size_t
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: json_array_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 2
    functionsReached:
    - json_incref
    - json_array_set_new
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_array_set(json_t *array, size_t ind, json_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:304,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - array
    - value
    argTypes:
    - json_t*
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: json_array_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 10
    functionsReached:
    - json_incref
    - json_array_append_new
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_array_append(json_t *array, json_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:308,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - array
    - ind
    - value
    argTypes:
    - json_t*
    - size_t
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: json_array_insert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 2
    functionsReached:
    - json_incref
    - json_array_insert_new
    linkageType: ''
    returnType: JSON_INLINE
    signature: JSON_INLINE json_array_insert(json_t *array, size_t ind, json_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: JSON_INDENT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INDENT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: JSON_REAL_PRECISION
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_REAL_PRECISION(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: FLAGS_TO_INDENT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLAGS_TO_INDENT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: FLAGS_TO_PRECISION
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLAGS_TO_PRECISION(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: dump_to_strbuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 0
    functionsReached:
    - strbuffer_append_bytes
    linkageType: ''
    returnType: int
    signature: int dump_to_strbuffer(const char *buffer, size_t size, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: dump_to_buffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int dump_to_buffer(const char *buffer, size_t size, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: dump_to_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int dump_to_file(const char *buffer, size_t size, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: dump_to_fd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int dump_to_fd(const char *buffer, size_t size, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_TO_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:73,1
    - Dst: FLAGS_TO_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:74,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:76,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:83,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - flags
    - depth
    - space
    - dump
    - data
    argTypes:
    - size_t
    - int
    - int
    - json_dump_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: dump_indent
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 0
    functionsReached:
    - FLAGS_TO_INDENT
    - dump
    linkageType: ''
    returnType: int
    signature: "int dump_indent(size_t flags, int depth, int space, json_dump_callback_t
      dump,\n                       void *data)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:99,1
    - Dst: utf8_iterate
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:110,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:130,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:167,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:179,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:189,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:195,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 5
    argNames:
    - str
    - len
    - dump
    - data
    - flags
    argTypes:
    - char*
    - size_t
    - json_dump_callback_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 196
    functionName: dump_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 0
    functionsReached:
    - snprintf
    - utf8_iterate
    - dump
    linkageType: ''
    returnType: int
    signature: "int dump_string(const char *str, size_t len, json_dump_callback_t
      dump, void *data,\n                       size_t flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: compare_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int compare_keys(const void *key1, const void *key2)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:224,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:226,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:229,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:232,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:238,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:239,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:243,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:249,1
    - Dst: jsonp_dtostr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:251,1
    - Dst: FLAGS_TO_PRECISION
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:252,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:256,1
    - Dst: dump_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:260,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:260,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:260,1
    - Dst: jsonp_loop_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:272,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:275,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:277,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:280,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:281,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:283,1
    - Dst: do_dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:287,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:287,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:292,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:293,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:296,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:301,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:302,1
    - Dst: jsonp_loop_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:321,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:325,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:327,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:330,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:331,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:333,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:340,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:341,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:349,1
    - Dst: json_object_iter_key_len
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:350,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:352,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:355,1
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:357,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:364,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:365,1
    - Dst: dump_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:367,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:368,1
    - Dst: do_dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:369,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:370,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:375,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:376,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:377,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:381,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:382,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:388,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:393,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:394,1
    - Dst: json_object_iter_key_len
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:395,1
    - Dst: dump_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:397,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:398,1
    - Dst: do_dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:399,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:399,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:404,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:405,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:408,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:416,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:417,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 127
    argCount: 6
    argNames:
    - json
    - flags
    - depth
    - parents
    - dump
    - data
    argTypes:
    - json_t*
    - size_t
    - int
    - hashtable_t*
    - json_dump_callback_t
    - void*
    assertStmts:
    - condition: (value)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    - condition: (i == size)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    constantsTouched: []
    func_position:
      end: 424
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 424
    functionName: do_dump
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 1
    functionsReached:
    - assert
    - json_real_value
    - FLAGS_TO_PRECISION
    - jsonp_free
    - json_typeof
    - snprintf
    - json_array_get
    - json_object_iter_key
    - json_object_iter_key_len
    - dump_indent
    - dump_string
    - do_dump
    - json_object_iter_next
    - jsonp_dtostr
    - json_object_iter_value
    - dump
    - json_integer_value
    - jsonp_loop_check
    - json_array_size
    - qsort
    - json_object_getn
    - json_object_iter
    - json_string_value
    - jsonp_malloc
    - json_string_length
    - hashtable_del
    - json_object_size
    linkageType: ''
    returnType: int
    signature: "int do_dump(const json_t *json, size_t flags, int depth, hashtable_t
      *parents,\n                   json_dump_callback_t dump, void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strbuffer_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:430,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:433,1
    - Dst: jsonp_strdup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:436,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:436,1
    - Dst: strbuffer_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - json
    - flags
    argTypes:
    - json_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 440
    functionName: json_dumps
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 13
    functionsReached:
    - strbuffer_init
    - strbuffer_value
    - jsonp_strdup
    - json_dump_callback
    - strbuffer_close
    linkageType: ''
    returnType: char
    signature: char *json_dumps(const json_t *json, size_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - json
    - buffer
    - size
    - flags
    argTypes:
    - json_t*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: json_dumpb
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 4
    functionsReached:
    - json_dump_callback
    linkageType: ''
    returnType: size_t
    signature: size_t json_dumpb(const json_t *json, char *buffer, size_t size, size_t
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - json
    - output
    - flags
    argTypes:
    - json_t*
    - FILE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: json_dumpf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 3
    functionsReached:
    - json_dump_callback
    linkageType: ''
    returnType: int
    signature: int json_dumpf(const json_t *json, FILE *output, size_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - json
    - output
    - flags
    argTypes:
    - json_t*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: json_dumpfd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 3
    functionsReached:
    - json_dump_callback
    linkageType: ''
    returnType: int
    signature: int json_dumpfd(const json_t *json, int output, size_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:462,1
    - Dst: json_dumpf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:466,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - json
    - path
    - flags
    argTypes:
    - json_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 472
    functionName: json_dump_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 1
    functionsReached:
    - fclose
    - json_dumpf
    - fopen
    linkageType: ''
    returnType: int
    signature: int json_dump_file(const json_t *json, const char *path, size_t flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:480,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:480,1
    - Dst: hashtable_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:484,1
    - Dst: do_dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:486,1
    - Dst: hashtable_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - json
    - callback
    - data
    - flags
    argTypes:
    - json_t*
    - json_dump_callback_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 474
    functionDepth: 5
    functionLinenumber: 474
    functionLinenumberEnd: 490
    functionName: json_dump_callback
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: 8
    functionsReached:
    - hashtable_close
    - json_is_object
    - json_is_array
    - hashtable_init
    - do_dump
    linkageType: ''
    returnType: int
    signature: "int json_dump_callback(const json_t *json, json_dump_callback_t callback,
      void *data,\n                       size_t flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scanner
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: token
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: token(scanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: type_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: type_name(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:49,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:50,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - s
    - error
    - flags
    - fmt
    argTypes:
    - scanner_t*
    - json_error_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: scanner_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void scanner_init(scanner_t *s, json_error_t *error, size_t flags,\n
      \                        const char *fmt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:68,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - s
    argTypes:
    - scanner_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 95
    functionName: next_token
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - token
    linkageType: ''
    returnType: void
    signature: void next_token(scanner_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - scanner_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: prev_token
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prev_token(scanner_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:105,1
    - Dst: jsonp_error_vset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:107,1
    - Dst: jsonp_error_set_source
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:110,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - s
    - source
    - code
    - fmt
    argTypes:
    - scanner_t*
    - char*
    - enum json_error_code
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: set_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - jsonp_error_vset
    - va_start
    - va_end
    - jsonp_error_set_source
    linkageType: ''
    returnType: void
    signature: "void set_error(scanner_t *s, const char *source, enum json_error_code
      code,\n                      const char *fmt, ...)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:126,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:127,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:128,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:133,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:137,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:143,1
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:145,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:146,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:154,1
    - Dst: strbuffer_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:161,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:162,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:167,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:169,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:173,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:175,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:176,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:177,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:178,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:180,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:181,1
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:184,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:185,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:189,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:190,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:191,1
    - Dst: strbuffer_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:197,1
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:201,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:202,1
    - Dst: strbuffer_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:203,1
    - Dst: strbuffer_steal_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:210,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 6
    argNames:
    - s
    - ap
    - purpose
    - out_len
    - ours
    - optional
    argTypes:
    - scanner_t*
    - va_list*
    - char*
    - size_t*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 211
    functionName: read_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - strbuffer_init
    - strlen
    - set_error
    - strbuffer_append_bytes
    - strbuffer_steal_value
    - va_arg
    - token
    - prev_token
    - next_token
    - utf8_check_string
    - strbuffer_close
    linkageType: ''
    returnType: char
    signature: "char *read_string(scanner_t *s, va_list *ap, const char *purpose,
      size_t *out_len,\n                         int *ours, int optional)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:214,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:215,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:217,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:224,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:225,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:230,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:231,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:232,1
    - Dst: read_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:236,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:238,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:240,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:241,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:242,1
    - Dst: pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:244,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:247,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:250,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:254,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:259,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:261,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:262,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:268,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:270,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:277,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - s
    - ap
    argTypes:
    - scanner_t*
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 279
    functionName: pack_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - set_error
    - json_object
    - pack
    - jsonp_free
    - token
    - prev_token
    - json_object_set_new_nocheck
    - next_token
    - read_string
    - json_decref
    linkageType: ''
    returnType: json_t
    signature: json_t *pack_object(scanner_t *s, va_list *ap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:282,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:283,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:285,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:289,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:290,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:296,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:297,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:298,1
    - Dst: pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:300,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:306,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:311,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:313,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:314,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:319,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - s
    - ap
    argTypes:
    - scanner_t*
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 328
    functionName: pack_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - set_error
    - pack
    - json_array_append_new
    - token
    - prev_token
    - next_token
    - json_decref
    - json_array
    linkageType: ''
    returnType: json_t
    signature: json_t *pack_array(scanner_t *s, va_list *ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:337,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:338,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:341,1
    - Dst: read_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:343,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:346,1
    - Dst: jsonp_stringn_nocheck_own
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:354,1
    - Dst: json_stringn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - s
    - ap
    argTypes:
    - scanner_t*
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 357
    functionName: pack_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - json_stringn_nocheck
    - token
    - prev_token
    - next_token
    - read_string
    - json_null
    - jsonp_stringn_nocheck_own
    linkageType: ''
    returnType: json_t
    signature: json_t *pack_string(scanner_t *s, va_list *ap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:363,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:364,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:367,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:369,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:372,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:376,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - s
    - ap
    - need_incref
    argTypes:
    - scanner_t*
    - va_list*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 386
    functionName: pack_object_inter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - set_error
    - json_incref
    - va_arg
    - token
    - prev_token
    - next_token
    - json_null
    linkageType: ''
    returnType: json_t
    signature: json_t *pack_object_inter(scanner_t *s, va_list *ap, int need_incref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:389,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - scanner_t*
    - json_int_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 397
    functionName: pack_integer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - json_integer
    - set_error
    linkageType: ''
    returnType: json_t
    signature: json_t *pack_integer(scanner_t *s, json_int_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:401,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:404,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:410,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:411,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - scanner_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 421
    functionName: pack_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - json_real_set
    - json_decref
    - set_error
    - json_real
    linkageType: ''
    returnType: json_t
    signature: json_t *pack_real(scanner_t *s, double value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:424,1
    - Dst: pack_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:426,1
    - Dst: pack_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:429,1
    - Dst: pack_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:432,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:435,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:438,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:438,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:438,1
    - Dst: pack_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:441,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:441,1
    - Dst: pack_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:444,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:444,1
    - Dst: pack_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:447,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:447,1
    - Dst: pack_object_inter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:450,1
    - Dst: pack_object_inter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:453,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:456,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - s
    - ap
    argTypes:
    - scanner_t*
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 423
    functionDepth: 6
    functionLinenumber: 423
    functionLinenumberEnd: 461
    functionName: pack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 15
    functionsReached:
    - pack_array
    - json_true
    - set_error
    - pack_object_inter
    - pack_real
    - va_arg
    - token
    - pack_object
    - pack_integer
    - pack_string
    - json_false
    - json_null
    linkageType: ''
    returnType: json_t
    signature: json_t *pack(scanner_t *s, va_list *ap)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:477,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:478,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:482,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:483,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:484,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:487,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:489,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:495,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:497,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:501,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:502,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:507,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:507,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:508,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:509,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:513,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:514,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:515,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:519,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:521,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:525,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:527,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:529,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:536,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:538,1
    - Dst: unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:544,1
    - Dst: hashtable_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:547,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:547,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:547,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:548,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:564,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:566,1
    - Dst: hashtable_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:567,1
    - Dst: strbuffer_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:572,1
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:574,1
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:579,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:584,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:586,1
    - Dst: strbuffer_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:587,1
    - Dst: hashtable_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:595,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 89
    argCount: 3
    argNames:
    - s
    - root
    - ap
    argTypes:
    - scanner_t*
    - json_t*
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 465
    functionDepth: 4
    functionLinenumber: 465
    functionLinenumberEnd: 597
    functionName: unpack_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - set_error
    - strbuffer_close
    - strbuffer_append_bytes
    - token
    - json_is_object
    - hashtable_init
    - strbuffer_value
    - type_name
    - hashtable_get
    - strlen
    - next_token
    - json_null
    - strbuffer_init
    - unpack
    - hashtable_close
    - json_object_get
    - va_arg
    - hashtable_set
    - json_object_size
    linkageType: ''
    returnType: int
    signature: int unpack_object(scanner_t *s, json_t *root, va_list *ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:566,1
    - Dst: hashtable_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:567,1
    - Dst: strbuffer_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:572,1
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:574,1
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 581
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 3
    functionsReached:
    - hashtable_get
    - strlen
    - strbuffer_append_bytes
    - strbuffer_init
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(root, key, value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:603,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:604,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:605,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:608,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:610,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:614,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:616,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:620,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:621,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:626,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:626,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:627,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:628,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:632,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:632,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:633,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:634,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:642,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:644,1
    - Dst: unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:650,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:653,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:660,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:661,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:662,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 3
    argNames:
    - s
    - root
    - ap
    argTypes:
    - scanner_t*
    - json_t*
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 599
    functionDepth: 3
    functionLinenumber: 599
    functionLinenumberEnd: 668
    functionName: unpack_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - set_error
    - unpack
    - strchr
    - token
    - json_array_get
    - next_token
    - json_is_array
    - type_name
    linkageType: ''
    returnType: int
    signature: int unpack_array(scanner_t *s, json_t *root, va_list *ap)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:671,1
    - Dst: unpack_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:673,1
    - Dst: unpack_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:676,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:679,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:680,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:681,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:689,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:691,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:695,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:697,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:698,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:700,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:705,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:708,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:710,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:716,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:717,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:718,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:723,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:725,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:731,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:732,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:733,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:738,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:740,1
    - Dst: json_is_boolean
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:746,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:747,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:748,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:753,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:755,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:761,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:762,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:763,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:768,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:770,1
    - Dst: json_is_number
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:776,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:777,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:778,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:783,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:785,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:792,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:797,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:806,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:807,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:808,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:814,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:815,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 3
    argNames:
    - s
    - root
    - ap
    argTypes:
    - scanner_t*
    - json_t*
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 670
    functionDepth: 5
    functionLinenumber: 670
    functionLinenumberEnd: 818
    functionName: unpack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 4
    functionsReached:
    - set_error
    - json_real_value
    - json_is_number
    - unpack_object
    - prev_token
    - json_is_integer
    - json_is_true
    - json_is_string
    - unpack_array
    - json_number_value
    - token
    - json_is_boolean
    - type_name
    - json_is_real
    - json_incref
    - next_token
    - json_integer_value
    - json_is_null
    - va_arg
    - json_string_value
    - json_string_length
    linkageType: ''
    returnType: int
    signature: int unpack(scanner_t *s, json_t *root, va_list *ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:826,1
    - Dst: jsonp_error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:827,1
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:831,1
    - Dst: scanner_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:833,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:834,1
    - Dst: va_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:836,1
    - Dst: pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:837,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:838,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:844,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:845,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:846,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - error
    - flags
    - fmt
    - ap
    argTypes:
    - json_error_t*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 820
    functionDepth: 7
    functionLinenumber: 820
    functionLinenumberEnd: 853
    functionName: json_vpack_ex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - va_copy
    - set_error
    - pack
    - jsonp_error_init
    - token
    - jsonp_error_set
    - scanner_init
    - next_token
    - json_decref
    - va_end
    linkageType: ''
    returnType: json_t
    signature: json_t *json_vpack_ex(json_error_t *error, size_t flags, const char
      *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:859,1
    - Dst: json_vpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:860,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - error
    - flags
    - fmt
    argTypes:
    - json_error_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 855
    functionDepth: 8
    functionLinenumber: 855
    functionLinenumberEnd: 864
    functionName: json_pack_ex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 2
    functionsReached:
    - va_start
    - json_vpack_ex
    - va_end
    linkageType: ''
    returnType: json_t
    signature: json_t *json_pack_ex(json_error_t *error, size_t flags, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:870,1
    - Dst: json_vpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:871,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 8
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: json_pack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 13
    functionsReached:
    - va_start
    - json_vpack_ex
    - va_end
    linkageType: ''
    returnType: json_t
    signature: json_t *json_pack(const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:883,1
    - Dst: jsonp_error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:884,1
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:889,1
    - Dst: jsonp_error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:890,1
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:894,1
    - Dst: scanner_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:896,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:897,1
    - Dst: va_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:899,1
    - Dst: unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:900,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:901,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:904,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:906,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:907,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:908,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - root
    - error
    - flags
    - fmt
    - ap
    argTypes:
    - json_t*
    - json_error_t*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 877
    functionDepth: 6
    functionLinenumber: 877
    functionLinenumberEnd: 914
    functionName: json_vunpack_ex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 0
    functionsReached:
    - va_copy
    - set_error
    - unpack
    - jsonp_error_init
    - token
    - jsonp_error_set
    - scanner_init
    - next_token
    - va_end
    linkageType: ''
    returnType: int
    signature: "int json_vunpack_ex(json_t *root, json_error_t *error, size_t flags,
      const char *fmt,\n                    va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:921,1
    - Dst: json_vunpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:922,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - root
    - error
    - flags
    - fmt
    argTypes:
    - json_t*
    - json_error_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 916
    functionDepth: 7
    functionLinenumber: 916
    functionLinenumberEnd: 926
    functionName: json_unpack_ex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - json_vunpack_ex
    linkageType: ''
    returnType: int
    signature: "int json_unpack_ex(json_t *root, json_error_t *error, size_t flags,
      const char *fmt,\n                   ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:932,1
    - Dst: json_vunpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:933,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - root
    - fmt
    argTypes:
    - json_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 928
    functionDepth: 7
    functionLinenumber: 928
    functionLinenumberEnd: 937
    functionName: json_unpack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - json_vunpack_ex
    linkageType: ''
    returnType: int
    signature: int json_unpack(json_t *root, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: jsonp_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *jsonp_malloc(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: jsonp_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jsonp_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_strndup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c:37,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: jsonp_strdup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: 1
    functionsReached:
    - strlen
    - jsonp_strndup
    linkageType: ''
    returnType: char
    signature: char *jsonp_strdup(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c:42,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: jsonp_strndup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: 3
    functionsReached:
    - memcpy
    - jsonp_malloc
    linkageType: ''
    returnType: char
    signature: char *jsonp_strndup(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - malloc_fn
    - free_fn
    argTypes:
    - json_malloc_t
    - json_free_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: json_set_alloc_funcs
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_set_alloc_funcs(json_malloc_t malloc_fn, json_free_t free_fn)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - malloc_fn
    - free_fn
    argTypes:
    - json_malloc_t*
    - json_free_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: json_get_alloc_funcs
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_get_alloc_funcs(json_malloc_t *malloc_fn, json_free_t *free_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: hashsize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashsize(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: hashmask
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmask(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: rot
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rot(x,k)
  - 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: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: mix
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mix(a,b,c)
  - 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: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: final
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: final(a,b,c)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: __has_feature
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h:214,1
    - Dst: mix
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h:234,1
    - Dst: mix
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h:300,1
    - Dst: mix
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h:355,1
    - Dst: final
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h:380,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 202
    argCount: 3
    argNames:
    - key
    - length
    - initval
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 382
    functionName: hashlittle
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h
    functionUses: 0
    functionsReached:
    - final
    - __has_feature
    - mix
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashlittle(const void *key, size_t length, uint32_t initval)
  - 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: jansson_version_str
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/version.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *jansson_version_str(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - major
    - minor
    - micro
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: jansson_version_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/version.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jansson_version_cmp(int major, int minor, int micro)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - codepoint
    - buffer
    - size
    argTypes:
    - int32_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 36
    functionName: utf8_encode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf8_encode(int32_t codepoint, char *buffer, size_t *size)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - byte
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: utf8_check_first
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t utf8_check_first(char byte)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - size
    - codepoint
    argTypes:
    - char*
    - size_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 114
    functionName: utf8_check_full
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t utf8_check_full(const char *buffer, size_t size, int32_t *codepoint)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_first
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c:123,1
    - Dst: utf8_check_full
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - buffer
    - bufsize
    - codepoint
    argTypes:
    - char*
    - size_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 138
    functionName: utf8_iterate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c
    functionUses: 1
    functionsReached:
    - utf8_check_full
    - utf8_check_first
    linkageType: ''
    returnType: char
    signature: char *utf8_iterate(const char *buffer, size_t bufsize, int32_t *codepoint)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_first
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c:144,1
    - Dst: utf8_check_full
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: utf8_check_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c
    functionUses: 5
    functionsReached:
    - utf8_check_full
    - utf8_check_first
    linkageType: ''
    returnType: int
    signature: int utf8_check_string(const char *string, size_t length)
  - 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: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: container_of
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: container_of(ptr_, type_, member_)
  - 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: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: max
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson_private.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: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: va_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson_private.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: va_copy(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: json_to_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson_private.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_to_object(json_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: json_to_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson_private.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_to_array(json_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: json_to_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson_private.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_to_string(json_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: json_to_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson_private.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_to_real(json_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: json_to_integer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson_private.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_to_integer(json_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: vsnprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson_private.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsnprintf(b, c, f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: print_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 4
    functionsReached:
    - print_json_aux
    linkageType: ''
    returnType: void
    signature: void print_json(json_t *root)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:46,1
    - Dst: print_json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:48,1
    - Dst: print_json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:51,1
    - Dst: print_json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:54,1
    - Dst: print_json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:57,1
    - Dst: print_json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:60,1
    - Dst: print_json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:63,1
    - Dst: print_json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:66,1
    - Dst: print_json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:69,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:72,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: print_json_aux
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 5
    functionsReached:
    - print_json_array
    - print_json_false
    - json_typeof
    - print_json_integer
    - fprintf
    - print_json_null
    - print_json_object
    - print_json_true
    - print_json_real
    - print_json_string
    linkageType: ''
    returnType: void
    signature: void print_json_aux(json_t *element, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - indent
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: print_json_indent
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 4
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void print_json_indent(int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: json_plural
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 5
    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/deps/jansson/examples/simple_parse.c:90,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:91,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:93,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:93,1
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:95,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:96,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: print_json_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 2
    functionsReached:
    - print_json_aux
    - printf
    - 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/deps/jansson/examples/simple_parse.c:95,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:96,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 3
    functionsReached:
    - print_json_aux
    - printf
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(element, key, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:103,1
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:104,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:106,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:106,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:108,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: print_json_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 2
    functionsReached:
    - json_array_size
    - print_json_aux
    - json_array_get
    - printf
    - json_plural
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: void print_json_array(json_t *element, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:113,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:114,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: print_json_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 2
    functionsReached:
    - json_string_value
    - printf
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: void print_json_string(json_t *element, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:118,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:119,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: print_json_integer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 1
    functionsReached:
    - printf
    - print_json_indent
    - json_integer_value
    linkageType: ''
    returnType: void
    signature: void print_json_integer(json_t *element, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:123,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:124,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: print_json_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 1
    functionsReached:
    - printf
    - json_real_value
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: void print_json_real(json_t *element, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:129,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: print_json_true
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 1
    functionsReached:
    - printf
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: void print_json_true(json_t *element, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:135,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: print_json_false
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 1
    functionsReached:
    - printf
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: void print_json_false(json_t *element, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:141,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: print_json_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 1
    functionsReached:
    - printf
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: void print_json_null(json_t *element, int indent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:153,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 9
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: load_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 4
    functionsReached:
    - json_loads
    - fprintf
    linkageType: ''
    returnType: json_t
    signature: json_t *load_json(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:168,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:169,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - line
    - max_chars
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: read_line
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 0
    functionsReached:
    - printf
    - fgets
    - fflush
    linkageType: ''
    returnType: char
    signature: char *read_line(char *line, int max_chars)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:183,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:184,1
    - Dst: read_line
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:187,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:190,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:194,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 200
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: 0
    functionsReached:
    - fprintf
    - load_json
    - read_line
    - json_decref
    - print_json
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: RANK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANK(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - h
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: UPDATE_HASH
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_HASH(s,h,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - str
    - ','
    - match_head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: INSERT_STRING
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_STRING(s, str, match_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - str
    - ','
    - match_head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: INSERT_STRING
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_STRING(s, str, match_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: CLEAR_HASH
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_HASH(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - beg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 813
    functionName: HCRC_UPDATE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HCRC_UPDATE(beg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1662
    functionName: FLUSH_BLOCK_ONLY
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSH_BLOCK_ONLY(s, last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1668
    functionName: FLUSH_BLOCK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSH_BLOCK(s, last)
  - 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: 1674
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1674
    functionName: MIN
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: put_byte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_byte(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: MAX_DIST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_DIST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dist
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: d_code
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d_code(dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: _tr_tally_lit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_lit(s, c, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - distance
    - ','
    - length
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: _tr_tally_dist
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_dist(s, distance, length, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: _tr_tally_lit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_lit(s, c, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - distance
    - ','
    - length
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: _tr_tally_dist
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_dist(s, distance, length, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: LOAD
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: RESTORE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: INITBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: PULL
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: PULLBYTE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULLBYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: NEEDBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: BITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: DROPBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROPBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: BYTEBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 223
    functionName: ROOM
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROOM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: zlibVersion
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ZEXPORT zlibVersion()
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 115
    functionName: zlibCompileFlags
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uLong
    signature: uLong zlibCompileFlags()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: farmalloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:230,1
    - Dst: farmalloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 243
    functionName: ZLIB_INTERNAL::zcalloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: 0
    functionsReached:
    - farmalloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: farfree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:252,1
    - Dst: farfree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:259,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: ZLIB_INTERNAL::zcfree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: 0
    functionsReached:
    - Assert
    - farfree
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _halloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - uInt
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: ZLIB_INTERNAL::zcalloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: 0
    functionsReached:
    - _halloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, uInt items, uInt size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _hfree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: ZLIB_INTERNAL::zcfree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: 0
    functionsReached:
    - _hfree
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 638
    functionName: gz_intmax
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned ZLIB_INTERNAL
    signature: unsigned ZLIB_INTERNAL gz_intmax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: send_code
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_code(s, c, tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: send_code
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_code(s, c, tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: put_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_short(s, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - value
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: send_bits
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_bits(s, value, length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:263,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:278,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:286,1
    - Dst: gen_codes
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:299,1
    - Dst: bi_reverse
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:304,1
    - Dst: gen_trees_header
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:309,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 312
    functionName: tr_static_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: 0
    functionsReached:
    - Assert
    - gen_trees_header
    - bi_reverse
    - gen_codes
    linkageType: ''
    returnType: local
    signature: local tr_static_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - last
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: SEPARATOR
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEPARATOR(i, last, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:328,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:331,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:332,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:335,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:337,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:338,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:341,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:343,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:344,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:347,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:349,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:350,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:353,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:356,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:357,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:360,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:362,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:363,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:366,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:368,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:369,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 373
    functionName: gen_trees_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: 1
    functionsReached:
    - fprintf
    - fclose
    - fopen
    - SEPARATOR
    - Assert
    linkageType: ''
    returnType: void
    signature: void gen_trees_header()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - tree
    - ','
    - top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: pqremove
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pqremove(s, tree, top)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tree
    - ','
    - n
    - ','
    - m
    - ','
    - depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: smaller
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smaller(tree, n, m, depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1798
    functionName: z_deflateInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1800
    functionName: z_inflateInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1803
    functionName: z_deflateInit2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1806
    functionName: z_inflateInit2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateInit2(strm, windowBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1809
    functionName: z_inflateBackInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateBackInit(strm, windowBits, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1812
    functionName: deflateInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1814
    functionName: inflateInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1817
    functionName: deflateInit2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1820
    functionName: inflateInit2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit2(strm, windowBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1823
    functionName: inflateBackInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateBackInit(strm, windowBits, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1844
    functionName: z_gzgetc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_gzgetc(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1847
    functionName: gzgetc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzgetc(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: OF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: OF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: Z_ARG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Z_ARG(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: Z_ARG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Z_ARG(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: ERR_MSG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_MSG(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: ERR_RETURN
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_RETURN(strm,err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: F_OPEN
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_OPEN(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: fdopen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: fdopen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: fdopen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: fdopen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: F_OPEN
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_OPEN(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: zmemzero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zmemzero(dest, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: zmemzero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zmemzero(dest, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: Assert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Assert(cond,msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: Trace
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Trace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: Tracev
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracev(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: Tracevv
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracevv(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: Tracec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracec(c,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: Tracecv
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracecv(c,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - items
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: ZALLOC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZALLOC(strm, items, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: ZFREE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZFREE(strm, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: TRY_FREE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_FREE(s, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: ZSWAP32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSWAP32(q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byte_swap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:294,1
    - Dst: multmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:302,1
    - Dst: braid
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:306,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:325,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:329,1
    - Dst: write_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:335,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:336,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:340,1
    - Dst: write_table64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:348,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:349,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:353,1
    - Dst: write_table32hi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:359,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:360,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:367,1
    - Dst: braid
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:372,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:375,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:381,1
    - Dst: write_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:382,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:383,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:385,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:390,1
    - Dst: write_table64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:391,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:392,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:394,1
    - Dst: braid
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:398,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:401,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:407,1
    - Dst: write_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:408,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:409,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:411,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:416,1
    - Dst: write_table32hi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:417,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:418,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:420,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:427,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:432,1
    - Dst: write_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:436,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:437,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:439,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 442
    functionName: make_crc_table
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: 0
    functionsReached:
    - write_table64
    - write_table32hi
    - fprintf
    - byte_swap
    - fclose
    - fopen
    - write_table
    - multmodp
    - braid
    linkageType: ''
    returnType: local
    signature: local make_crc_table()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_crc_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: 0
    functionsReached:
    - make_crc_table
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: get_crc_table
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: 0
    functionsReached:
    - once
    linkageType: ''
    returnType: z_crc_t
    signature: z_crc_t * ZEXPORT get_crc_table()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: zstrerror
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: zstrerror
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: zstrerror
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: GT_OFF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GT_OFF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: GT_OFF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GT_OFF(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gz_init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:410,1
    - Dst: gz_zero
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:416,1
    - Dst: vsprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:429,1
    - Dst: vsprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:433,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:437,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:438,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:440,1
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:454,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:456,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - file
    - format
    - va
    argTypes:
    - gzFile
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 461
    functionName: gzvprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: 0
    functionsReached:
    - strlen
    - gz_init
    - vsprintf
    - gz_zero
    - memmove
    - gz_comp
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: int gzvprintf(gzFile file, const char *format, va_list va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:468,1
    - Dst: gzvprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:469,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - file
    - format
    argTypes:
    - gzFile
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: gzprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: 0
    functionsReached:
    - gzvprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int gzprintf(gzFile file, const char *format, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fixedtables
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:350,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:351,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:352,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:353,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:354,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:355,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:356,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:357,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:358,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:359,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:361,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:364,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:365,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:368,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:370,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:372,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:375,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:376,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:379,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 382
    functionName: makefixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached:
    - printf
    - fixedtables
    - putchar
    - puts
    linkageType: ''
    returnType: void
    signature: void makefixed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - check
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: UPDATE_CHECK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_CHECK(check, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - check
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: UPDATE_CHECK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_CHECK(check, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - word
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 467
    functionName: CRC2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC2(check, word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - word
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: CRC4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC4(check, word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 488
    functionName: LOAD
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 499
    functionName: RESTORE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: INITBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: PULLBYTE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULLBYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 524
    functionName: NEEDBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: BITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: DROPBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROPBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 542
    functionName: BYTEBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: DO1
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO1(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: DO2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO2(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: DO4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO4(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: DO8
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO8(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: DO16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO16(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: CHOP
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHOP(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: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: MOD28
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD28(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: MOD
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: MOD
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: MOD28
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD28(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: MOD63
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD63(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:84,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:87,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:90,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - mem
    - count
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 109
    functionName: mem_alloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    - free
    linkageType: ''
    returnType: local
    signature: local *mem_alloc(void *mem, unsigned count, unsigned size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:119,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:145,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: mem_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: local
    signature: local mem_free(void *mem, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:162,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_stream*
    assertStmts:
    - condition: (zone != NULL)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: mem_setup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc
    linkageType: ''
    returnType: local
    signature: local mem_setup(z_stream *strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - limit
    argTypes:
    - z_stream*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: mem_limit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local mem_limit(z_stream *strm, size_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: mem_used
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local mem_used(z_stream *strm, char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: mem_high
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local mem_high(z_stream *strm, char *prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_high
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:207,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:212,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:214,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:221,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:224,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:226,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 234
    functionName: mem_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - mem_high
    - fprintf
    - free
    linkageType: ''
    returnType: local
    signature: local mem_done(z_stream *strm, char *prefix)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:250,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:250,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:271,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - hex
    - len
    argTypes:
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: h2b
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - realloc
    - strlen
    - malloc
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned *h2b(const char *hex, unsigned *len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:293,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:296,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:298,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:301,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:301,1
    - Dst: inflateGetHeader
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:309,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:309,1
    - Dst: h2b
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:311,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:311,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:320,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:320,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:324,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:325,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:326,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:327,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:328,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:329,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:331,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:332,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:333,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:333,1
    - Dst: inflateCopy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:335,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:335,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:336,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:336,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:342,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:343,1
    - Dst: inflateReset2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:344,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:344,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:345,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:345,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 64
    argCount: 6
    argNames:
    - hex
    - what
    - step
    - win
    - len
    - err
    argTypes:
    - char*
    - char*
    - unsigned
    - int
    - unsigned
    - int
    assertStmts:
    - condition: (out != NULL)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (err == 9 || ret == err)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_BUF_ERROR)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_DATA_ERROR)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (in != NULL)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: inf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 2
    functionsReached:
    - assert
    - inflateSetDictionary
    - inflateEnd
    - h2b
    - mem_done
    - malloc
    - inflateCopy
    - mem_setup
    - inflateGetHeader
    - mem_limit
    - inflateReset2
    - free
    - inflateInit2
    - inflate
    linkageType: ''
    returnType: local
    signature: "local inf(char *hex, char *what, unsigned step, int win, unsigned
      len,\n               int err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:355,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:358,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:358,1
    - Dst: mem_used
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:359,1
    - Dst: inflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:360,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:360,1
    - Dst: inflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:361,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:361,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:362,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:363,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:364,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:364,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:365,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:367,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:368,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:369,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:370,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:371,1
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:373,1
    - Dst: inflateInit_
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:376,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:377,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:378,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:382,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:382,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:383,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:383,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_VERSION_ERROR)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    constantsTouched: []
    func_position:
      end: 385
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 385
    functionName: cover_support
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - assert
    - inflateSetDictionary
    - inflateEnd
    - inflateInit_
    - fputs
    - inflateInit
    - mem_done
    - inf
    - mem_setup
    - mem_used
    - inflatePrime
    linkageType: ''
    returnType: local
    signature: local cover_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:394,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:394,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:395,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:395,1
    - Dst: inflateCopy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:396,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:396,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:397,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:399,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:400,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:401,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:402,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:403,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:404,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:405,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:407,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:409,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:410,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:411,1
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:413,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:416,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:421,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:422,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:422,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:423,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:423,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:424,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:425,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:426,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:427,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:428,1
    - Dst: inflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:429,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:429,1
    - Dst: inflateSync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:432,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:432,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:433,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:433,1
    - Dst: inflateSync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:436,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:436,1
    - Dst: inflateSyncPoint
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:437,1
    - Dst: inflateCopy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:438,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:438,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:439,1
    - Dst: inflateUndermine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:440,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:440,1
    - Dst: inflateMark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:441,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:442,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:442,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_DATA_ERROR)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_DATA_ERROR)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    constantsTouched: []
    func_position:
      end: 444
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 444
    functionName: cover_wrap
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - assert
    - inflateEnd
    - fputs
    - inflateSetDictionary
    - inflateMark
    - inflateSyncPoint
    - memset
    - inflateCopy
    - mem_done
    - inf
    - mem_setup
    - inflateSync
    - mem_limit
    - inflatePrime
    - inflateUndermine
    - inflateInit2
    - inflate
    linkageType: ''
    returnType: local
    signature: local cover_wrap(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - desc
    - buf
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: pull
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned pull(void *desc, unsigned char **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - desc
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: push
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local push(void *desc, unsigned char *buf, unsigned len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateBackInit_
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:476,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:477,1
    - Dst: inflateBackInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:478,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:478,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:479,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:480,1
    - Dst: inflateBackEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:481,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:481,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:482,1
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:484,1
    - Dst: inflateBackInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:485,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:485,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:488,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:489,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:493,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:494,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:496,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:497,1
    - Dst: inflateBackEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:498,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:498,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:499,1
    - Dst: inflateBackInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:501,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:501,1
    - Dst: inflateBackEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:502,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:502,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == Z_VERSION_ERROR)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_STREAM_END)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_BUF_ERROR)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    constantsTouched: []
    func_position:
      end: 504
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 504
    functionName: cover_back
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - assert
    - inflateBackEnd
    - fputs
    - mem_done
    - inflateBackInit_
    - mem_setup
    - inflateBack
    - inflateBackInit
    linkageType: ''
    returnType: local
    signature: local cover_back(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:611,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 614
    functionName: cover_inflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - inf
    linkageType: ''
    returnType: local
    signature: local cover_inflate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:631,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:632,1
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:635,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:636,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == 1)
      pos:
        line_end: 631
        line_start: 631
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    - condition: (ret == 1)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    constantsTouched: []
    func_position:
      end: 638
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 638
    functionName: cover_trees
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - assert
    - fputs
    - inflate_table
    linkageType: ''
    returnType: local
    signature: local cover_trees(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:643,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:645,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:648,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:650,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:652,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:654,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:655,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 659
    functionName: cover_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - inf
    linkageType: ''
    returnType: local
    signature: local cover_fast(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:663,1
    - Dst: zlibVersion
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:663,1
    - Dst: cover_support
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:664,1
    - Dst: cover_wrap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:665,1
    - Dst: cover_back
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:666,1
    - Dst: cover_inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:667,1
    - Dst: cover_trees
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:668,1
    - Dst: cover_fast
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 3
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: 0
    functionsReached:
    - cover_back
    - zlibVersion
    - cover_trees
    - fprintf
    - cover_fast
    - cover_support
    - cover_wrap
    - cover_inflate
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: fileno
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fileno(file)
  - 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: perror
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: perror(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - err
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: CHECK_ERR
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ERR(err, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - p
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: myfree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void myfree(void *q, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:68,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - why1
    - why2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: bail
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: local
    signature: local bail(char *why1, char *why2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:91,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:93,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: bclose
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - close
    - free
    linkageType: ''
    returnType: local
    signature: local bclose(bin *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:104,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:107,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:108,1
    - Dst: bclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: bopen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - open
    - malloc
    - bclose
    linkageType: ''
    returnType: local
    signature: local *bopen(char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: bload
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: local
    signature: local bload(bin *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - in
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: bget
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bget(in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:149,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:150,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:151,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: bget4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - bget
    linkageType: ''
    returnType: local unsigned long
    signature: local unsigned long bget4(bin *in)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:182,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:183,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:184,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:189,1
    - Dst: bload
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:194,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - in
    - skip
    argTypes:
    - bin*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 199
    functionName: bskip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - lseek
    - read
    - bail
    - bload
    linkageType: ''
    returnType: local
    signature: local bskip(bin *in, unsigned skip)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:209,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:209,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:209,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:210,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:213,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:215,1
    - Dst: bskip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:218,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:224,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:225,1
    - Dst: bskip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:226,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:231,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:236,1
    - Dst: bskip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: gzhead
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - bail
    - bget
    - bskip
    linkageType: ''
    returnType: local
    signature: local gzhead(bin *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:247,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:248,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:249,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - val
    - out
    argTypes:
    - unsigned long
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: put4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: local
    signature: local put4(unsigned long val, FILE *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bload
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:257,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - strm
    - in
    argTypes:
    - z_streamp
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: zpull
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - bload
    - bail
    linkageType: ''
    returnType: local
    signature: local zpull(z_streamp strm, bin *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:267,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - crc
    - tot
    - out
    argTypes:
    - unsigned long*
    - unsigned long*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: gzinit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - fwrite
    - crc32
    linkageType: ''
    returnType: local
    signature: local gzinit(unsigned long *crc, unsigned long *tot, FILE *out)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:292,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:294,1
    - Dst: gzhead
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:295,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:299,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:305,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:307,1
    - Dst: zpull
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:311,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:320,1
    - Dst: zpull
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:323,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:329,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:332,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:334,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:361,1
    - Dst: zpull
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:364,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:379,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:383,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:389,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:391,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:392,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:398,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:401,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:404,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:405,1
    - Dst: crc32_combine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:411,1
    - Dst: bget4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:411,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:415,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:416,1
    - Dst: bclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:417,1
    - Dst: put4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:421,1
    - Dst: put4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:422,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 96
    argCount: 5
    argNames:
    - name
    - clr
    - crc
    - tot
    - out
    argTypes:
    - char*
    - int
    - unsigned long*
    - unsigned long*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 424
    functionName: gzcopy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - inflateEnd
    - putc
    - bget4
    - put4
    - zpull
    - malloc
    - bopen
    - gzhead
    - crc32_combine
    - bail
    - free
    - bclose
    - fwrite
    - inflateInit2
    - inflate
    linkageType: ''
    returnType: local
    signature: "local gzcopy(char *name, int clr, unsigned long *crc, unsigned long
      *tot,\n                  FILE *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:437,1
    - Dst: gzinit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:443,1
    - Dst: gzcopy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 427
    functionDepth: 5
    functionLinenumber: 427
    functionLinenumberEnd: 449
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - gzcopy
    - fputs
    - gzinit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:48,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:54,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:55,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:56,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:59,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:67,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:68,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:70,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:70,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:71,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:75,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:79,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - source
    - dest
    - level
    argTypes:
    - FILE*
    - FILE*
    - int
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    - condition: (ret == Z_STREAM_END)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    - condition: (strm.avail_in == 0)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    constantsTouched: []
    func_position:
      end: 84
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 84
    functionName: def
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    functionUses: 0
    functionsReached:
    - assert
    - ferror
    - feof
    - deflate
    - fread
    - fwrite
    - deflateEnd
    - deflateInit
    linkageType: ''
    returnType: int
    signature: int def(FILE *source, FILE *dest, int level)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:106,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:112,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:113,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:114,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:125,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:126,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:132,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:136,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:136,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:137,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - FILE*
    - FILE*
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    constantsTouched: []
    func_position:
      end: 148
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 148
    functionName: inf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    functionUses: 6
    functionsReached:
    - assert
    - ferror
    - inflateEnd
    - inflateInit
    - fread
    - fwrite
    - inflate
    linkageType: ''
    returnType: int
    signature: int inf(FILE *source, FILE *dest)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:153,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:156,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:157,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:158,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:159,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:162,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:165,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:168,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: zerr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    functionUses: 0
    functionsReached:
    - ferror
    - fputs
    linkageType: ''
    returnType: void
    signature: void zerr(int ret)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:181,1
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:182,1
    - Dst: def
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:186,1
    - Dst: zerr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:188,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:193,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:194,1
    - Dst: zerr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:196,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 205
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    functionUses: 0
    functionsReached:
    - fputs
    - zerr
    - inf
    - SET_BINARY_MODE
    - def
    - strcmp
    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: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: BAIL
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAIL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: PULL2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: PULL4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: PULL8
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: PUT2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT2(p,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: PUT4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT4(p,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: PUT8
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT8(p,a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:353,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:354,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:357,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:357,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:358,1
    - Dst: sleep
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:361,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:363,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 367
    functionName: log_lock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - open
    - sleep
    - strcpy
    - close
    - time
    - unlink
    - stat
    linkageType: ''
    returnType: local
    signature: local log_lock(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:376,1
    - Dst: utimes
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:377,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: log_touch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strcpy
    - stat
    - utimes
    linkageType: ''
    returnType: local
    signature: local log_touch(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:388,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:389,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 393
    functionName: log_check
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strcpy
    - stat
    - log_touch
    linkageType: ''
    returnType: local
    signature: local log_check(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_check
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:398,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:400,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: log_unlock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strcpy
    - log_check
    - unlink
    linkageType: ''
    returnType: local
    signature: local log_unlock(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:415,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:416,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:417,1
    - Dst: PULL8
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:420,1
    - Dst: PULL8
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:421,1
    - Dst: PULL4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:422,1
    - Dst: PULL4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:423,1
    - Dst: PULL4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:424,1
    - Dst: PULL4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:425,1
    - Dst: PULL2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: log_head
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - PULL8
    - memcmp
    - PULL4
    - PULL2
    - lseek
    - read
    linkageType: ''
    returnType: local
    signature: local log_head(struct log *log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUT8
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:442,1
    - Dst: PUT8
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:443,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:444,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:445,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:446,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:447,1
    - Dst: PUT2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:448,1
    - Dst: fsync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:450,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:451,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:452,1
    - Dst: fsync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - log
    - op
    argTypes:
    - struct log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 455
    functionName: log_mark
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - fsync
    - lseek
    - PUT4
    - PUT2
    - write
    - PUT8
    linkageType: ''
    returnType: local
    signature: local log_mark(struct log *log, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:476,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:477,1
    - Dst: PUT2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:489,1
    - Dst: PUT2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:490,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:491,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:492,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - log
    - last
    argTypes:
    - struct log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 494
    functionName: log_last
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - lseek
    - read
    - write
    - PUT2
    linkageType: ''
    returnType: local
    signature: local log_last(struct log *log, int last)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_last
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:510,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:521,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:523,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:524,1
    - Dst: log_last
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:534,1
    - Dst: log_last
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:543,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:545,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:550,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:551,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:552,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:553,1
    - Dst: ftruncate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:553,1
    - Dst: log_mark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:557,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:559,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:560,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - log
    - data
    - len
    argTypes:
    - struct log*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 562
    functionName: log_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - log_last
    - ftruncate
    - log_mark
    - strcpy
    - lseek
    - PUT4
    - unlink
    - crc32
    - write
    - BAIL
    linkageType: ''
    returnType: local
    signature: local log_append(struct log *log, unsigned char *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:577,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:578,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:579,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:582,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:583,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:583,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:586,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:587,1
    - Dst: rename
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:588,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:589,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:592,1
    - Dst: log_mark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 596
    functionName: log_replace
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - malloc
    - log_mark
    - unlink
    - free
    - rename
    - BAIL
    linkageType: ''
    returnType: local
    signature: local log_replace(struct log *log)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:623,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:628,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:629,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:631,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:632,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:634,1
    - Dst: deflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:638,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:640,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:644,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:646,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:646,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:647,1
    - Dst: deflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:650,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:661,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:663,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:664,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:667,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:670,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:671,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:677,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:678,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:702,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:703,1
    - Dst: log_last
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:704,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:704,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:705,1
    - Dst: ftruncate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:705,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:707,1
    - Dst: log_mark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:710,1
    - Dst: log_replace
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:714,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 3
    argNames:
    - log
    - data
    - len
    argTypes:
    - struct log*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 715
    functionName: log_compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - open
    - deflate
    - log_last
    - BAIL
    - strcpy
    - ftruncate
    - deflateInit2
    - close
    - log_mark
    - log_replace
    - read
    - lseek
    - deflatePrime
    - PUT4
    - write
    - deflateEnd
    - log_touch
    - deflateSetDictionary
    linkageType: ''
    returnType: local
    signature: local log_compress(struct log *log, unsigned char *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:723,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:724,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:725,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:728,1
    - Dst: ctime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:728,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - log
    - op
    - record
    argTypes:
    - struct log*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 732
    functionName: log_log
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strcpy
    - fprintf
    - time
    - ctime
    - fclose
    - fopen
    linkageType: ''
    returnType: local
    signature: local log_log(struct log *log, int op, char *record)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:746,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:750,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:751,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:754,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:755,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:758,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:759,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:760,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:763,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:764,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:766,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:767,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:770,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:773,1
    - Dst: log_append
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:779,1
    - Dst: log_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:782,1
    - Dst: log_replace
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:785,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:789,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:793,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - log
    - op
    argTypes:
    - struct log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 795
    functionName: log_recover
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - open
    - log_append
    - strcpy
    - malloc
    - close
    - log_replace
    - read
    - log_log
    - log_compress
    - stat
    - free
    linkageType: ''
    returnType: local
    signature: local log_recover(struct log *log, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:801,1
    - Dst: log_unlock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 798
    functionDepth: 3
    functionLinenumber: 798
    functionLinenumberEnd: 804
    functionName: log_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - log_unlock
    - close
    linkageType: ''
    returnType: local
    signature: local log_close(struct log *log)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:822,1
    - Dst: log_lock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:826,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:830,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:831,1
    - Dst: log_close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:833,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:838,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:839,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:840,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:841,1
    - Dst: log_close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:842,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:845,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:846,1
    - Dst: log_head
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:850,1
    - Dst: log_close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:851,1
    - Dst: log_recover
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:856,1
    - Dst: log_close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:857,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:862,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 815
    functionDepth: 5
    functionLinenumber: 815
    functionLinenumberEnd: 864
    functionName: log_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - log_lock
    - log_close
    - open
    - strcpy
    - close
    - log_recover
    - lseek
    - log_head
    - unlink
    - write
    - log_touch
    linkageType: ''
    returnType: local
    signature: local log_open(struct log *log)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:877,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:880,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:884,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:885,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:887,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:890,1
    - Dst: log_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:895,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:896,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:897,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 867
    functionDepth: 6
    functionLinenumber: 867
    functionLinenumberEnd: 903
    functionName: gzlog_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - malloc
    - free
    - log_open
    linkageType: ''
    returnType: gzlog
    signature: gzlog *gzlog_open(char *path)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:919,1
    - Dst: log_check
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:925,1
    - Dst: log_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:925,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:931,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:937,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:941,1
    - Dst: PULL2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:943,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:945,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:949,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:951,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:954,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:955,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:958,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:959,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:961,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:964,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:965,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:969,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:970,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:972,1
    - Dst: log_mark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:977,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:979,1
    - Dst: log_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:982,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:983,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:988,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 1
    argNames:
    - logd
    argTypes:
    - gzlog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 910
    functionDepth: 6
    functionLinenumber: 910
    functionLinenumberEnd: 990
    functionName: gzlog_compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - open
    - BAIL
    - PULL2
    - malloc
    - strcmp
    - strcpy
    - close
    - log_mark
    - lseek
    - read
    - log_check
    - log_compress
    - free
    - write
    - log_touch
    - log_open
    linkageType: ''
    returnType: int
    signature: int gzlog_compress(gzlog *logd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1003,1
    - Dst: log_check
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1011,1
    - Dst: log_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1011,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1015,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1016,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1019,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1020,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1022,1
    - Dst: log_mark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1025,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1027,1
    - Dst: log_append
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1030,1
    - Dst: gzlog_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1038,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - logd
    - data
    - len
    argTypes:
    - gzlog*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 997
    functionDepth: 7
    functionLinenumber: 997
    functionLinenumberEnd: 1039
    functionName: gzlog_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - open
    - log_append
    - gzlog_compress
    - BAIL
    - strcpy
    - log_mark
    - strcmp
    - close
    - log_check
    - write
    - log_touch
    - log_open
    linkageType: ''
    returnType: int
    signature: int gzlog_write(gzlog *logd, void *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1049,1
    - Dst: log_close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1053,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1057,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1058,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1059,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - logd
    argTypes:
    - gzlog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1044
    functionDepth: 4
    functionLinenumber: 1044
    functionLinenumberEnd: 1061
    functionName: gzlog_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - log_close
    - free
    - strcpy
    - strcmp
    linkageType: ''
    returnType: int
    signature: int gzlog_close(gzlog *logd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:95,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg1
    - msg2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: bye
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: local
    signature: local bye(char *msg1, char *msg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: gcd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned gcd(unsigned a, unsigned b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:140,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:148,1
    - Dst: gcd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - list
    - len
    - rot
    argTypes:
    - unsigned char*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: rotate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - gcd
    - memmove
    linkageType: ''
    returnType: local
    signature: local rotate(unsigned char *list, unsigned len, unsigned rot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:184,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: readin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - read
    - bye
    linkageType: ''
    returnType: local
    signature: local readin(file *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:194,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: readmore
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - readin
    - bye
    linkageType: ''
    returnType: local
    signature: local readmore(file *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - in
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: read1
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read1(in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:210,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:211,1
    - Dst: readmore
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:214,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - in
    - n
    argTypes:
    - file*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: skip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 1
    functionsReached:
    - lseek
    - readmore
    - bye
    linkageType: ''
    returnType: local
    signature: local skip(file *in, unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:227,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:228,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:229,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: read4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - read1
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long read4(file *in)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:240,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:240,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:240,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:241,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:241,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:242,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:243,1
    - Dst: skip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:244,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:246,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:247,1
    - Dst: skip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:248,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:250,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:251,1
    - Dst: skip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: gzheader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - read1
    - bye
    - skip
    linkageType: ''
    returnType: local
    signature: local gzheader(file *in)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:270,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:271,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:272,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:273,1
    - Dst: gzheader
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:278,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:281,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:282,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:286,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:287,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:291,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:295,1
    - Dst: readmore
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:300,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:310,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:311,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:312,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:314,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:317,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:331,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:335,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:340,1
    - Dst: read4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:343,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:344,1
    - Dst: read4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:346,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:347,1
    - Dst: readin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:350,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:351,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:355,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:356,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:356,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:358,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:359,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:359,1
    - Dst: rotate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:363,1
    - Dst: deflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:368,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:369,1
    - Dst: deflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:370,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:374,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:375,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:375,1
    - Dst: deflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:376,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:378,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:381,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:382,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 94
    argCount: 3
    argNames:
    - name
    - strm
    - level
    argTypes:
    - char*
    - z_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 384
    functionName: gzscan
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - gzheader
    - inflateInit2
    - write
    - open
    - readmore
    - read4
    - fprintf
    - read
    - deflatePrime
    - crc32
    - bye
    - inflateEnd
    - malloc
    - lseek
    - readin
    - inflate
    - free
    - deflateInit2
    - rotate
    - deflateSetDictionary
    linkageType: ''
    returnType: local
    signature: local gzscan(char *name, z_stream *strm, int level)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:397,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:399,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:404,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:405,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:406,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:411,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:413,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:420,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:426,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:429,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:430,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:438,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:449,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:450,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:453,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:457,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:458,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:459,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 4
    argNames:
    - name
    - gd
    - strm
    - last
    argTypes:
    - char*
    - int
    - z_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 460
    functionName: gztack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - open
    - deflate
    - malloc
    - close
    - fprintf
    - read
    - crc32
    - write
    - deflateEnd
    - bye
    - free
    linkageType: ''
    returnType: local
    signature: local gztack(char *name, int gd, z_stream *strm, int last)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:476,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:479,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:488,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:490,1
    - Dst: gzscan
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:494,1
    - Dst: gztack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:498,1
    - Dst: gztack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:501,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 466
    functionDepth: 6
    functionLinenumber: 466
    functionLinenumberEnd: 504
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - printf
    - gztack
    - bye
    - gzscan
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:79,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - struct deflate_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: deflate_index_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void deflate_index_free(struct deflate_index *index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:97,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:99,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:101,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:111,1
    - Dst: deflate_index_free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:113,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:125,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 6
    argNames:
    - index
    - bits
    - in
    - out
    - left
    - window
    argTypes:
    - struct deflate_index*
    - int
    - off_t
    - off_t
    - unsigned
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 132
    functionName: addpoint
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    - malloc
    - deflate_index_free
    - free
    linkageType: ''
    returnType: struct deflate_index
    signature: "struct deflate_index *addpoint(struct deflate_index *index, int bits,\n
      \                                     off_t in, off_t out, unsigned left,\n
      \                                     unsigned char *window)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:152,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:164,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:165,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:192,1
    - Dst: ungetc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:201,1
    - Dst: getc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:201,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:202,1
    - Dst: addpoint
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:221,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:233,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:234,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:242,1
    - Dst: deflate_index_free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:243,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 3
    argNames:
    - in
    - span
    - built
    argTypes:
    - FILE*
    - off_t
    - struct deflate_index**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 245
    functionName: deflate_index_build
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c
    functionUses: 0
    functionsReached:
    - ferror
    - ungetc
    - getc
    - inflateEnd
    - realloc
    - addpoint
    - fread
    - inflateReset
    - deflate_index_free
    - inflateInit2
    - inflate
    linkageType: ''
    returnType: int
    signature: int deflate_index_build(FILE *in, off_t span, struct deflate_index
      **built)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:273,1
    - Dst: fseeko
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:276,1
    - Dst: getc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:280,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:282,1
    - Dst: inflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:285,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:287,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:314,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:315,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:325,1
    - Dst: fseeko
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:340,1
    - Dst: ungetc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:347,1
    - Dst: getc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:347,1
    - Dst: inflateReset2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:353,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:358,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:359,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:369,1
    - Dst: inflateReset2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:376,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:397,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 119
    argCount: 5
    argNames:
    - in
    - index
    - offset
    - buf
    - len
    argTypes:
    - FILE*
    - struct deflate_index*
    - off_t
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 399
    functionName: deflate_index_extract
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c
    functionUses: 0
    functionsReached:
    - ferror
    - getc
    - inflateSetDictionary
    - ungetc
    - inflateEnd
    - fread
    - fseeko
    - inflatePrime
    - inflateReset2
    - inflateInit2
    - inflate
    linkageType: ''
    returnType: int
    signature: "int deflate_index_extract(FILE *in, struct deflate_index *index, off_t
      offset,\n                          unsigned char *buf, int len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:421,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:424,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:426,1
    - Dst: strtoll
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:433,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:435,1
    - Dst: deflate_index_build
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:441,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:443,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:446,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:449,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:452,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:455,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:459,1
    - Dst: deflate_index_extract
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:464,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:466,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:469,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:470,1
    - Dst: deflate_index_free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:474,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:475,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 477
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c
    functionUses: 0
    functionsReached:
    - deflate_index_build
    - strtoll
    - fprintf
    - fclose
    - deflate_index_free
    - fopen
    - fwrite
    - deflate_index_extract
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:64,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - why
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: quit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: local
    signature: local quit(char *why)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:80,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:81,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:84,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:86,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - in
    - def
    argTypes:
    - FILE*
    - z_streamp
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: partcompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    functionUses: 0
    functionsReached:
    - assert
    - ferror
    - feof
    - deflate
    - fread
    linkageType: ''
    returnType: local
    signature: local partcompress(FILE *in, z_streamp def)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:106,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:107,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:117,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - inf
    - def
    argTypes:
    - z_streamp
    - z_streamp
    assertStmts:
    - condition: "(ret != Z_STREAM_ERROR && ret != Z_DATA_ERROR &&\n               ret
        != Z_NEED_DICT)"
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    constantsTouched: []
    func_position:
      end: 121
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 121
    functionName: recompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    functionUses: 0
    functionsReached:
    - assert
    - deflate
    - inflate
    linkageType: ''
    returnType: local
    signature: local recompress(z_streamp inf, z_streamp def)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:138,1
    - Dst: strtol
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:139,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:141,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:143,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:147,1
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:151,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:153,1
    - Dst: partcompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:158,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:160,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:166,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:166,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:167,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:170,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:171,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:172,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:173,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:185,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:186,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:188,1
    - Dst: deflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:189,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:190,1
    - Dst: recompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:197,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:199,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:202,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:203,1
    - Dst: deflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:204,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:205,1
    - Dst: recompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:212,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:214,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:215,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:219,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:219,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:220,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:223,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:224,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:225,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:226,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:227,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:228,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:229,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    - condition: (ret == Z_STREAM_END)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    constantsTouched: []
    func_position:
      end: 233
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 233
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    functionUses: 0
    functionsReached:
    - assert
    - ferror
    - inflateEnd
    - recompress
    - deflateReset
    - inflateInit
    - malloc
    - fprintf
    - quit
    - partcompress
    - inflateReset
    - fwrite
    - strtol
    - deflateEnd
    - deflateInit
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: string_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local string_clear(string_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:189,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:190,1
    - Dst: string_clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_t*
    assertStmts:
    - condition: (s->str != NULL && "out of memory")
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: string_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 0
    functionsReached:
    - assert
    - string_clear
    - malloc
    linkageType: ''
    returnType: local
    signature: local string_init(string_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: string_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: local
    signature: local string_free(string_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:206,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:208,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:209,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:214,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:216,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:217,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:218,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - string_t*
    - char*
    assertStmts:
    - condition: (s->size != 0 && "overflow")
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    - condition: (ret >= 0 && "out of memory")
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    - condition: (s->str != NULL && "out of memory")
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: string_printf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 0
    functionsReached:
    - assert
    - realloc
    - va_start
    - va_end
    - vsnprintf
    linkageType: ''
    returnType: local
    signature: local string_printf(string_t *s, char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - syms
    - left
    - len
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local map(int syms, int left, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:248,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:250,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:252,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:253,1
    - Dst: string_free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: cleanup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 28
    functionsReached:
    - string_free
    - free
    linkageType: ''
    returnType: local
    signature: local cleanup(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:267,1
    - Dst: map
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:270,1
    - Dst: count
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:290,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - syms
    - left
    - len
    argTypes:
    - int
    - int
    - int
    assertStmts:
    - condition: (syms > left && left > 0 && len < g.max)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    - condition: (sum != 0)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    constantsTouched: []
    func_position:
      end: 302
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 302
    functionName: count
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 14
    functionsReached:
    - assert
    - map
    - count
    linkageType: ''
    returnType: local
    signature: local count(int syms, int left, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: map
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:310,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:333,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:334,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:335,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:343,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - syms
    - left
    - len
    - mem
    - rem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts:
    - condition: (vector != NULL && "out of memory")
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    - condition: (vector != NULL && "out of memory")
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    constantsTouched: []
    func_position:
      end: 355
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 355
    functionName: been_here
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 0
    functionsReached:
    - assert
    - realloc
    - memset
    - map
    - calloc
    linkageType: ''
    returnType: local
    signature: local been_here(int syms, int left, int len, int mem, int rem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:373,1
    - Dst: string_clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:381,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:390,1
    - Dst: string_printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:395,1
    - Dst: string_printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:399,1
    - Dst: string_printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:400,1
    - Dst: been_here
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:409,1
    - Dst: examine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:436,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 5
    argNames:
    - syms
    - left
    - len
    - mem
    - rem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts:
    - condition: (rem == left)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    - condition: ((left & 1) == 0)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    constantsTouched: []
    func_position:
      end: 447
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 447
    functionName: examine
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 1
    functionsReached:
    - assert
    - string_clear
    - examine
    - been_here
    - string_printf
    linkageType: ''
    returnType: local
    signature: local examine(int syms, int left, int len, int mem, int rem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string_clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:460,1
    - Dst: map
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:467,1
    - Dst: examine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:469,1
    - Dst: examine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:474,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:479,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:480,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - syms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: enough
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 0
    functionsReached:
    - string_clear
    - fputs
    - map
    - examine
    - printf
    linkageType: ''
    returnType: local
    signature: local enough(int syms)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: string_init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:503,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:510,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:512,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:514,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:518,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:534,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:540,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:546,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:547,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:556,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:559,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:561,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:562,1
    - Dst: count
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:568,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:570,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:572,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:574,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:576,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:582,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:583,1
    - Dst: enough
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:590,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:592,1
    - Dst: cleanup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:595,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (got != (big_t)-1 && sum >= got && "overflow")
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    - condition: (g.size <= (size_t)-1 / n && "overflow")
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    - condition: (g.done != NULL && "out of memory")
      pos:
        line_end: 582
        line_start: 582
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    - condition: (g.num != NULL && "out of memory")
      pos:
        line_end: 561
        line_start: 561
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    - condition: (g.code != NULL && "out of memory")
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    - condition: (g.size <= (size_t)-1 / n && "overflow")
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    constantsTouched: []
    func_position:
      end: 597
      start: 498
    functionDepth: 4
    functionLinenumber: 498
    functionLinenumberEnd: 597
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: 0
    functionsReached:
    - assert
    - fputs
    - string_init
    - fprintf
    - count
    - puts
    - printf
    - atoi
    - calloc
    - enough
    - cleanup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - in_desc
    - buf
    argTypes:
    - void*
    - z_const unsigned**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: in
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: 39
    functionsReached:
    - read
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned in(void *in_desc, z_const unsigned char **buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:137,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - out_desc
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 152
    functionName: out
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: 0
    functionsReached:
    - write
    - crc32
    linkageType: ''
    returnType: local
    signature: local out(void *out_desc, unsigned char *buf, unsigned len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: NEXT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: FLUSHCODE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSHCODE()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:226,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:249,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:252,1
    - Dst: FLUSHCODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:269,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:279,1
    - Dst: out
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:281,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:291,1
    - Dst: FLUSHCODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:303,1
    - Dst: out
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:353,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 111
    argCount: 5
    argNames:
    - have
    - next
    - indp
    - outfile
    - strm
    argTypes:
    - unsigned
    - z_const unsigned*
    - struct ind*
    - int
    - z_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 369
    functionName: lunpipe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: 0
    functionsReached:
    - out
    - NEXT
    - FLUSHCODE
    linkageType: ''
    returnType: local
    signature: "local lunpipe(unsigned have, z_const unsigned char *next, struct ind
      *indp,\n                  int outfile, z_stream *strm)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:402,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:406,1
    - Dst: lunpipe
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:415,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:421,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:427,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:428,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:429,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:430,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:431,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:432,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:433,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:441,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:442,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:447,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:455,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:458,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:461,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:462,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:469,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:475,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:483,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:484,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:485,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:486,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:494,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:495,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:496,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:497,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 102
    argCount: 3
    argNames:
    - strm
    - infile
    - outfile
    argTypes:
    - z_stream*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 511
    functionName: gunpipe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: 0
    functionsReached:
    - inflateBack
    - crc32
    - NEXT
    - lunpipe
    linkageType: ''
    returnType: local
    signature: local gunpipe(z_stream *strm, int infile, int outfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:523,1
    - Dst: chmod
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:527,1
    - Dst: chown
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:530,1
    - Dst: utime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 536
    functionName: copymeta
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: 0
    functionsReached:
    - chmod
    - stat
    - chown
    - utime
    linkageType: ''
    returnType: local
    signature: local copymeta(char *from, char *to)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:559,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:561,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:572,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:574,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:575,1
    - Dst: gunpipe
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:582,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:583,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:584,1
    - Dst: copymeta
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:591,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:592,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:595,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:599,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:600,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:603,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:604,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:607,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:609,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:610,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:613,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:614,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:617,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:622,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:623,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - strm
    - inname
    - outname
    - test
    argTypes:
    - z_stream*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 548
    functionDepth: 4
    functionLinenumber: 548
    functionLinenumberEnd: 627
    functionName: gunzip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: 0
    functionsReached:
    - open
    - copymeta
    - gunpipe
    - close
    - fprintf
    - strerror
    - unlink
    linkageType: ''
    returnType: local
    signature: local gunzip(z_stream *strm, char *inname, char *outname, int test)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inflateBackInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:643,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:645,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:653,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:654,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:655,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:656,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:659,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:669,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:670,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:671,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:673,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:674,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:675,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:676,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:679,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:683,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:685,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:689,1
    - Dst: gunzip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:692,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:693,1
    - Dst: gunzip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:697,1
    - Dst: inflateBackEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:700,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 631
    functionDepth: 5
    functionLinenumber: 631
    functionLinenumberEnd: 702
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: 0
    functionsReached:
    - gunzip
    - inflateBackEnd
    - strlen
    - memcpy
    - malloc
    - fprintf
    - free
    - inflateBackInit
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:39,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:40,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:41,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:46,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:49,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:50,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: aprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vsnprintf
    - malloc
    linkageType: ''
    returnType: local
    signature: local *aprintf(char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: BYE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYE(...)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:94,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:95,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:111,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:128,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:148,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:150,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:152,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:154,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:162,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:279,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:316,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:321,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:340,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:394,1
    - Dst: crc32_combine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:395,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:406,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:407,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:422,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:426,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:431,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:432,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:434,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:438,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:439,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:440,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:441,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:442,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:443,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:444,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:445,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:446,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:449,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:449,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:450,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:450,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 149
    argCount: 3
    argNames:
    - in
    - out
    - err
    argTypes:
    - FILE*
    - FILE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 455
    functionName: gzip_normalize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c
    functionUses: 0
    functionsReached:
    - ferror
    - inflateEnd
    - BYE
    - putc
    - fflush
    - fread
    - inflateReset
    - crc32_combine
    - strerror
    - fwrite
    - inflateInit2
    - inflate
    linkageType: ''
    returnType: local
    signature: local gzip_normalize(FILE *in, FILE *out, char **err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:460,1
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:461,1
    - Dst: gzip_normalize
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:465,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:467,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c
    functionUses: 0
    functionsReached:
    - SET_BINARY_MODE
    - free
    - fprintf
    - gzip_normalize
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setcompressionlevel
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/test.cpp:14,1
    - Dst: setcompressionlevel
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/test.cpp:17,1
    - Dst: gzofstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/test.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/test.cpp
    functionUses: 0
    functionsReached:
    - gzofstream::close
    - setcompressionlevel
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: gzfilebuf::is_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_open() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - (*f)(gzofstream , T)
    - v
    argTypes:
    - gzofstream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: gzomanip::gzomanip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzomanip(gzofstream &(*f)(gzofstream &, T), T v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - m
    argTypes:
    - gzofstream
    - gzomanip<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '&operator<<(gzofstream &s, const gzomanip<T> &m)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gzofstream
    signature: gzofstream &operator<<(gzofstream &s, const gzomanip<T> &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:108,1
    - Dst: setcompressionlevel
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - gzofstream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: setcompressionlevel
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: 2
    functionsReached:
    - setcompressionlevel
    - gzofstream::rdbuf
    linkageType: ''
    returnType: gzofstream
    signature: gzofstream &setcompressionlevel( gzofstream &s, int l )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:114,1
    - Dst: setcompressionstrategy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - gzofstream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: setcompressionstrategy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: 1
    functionsReached:
    - setcompressionstrategy
    - gzofstream::rdbuf
    linkageType: ''
    returnType: gzofstream
    signature: gzofstream &setcompressionstrategy( gzofstream &s, int l )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzomanip<int>
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: setcompressionlevel
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: 2
    functionsReached:
    - gzomanip<int>
    linkageType: ''
    returnType: gzomanip<int>
    signature: gzomanip<int> setcompressionlevel(int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzomanip<int>
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: setcompressionstrategy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: 1
    functionsReached:
    - gzomanip<int>
    linkageType: ''
    returnType: gzomanip<int>
    signature: gzomanip<int> setcompressionstrategy(int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: gzfilebuf::gzfilebuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::gzfilebuf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::sync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:12,1
    - Dst: gzfilebuf::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: gzfilebuf::~gzfilebuf()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilebuf::close
    - gzfilebuf::sync
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::~gzfilebuf()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:21,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - name
    - io_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 58
    functionName: gzfilebuf::open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilebuf::is_open
    - gzopen
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *gzfilebuf::open( const char *name,\n                            int
      io_mode )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:63,1
    - Dst: gzdopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - file_descriptor
    - io_mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 100
    functionName: gzfilebuf::attach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilebuf::is_open
    - gzdopen
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *gzfilebuf::attach( int file_descriptor,\n                              int
      io_mode )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:104,1
    - Dst: gzfilebuf::sync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:106,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: gzfilebuf::close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - gzfilebuf::is_open
    - gzclose
    - gzfilebuf::sync
    linkageType: ''
    returnType: gzfilebuf
    signature: gzfilebuf *gzfilebuf::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzsetparams
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: gzfilebuf::setcompressionlevel
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzsetparams
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::setcompressionlevel( int comp_level )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzsetparams
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp_strategy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: gzfilebuf::setcompressionstrategy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzsetparams
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::setcompressionstrategy( int comp_strategy )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streampos
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - 'off'
    - dir
    - which
    argTypes:
    - streamoff
    - ios::seek_dir
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: gzfilebuf::seekoff
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - streampos
    linkageType: ''
    returnType: streampos
    signature: streampos gzfilebuf::seekoff( streamoff off, ios::seek_dir dir, int
      which )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:138,1
    - Dst: base
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:142,1
    - Dst: allocate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:144,1
    - Dst: setp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:146,1
    - Dst: in_avail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:150,1
    - Dst: gptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:151,1
    - Dst: out_waiting
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:153,1
    - Dst: gzfilebuf::flushbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:154,1
    - Dst: gzfilebuf::fillbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:162,1
    - Dst: setg
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:165,1
    - Dst: gptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 171
    functionName: gzfilebuf::underflow
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - setp
    - allocate
    - gzfilebuf::is_open
    - in_avail
    - base
    - gzfilebuf::fillbuf
    - gptr
    - gzfilebuf::flushbuf
    - setg
    - out_waiting
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::underflow()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:175,1
    - Dst: base
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:178,1
    - Dst: allocate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:179,1
    - Dst: setg
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:181,1
    - Dst: in_avail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:183,1
    - Dst: out_waiting
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:186,1
    - Dst: gzfilebuf::flushbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:187,1
    - Dst: blen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:192,1
    - Dst: setp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:193,1
    - Dst: base
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:193,1
    - Dst: base
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:193,1
    - Dst: pptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:197,1
    - Dst: pbump
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: gzfilebuf::overflow
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - setp
    - allocate
    - gzfilebuf::is_open
    - blen
    - in_avail
    - base
    - pptr
    - gzfilebuf::flushbuf
    - setg
    - pbump
    - out_waiting
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::overflow( int c )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:208,1
    - Dst: out_waiting
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:211,1
    - Dst: gzfilebuf::flushbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: gzfilebuf::sync
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 2
    functionsReached:
    - gzfilebuf::is_open
    - gzfilebuf::flushbuf
    - out_waiting
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::sync()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pbase
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:223,1
    - Dst: pptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:224,1
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:226,1
    - Dst: setp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: gzfilebuf::flushbuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 3
    functionsReached:
    - pptr
    - setp
    - gzwrite
    - pbase
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::flushbuf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:240,1
    - Dst: blen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:242,1
    - Dst: gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:244,1
    - Dst: setg
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:248,1
    - Dst: base
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:248,1
    - Dst: base
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:248,1
    - Dst: base
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: gzfilebuf::fillbuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - setg
    - blen
    - gzread
    - base
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::fillbuf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: gzfilestream_common::gzfilestream_common
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilestream_common::rdbuf
    linkageType: ''
    returnType: void
    signature: void gzfilestream_common::gzfilestream_common()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: gzfilestream_common::~gzfilestream_common()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzfilestream_common::~gzfilestream_common()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::attach
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:263,1
    - Dst: clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:264,1
    - Dst: clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - io_mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: gzfilestream_common::attach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - clear
    - gzfilestream_common::attach
    linkageType: ''
    returnType: void
    signature: void gzfilestream_common::attach( int fd, int io_mode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:272,1
    - Dst: clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:273,1
    - Dst: clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - io_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: gzfilestream_common::open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - clear
    - gzfilestream_common::open
    linkageType: ''
    returnType: void
    signature: void gzfilestream_common::open( const char *name, int io_mode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:281,1
    - Dst: clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: gzfilestream_common::close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - clear
    - gzfilestream_common::close
    linkageType: ''
    returnType: void
    signature: void gzfilestream_common::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: gzfilestream_common::rdbuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gzfilebuf
    signature: gzfilebuf *gzfilestream_common::rdbuf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:292,1
    - Dst: clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - clear
    - gzfilestream_common::rdbuf
    linkageType: ''
    returnType: void
    signature: void gzifstream::gzifstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:298,1
    - Dst: gzfilestream_common::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - io_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilestream_common::rdbuf
    - gzfilestream_common::open
    linkageType: ''
    returnType: void
    signature: void gzifstream::gzifstream( const char *name, int io_mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:304,1
    - Dst: gzfilestream_common::attach
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - io_mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilestream_common::rdbuf
    - gzfilestream_common::attach
    linkageType: ''
    returnType: void
    signature: void gzifstream::gzifstream( int fd, int io_mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: gzifstream::~gzifstream()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzifstream::~gzifstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:312,1
    - Dst: clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - clear
    - gzfilestream_common::rdbuf
    linkageType: ''
    returnType: void
    signature: void gzofstream::gzofstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:318,1
    - Dst: gzfilestream_common::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - io_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilestream_common::rdbuf
    - gzfilestream_common::open
    linkageType: ''
    returnType: void
    signature: void gzofstream::gzofstream( const char *name, int io_mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:324,1
    - Dst: gzfilestream_common::attach
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - io_mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilestream_common::rdbuf
    - gzfilestream_common::attach
    linkageType: ''
    returnType: void
    signature: void gzofstream::gzofstream( int fd, int io_mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: gzofstream::~gzofstream()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzofstream::~gzofstream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - need
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: bits
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: 0
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: local
    signature: local bits(struct state *s, int need)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 197
    functionName: stored
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local stored(struct state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - struct state*
    - struct huffman*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: decode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: 0
    functionsReached:
    - bits
    linkageType: ''
    returnType: local
    signature: local decode(struct state *s, const struct huffman *h)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - struct state*
    - struct huffman*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 305
    functionName: decode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: 0
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: local
    signature: local decode(struct state *s, const struct huffman *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - h
    - length
    - n
    argTypes:
    - struct huffman*
    - short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 379
    functionName: construct
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local construct(struct huffman *h, const short *length, int n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:460,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:477,1
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:480,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:483,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - s
    - lencode
    - distcode
    argTypes:
    - struct state*
    - struct huffman*
    - struct huffman*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 510
    functionName: codes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: 1
    functionsReached:
    - bits
    - decode
    linkageType: ''
    returnType: local
    signature: "local codes(struct state *s,\n                const struct huffman
      *lencode,\n                const struct huffman *distcode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:563,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:568,1
    - Dst: codes
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 576
    functionName: fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: 0
    functionsReached:
    - construct
    - codes
    linkageType: ''
    returnType: local
    signature: local fixed(struct state *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:684,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:685,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:686,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:692,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:697,1
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:707,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:718,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:721,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:723,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:736,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:741,1
    - Dst: codes
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:746,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 747
    functionName: dynamic
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: 0
    functionsReached:
    - construct
    - bits
    - decode
    - codes
    linkageType: ''
    returnType: local
    signature: local dynamic(struct state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:815,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:820,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:821,1
    - Dst: stored
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:823,1
    - Dst: fixed
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:825,1
    - Dst: dynamic
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - dest
    - destlen
    - source
    - sourcelen
    argTypes:
    - unsigned char*
    - unsigned long*
    - unsigned char*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 840
    functionName: puff
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: 0
    functionsReached:
    - stored
    - setjmp
    - fixed
    - bits
    - dynamic
    linkageType: ''
    returnType: int
    signature: "int puff(unsigned char *dest,           /* pointer to destination
      pointer */\n         unsigned long *destlen,        /* amount of output space
      */\n         const unsigned char *source,   /* pointer to source data pointer
      */\n         unsigned long *sourcelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: bythirds
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local bythirds(size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:67,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:70,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:73,1
    - Dst: bythirds
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:75,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:76,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:77,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: load
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c
    functionUses: 2
    functionsReached:
    - realloc
    - malloc
    - fread
    - fclose
    - fopen
    - bythirds
    - free
    linkageType: ''
    returnType: local
    signature: local *load(const char *name, size_t *len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:105,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:107,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:112,1
    - Dst: load
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:117,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:119,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:123,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:125,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:129,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:130,1
    - Dst: puff
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:137,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:139,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:141,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:142,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:150,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:152,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:153,1
    - Dst: puff
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:156,1
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:157,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:158,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:159,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:163,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c
    functionUses: 0
    functionsReached:
    - load
    - puff
    - malloc
    - fprintf
    - SET_BINARY_MODE
    - atoi
    - fwrite
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - R
    - A
    - B
    argTypes:
    - LARGE_INTEGER*
    - LARGE_INTEGER
    - LARGE_INTEGER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: MyDoMinus64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyDoMinus64(LARGE_INTEGER *R,LARGE_INTEGER A,LARGE_INTEGER B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: BeginCountRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - __rdtsc
    linkageType: ''
    returnType: void
    signature: void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: GetResRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - __rdtsc
    linkageType: ''
    returnType: LARGE_INTEGER
    signature: LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: myGetRDTSC32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void myGetRDTSC32(LARGE_INTEGER * pbeginTime64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myGetRDTSC32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: BeginCountRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - myGetRDTSC32
    linkageType: ''
    returnType: void
    signature: void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myGetRDTSC32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:60,1
    - Dst: MyDoMinus64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: GetResRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - myGetRDTSC32
    - MyDoMinus64
    linkageType: ''
    returnType: LARGE_INTEGER
    signature: LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: myGetRDTSC32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void myGetRDTSC32(LARGE_INTEGER * pbeginTime64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: BeginCountRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: GetResRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LARGE_INTEGER
    signature: LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:86,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pbeginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: BeginCountPerfCounter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - QueryPerformanceCounter
    - GetTickCount
    linkageType: ''
    returnType: void
    signature: void BeginCountPerfCounter(LARGE_INTEGER * pbeginTime64,BOOL fComputeTimeQueryPerf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:99,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:100,1
    - Dst: MyDoMinus64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:103,1
    - Dst: QueryPerformanceFrequency
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:104,1
    - Dst: Int64ShrlMod32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:108,1
    - Dst: Int64ShrlMod32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 117
    functionName: GetMsecSincePerfCounter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - QueryPerformanceFrequency
    - MyDoMinus64
    - Int64ShrlMod32
    - QueryPerformanceCounter
    - GetTickCount
    linkageType: ''
    returnType: DWORD
    signature: DWORD GetMsecSincePerfCounter(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:124,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:128,1
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:130,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:131,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:132,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:137,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - filename
    - plFileSize
    - pFilePtr
    argTypes:
    - char*
    - long*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: ReadFileMemory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - malloc
    - fread
    - ftell
    - fclose
    - fopen
    - fseek
    linkageType: ''
    returnType: int
    signature: int ReadFileMemory(const char* filename,long* plFileSize,unsigned char**
      pFilePtr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:163,1
    - Dst: ReadFileMemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:167,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:169,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:172,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:175,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:178,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:181,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:186,1
    - Dst: BeginCountPerfCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:188,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:189,1
    - Dst: BeginCountRdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:190,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:197,1
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:198,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:207,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:209,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:216,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:217,1
    - Dst: GetMsecSincePerfCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:218,1
    - Dst: GetResRdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:219,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:220,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:221,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:222,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:223,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:226,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:227,1
    - Dst: BeginCountPerfCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:229,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:230,1
    - Dst: BeginCountRdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:231,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:238,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:239,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:248,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:250,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:257,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:258,1
    - Dst: GetMsecSincePerfCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:259,1
    - Dst: GetResRdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:260,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:261,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:262,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:263,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:264,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:269,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 275
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - printf
    - GetTickCount
    - deflateEnd
    - atol
    - inflateInit
    - GetMsecSincePerfCounter
    - BeginCountPerfCounter
    - inflateEnd
    - memcmp
    - memset
    - malloc
    - GetResRdtsc
    - inflate
    - realloc
    - deflate
    - min
    - BeginCountRdtsc
    - ReadFileMemory
    - deflateInit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::openmode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:22,1
    - Dst: gzfilebuf::disable_buffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: gzfilebuf::gzfilebuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - std::ios_base::openmode
    - gzfilebuf::disable_buffer
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::gzfilebuf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::sync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:34,1
    - Dst: gzfilebuf::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:36,1
    - Dst: gzfilebuf::disable_buffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: gzfilebuf::~gzfilebuf()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::close
    - gzfilebuf::disable_buffer
    - gzfilebuf::sync
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::~gzfilebuf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzsetparams
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - comp_level
    - comp_strategy
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: gzfilebuf::setcompression
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzsetparams
    linkageType: ''
    returnType: int
    signature: "int gzfilebuf::setcompression(int comp_level,\n                          int
      comp_strategy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:55,1
    - Dst: gzfilebuf::open_mode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:63,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:67,1
    - Dst: gzfilebuf::enable_buffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: gzfilebuf::open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::is_open
    - gzfilebuf::open_mode
    - gzopen
    - gzfilebuf::enable_buffer
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *\ngzfilebuf::open(const char *name,\n                std::ios_base::openmode
      mode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:83,1
    - Dst: gzfilebuf::open_mode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:91,1
    - Dst: gzdopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:95,1
    - Dst: gzfilebuf::enable_buffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: gzfilebuf::attach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::is_open
    - gzdopen
    - gzfilebuf::open_mode
    - gzfilebuf::enable_buffer
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *\ngzfilebuf::attach(int fd,\n                  std::ios_base::openmode
      mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:110,1
    - Dst: gzfilebuf::sync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:115,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:117,1
    - Dst: gzfilebuf::disable_buffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: gzfilebuf::close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzfilebuf::disable_buffer
    - gzfilebuf::is_open
    - gzclose
    - gzfilebuf::sync
    linkageType: ''
    returnType: gzfilebuf
    signature: 'gzfilebuf *

      gzfilebuf::close()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:146,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:148,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:150,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:152,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:160,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:163,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 14
    argCount: 2
    argNames:
    - mode
    - c_mode
    argTypes:
    - std::ios_base::openmode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 165
    functionName: gzfilebuf::open_mode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - strcpy
    - strlen
    - strcat
    linkageType: ''
    returnType: bool
    signature: "bool gzfilebuf::open_mode(std::ios_base::openmode mode,\n                     char*
      c_mode) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:172,1
    - Dst: gzfilebuf::gptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:175,1
    - Dst: gzfilebuf::gptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:175,1
    - Dst: gzfilebuf::egptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:175,1
    - Dst: std::streamsize
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:176,1
    - Dst: gzfilebuf::egptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:176,1
    - Dst: gzfilebuf::gptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: gzfilebuf::showmanyc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - std::streamsize
    - gzfilebuf::is_open
    - gzfilebuf::gptr
    - gzfilebuf::egptr
    linkageType: ''
    returnType: std::streamsize
    signature: std::streamsize gzfilebuf::showmanyc()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::gptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:188,1
    - Dst: gzfilebuf::gptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:188,1
    - Dst: gzfilebuf::egptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:188,1
    - Dst: traits_type::to_int_type
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:189,1
    - Dst: gzfilebuf::gptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:189,1
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:192,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:193,1
    - Dst: gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:197,1
    - Dst: gzfilebuf::setg
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:202,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:203,1
    - Dst: gzfilebuf::setg
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:206,1
    - Dst: traits_type::to_int_type
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:209,1
    - Dst: gzfilebuf::gptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 210
    functionName: gzfilebuf::underflow
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::egptr
    - gzfilebuf::is_open
    - json_typeof
    - gzfilebuf::setg
    - gzfilebuf::gptr
    - traits_type::to_int_type
    - gzread
    linkageType: ''
    returnType: gzfilebuf::int_type
    signature: gzfilebuf::int_type gzfilebuf::underflow()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::pbase
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:217,1
    - Dst: gzfilebuf::pptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:220,1
    - Dst: gzfilebuf::epptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:220,1
    - Dst: gzfilebuf::pptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:220,1
    - Dst: gzfilebuf::pbase
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:220,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:221,1
    - Dst: traits_type::eq_int_type
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:223,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:223,1
    - Dst: gzfilebuf::pptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:225,1
    - Dst: traits_type::to_char_type
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:225,1
    - Dst: gzfilebuf::pbump
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:226,1
    - Dst: gzfilebuf::pptr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:229,1
    - Dst: gzfilebuf::pbase
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:229,1
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:234,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:235,1
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:237,1
    - Dst: gzfilebuf::pbase
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:237,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:238,1
    - Dst: gzfilebuf::pbump
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:240,1
    - Dst: traits_type::eq_int_type
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:244,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:244,1
    - Dst: gzfilebuf::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:247,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:248,1
    - Dst: traits_type::to_char_type
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:250,1
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:252,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:253,1
    - Dst: traits_type::eq_int_type
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:258,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:258,1
    - Dst: traits_type::not_eof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:259,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 1
    argNames:
    - c
    argTypes:
    - int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 262
    functionName: gzfilebuf::overflow
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzwrite
    - traits_type::to_char_type
    - traits_type::not_eof
    - gzfilebuf::is_open
    - json_typeof
    - gzfilebuf::pbase
    - gzfilebuf::pbump
    - gzfilebuf::epptr
    - traits_type::eq_int_type
    - gzfilebuf::pptr
    linkageType: ''
    returnType: gzfilebuf::int_type
    signature: gzfilebuf::int_type gzfilebuf::overflow(int_type c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::sync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:270,1
    - Dst: gzfilebuf::disable_buffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:279,1
    - Dst: gzfilebuf::enable_buffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:283,1
    - Dst: gzfilebuf::disable_buffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:288,1
    - Dst: gzfilebuf::enable_buffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - char_type*
    - std::streamsize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 295
    functionName: gzfilebuf::setbuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::disable_buffer
    - gzfilebuf::sync
    - gzfilebuf::enable_buffer
    linkageType: ''
    returnType: std::streambuf
    signature: "std::streambuf *\ngzfilebuf::setbuf(char_type* p,\n                  std::streamsize
      n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traits_type::eq_int_type
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:301,1
    - Dst: gzfilebuf::overflow
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:301,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: gzfilebuf::sync
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 5
    functionsReached:
    - json_typeof
    - traits_type::eq_int_type
    - gzfilebuf::overflow
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::sync()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: char_type::char_type
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:317,1
    - Dst: gzfilebuf::setg
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:319,1
    - Dst: gzfilebuf::setp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:324,1
    - Dst: char_type::char_type
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:330,1
    - Dst: gzfilebuf::setg
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:331,1
    - Dst: gzfilebuf::setp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:333,1
    - Dst: gzfilebuf::setg
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:340,1
    - Dst: gzfilebuf::setp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 343
    functionName: gzfilebuf::enable_buffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 3
    functionsReached:
    - char_type::char_type
    - gzfilebuf::setg
    - gzfilebuf::setp
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::enable_buffer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::pbase
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:353,1
    - Dst: gzfilebuf::setg
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:357,1
    - Dst: gzfilebuf::setp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:358,1
    - Dst: gzfilebuf::setg
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:363,1
    - Dst: gzfilebuf::setp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:365,1
    - Dst: gzfilebuf::setp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 369
    functionName: gzfilebuf::disable_buffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 4
    functionsReached:
    - gzfilebuf::pbase
    - gzfilebuf::setg
    - gzfilebuf::setp
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::disable_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzifstream::init
    linkageType: ''
    returnType: void
    signature: void gzifstream::gzifstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:383,1
    - Dst: gzifstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzifstream::open
    - gzifstream::init
    linkageType: ''
    returnType: void
    signature: "void gzifstream::gzifstream(const char* name,\n                       std::ios_base::openmode
      mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:392,1
    - Dst: gzifstream::attach
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzifstream::attach
    - gzifstream::init
    linkageType: ''
    returnType: void
    signature: "void gzifstream::gzifstream(int fd,\n                       std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:401,1
    - Dst: gzifstream::setstate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:402,1
    - Dst: gzifstream::clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: gzifstream::open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzifstream::clear
    - gzifstream::setstate
    - gzifstream::open
    linkageType: ''
    returnType: void
    signature: "void gzifstream::open(const char* name,\n                 std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::attach
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:412,1
    - Dst: gzifstream::setstate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:413,1
    - Dst: gzifstream::clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 416
    functionName: gzifstream::attach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzifstream::attach
    - gzifstream::setstate
    - gzifstream::clear
    linkageType: ''
    returnType: void
    signature: "void gzifstream::attach(int fd,\n                   std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:422,1
    - Dst: gzifstream::setstate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: gzifstream::close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 1
    functionsReached:
    - gzifstream::close
    - gzifstream::setstate
    linkageType: ''
    returnType: void
    signature: void gzifstream::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzofstream::init
    linkageType: ''
    returnType: void
    signature: void gzofstream::gzofstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:438,1
    - Dst: gzofstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzofstream::open
    - gzofstream::init
    linkageType: ''
    returnType: void
    signature: "void gzofstream::gzofstream(const char* name,\n                       std::ios_base::openmode
      mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:447,1
    - Dst: gzofstream::attach
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzofstream::init
    - gzofstream::attach
    linkageType: ''
    returnType: void
    signature: "void gzofstream::gzofstream(int fd,\n                       std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:456,1
    - Dst: gzofstream::setstate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:457,1
    - Dst: gzofstream::clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: gzofstream::open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzofstream::setstate
    - gzofstream::open
    - gzofstream::clear
    linkageType: ''
    returnType: void
    signature: "void gzofstream::open(const char* name,\n                 std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::attach
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:467,1
    - Dst: gzofstream::setstate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:468,1
    - Dst: gzofstream::clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: gzofstream::attach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzofstream::setstate
    - gzofstream::clear
    - gzofstream::attach
    linkageType: ''
    returnType: void
    signature: "void gzofstream::attach(int fd,\n                   std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:477,1
    - Dst: gzofstream::setstate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: gzofstream::close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzofstream::setstate
    - gzofstream::close
    linkageType: ''
    returnType: void
    signature: void gzofstream::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: gzfilebuf::is_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_open() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<gzfilebuf*>
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: gzifstream::rdbuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: 0
    functionsReached:
    - const_cast<gzfilebuf*>
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *\n  rdbuf() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: gzifstream::is_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: 1
    functionsReached:
    - gzifstream::is_open
    linkageType: ''
    returnType: bool
    signature: bool is_open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<gzfilebuf*>
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: gzofstream::rdbuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: 2
    functionsReached:
    - const_cast<gzfilebuf*>
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *\n  rdbuf() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::is_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: gzofstream::is_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: 1
    functionsReached:
    - gzofstream::is_open
    linkageType: ''
    returnType: bool
    signature: bool is_open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:442,1
    - Dst: setcompression
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gzs
    - l
    argTypes:
    - gzofstream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: setcompression
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: 1
    functionsReached:
    - setcompression
    - gzofstream::rdbuf
    linkageType: ''
    returnType: gzofstream
    signature: 'gzofstream &

      setcompression(gzofstream &gzs, int l, int s = Z_DEFAULT_STRATEGY)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - (*f)(gzofstream , T1, T2)
    - v1
    - v2
    argTypes:
    - gzofstream
    - T1
    - T2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: gzomanip2<T1,T2>::gzomanip2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gzomanip2<T1,T2>::gzomanip2(gzofstream &(*f)(gzofstream &, T1,
      T2),\n                              T1 v1,\n                              T2
      v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' m'
    argTypes:
    - gzofstream
    - gzomanip2<T1,T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: "&\n  operator<<(gzofstream& s, const gzomanip2<T1,T2>& m)"
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gzofstream
    signature: "gzofstream &\n  operator<<(gzofstream& s, const gzomanip2<T1,T2>&
      m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzomanip2<int,int>
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: setcompression
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: 1
    functionsReached:
    - gzomanip2<int,int>
    linkageType: ''
    returnType: gzomanip2<int,int>
    signature: gzomanip2<int,int> setcompression(int l, int s = Z_DEFAULT_STRATEGY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::gzofstream
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:13,1
    - Dst: gzifstream::gzifstream
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:14,1
    - Dst: gzofstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:17,1
    - Dst: gzofstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:20,1
    - Dst: gzifstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:26,1
    - Dst: gzifstream::getline
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:27,1
    - Dst: gzifstream::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:28,1
    - Dst: gzifstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:30,1
    - Dst: gzofstream::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:32,1
    - Dst: gzofstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:33,1
    - Dst: setcompression
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:34,1
    - Dst: gzofstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:37,1
    - Dst: gzifstream::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:41,1
    - Dst: gzifstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:42,1
    - Dst: gzifstream::getline
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:43,1
    - Dst: gzifstream::rdbuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:44,1
    - Dst: gzifstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/test.cc
    functionUses: 0
    functionsReached:
    - gzifstream::close
    - gzifstream::open
    - gzifstream::rdbuf
    - gzofstream::close
    - gzofstream::gzofstream
    - gzifstream::gzifstream
    - setcompression
    - gzofstream::rdbuf
    - gzofstream::open
    - gzifstream::getline
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dirname
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: mkdir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mkdir(dirname,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - path
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: access
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: access(path,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - path
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: chmod
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chmod(path,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: strdup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strdup(str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:137,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:138,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:142,1
    - Dst: access
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arcname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: TGZfname
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strlen
    - access
    linkageType: ''
    returnType: char
    signature: char *TGZfname (const char *arcname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:156,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:158,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arcname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: TGZnotfound
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void TGZnotfound (const char *arcname)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - p
    - width
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 185
    functionName: getoct
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getoct (char *p,int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:196,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: strtime
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - sprintf
    - localtime
    linkageType: ''
    returnType: char
    signature: char *strtime (time_t *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:216,1
    - Dst: SystemTimeToFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:228,1
    - Dst: LocalFileTimeToFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:229,1
    - Dst: GetVersion
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:233,1
    - Dst: CreateFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:234,1
    - Dst: SetFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:239,1
    - Dst: CloseHandle
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:240,1
    - Dst: utime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - fname
    - ftime
    argTypes:
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 248
    functionName: setfiletime
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - localtime
    - CreateFile
    - GetVersion
    - LocalFileTimeToFileTime
    - CloseHandle
    - utime
    - SetFileTime
    - SystemTimeToFileTime
    linkageType: ''
    returnType: int
    signature: int setfiletime (char *fname,time_t ftime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:257,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:259,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - list
    - fname
    - mode
    - time
    argTypes:
    - struct attr_item**
    - char*
    - int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: push_attr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - error
    - malloc
    - strdup
    linkageType: ''
    returnType: void
    signature: void push_attr(struct attr_item **list,char *fname,int mode,time_t
      time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setfiletime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:276,1
    - Dst: chmod
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:277,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct attr_item**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: restore_attr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - chmod
    - setfiletime
    - free
    linkageType: ''
    returnType: void
    signature: void restore_attr(struct attr_item **list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: ISSPECIAL
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISSPECIAL(c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISSPECIAL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - string
    - expr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 320
    functionName: ExprMatch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - ISSPECIAL
    linkageType: ''
    returnType: int
    signature: int ExprMatch (char *string,char *expr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:330,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:332,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:335,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:341,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:343,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:356,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:358,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:359,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - newdir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 368
    functionName: makedir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - strlen
    - fprintf
    - strdup
    - mkdir
    - free
    linkageType: ''
    returnType: int
    signature: int makedir (char *newdir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExprMatch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - arg
    - argc
    - argv
    - fname
    argTypes:
    - int
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 381
    functionName: matchname
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - ExprMatch
    linkageType: ''
    returnType: int
    signature: int matchname (int arg,int argc,char **argv,char *fname)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:400,1
    - Dst: gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:404,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:406,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:406,1
    - Dst: getoct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:430,1
    - Dst: getoct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:431,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:440,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:449,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:450,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:461,1
    - Dst: strtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:461,1
    - Dst: makedir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:464,1
    - Dst: push_attr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:465,1
    - Dst: getoct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:470,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:477,1
    - Dst: strtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:477,1
    - Dst: matchname
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:480,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:482,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:485,1
    - Dst: makedir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:488,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:490,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:494,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:496,1
    - Dst: getoct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:505,1
    - Dst: gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:511,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:513,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:513,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:514,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:523,1
    - Dst: strtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:523,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:533,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:535,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:537,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:539,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:550,1
    - Dst: push_attr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:553,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:562,1
    - Dst: restore_attr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:570,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:572,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:573,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 116
    argCount: 5
    argNames:
    - in
    - action
    - arg
    - argc
    - argv
    argTypes:
    - gzFile
    - int
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 576
    functionName: tar
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - printf
    - gzclose
    - strtime
    - fopen
    - strncmp
    - fprintf
    - error
    - gzerror
    - fwrite
    - gzread
    - strrchr
    - strlen
    - restore_attr
    - makedir
    - remove
    - matchname
    - push_attr
    - getoct
    - fclose
    - strncpy
    linkageType: ''
    returnType: int
    signature: int tar (gzFile in,int action,int arg,int argc,char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:583,1
    - Dst: zlibVersion
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:585,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:586,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exitval
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - printf
    - zlibVersion
    - exit
    linkageType: ''
    returnType: void
    signature: void help(int exitval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:595,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 129
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void error(const char *msg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:613,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:616,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:619,1
    - Dst: help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:632,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:634,1
    - Dst: help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:638,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:640,1
    - Dst: help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:642,1
    - Dst: TGZfname
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:645,1
    - Dst: TGZnotfound
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:646,1
    - Dst: help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:650,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:659,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:662,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:665,1
    - Dst: tar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:665,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:669,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:670,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 606
    functionDepth: 4
    functionLinenumber: 606
    functionLinenumberEnd: 674
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - strrchr
    - help
    - fprintf
    - exit
    - TGZfname
    - error
    - tar
    - TGZnotfound
    - gzopen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc,char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table9
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:70,1
    - Dst: inflate_table9
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:77,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:80,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:81,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:82,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:83,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:84,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:85,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:86,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:87,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:88,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:90,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:93,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:94,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:97,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:99,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:101,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:104,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:105,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:108,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:110,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 111
    functionName: makefixed9
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached:
    - inflate_table9
    - printf
    - putchar
    - puts
    linkageType: ''
    returnType: void
    signature: void makefixed9(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: INITBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: PULL
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: PULLBYTE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULLBYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: NEEDBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: BITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: DROPBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROPBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: BYTEBITS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: ROOM
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROOM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: inflateBack9Init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateBack9Init(strm, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: zstringlen::value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t value() const
  - 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: izstream::izstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void izstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: izstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: izstream::izstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - izstream::open
    linkageType: ''
    returnType: void
    signature: void izstream(FILE* fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: izstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: izstream::izstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - izstream::open
    linkageType: ''
    returnType: void
    signature: void izstream(const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~izstream()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~izstream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: izstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:66,1
    - Dst: ::gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: izstream::open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - ::gzopen
    - izstream::close
    linkageType: ''
    returnType: void
    signature: void open(const char* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:71,1
    - Dst: izstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:72,1
    - Dst: ::gzdopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:73,1
    - Dst: fileno
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: izstream::open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - ::gzdopen
    - SET_BINARY_MODE
    - izstream::close
    - fileno
    linkageType: ''
    returnType: void
    signature: void open(FILE* fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: izstream::close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - ::gzclose
    linkageType: ''
    returnType: int
    signature: int close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: izstream::read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzread
    linkageType: ''
    returnType: int
    signature: int read(void* buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: izstream::error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzerror
    linkageType: ''
    returnType: char
    signature: char * error(int* errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: izstream::fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gzFile
    signature: gzFile fp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:116,1
    - Dst: fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' zs'
    - x
    - items
    argTypes:
    - izstream
    - T*
    - Items
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 37
    functionsReached:
    - fp
    - ::gzread
    linkageType: ''
    returnType: int
    signature: int read(izstream& zs, T* x, Items items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:124,1
    - Dst: fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' zs'
    - ' x'
    argTypes:
    - izstream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '& operator>(izstream& zs, T& x)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - fp
    - ::gzread
    linkageType: ''
    returnType: izstream
    signature: izstream & operator>(izstream& zs, T& x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' zs'
    argTypes:
    - izstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: zstringlen::zstringlen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void zstringlen::zstringlen(izstream& zs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:140,1
    - Dst: fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:140,1
    - Dst: zstringlen::value
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:140,1
    - Dst: zstringlen::value
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' zs'
    - x
    argTypes:
    - izstream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: '& operator>(izstream& zs, char* x)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - fp
    - ::gzread
    - zstringlen::value
    linkageType: ''
    returnType: izstream
    signature: izstream & operator>(izstream& zs, char* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zstringlen::value
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:147,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:147,1
    - Dst: ::gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:148,1
    - Dst: fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:148,1
    - Dst: zstringlen::value
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:148,1
    - Dst: zstringlen::value
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' zs'
    argTypes:
    - izstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: read_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - fp
    - char::char
    - ::gzread
    - zstringlen::value
    linkageType: ''
    returnType: char
    signature: char * read_string(izstream& zs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: ozstream::ozstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ozstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ozstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: ozstream::ozstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ozstream::open
    linkageType: ''
    returnType: void
    signature: void ozstream(FILE* fp, int level = Z_DEFAULT_COMPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ozstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: ozstream::ozstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ozstream::open
    linkageType: ''
    returnType: void
    signature: void ozstream(const char* name, int level = Z_DEFAULT_COMPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: ~ozstream()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~ozstream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ozstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:180,1
    - Dst: ::gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: ozstream::open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - ::gzopen
    - ozstream::close
    linkageType: ''
    returnType: void
    signature: void open(const char* name, int level = Z_DEFAULT_COMPRESSION)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:187,1
    - Dst: ozstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:190,1
    - Dst: ::gzdopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:191,1
    - Dst: fileno
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: ozstream::open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - ::gzdopen
    - SET_BINARY_MODE
    - ozstream::close
    - fileno
    linkageType: ''
    returnType: void
    signature: void open(FILE* fp, int level = Z_DEFAULT_COMPRESSION)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:200,1
    - Dst: str
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:200,1
    - Dst: pcount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:200,1
    - Dst: str
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:201,1
    - Dst: ::gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: ozstream::close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - pcount
    - ::gzwrite
    - ::gzclose
    - str
    linkageType: ''
    returnType: int
    signature: int close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: ozstream::write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzwrite
    linkageType: ''
    returnType: int
    signature: int write(const void* buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ozstream::os_flush
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:220,1
    - Dst: ::gzflush
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _flush
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: ozstream::flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzflush
    - ozstream::os_flush
    linkageType: ''
    returnType: int
    signature: int flush(int _flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: ozstream::error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzerror
    linkageType: ''
    returnType: char
    signature: char * error(int* errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: ozstream::fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gzFile
    signature: gzFile fp()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostrstream::ostrstream
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '& os()'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ostrstream::ostrstream
    linkageType: ''
    returnType: ostream
    signature: ostream & os()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:242,1
    - Dst: ostrstream::ostrstream
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:243,1
    - Dst: ostrstream*::fill
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:244,1
    - Dst: fill
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:244,1
    - Dst: ostrstream*::flags
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:245,1
    - Dst: flags
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:245,1
    - Dst: ostrstream*::precision
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:246,1
    - Dst: precision
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:246,1
    - Dst: ostrstream*::width
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:247,1
    - Dst: width
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:247,1
    - Dst: ::gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:248,1
    - Dst: str
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:248,1
    - Dst: pcount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:248,1
    - Dst: str
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: ozstream::os_flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 1
    functionsReached:
    - fill
    - str
    - pcount
    - ostrstream*::fill
    - precision
    - width
    - ostrstream*::flags
    - ostrstream*::width
    - ::gzwrite
    - ostrstream::ostrstream
    - flags
    - ostrstream*::precision
    linkageType: ''
    returnType: void
    signature: void os_flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:265,1
    - Dst: fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' zs'
    - x
    - items
    argTypes:
    - ozstream
    - T*
    - Items
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 32
    functionsReached:
    - ::gzwrite
    - fp
    linkageType: ''
    returnType: int
    signature: int write(ozstream& zs, const T* x, Items items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:273,1
    - Dst: fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' zs'
    - ' x'
    argTypes:
    - ozstream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: '& operator<(ozstream& zs, const T& x)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzwrite
    - fp
    linkageType: ''
    returnType: ozstream
    signature: ozstream & operator<(ozstream& zs, const T& x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uthash_strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' zs'
    - x
    argTypes:
    - ozstream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: zstringlen::zstringlen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - uthash_strlen
    linkageType: ''
    returnType: void
    signature: void zstringlen::zstringlen(ozstream& zs, const char* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:288,1
    - Dst: fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:288,1
    - Dst: zstringlen::value
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' zs'
    - x
    argTypes:
    - ozstream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: '& operator<(ozstream& zs, const char* x)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzwrite
    - fp
    - zstringlen::value
    linkageType: ''
    returnType: ozstream
    signature: ozstream & operator<(ozstream& zs, const char* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' zs'
    - ' x'
    argTypes:
    - ozstream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '& operator<(ozstream& zs, char* const& x)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ozstream
    signature: ozstream & operator<(ozstream& zs, char* const& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_flush
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:303,1
    - Dst: os
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' zs'
    - ' x'
    argTypes:
    - ozstream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: '& operator<<(ozstream& zs, const T& x)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - os
    - os_flush
    linkageType: ''
    returnType: ostream
    signature: ostream & operator<<(ozstream& zs, const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ozstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream_test.cpp:11,1
    - Dst: read_string
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream_test.cpp:14,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream_test.cpp:14,1
    - Dst: izstream::close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream_test.cpp:16,1
    - Dst: ozstream::open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream_test.cpp:19,1
    - Dst: setw
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream_test.cpp:20,1
    - Dst: setfill
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream_test.cpp:20,1
    - Dst: setprecision
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream_test.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 6
    functionDepth: 2
    functionLinenumber: 6
    functionLinenumberEnd: 25
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream_test.cpp
    functionUses: 0
    functionsReached:
    - setw
    - setprecision
    - ozstream::close
    - ozstream::open
    - char::char
    - izstream::close
    - setfill
    - read_string
    linkageType: ''
    returnType: void
    signature: void main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - adr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: READ_8
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_8(adr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - adr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: READ_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_16(adr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - adr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: READ_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_32(adr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buff
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: WRITE_8
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_8(buff, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buff
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: WRITE_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_16(buff, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buff
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: WRITE_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_32(buff, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: FOPEN_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: FTELLO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: FOPEN_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: FTELLO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:169,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: do_banner
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void do_banner()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: do_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void do_help()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:190,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:203,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:205,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:207,1
    - Dst: crc32_z
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:212,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:218,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - filenameinzip
    - buf
    - size_buf
    - result_crc
    argTypes:
    - char*
    - void*
    - unsigned long
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 223
    functionName: getFileCrc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached:
    - feof
    - crc32_z
    - fread
    - printf
    - FOPEN_FUNC
    - fclose
    linkageType: ''
    returnType: int
    signature: int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigned
      long* result_crc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:229,1
    - Dst: FSEEKO_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:233,1
    - Dst: FTELLO_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:234,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:236,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: isLargeFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached:
    - FSEEKO_FUNC
    - FTELLO_FUNC
    - printf
    - FOPEN_FUNC
    - fclose
    linkageType: ''
    returnType: int
    signature: int isLargeFile(const char* filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: ZREAD64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZREAD64(filefunc,filestream,buf,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: ZWRITE64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZWRITE64(filefunc,filestream,buf,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: ZCLOSE64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZCLOSE64(filefunc,filestream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: ZERROR64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZERROR64(filefunc,filestream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - filefunc
    - ','
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: ZOPEN64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZOPEN64(filefunc,filename,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: ZTELL64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZTELL64(filefunc,filestream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - ','
    - pos
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: ZSEEK64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSEEK64(filefunc,filestream,pos,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: CRC32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC32(c, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pkeys
    - pcrc_32_tab
    argTypes:
    - unsigned long*
    - z_crc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: decrypt_byte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRC32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:51,1
    - Dst: CRC32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pkeys
    - pcrc_32_tab
    - c
    argTypes:
    - unsigned long*
    - z_crc_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: update_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached:
    - CRC32
    linkageType: ''
    returnType: int
    signature: int update_keys(unsigned long* pkeys,const z_crc_t* pcrc_32_tab,int
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_keys
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - passwd
    - pkeys
    - pcrc_32_tab
    argTypes:
    - char*
    - unsigned long*
    - z_crc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: init_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached:
    - update_keys
    linkageType: ''
    returnType: void
    signature: void init_keys(const char* passwd,unsigned long* pkeys,const z_crc_t*
      pcrc_32_tab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkeys
    - ','
    - pcrc_32_tab
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: zdecode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zdecode(pkeys,pcrc_32_tab,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pkeys
    - ','
    - pcrc_32_tab
    - ','
    - c
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: zencode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zencode(pkeys,pcrc_32_tab,c,t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:113,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:113,1
    - Dst: init_keys
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:115,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:118,1
    - Dst: zencode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:119,1
    - Dst: init_keys
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:122,1
    - Dst: zencode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:125,1
    - Dst: zencode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:127,1
    - Dst: zencode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - passwd
    - buf
    - bufSize
    - pkeys
    - pcrc_32_tab
    - crcForCrypting
    argTypes:
    - char*
    - unsigned char*
    - int
    - unsigned long*
    - z_crc_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 130
    functionName: crypthead
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached:
    - rand
    - zencode
    - init_keys
    - time
    - srand
    linkageType: ''
    returnType: unsigned
    signature: "unsigned crypthead(const char* passwd,       /* password string */\n
      \                         unsigned char* buf,       /* where to write header
      */\n                          int bufSize,\n                          unsigned
      long* pkeys,\n                          const z_crc_t* pcrc_32_tab,\n                          unsigned
      long crcForCrypting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - PartitionSet
    - ','
    - Partition
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: WINAPI_FAMILY_ONE_PARTITION
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WINAPI_FAMILY_ONE_PARTITION(PartitionSet, Partition)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - mode
    - lpdwDesiredAccess
    - lpdwCreationDisposition
    - lpdwShareMode
    - lpdwFlagsAndAttributes
    argTypes:
    - int
    - DWORD*
    - DWORD*
    - DWORD*
    - DWORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: win32_translate_open_mode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void win32_translate_open_mode(int mode,\n                                      DWORD*
      lpdwDesiredAccess,\n                                      DWORD* lpdwCreationDisposition,\n
      \                                     DWORD* lpdwShareMode,\n                                      DWORD*
      lpdwFlagsAndAttributes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:91,1
    - Dst: CloseHandle
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - hFile
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: win32_build_iowin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - malloc
    - CloseHandle
    linkageType: ''
    returnType: voidpf
    signature: voidpf win32_build_iowin(HANDLE hFile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:107,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:112,1
    - Dst: MultiByteToWideChar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:117,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:118,1
    - Dst: CreateFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:123,1
    - Dst: win32_build_iowin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: win32_open64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - CreateFile
    - win32_translate_open_mode
    - win32_build_iowin
    - CreateFile2
    - MultiByteToWideChar
    linkageType: ''
    returnType: voidpf
    signature: voidpf win32_open64_file_func (voidpf opaque,const void* filename,int
      mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:136,1
    - Dst: MultiByteToWideChar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:142,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:143,1
    - Dst: CreateFileA
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:147,1
    - Dst: win32_build_iowin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 151
    functionName: win32_open64_file_funcA
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - CreateFileA
    - win32_translate_open_mode
    - win32_build_iowin
    - MultiByteToWideChar
    - CreateFile2
    linkageType: ''
    returnType: voidpf
    signature: voidpf win32_open64_file_funcA (voidpf opaque,const void* filename,int
      mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:160,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:164,1
    - Dst: CreateFileW
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:167,1
    - Dst: win32_build_iowin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: win32_open64_file_funcW
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - CreateFileW
    - win32_build_iowin
    - CreateFile2
    - win32_translate_open_mode
    linkageType: ''
    returnType: voidpf
    signature: voidpf win32_open64_file_funcW (voidpf opaque,const void* filename,int
      mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:180,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:185,1
    - Dst: MultiByteToWideChar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:190,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:191,1
    - Dst: CreateFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:196,1
    - Dst: win32_build_iowin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: win32_open_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - CreateFile
    - win32_translate_open_mode
    - win32_build_iowin
    - CreateFile2
    - MultiByteToWideChar
    linkageType: ''
    returnType: voidpf
    signature: voidpf win32_open_file_func (voidpf opaque,const char* filename,int
      mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:212,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: win32_read_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - ReadFile
    linkageType: ''
    returnType: uLong
    signature: uLong win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uLong
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:234,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: win32_write_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - WriteFile
    linkageType: ''
    returnType: uLong
    signature: uLong win32_write_file_func (voidpf opaque,voidpf stream,const void*
      buf,uLong size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetFilePointerEx
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:249,1
    - Dst: SetFilePointer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:252,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - hFile
    - pos
    - newPos
    - dwMoveMethod
    argTypes:
    - HANDLE
    - LARGE_INTEGER
    - LARGE_INTEGER*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: MySetFilePointerEx
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - SetFilePointerEx
    - SetFilePointer
    linkageType: ''
    returnType: BOOL
    signature: BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER
      *newPos,  DWORD dwMoveMethod)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:277,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 287
    functionName: win32_tell_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:301,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 311
    functionName: win32_tell64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T win32_tell64_file_func (voidpf opaque, voidpf stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:340,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 350
    functionName: win32_seek_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong
      offset,int origin)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:379,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 389
    functionName: win32_seek64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T
      offset,int origin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:401,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 407
    functionName: win32_close_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - free
    linkageType: ''
    returnType: int
    signature: int win32_close_file_func (voidpf opaque, voidpf stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: win32_error_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int win32_error_file_func (voidpf opaque,voidpf stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: fill_win32_filefunc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 441
    functionName: fill_win32_filefunc64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 454
    functionName: fill_win32_filefunc64A
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: fill_win32_filefunc64W
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: FOPEN_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: FTELLO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: FOPEN_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: FTELLO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pfilefunc
    - filename
    - mode
    argTypes:
    - zlib_filefunc64_32_def*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: call_zopen64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: voidpf
    signature: voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const
      void*filename,int mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pfilefunc
    - filestream
    - offset
    - origin
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: call_zseek64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream,
      ZPOS64_T offset, int origin)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pfilefunc
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: call_ztell64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf
      filestream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - p_filefunc64_32
    - p_filefunc32
    argTypes:
    - zlib_filefunc64_32_def*
    - zlib_filefunc_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: fill_zlib_filefunc64_32_def_from_filefunc32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def*
      p_filefunc64_32,const zlib_filefunc_def* p_filefunc32)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: fopen_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - fopen
    linkageType: ''
    returnType: voidpf
    signature: voidpf fopen_file_func (voidpf opaque, const char* filename, int mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: fopen64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - FOPEN_FUNC
    linkageType: ''
    returnType: voidpf
    signature: voidpf fopen64_file_func (voidpf opaque, const void* filename, int
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: fread_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: uLong
    signature: uLong fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: fwrite_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: uLong
    signature: uLong fwrite_file_func (voidpf opaque, voidpf stream, const void* buf,
      uLong size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: ftell_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - ftell
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTELLO_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: ftell64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - FTELLO_FUNC
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T ftell64_file_func (voidpf opaque, voidpf stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 189
    functionName: fseek_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK fseek_file_func (voidpf  opaque, voidpf stream, uLong
      offset, int origin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FSEEKO_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 215
    functionName: fseek64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - FSEEKO_FUNC
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK fseek64_file_func (voidpf  opaque, voidpf stream, ZPOS64_T
      offset, int origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: fclose_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: int
    signature: int fclose_file_func (voidpf opaque, voidpf stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: ferror_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - ferror
    linkageType: ''
    returnType: int
    signature: int ferror_file_func (voidpf opaque, voidpf stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: fill_fopen64_filefunc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_fopen64_filefunc (zlib_filefunc64_def*  pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ALLOC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: TRYFREE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRYFREE(p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:215,1
    - Dst: ZERROR64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pi
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: unz64local_getByte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZERROR64
    - ZREAD64
    linkageType: ''
    returnType: local
    signature: local unz64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, int *pi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:247,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 259
    functionName: unz64local_getShort
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_getByte
    linkageType: ''
    returnType: local
    signature: "local unz64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def,\n
      \                            voidpf filestream,\n                             uLong
      *pX)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:274,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:278,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:282,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 294
    functionName: unz64local_getLong
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_getByte
    linkageType: ''
    returnType: local
    signature: "local unz64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def,\n
      \                           voidpf filestream,\n                            uLong
      *pX)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:310,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:314,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:318,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:322,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:326,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:330,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:334,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 346
    functionName: unz64local_getLong64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_getByte
    linkageType: ''
    returnType: local
    signature: "local unz64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def,\n
      \                           voidpf filestream,\n                            ZPOS64_T
      *pX)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - fileName1
    - fileName2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 368
    functionName: strcmpcasenosensitive_internal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local strcmpcasenosensitive_internal (const char* fileName1, const
      char* fileName2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:399,1
    - Dst: STRCMPCASENOSENTIVEFUNCTION
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - fileName1
    - fileName2
    - iCaseSensitivity
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 402
    functionName: unzStringFileNameCompare
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - STRCMPCASENOSENTIVEFUNCTION
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int unzStringFileNameCompare (const char*  fileName1,\n                                                 const
      char*  fileName2,\n                                                 int iCaseSensitivity)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:421,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:425,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:430,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:448,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:451,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:465,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 467
    functionName: unz64local_SearchCentralDir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZSEEK64
    - ALLOC
    - TRYFREE
    - ZTELL64
    - ZREAD64
    linkageType: ''
    returnType: local
    signature: local unz64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:489,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:493,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:498,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:516,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:519,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:533,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:538,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:542,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:546,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:552,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:556,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:562,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:566,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 573
    functionName: unz64local_SearchCentralDir64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZSEEK64
    - ALLOC
    - TRYFREE
    - unz64local_getLong
    - unz64local_getLong64
    - ZTELL64
    - ZREAD64
    linkageType: ''
    returnType: local
    signature: "local unz64local_SearchCentralDir64(const zlib_filefunc64_32_def*
      pzlib_filefunc_def,\n                                      voidpf filestream)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: fill_fopen64_filefunc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:609,1
    - Dst: ZOPEN64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:616,1
    - Dst: unz64local_SearchCentralDir64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:623,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:631,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:636,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:640,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:644,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:648,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:652,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:656,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:660,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:664,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:673,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:678,1
    - Dst: unz64local_SearchCentralDir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:685,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:691,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:696,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:700,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:704,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:708,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:713,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:723,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:729,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:734,1
    - Dst: ZCLOSE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:744,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:755,1
    - Dst: unzGoToFirstFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:759,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 86
    argCount: 3
    argNames:
    - path
    - pzlib_filefunc64_32_def
    - is64bitOpenFunction
    argTypes:
    - void*
    - zlib_filefunc64_32_def*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 762
    functionName: unzOpenInternal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZCLOSE64
    - unz64local_SearchCentralDir
    - ZSEEK64
    - ALLOC
    - unz64local_getShort
    - unz64local_getLong
    - unz64local_SearchCentralDir64
    - fill_fopen64_filefunc
    - unz64local_getLong64
    - unzGoToFirstFile
    - ZOPEN64
    linkageType: ''
    returnType: local
    signature: "local unzOpenInternal (const void *path,\n                               zlib_filefunc64_32_def*
      pzlib_filefunc64_32_def,\n                               int is64bitOpenFunction)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_zlib_filefunc64_32_def_from_filefunc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:771,1
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:772,1
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - pzlib_filefunc32_def
    argTypes:
    - char*
    - zlib_filefunc_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 765
    functionDepth: 5
    functionLinenumber: 765
    functionLinenumberEnd: 776
    functionName: unzOpen2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - fill_zlib_filefunc64_32_def_from_filefunc32
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: "unzFile unzOpen2 (const char *path,\n                                        zlib_filefunc_def*
      pzlib_filefunc32_def)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:787,1
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - path
    - pzlib_filefunc_def
    argTypes:
    - void*
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 778
    functionDepth: 5
    functionLinenumber: 778
    functionLinenumberEnd: 791
    functionName: unzOpen2_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: "unzFile unzOpen2_64 (const void *path,\n                                     zlib_filefunc64_def*
      pzlib_filefunc_def)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 5
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: unzOpen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: unzFile unzOpen (const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 798
    functionDepth: 5
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: unzOpen64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: unzFile unzOpen64 (const void *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unzCloseCurrentFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:816,1
    - Dst: ZCLOSE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:818,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 821
    functionName: unzClose
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZCLOSE64
    - TRYFREE
    - unzCloseCurrentFile
    linkageType: ''
    returnType: int
    signature: int unzClose (unzFile file)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - file
    - pglobal_info
    argTypes:
    - unzFile
    - unz_global_info64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 836
    functionName: unzGetGlobalInfo64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unzGetGlobalInfo64 (unzFile file, unz_global_info64* pglobal_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - file
    - pglobal_info32
    argTypes:
    - unzFile
    - unz_global_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 848
    functionName: unzGetGlobalInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unzGetGlobalInfo (unzFile file, unz_global_info* pglobal_info32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ulDosDate
    - ptm
    argTypes:
    - ZPOS64_T
    - tm_unz*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 863
    functionName: unz64local_DosDateToTmuDate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local unz64local_DosDateToTmuDate (ZPOS64_T ulDosDate, tm_unz* ptm)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:901,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:910,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:916,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:919,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:922,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:925,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:928,1
    - Dst: unz64local_DosDateToTmuDate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:931,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:933,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:936,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:940,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:944,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:947,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:950,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:953,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:956,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:959,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:963,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:980,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:996,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1003,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1021,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1032,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1035,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1045,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1051,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1058,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1065,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1072,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1093,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1100,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 131
    argCount: 9
    argNames:
    - file
    - pfile_info
    - pfile_info_internal
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes:
    - unzFile
    - unz_file_info64*
    - unz_file_info64_internal*
    - char*
    - uLong
    - void*
    - uLong
    - char*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 1115
    functionName: unz64local_GetCurrentFileInfoInternal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZSEEK64
    - unz64local_getShort
    - unz64local_getLong
    - unz64local_getLong64
    - ZREAD64
    - unz64local_DosDateToTmuDate
    linkageType: ''
    returnType: local
    signature: "local unz64local_GetCurrentFileInfoInternal (unzFile file,\n                                                  unz_file_info64
      *pfile_info,\n                                                  unz_file_info64_internal\n
      \                                                 *pfile_info_internal,\n                                                  char
      *szFileName,\n                                                  uLong fileNameBufferSize,\n
      \                                                 void *extraField,\n                                                  uLong
      extraFieldBufferSize,\n                                                  char
      *szComment,\n                                                  uLong commentBufferSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - file
    - pfile_info
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes:
    - unzFile
    - unz_file_info64*
    - char*
    - uLong
    - void*
    - uLong
    - char*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1124
    functionDepth: 4
    functionLinenumber: 1124
    functionLinenumberEnd: 1134
    functionName: unzGetCurrentFileInfo64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: "int unzGetCurrentFileInfo64 (unzFile file,\n                                          unz_file_info64
      * pfile_info,\n                                          char * szFileName,
      uLong fileNameBufferSize,\n                                          void *extraField,
      uLong extraFieldBufferSize,\n                                          char*
      szComment,  uLong commentBufferSize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 8
    argNames:
    - file
    - pfile_info
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes:
    - unzFile
    - unz_file_info*
    - char*
    - uLong
    - void*
    - uLong
    - char*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1136
    functionDepth: 4
    functionLinenumber: 1136
    functionLinenumberEnd: 1173
    functionName: unzGetCurrentFileInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: "int unzGetCurrentFileInfo (unzFile file,\n                                          unz_file_info
      * pfile_info,\n                                          char * szFileName,
      uLong fileNameBufferSize,\n                                          void *extraField,
      uLong extraFieldBufferSize,\n                                          char*
      szComment,  uLong commentBufferSize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1178
    functionDepth: 4
    functionLinenumber: 1178
    functionLinenumberEnd: 1192
    functionName: unzGoToFirstFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 1
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: int unzGoToFirstFile (unzFile file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1199
    functionDepth: 4
    functionLinenumber: 1199
    functionLinenumberEnd: 1221
    functionName: unzGoToNextFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: int unzGoToNextFile (unzFile  file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1249,1
    - Dst: unzGoToFirstFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1262,1
    - Dst: unzGetCurrentFileInfo64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1267,1
    - Dst: unzStringFileNameCompare
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1272,1
    - Dst: unzGoToNextFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - file
    - szFileName
    - iCaseSensitivity
    argTypes:
    - unzFile
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1232
    functionDepth: 5
    functionLinenumber: 1232
    functionLinenumberEnd: 1287
    functionName: unzLocateFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - strlen
    - unzGetCurrentFileInfo64
    - unzGoToNextFile
    - unzGoToFirstFile
    - unzStringFileNameCompare
    linkageType: ''
    returnType: int
    signature: int unzLocateFile (unzFile file, const char *szFileName, int iCaseSensitivity)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz64_file_pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1322
    functionName: unzGetFilePos64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unzGetFilePos64(unzFile file, unz64_file_pos*  file_pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzGetFilePos64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz_file_pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1336
    functionName: unzGetFilePos
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzGetFilePos64
    linkageType: ''
    returnType: int
    signature: "int unzGetFilePos(\n    unzFile file,\n    unz_file_pos* file_pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz64_file_pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1338
    functionDepth: 4
    functionLinenumber: 1338
    functionLinenumberEnd: 1358
    functionName: unzGoToFilePos64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: int unzGoToFilePos64(unzFile file, const unz64_file_pos* file_pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzGoToFilePos64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz_file_pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1360
    functionDepth: 5
    functionLinenumber: 1360
    functionLinenumberEnd: 1371
    functionName: unzGoToFilePos
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzGoToFilePos64
    linkageType: ''
    returnType: int
    signature: "int unzGoToFilePos(\n    unzFile file,\n    unz_file_pos* file_pos)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1398,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1405,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1411,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1417,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1420,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1432,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1435,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1440,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1445,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1450,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1457,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 47
    argCount: 4
    argNames:
    - s
    - piSizeVar
    - poffset_local_extrafield
    - psize_local_extrafield
    argTypes:
    - unz64_s*
    - uInt*
    - ZPOS64_T*
    - uInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1385
    functionDepth: 3
    functionLinenumber: 1385
    functionLinenumberEnd: 1466
    functionName: unz64local_CheckCurrentFileCoherencyHeader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZSEEK64
    - unz64local_getShort
    - unz64local_getLong
    linkageType: ''
    returnType: local
    signature: "local unz64local_CheckCurrentFileCoherencyHeader (unz64_s* s, uInt*
      piSizeVar,\n                                                    ZPOS64_T * poffset_local_extrafield,\n
      \                                                   uInt  * psize_local_extrafield)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: unzCloseCurrentFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1495,1
    - Dst: unz64local_CheckCurrentFileCoherencyHeader
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1497,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1500,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1504,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1512,1
    - Dst: BZ2_bzDecompressInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1564,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1569,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1570,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1585,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1590,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1591,1
    - Dst: get_crc_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1621,1
    - Dst: init_keys
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1622,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1623,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1628,1
    - Dst: zdecode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1632,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 103
    argCount: 5
    argNames:
    - file
    - method
    - level
    - raw
    - password
    argTypes:
    - unzFile
    - int*
    - int*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1472
    functionDepth: 4
    functionLinenumber: 1472
    functionLinenumberEnd: 1641
    functionName: unzOpenCurrentFile3
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - get_crc_table
    - unzCloseCurrentFile
    - ALLOC
    - unz64local_CheckCurrentFileCoherencyHeader
    - TRYFREE
    - BZ2_bzDecompressInit
    - init_keys
    - ZSEEK64
    - zdecode
    - ZREAD64
    - inflateInit2
    linkageType: ''
    returnType: int
    signature: "int unzOpenCurrentFile3 (unzFile file, int* method,\n                                            int*
      level, int raw, const char* password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenCurrentFile3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1643
    functionDepth: 5
    functionLinenumber: 1643
    functionLinenumberEnd: 1646
    functionName: unzOpenCurrentFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenCurrentFile3
    linkageType: ''
    returnType: int
    signature: int unzOpenCurrentFile (unzFile file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenCurrentFile3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - password
    argTypes:
    - unzFile
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1648
    functionDepth: 5
    functionLinenumber: 1648
    functionLinenumberEnd: 1651
    functionName: unzOpenCurrentFilePassword
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenCurrentFile3
    linkageType: ''
    returnType: int
    signature: int unzOpenCurrentFilePassword (unzFile file, const char*  password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenCurrentFile3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - method
    - level
    - raw
    argTypes:
    - unzFile
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1653
    functionDepth: 5
    functionLinenumber: 1653
    functionLinenumberEnd: 1656
    functionName: unzOpenCurrentFile2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenCurrentFile3
    linkageType: ''
    returnType: int
    signature: int unzOpenCurrentFile2 (unzFile file, int* method, int* level, int
      raw)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1672
    functionName: unzGetCurrentFileZStreamPos64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T unzGetCurrentFileZStreamPos64( unzFile file)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1732,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1738,1
    - Dst: zdecode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1751,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1786,1
    - Dst: BZ2_bzDecompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1816,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1823,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1856,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1870,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 105
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - unzFile
    - voidp
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1686
    functionDepth: 1
    functionLinenumber: 1686
    functionLinenumberEnd: 1888
    functionName: unzReadCurrentFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZSEEK64
    - BZ2_bzDecompress
    - zdecode
    - ZREAD64
    - crc32
    - inflate
    linkageType: ''
    returnType: int
    signature: int unzReadCurrentFile  (unzFile file, voidp buf, unsigned len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1907
    functionName: unztell
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: z_off_t
    signature: z_off_t unztell (unzFile file)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1923
    functionName: unztell64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T unztell64 (unzFile file)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1945
    functionName: ZEXPORT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZEXPORT unzeof (unzFile file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1990,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1997,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - unzFile
    - voidp
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1961
    functionDepth: 1
    functionLinenumber: 1961
    functionLinenumberEnd: 2003
    functionName: unzGetLocalExtrafield
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZSEEK64
    - ZREAD64
    linkageType: ''
    returnType: int
    signature: int unzGetLocalExtrafield (unzFile file, voidp buf, unsigned len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2032,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2035,1
    - Dst: BZ2_bzDecompressEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2038,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2048
    functionName: unzCloseCurrentFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 2
    functionsReached:
    - inflateEnd
    - TRYFREE
    - BZ2_bzDecompressEnd
    linkageType: ''
    returnType: int
    signature: int unzCloseCurrentFile (unzFile file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2068,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2074,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - file
    - szComment
    - uSizeBuf
    argTypes:
    - unzFile
    - char*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2081
    functionName: unzGetGlobalComment
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZSEEK64
    - ZREAD64
    linkageType: ''
    returnType: int
    signature: int unzGetGlobalComment (unzFile file, char * szComment, uLong uSizeBuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2097
    functionName: unzGetOffset64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T unzGetOffset64(unzFile file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzGetOffset64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2107
    functionName: unzGetOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzGetOffset64
    linkageType: ''
    returnType: uLong
    signature: uLong unzGetOffset (unzFile file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - file
    - pos
    argTypes:
    - unzFile
    - ZPOS64_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2109
    functionDepth: 4
    functionLinenumber: 2109
    functionLinenumberEnd: 2125
    functionName: unzSetOffset64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: int unzSetOffset64(unzFile file, ZPOS64_T pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzSetOffset64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - pos
    argTypes:
    - unzFile
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2127
    functionDepth: 5
    functionLinenumber: 2127
    functionLinenumberEnd: 2130
    functionName: unzSetOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzSetOffset64
    linkageType: ''
    returnType: int
    signature: int unzSetOffset (unzFile file, uLong pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: ALLOC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(size)
  - 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: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: TRYFREE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRYFREE(p)
  - 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: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: MAKEULONG64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKEULONG64(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: linkedlist_datablock_internal* allocate_new_datablock()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ALLOC
    linkageType: ''
    returnType: local
    signature: local linkedlist_datablock_internal* allocate_new_datablock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ldi
    argTypes:
    - linkedlist_datablock_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: free_datablock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - TRYFREE
    linkageType: ''
    returnType: local
    signature: local free_datablock(linkedlist_datablock_internal* ldi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ll
    argTypes:
    - linkedlist_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: init_linkedlist
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local init_linkedlist(linkedlist_data* ll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_datablock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ll
    argTypes:
    - linkedlist_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: free_linkedlist
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - free_datablock
    linkageType: ''
    returnType: local
    signature: local free_linkedlist(linkedlist_data* ll)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: allocate_new_datablock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:235,1
    - Dst: allocate_new_datablock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - ll
    - buf
    - len
    argTypes:
    - linkedlist_data*
    - void*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: add_data_in_datablock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - allocate_new_datablock
    linkageType: ''
    returnType: local
    signature: local add_data_in_datablock(linkedlist_data* ll, const void* buf, uLong
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - pzlib_filefunc_def
    - filestream
    - x
    - nbByte
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 308
    functionName: zip64local_putValue
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZWRITE64
    linkageType: ''
    returnType: local
    signature: local zip64local_putValue (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, ZPOS64_T x, int nbByte)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - dest
    - x
    - nbByte
    argTypes:
    - void*
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 327
    functionName: zip64local_putValue_inmemory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local zip64local_putValue_inmemory (void* dest, ZPOS64_T x, int nbByte)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptm
    argTypes:
    - tm_zip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 342
    functionName: zip64local_TmzDateToDosDate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local zip64local_TmzDateToDosDate(const tm_zip* ptm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:352,1
    - Dst: ZERROR64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pi
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 365
    functionName: zip64local_getByte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZERROR64
    - ZREAD64
    linkageType: ''
    returnType: local
    signature: local zip64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,voidpf
      filestream,int* pi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:379,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 391
    functionName: zip64local_getShort
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_getByte
    linkageType: ''
    returnType: local
    signature: local zip64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, uLong* pX)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:401,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:405,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:409,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 421
    functionName: zip64local_getLong
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_getByte
    linkageType: ''
    returnType: local
    signature: local zip64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, uLong* pX)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:432,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:436,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:440,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:444,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:448,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:452,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:456,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 469
    functionName: zip64local_getLong64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_getByte
    linkageType: ''
    returnType: local
    signature: local zip64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, ZPOS64_T *pX)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:488,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:492,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:497,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:515,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:518,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:532,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 534
    functionName: zip64local_SearchCentralDir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZSEEK64
    - ALLOC
    - TRYFREE
    - ZTELL64
    - ZREAD64
    linkageType: ''
    returnType: local
    signature: local zip64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:552,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:555,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:560,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:578,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:581,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:598,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:603,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:607,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:611,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:617,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:621,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:627,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:631,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 638
    functionName: zip64local_SearchCentralDir64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_getLong64
    - ZSEEK64
    - ALLOC
    - TRYFREE
    - ZTELL64
    - ZREAD64
    - zip64local_getLong
    linkageType: ''
    returnType: local
    signature: local zip64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_SearchCentralDir64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:665,1
    - Dst: zip64local_SearchCentralDir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:672,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:683,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:687,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:691,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:695,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:699,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:703,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:707,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:711,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:715,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:722,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:727,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:737,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:741,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:745,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:749,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:754,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:761,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:771,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:778,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:785,1
    - Dst: ZCLOSE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:795,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:801,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:804,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:815,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:816,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:825,1
    - Dst: add_data_in_datablock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:829,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:833,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:838,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 97
    argCount: 1
    argNames:
    - pziinit
    argTypes:
    - zip64_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 640
    functionDepth: 4
    functionLinenumber: 640
    functionLinenumberEnd: 842
    functionName: LoadCentralDirectoryRecord
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZCLOSE64
    - zip64local_getLong64
    - ZSEEK64
    - ALLOC
    - TRYFREE
    - zip64local_SearchCentralDir
    - zip64local_SearchCentralDir64
    - zip64local_getLong
    - ZREAD64
    - zip64local_getShort
    - add_data_in_datablock
    linkageType: ''
    returnType: local
    signature: local LoadCentralDirectoryRecord(zip64_internal* pziinit)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fill_fopen64_filefunc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:858,1
    - Dst: ZOPEN64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:862,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:872,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:874,1
    - Dst: init_linkedlist
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:879,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:883,1
    - Dst: ZCLOSE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:886,1
    - Dst: LoadCentralDirectoryRecord
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:896,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:908,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:910,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - pathname
    - append
    - globalcomment
    - pzlib_filefunc64_32_def
    argTypes:
    - void*
    - int
    - zipcharpc*
    - zlib_filefunc64_32_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 849
    functionDepth: 5
    functionLinenumber: 849
    functionLinenumberEnd: 918
    functionName: zipOpen3
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZCLOSE64
    - init_linkedlist
    - ZSEEK64
    - ALLOC
    - TRYFREE
    - fill_fopen64_filefunc
    - ZTELL64
    - LoadCentralDirectoryRecord
    - ZOPEN64
    linkageType: ''
    returnType: zipFile
    signature: zipFile zipOpen3 (const void *pathname, int append, zipcharpc* globalcomment,
      zlib_filefunc64_32_def* pzlib_filefunc64_32_def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_zlib_filefunc64_32_def_from_filefunc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:925,1
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:926,1
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pathname
    - append
    - globalcomment
    - pzlib_filefunc32_def
    argTypes:
    - char*
    - int
    - zipcharpc*
    - zlib_filefunc_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 920
    functionDepth: 6
    functionLinenumber: 920
    functionLinenumberEnd: 930
    functionName: zipOpen2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpen3
    - fill_zlib_filefunc64_32_def_from_filefunc32
    linkageType: ''
    returnType: zipFile
    signature: zipFile zipOpen2 (const char *pathname, int append, zipcharpc* globalcomment,
      zlib_filefunc_def* pzlib_filefunc32_def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:940,1
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pathname
    - append
    - globalcomment
    - pzlib_filefunc_def
    argTypes:
    - void*
    - int
    - zipcharpc*
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 932
    functionDepth: 6
    functionLinenumber: 932
    functionLinenumberEnd: 944
    functionName: zipOpen2_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpen3
    linkageType: ''
    returnType: zipFile
    signature: zipFile zipOpen2_64 (const void *pathname, int append, zipcharpc* globalcomment,
      zlib_filefunc64_def* pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pathname
    - append
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 6
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: zipOpen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpen3
    linkageType: ''
    returnType: zipFile
    signature: zipFile zipOpen (const char* pathname, int append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pathname
    - append
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 6
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: zipOpen64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpen3
    linkageType: ''
    returnType: zipFile
    signature: zipFile zipOpen64 (const void* pathname, int append)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:962,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:965,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:970,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:972,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:976,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:979,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:982,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:986,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:990,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:992,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:997,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:999,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1003,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1011,1
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1015,1
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1021,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1035,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1037,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1038,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1040,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1041,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 4
    argNames:
    - zi
    - filename
    - size_extrafield_local
    - extrafield_local
    argTypes:
    - zip64_internal*
    - char*
    - uInt
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 1045
    functionName: Write_LocalFileHeader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - strlen
    - ZWRITE64
    - ZTELL64
    - zip64local_putValue
    linkageType: ''
    returnType: local
    signature: local Write_LocalFileHeader(zip64_internal* zi, const char* filename,
      uInt size_extrafield_local, const void* extrafield_local)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 18
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - windowBits
    - memLevel
    - strategy
    - password
    - crcForCrypting
    - versionMadeBy
    - flagBase
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - uLong
    - uLong
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1279
    functionName: zipOpenNewFileInZip4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip4 (zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                         const void* extrafield_local,
      uInt size_extrafield_local,\n                                         const
      void* extrafield_global, uInt size_extrafield_global,\n                                         const
      char* comment, int method, int level, int raw,\n                                         int
      windowBits,int memLevel, int strategy,\n                                         const
      char* password, uLong crcForCrypting,\n                                         uLong
      versionMadeBy, uLong flagBase)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 16
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - windowBits
    - memLevel
    - strategy
    - password
    - crcForCrypting
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1294
    functionName: zipOpenNewFileInZip3
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip3 (zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                         const void* extrafield_local,
      uInt size_extrafield_local,\n                                         const
      void* extrafield_global, uInt size_extrafield_global,\n                                         const
      char* comment, int method, int level, int raw,\n                                         int
      windowBits,int memLevel, int strategy,\n                                         const
      char* password, uLong crcForCrypting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 17
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - windowBits
    - memLevel
    - strategy
    - password
    - crcForCrypting
    - zip64
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1309
    functionName: zipOpenNewFileInZip3_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip3_64(zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                         const void* extrafield_local,
      uInt size_extrafield_local,\n                                         const
      void* extrafield_global, uInt size_extrafield_global,\n                                         const
      char* comment, int method, int level, int raw,\n                                         int
      windowBits,int memLevel, int strategy,\n                                         const
      char* password, uLong crcForCrypting, int zip64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1322
    functionName: zipOpenNewFileInZip2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip2(zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                        const void* extrafield_local,
      uInt size_extrafield_local,\n                                        const void*
      extrafield_global, uInt size_extrafield_global,\n                                        const
      char* comment, int method, int level, int raw)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - zip64
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1335
    functionName: zipOpenNewFileInZip2_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip2_64(zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                        const void* extrafield_local,
      uInt size_extrafield_local,\n                                        const void*
      extrafield_global, uInt size_extrafield_global,\n                                        const
      char* comment, int method, int level, int raw, int zip64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - zip64
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1348
    functionName: zipOpenNewFileInZip64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip64 (zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                        const void* extrafield_local,
      uInt size_extrafield_local,\n                                        const void*extrafield_global,
      uInt size_extrafield_global,\n                                        const
      char* comment, int method, int level, int zip64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1361
    functionName: zipOpenNewFileInZip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip (zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                        const void* extrafield_local,
      uInt size_extrafield_local,\n                                        const void*extrafield_global,
      uInt size_extrafield_global,\n                                        const
      char* comment, int method, int level)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zencode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1373,1
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - zi
    argTypes:
    - zip64_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1400
    functionName: zip64FlushWriteBuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZWRITE64
    - zencode
    linkageType: ''
    returnType: local
    signature: local zip64FlushWriteBuffer(zip64_internal* zi)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1414,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1427,1
    - Dst: BZ2_bzCompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1441,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1460,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1473,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - zipFile
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1402
    functionDepth: 2
    functionLinenumber: 1402
    functionLinenumberEnd: 1502
    functionName: zipWriteInFileInZip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - BZ2_bzCompress
    - deflate
    - crc32
    - zip64FlushWriteBuffer
    linkageType: ''
    returnType: int
    signature: int zipWriteInFileInZip (zipFile file,const void* buf,unsigned int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipCloseFileInZipRaw64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - uncompressed_size
    - crc32
    argTypes:
    - zipFile
    - uLong
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1507
    functionName: zipCloseFileInZipRaw
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipCloseFileInZipRaw64
    linkageType: ''
    returnType: int
    signature: int zipCloseFileInZipRaw (zipFile file, uLong uncompressed_size, uLong
      crc32)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: zip64FlushWriteBuffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1532,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1538,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1551,1
    - Dst: BZ2_bzCompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1557,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1574,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1580,1
    - Dst: BZ2_bzCompressEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1588,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1610,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1612,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1616,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1620,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1622,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1626,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1629,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1631,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1658,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1660,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1665,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1671,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1677,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1689,1
    - Dst: add_data_in_datablock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1693,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1695,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1701,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1703,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1707,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1714,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1718,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1721,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1729,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1732,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1735,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 134
    argCount: 3
    argNames:
    - file
    - uncompressed_size
    - crc32
    argTypes:
    - zipFile
    - ZPOS64_T
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1509
    functionDepth: 2
    functionLinenumber: 1509
    functionLinenumberEnd: 1743
    functionName: zipCloseFileInZipRaw64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 1
    functionsReached:
    - BZ2_bzCompress
    - deflate
    - zip64local_putValue_inmemory
    - ZSEEK64
    - zip64FlushWriteBuffer
    - ZTELL64
    - zip64local_putValue
    - free
    - deflateEnd
    - BZ2_bzCompressEnd
    - add_data_in_datablock
    linkageType: ''
    returnType: int
    signature: int zipCloseFileInZipRaw64 (zipFile file, ZPOS64_T uncompressed_size,
      uLong crc32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipCloseFileInZipRaw
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - zipFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1745
    functionDepth: 2
    functionLinenumber: 1745
    functionLinenumberEnd: 1748
    functionName: zipCloseFileInZip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipCloseFileInZipRaw
    linkageType: ''
    returnType: int
    signature: int zipCloseFileInZip (zipFile file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1755,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1759,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1763,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - zi
    - zip64eocd_pos_inzip
    argTypes:
    - zip64_internal*
    - ZPOS64_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1770
    functionName: Write_Zip64EndOfCentralDirectoryLocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_putValue
    linkageType: ''
    returnType: local
    signature: local Write_Zip64EndOfCentralDirectoryLocator(zip64_internal* zi, ZPOS64_T
      zip64eocd_pos_inzip)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1778,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1781,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1784,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1787,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1790,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1793,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1796,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1799,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1802,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1807,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - zi
    - size_centraldir
    - centraldir_pos_inzip
    argTypes:
    - zip64_internal*
    - uLong
    - ZPOS64_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1772
    functionDepth: 2
    functionLinenumber: 1772
    functionLinenumberEnd: 1810
    functionName: Write_Zip64EndOfCentralDirectoryRecord
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_putValue
    linkageType: ''
    returnType: local
    signature: local Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi, uLong
      size_centraldir, ZPOS64_T centraldir_pos_inzip)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1816,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1819,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1822,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1828,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1830,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1837,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1839,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1843,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1850,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1853,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - zi
    - size_centraldir
    - centraldir_pos_inzip
    argTypes:
    - zip64_internal*
    - uLong
    - ZPOS64_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1811
    functionDepth: 2
    functionLinenumber: 1811
    functionLinenumberEnd: 1857
    functionName: Write_EndOfCentralDirectoryRecord
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_putValue
    linkageType: ''
    returnType: local
    signature: local Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir,
      ZPOS64_T centraldir_pos_inzip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1865,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1867,1
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - zi
    - global_comment
    argTypes:
    - zip64_internal*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1859
    functionDepth: 2
    functionLinenumber: 1859
    functionLinenumberEnd: 1875
    functionName: Write_GlobalComment
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - strlen
    - ZWRITE64
    - zip64local_putValue
    linkageType: ''
    returnType: local
    signature: local Write_GlobalComment(zip64_internal* zi, const char* global_comment)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: zipCloseFileInZip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1892,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1900,1
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1909,1
    - Dst: free_linkedlist
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1917,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1922,1
    - Dst: Write_Zip64EndOfCentralDirectoryRecord
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1923,1
    - Dst: Write_Zip64EndOfCentralDirectoryLocator
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1925,1
    - Dst: Write_EndOfCentralDirectoryRecord
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1929,1
    - Dst: Write_GlobalComment
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1932,1
    - Dst: ZCLOSE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1934,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1939,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1941,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - file
    - global_comment
    argTypes:
    - zipFile
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1877
    functionDepth: 3
    functionLinenumber: 1877
    functionLinenumberEnd: 1944
    functionName: zipClose
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZCLOSE64
    - TRYFREE
    - zipCloseFileInZip
    - Write_Zip64EndOfCentralDirectoryLocator
    - ZWRITE64
    - free_linkedlist
    - ZTELL64
    - Write_Zip64EndOfCentralDirectoryRecord
    - Write_GlobalComment
    - Write_EndOfCentralDirectoryRecord
    linkageType: ''
    returnType: int
    signature: int zipClose (zipFile file, const char* global_comment)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1960,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1975,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1985,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1989,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1999,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pData
    - dataLen
    - sHeader
    argTypes:
    - char*
    - int*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 2002
    functionName: zipRemoveExtraInfoBlock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ALLOC
    - memset
    - memcpy
    - TRYFREE
    linkageType: ''
    returnType: int
    signature: int zipRemoveExtraInfoBlock (char* pData, int* dataLen, short sHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: FOPEN_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: FTELLO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: FOPEN_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: FTELLO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:192,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: do_banner
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void do_banner()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: do_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void do_help()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:229,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - n
    - size_char
    argTypes:
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: Display64BitsSize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void Display64BitsSize(ZPOS64_T n, int size_char)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct state*::infun
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:80,1
    - Dst: longjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - s
    - need
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: bits
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: 4
    functionsReached:
    - struct state*::infun
    - longjmp
    linkageType: ''
    returnType: local
    signature: local bits(struct state *s, int need)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct state*::infun
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:164,1
    - Dst: longjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - struct state*
    - struct huffman*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 172
    functionName: decode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: 4
    functionsReached:
    - struct state*::infun
    - longjmp
    linkageType: ''
    returnType: local
    signature: local decode(struct state *s, struct huffman *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - h
    - rep
    - n
    argTypes:
    - struct huffman*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 242
    functionName: construct
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local construct(struct huffman *h, const unsigned char *rep, int n)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:317,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:318,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:319,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:324,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:326,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:331,1
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:333,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:334,1
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:339,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:340,1
    - Dst: struct state*::outfun
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:362,1
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:370,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:370,1
    - Dst: struct state*::outfun
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:373,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 380
    functionName: decomp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: 0
    functionsReached:
    - construct
    - bits
    - decode
    - struct state*::outfun
    linkageType: ''
    returnType: local
    signature: local decomp(struct state *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:408,1
    - Dst: decomp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:411,1
    - Dst: struct state::outfun
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:420,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 6
    argNames:
    - infun
    - inhow
    - outfun
    - outhow
    - left
    - in
    argTypes:
    - blast_in
    - void*
    - blast_out
    - void*
    - unsigned*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 423
    functionName: blast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: 0
    functionsReached:
    - struct state::outfun
    - decomp
    - setjmp
    linkageType: ''
    returnType: int
    signature: "int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow,\n
      \         unsigned *left, unsigned char **in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - how
    - buf
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: inf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: 7
    functionsReached:
    - fread
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned inf(void *how, unsigned char **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - how
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: outf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: local
    signature: local outf(void *how, unsigned char *buf, unsigned len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blast
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:453,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:455,1
    - Dst: getchar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:458,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 465
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: 0
    functionsReached:
    - blast
    - fprintf
    - getchar
    linkageType: ''
    returnType: int
    signature: int main(void)
  - 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: 7
    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:
    - memcpy
    - strlen
    - internal_hooks*::allocate
    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:
    - memset
    - internal_hooks*::allocate
    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: 12
    functionsReached:
    - deallocate
    - tools_cJSON_Delete
    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:
    - strtod
    - get_decimal_point
    - strtoll
    - can_access_at_index
    - 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:
    - memcpy
    - printbuffer*::hooks::reallocate
    - printbuffer*::hooks::deallocate
    - printbuffer*::hooks::allocate
    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:
    - ensure
    - get_decimal_point
    - sprintf
    - 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:
    - utf16_literal_to_utf8
    - parse_buffer*::hooks::deallocate
    - parse_buffer*::hooks::allocate
    - buffer_at_offset
    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:
    - ensure
    - strcpy
    - sprintf
    - memcpy
    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:
    - strlen
    - tools_cJSON_New_Item
    - tools_cJSON_Delete
    - buffer_at_offset
    - parse_value
    - buffer_skip_whitespace
    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*::reallocate
    - print_value
    - update_offset
    - cjson_min
    - memset
    - memcpy
    - internal_hooks*::deallocate
    - internal_hooks*::allocate
    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: 6
    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
    - deallocate
    - allocate
    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: 4
    functionsReached:
    - parse_number
    - parse_object
    - parse_string
    - can_read
    - parse_array
    - can_access_at_index
    - buffer_at_offset
    - strncmp
    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:
    - strlen
    - printbuffer*::hooks::deallocate
    - strcpy
    - memcpy
    - print_string
    - print_array
    - print_object
    - ensure
    - print_number
    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: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1380
    functionName: parse_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 2
    functionsReached:
    - cannot_access_at_index
    - tools_cJSON_New_Item
    - tools_cJSON_Delete
    - can_access_at_index
    - buffer_at_offset
    - parse_value
    - buffer_skip_whitespace
    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:
    - ensure
    - print_value
    - update_offset
    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: 3
    functionLinenumber: 1445
    functionLinenumberEnd: 1551
    functionName: parse_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 2
    functionsReached:
    - cannot_access_at_index
    - parse_string
    - tools_cJSON_New_Item
    - tools_cJSON_Delete
    - can_access_at_index
    - buffer_at_offset
    - parse_value
    - buffer_skip_whitespace
    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
    - ensure
    - print_value
    - update_offset
    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: 5
    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: 4
    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:
    - deallocate
    - tools_cJSON_AddItemToArray
    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:
    - create_reference
    - tools_cJSON_AddItemToArray
    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_DetachItemViaPointer
    - tools_cJSON_GetObjectItem
    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_DetachItemFromObject
    - tools_cJSON_Delete
    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_DetachItemFromObjectCaseSensitive
    - tools_cJSON_Delete
    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:
    - get_array_item
    - tools_cJSON_AddItemToArray
    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:
    - get_array_item
    - tools_cJSON_ReplaceItemViaPointer
    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_strdup
    - tools_cJSON_ReplaceItemViaPointer
    - 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: 4
    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: 7
    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_Delete
    - tools_cJSON_CreateNumber
    - tools_cJSON_CreateArray
    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_Delete
    - tools_cJSON_CreateNumber
    - tools_cJSON_CreateArray
    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_Delete
    - tools_cJSON_CreateNumber
    - tools_cJSON_CreateArray
    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_Delete
    - tools_cJSON_CreateArray
    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
    - tools_cJSON_Compare
    - strcmp
    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:
    - tools_cJSON_Compare
    - get_object_item
    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:
    - tools_cJSON_Compare
    - get_object_item
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_uncompress_fuzzer.cc:45,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_uncompress_fuzzer.cc:46,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_uncompress_fuzzer.cc:46,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_uncompress_fuzzer.cc:55,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_uncompress_fuzzer.cc:55,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_uncompress_fuzzer.cc:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_uncompress_fuzzer.cc
    functionUses: 1
    functionsReached:
    - GetUncompressedLength
    - std::string::data
    - snappy::Uncompress
    - std::string::size
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: snappy::Sink::Sink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: snappy::Source::Source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Source()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: snappy::ByteArraySource::ByteArraySource
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteArraySource(const char* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dest
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: snappy::UncheckedByteArraySink::UncheckedByteArraySink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UncheckedByteArraySink(char* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: snappy::UncheckedByteArraySink::CurrentDestination
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CurrentDestination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: snappy::Sink::Sink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: snappy::Source::Source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Source()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: snappy::ByteArraySource::ByteArraySource
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteArraySource(const char* p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dest
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: snappy::UncheckedByteArraySink::UncheckedByteArraySink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UncheckedByteArraySink(char* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: snappy::UncheckedByteArraySink::CurrentDestination
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CurrentDestination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: snappy::internal::WorkingMemory::GetScratchInput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetScratchInput() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: snappy::internal::WorkingMemory::GetScratchOutput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetScratchOutput() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:98,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:106,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:107,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:108,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:110,1
    - Dst: snappy::Bits::FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:110,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:122,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:123,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:123,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:127,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:127,1
    - Dst: snappy::Bits::FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:128,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:130,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:131,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:134,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:139,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - s1
    - s2
    - s2_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (s2_limit >= s2)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    - condition: (matched >= 8)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    constantsTouched: []
    func_position:
      end: 143
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 143
    functionName: snappy::internal::FindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached:
    - assert
    - snappy::Bits::FindLSBSetNonZero64
    - std::pair<size_t, bool>
    - UNALIGNED_LOAD64
    - SNAPPY_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<size_t, bool>
    signature: "std::pair<size_t, bool> FindMatchLength(const char* s1,\n                                                      const
      char* s2,\n                                                      const char*
      s2_limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:149,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:153,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:153,1
    - Dst: snappy::LittleEndian::IsLittleEndian
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:157,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:158,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:158,1
    - Dst: snappy::Bits::FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:159,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - s1
    - s2
    - s2_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (s2_limit >= s2)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: snappy::internal::FindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached:
    - assert
    - snappy::LittleEndian::IsLittleEndian
    - std::pair<size_t, bool>
    - snappy::Bits::FindLSBSetNonZero
    - UNALIGNED_LOAD32
    linkageType: ''
    returnType: std::pair<size_t, bool>
    signature: "std::pair<size_t, bool> FindMatchLength(const char* s1,\n                                                      const
      char* s2,\n                                                      const char*
      s2_limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: snappy::internal::WorkingMemory::GetScratchInput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetScratchInput() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: snappy::internal::WorkingMemory::GetScratchOutput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetScratchOutput() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:98,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:106,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:107,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:108,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:110,1
    - Dst: snappy::Bits::FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:110,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:122,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:123,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:123,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:127,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:127,1
    - Dst: snappy::Bits::FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:128,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:130,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:131,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:134,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:139,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - s1
    - s2
    - s2_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (s2_limit >= s2)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    - condition: (matched >= 8)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    constantsTouched: []
    func_position:
      end: 143
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 143
    functionName: snappy::internal::FindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached:
    - assert
    - snappy::Bits::FindLSBSetNonZero64
    - std::pair<size_t, bool>
    - UNALIGNED_LOAD64
    - SNAPPY_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<size_t, bool>
    signature: "std::pair<size_t, bool> FindMatchLength(const char* s1,\n                                                      const
      char* s2,\n                                                      const char*
      s2_limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:149,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:153,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:153,1
    - Dst: snappy::LittleEndian::IsLittleEndian
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:157,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:158,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:158,1
    - Dst: snappy::Bits::FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:159,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - s1
    - s2
    - s2_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (s2_limit >= s2)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: snappy::internal::FindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached:
    - assert
    - snappy::LittleEndian::IsLittleEndian
    - std::pair<size_t, bool>
    - snappy::Bits::FindLSBSetNonZero
    - UNALIGNED_LOAD32
    linkageType: ''
    returnType: std::pair<size_t, bool>
    signature: "std::pair<size_t, bool> FindMatchLength(const char* s1,\n                                                      const
      char* s2,\n                                                      const char*
      s2_limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: snappy::internal::WorkingMemory::GetScratchInput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetScratchInput() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: snappy::internal::WorkingMemory::GetScratchOutput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetScratchOutput() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:98,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:106,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:107,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:108,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:110,1
    - Dst: snappy::Bits::FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:110,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:122,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:123,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:123,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:127,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:127,1
    - Dst: snappy::Bits::FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:128,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:130,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:131,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:134,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:139,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - s1
    - s2
    - s2_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (s2_limit >= s2)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    - condition: (matched >= 8)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    constantsTouched: []
    func_position:
      end: 143
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 143
    functionName: snappy::internal::FindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached:
    - assert
    - snappy::Bits::FindLSBSetNonZero64
    - std::pair<size_t, bool>
    - UNALIGNED_LOAD64
    - SNAPPY_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<size_t, bool>
    signature: "std::pair<size_t, bool> FindMatchLength(const char* s1,\n                                                      const
      char* s2,\n                                                      const char*
      s2_limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:149,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:153,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:153,1
    - Dst: snappy::LittleEndian::IsLittleEndian
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:157,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:158,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:158,1
    - Dst: snappy::Bits::FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:159,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - s1
    - s2
    - s2_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (s2_limit >= s2)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: snappy::internal::FindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached:
    - assert
    - snappy::LittleEndian::IsLittleEndian
    - std::pair<size_t, bool>
    - snappy::Bits::FindLSBSetNonZero
    - UNALIGNED_LOAD32
    linkageType: ''
    returnType: std::pair<size_t, bool>
    signature: "std::pair<size_t, bool> FindMatchLength(const char* s1,\n                                                      const
      char* s2,\n                                                      const char*
      s2_limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: snappy::internal::WorkingMemory::GetScratchInput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetScratchInput() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: snappy::internal::WorkingMemory::GetScratchOutput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetScratchOutput() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:98,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:106,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:107,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:108,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:110,1
    - Dst: snappy::Bits::FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:110,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:122,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:123,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:123,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:127,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:127,1
    - Dst: snappy::Bits::FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:128,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:130,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:131,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:134,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:139,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - s1
    - s2
    - s2_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (s2_limit >= s2)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    - condition: (matched >= 8)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    constantsTouched: []
    func_position:
      end: 143
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 143
    functionName: snappy::internal::FindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached:
    - assert
    - snappy::Bits::FindLSBSetNonZero64
    - std::pair<size_t, bool>
    - UNALIGNED_LOAD64
    - SNAPPY_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<size_t, bool>
    signature: "std::pair<size_t, bool> FindMatchLength(const char* s1,\n                                                      const
      char* s2,\n                                                      const char*
      s2_limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:149,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:153,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:153,1
    - Dst: snappy::LittleEndian::IsLittleEndian
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:157,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:158,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:158,1
    - Dst: snappy::Bits::FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:159,1
    - Dst: std::pair<size_t, bool>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - s1
    - s2
    - s2_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (s2_limit >= s2)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: snappy::internal::FindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: 0
    functionsReached:
    - assert
    - snappy::LittleEndian::IsLittleEndian
    - std::pair<size_t, bool>
    - snappy::Bits::FindLSBSetNonZero
    - UNALIGNED_LOAD32
    linkageType: ''
    returnType: std::pair<size_t, bool>
    signature: "std::pair<size_t, bool> FindMatchLength(const char* s1,\n                                                      const
      char* s2,\n                                                      const char*
      s2_limit)"
  - 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: Source::~Source()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Source::~Source()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Sink::~Sink()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sink::~Sink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - scratch
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: snappy::Sink::GetAppendBuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Sink::GetAppendBuffer(size_t length, char* scratch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - min_size
    - desired_size_hint
    - scratch
    - scratch_size
    - allocated_size
    argTypes:
    - size_t
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: snappy::Sink::GetAppendBufferVariable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * Sink::GetAppendBufferVariable(\n      size_t min_size, size_t
      desired_size_hint, char* scratch,\n      size_t scratch_size, size_t* allocated_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bytes
    - n
    - deleter_arg
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: snappy::Sink::AppendAndTakeOwnership
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: void
    signature: "void Sink::AppendAndTakeOwnership(\n    char* bytes, size_t n,\n    void
      (*deleter)(void*, const char*, size_t),\n    void *deleter_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ByteArraySource::~ByteArraySource()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteArraySource::~ByteArraySource()
  - 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: snappy::ByteArraySource::Available
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ByteArraySource::Available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: snappy::ByteArraySource::Peek
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ByteArraySource::Peek(size_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: snappy::ByteArraySource::Skip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteArraySource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: UncheckedByteArraySink::~UncheckedByteArraySink()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UncheckedByteArraySink::~UncheckedByteArraySink()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: snappy::UncheckedByteArraySink::Append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UncheckedByteArraySink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - len
    - scratch
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: snappy::UncheckedByteArraySink::GetAppendBuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * UncheckedByteArraySink::GetAppendBuffer(size_t len, char* scratch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - n
    - deleter_arg
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: snappy::UncheckedByteArraySink::AppendAndTakeOwnership
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void UncheckedByteArraySink::AppendAndTakeOwnership(\n    char* data,
      size_t n,\n    void (*deleter)(void*, const char*, size_t),\n    void *deleter_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - min_size
    - desired_size_hint
    - scratch
    - scratch_size
    - allocated_size
    argTypes:
    - size_t
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: snappy::UncheckedByteArraySink::GetAppendBufferVariable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * UncheckedByteArraySink::GetAppendBufferVariable(\n      size_t
      min_size, size_t desired_size_hint, char* scratch,\n      size_t scratch_size,
      size_t* allocated_size)"
  - 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: Source::~Source()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Source::~Source()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: Sink::~Sink()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sink::~Sink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - scratch
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: snappy::Sink::GetAppendBuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Sink::GetAppendBuffer(size_t length, char* scratch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - min_size
    - desired_size_hint
    - scratch
    - scratch_size
    - allocated_size
    argTypes:
    - size_t
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: snappy::Sink::GetAppendBufferVariable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * Sink::GetAppendBufferVariable(\n      size_t min_size, size_t
      desired_size_hint, char* scratch,\n      size_t scratch_size, size_t* allocated_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bytes
    - n
    - deleter_arg
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: snappy::Sink::AppendAndTakeOwnership
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached:
    - Append
    linkageType: ''
    returnType: void
    signature: "void Sink::AppendAndTakeOwnership(\n    char* bytes, size_t n,\n    void
      (*deleter)(void*, const char*, size_t),\n    void *deleter_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ByteArraySource::~ByteArraySource()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteArraySource::~ByteArraySource()
  - 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: snappy::ByteArraySource::Available
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ByteArraySource::Available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: snappy::ByteArraySource::Peek
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ByteArraySource::Peek(size_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: snappy::ByteArraySource::Skip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteArraySource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: UncheckedByteArraySink::~UncheckedByteArraySink()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UncheckedByteArraySink::~UncheckedByteArraySink()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: snappy::UncheckedByteArraySink::Append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UncheckedByteArraySink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - len
    - scratch
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: snappy::UncheckedByteArraySink::GetAppendBuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * UncheckedByteArraySink::GetAppendBuffer(size_t len, char* scratch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - n
    - deleter_arg
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: snappy::UncheckedByteArraySink::AppendAndTakeOwnership
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void UncheckedByteArraySink::AppendAndTakeOwnership(\n    char* data,
      size_t n,\n    void (*deleter)(void*, const char*, size_t),\n    void *deleter_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - min_size
    - desired_size_hint
    - scratch
    - scratch_size
    - allocated_size
    argTypes:
    - size_t
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: snappy::UncheckedByteArraySink::GetAppendBufferVariable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * UncheckedByteArraySink::GetAppendBufferVariable(\n      size_t
      min_size, size_t desired_size_hint, char* scratch,\n      size_t scratch_size,
      size_t* allocated_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:44,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:44,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:44,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:47,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:47,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:48,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:48,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:48,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:48,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:49,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:49,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:49,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:49,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:52,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:53,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:53,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:56,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (compressed_size == compressed.size())
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc
    - condition: (compressed.size() <= snappy::MaxCompressedLength(input.size()))
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc
    - condition: (snappy::IsValidCompressedBuffer(compressed.data(), compressed.size()))
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc
    - condition: (uncompress_succeeded)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc
    - condition: (input == uncompressed_after_compress)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_compress_fuzzer.cc
    functionUses: 1
    functionsReached:
    - assert
    - snappy::Compress
    - snappy::IsValidCompressedBuffer
    - MaxCompressedLength
    - std::string::size
    - std::string::data
    - snappy::Uncompress
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Varint::Encode32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.cc:38,1
    - Dst: std::string*::append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - std::string*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: snappy::Varint::Append32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.cc
    functionUses: 0
    functionsReached:
    - snappy::Varint::Encode32
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void Varint::Append32(std::string* s, uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Varint::Encode32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.cc:38,1
    - Dst: std::string*::append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - std::string*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: snappy::Varint::Append32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.cc
    functionUses: 0
    functionsReached:
    - snappy::Varint::Encode32
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void Varint::Append32(std::string* s, uint32 value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:53,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:56,1
    - Dst: file::GetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:58,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:58,1
    - Dst: std::string::substr
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' base'
    - size_limit
    argTypes:
    - std::string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: snappy::ReadTestDataFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - getenv
    - std::string
    - file::Defaults
    - std::string::substr
    - file::GetContents
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestDataFile(const std::string& base, size_t size_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' base'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: snappy::ReadTestDataFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 1
    functionsReached:
    - snappy::ReadTestDataFile
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestDataFile(const std::string& base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:73,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:74,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: snappy::StrFormat
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vsnprintf
    linkageType: ''
    returnType: std::string
    signature: std::string StrFormat(const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: snappy::ResetBenchmarkTiming
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetBenchmarkTiming()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:100,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:102,1
    - Dst: GetProcessTimes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:102,1
    - Dst: GetCurrentProcess
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:103,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:105,1
    - Dst: getrusage
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:106,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:107,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: snappy::StartBenchmarkTiming
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - getrusage
    - gettimeofday
    - GetCurrentProcess
    - QueryPerformanceCounter
    - GetProcessTimes
    - CHECK
    - perror
    - exit
    linkageType: ''
    returnType: void
    signature: void StartBenchmarkTiming()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:122,1
    - Dst: QueryPerformanceFrequency
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:123,1
    - Dst: static_cast<double>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:125,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:131,1
    - Dst: GetProcessTimes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:131,1
    - Dst: GetCurrentProcess
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:132,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:146,1
    - Dst: getrusage
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:153,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:154,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 164
    functionName: snappy::StopBenchmarkTiming
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - QueryPerformanceFrequency
    - static_cast<double>
    - getrusage
    - CHECK
    - GetCurrentProcess
    - QueryPerformanceCounter
    - GetProcessTimes
    - gettimeofday
    - perror
    - exit
    linkageType: ''
    returnType: void
    signature: void StopBenchmarkTiming()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: snappy::SetBenchmarkLabel
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void SetBenchmarkLabel(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: snappy::SetBenchmarkBytesProcessed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBenchmarkBytesProcessed(int64 bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BenchmarkRun
    - BenchmarkRun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: operator() (const BenchmarkRun& a, const BenchmarkRun& b) const
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator() (const BenchmarkRun& a, const BenchmarkRun& b) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ResetBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:193,1
    - Dst: StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:194,1
    - Dst: StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:196,1
    - Dst: std::max
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:207,1
    - Dst: ResetBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:211,1
    - Dst: StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:212,1
    - Dst: StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:214,1
    - Dst: StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:220,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:220,1
    - Dst: std::nth_element
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:223,1
    - Dst: BenchmarkCompareCPUTime
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:226,1
    - Dst: StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:236,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:236,1
    - Dst: StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:238,1
    - Dst: StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:241,1
    - Dst: StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:244,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:249,1
    - Dst: std::string::c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:255,1
    - Dst: static_cast<long long>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:256,1
    - Dst: static_cast<long long>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:257,1
    - Dst: std::string::c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:259,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 262
    functionName: snappy::Benchmark::Run
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - ResetBenchmarkTiming
    - StrFormat
    - std::max
    - fprintf
    - std::nth_element
    - BenchmarkCompareCPUTime
    - std::string::c_str
    - StartBenchmarkTiming
    - StopBenchmarkTiming
    - static_cast<int>
    - static_cast<long long>
    - c_str
    linkageType: ''
    returnType: void
    signature: void Benchmark::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::Reinit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: snappy::ZLib::ZLib
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::Reinit
    linkageType: ''
    returnType: void
    signature: void ZLib::ZLib()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:273,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: ZLib::~ZLib()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - inflateEnd
    - deflateEnd
    linkageType: ''
    returnType: void
    signature: void ZLib::~ZLib()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:282,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 290
    functionName: snappy::ZLib::Reinit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 1
    functionsReached:
    - inflateEnd
    - deflateEnd
    linkageType: ''
    returnType: void
    signature: void ZLib::Reinit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: snappy::ZLib::Reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZLib::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:302,1
    - Dst: snappy::ZLib::Reset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: snappy::ZLib::CompressErrorInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::Reset
    - deflateEnd
    linkageType: ''
    returnType: void
    signature: void ZLib::CompressErrorInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: snappy::ZLib::DeflateInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - deflateInit2
    linkageType: ''
    returnType: int
    signature: int ZLib::DeflateInit()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: deflateReset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:331,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:333,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:334,1
    - Dst: snappy::ZLib::DeflateInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 347
    functionName: snappy::ZLib::CompressInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::DeflateInit
    - deflateEnd
    - deflateReset
    - LOG
    linkageType: ''
    returnType: int
    signature: "int ZLib::CompressInit(Bytef *dest, uLongf *destLen,\n                       const
      Bytef *source, uLong *sourceLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::CompressInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:360,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:373,1
    - Dst: snappy::ZLib::CompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:386,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:392,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 5
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    - flush_mode
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    - int
    assertStmts:
    - condition: (err == Z_OK || err == Z_STREAM_END || err == Z_BUF_ERROR)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    constantsTouched: []
    func_position:
      end: 401
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 401
    functionName: snappy::ZLib::CompressAtMostOrAll
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - assert
    - snappy::ZLib::CompressInit
    - deflate
    - snappy::ZLib::CompressErrorInit
    linkageType: ''
    returnType: int
    signature: "int ZLib::CompressAtMostOrAll(Bytef *dest, uLongf *destLen,\n                              const
      Bytef *source, uLong *sourceLen,\n                              int flush_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::CompressAtMostOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:407,1
    - Dst: snappy::ZLib::CompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    - flush_mode
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 4
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: snappy::ZLib::CompressChunkOrAll
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::CompressAtMostOrAll
    - snappy::ZLib::CompressErrorInit
    linkageType: ''
    returnType: int
    signature: "int ZLib::CompressChunkOrAll(Bytef *dest, uLongf *destLen,\n                             const
      Bytef *source, uLong sourceLen,\n                             int flush_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::CompressChunkOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:418,1
    - Dst: snappy::ZLib::Reset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: snappy::ZLib::Compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::Reset
    - snappy::ZLib::CompressChunkOrAll
    linkageType: ''
    returnType: int
    signature: "int ZLib::Compress(Bytef *dest, uLongf *destLen,\n                   const
      Bytef *source, uLong sourceLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: snappy::ZLib::InflateInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - inflateInit2
    linkageType: ''
    returnType: int
    signature: int ZLib::InflateInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:437,1
    - Dst: snappy::ZLib::Reset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: snappy::ZLib::UncompressErrorInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - inflateEnd
    - snappy::ZLib::Reset
    linkageType: ''
    returnType: void
    signature: void ZLib::UncompressErrorInit()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:459,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:461,1
    - Dst: snappy::ZLib::UncompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:463,1
    - Dst: snappy::ZLib::InflateInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 475
    functionName: snappy::ZLib::UncompressInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::UncompressErrorInit
    - snappy::ZLib::InflateInit
    - inflateReset
    - LOG
    linkageType: ''
    returnType: int
    signature: "int ZLib::UncompressInit(Bytef *dest, uLongf *destLen,\n                         const
      Bytef *source, uLong *sourceLen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::UncompressInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:486,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:487,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:516,1
    - Dst: CHECK_LE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:520,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:527,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:530,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:530,1
    - Dst: std::min
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:531,1
    - Dst: snappy::ZLib::UncompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:532,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:536,1
    - Dst: snappy::ZLib::UncompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:538,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:544,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 5
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    - flush_mode
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    - int
    assertStmts:
    - condition: (err == Z_OK || err == Z_BUF_ERROR || err == Z_STREAM_END)
      pos:
        line_end: 543
        line_start: 543
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    constantsTouched: []
    func_position:
      end: 551
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 551
    functionName: snappy::ZLib::UncompressAtMostOrAll
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - assert
    - snappy::ZLib::UncompressErrorInit
    - reinterpret_cast<const char *>
    - std::string
    - LOG
    - CHECK_LE
    - snappy::ZLib::UncompressInit
    - std::min
    - inflate
    linkageType: ''
    returnType: int
    signature: "int ZLib::UncompressAtMostOrAll(Bytef *dest, uLongf *destLen,\n                                const
      Bytef *source, uLong *sourceLen,\n                                int flush_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::UncompressAtMostOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:557,1
    - Dst: snappy::ZLib::UncompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    - flush_mode
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 561
    functionName: snappy::ZLib::UncompressChunkOrAll
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::UncompressErrorInit
    - snappy::ZLib::UncompressAtMostOrAll
    linkageType: ''
    returnType: int
    signature: "int ZLib::UncompressChunkOrAll(Bytef *dest, uLongf *destLen,\n                               const
      Bytef *source, uLong sourceLen,\n                               int flush_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::UncompressAtMostOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: snappy::ZLib::UncompressAtMost
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::UncompressAtMostOrAll
    linkageType: ''
    returnType: int
    signature: "int ZLib::UncompressAtMost(Bytef *dest, uLongf *destLen,\n                          const
      Bytef *source, uLong *sourceLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:573,1
    - Dst: snappy::ZLib::UncompressChunkOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:579,1
    - Dst: snappy::ZLib::Reset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!first_chunk_ && uncomp_init_)
      pos:
        line_end: 572
        line_start: 572
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    constantsTouched: []
    func_position:
      end: 588
      start: 572
    functionDepth: 5
    functionLinenumber: 572
    functionLinenumberEnd: 588
    functionName: snappy::ZLib::UncompressChunkDone
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - assert
    - snappy::ZLib::UncompressChunkOrAll
    - snappy::ZLib::Reset
    linkageType: ''
    returnType: bool
    signature: bool ZLib::UncompressChunkDone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::UncompressChunkOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:601,1
    - Dst: snappy::ZLib::Reset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:603,1
    - Dst: snappy::ZLib::UncompressChunkDone
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 598
    functionDepth: 6
    functionLinenumber: 598
    functionLinenumberEnd: 609
    functionName: snappy::ZLib::Uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::UncompressChunkDone
    - snappy::ZLib::UncompressChunkOrAll
    - snappy::ZLib::Reset
    linkageType: ''
    returnType: int
    signature: "int ZLib::Uncompress(Bytef *dest, uLongf *destLen,\n                     const
      Bytef *source, uLong sourceLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:53,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:56,1
    - Dst: file::GetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:58,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:58,1
    - Dst: std::string::substr
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' base'
    - size_limit
    argTypes:
    - std::string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: snappy::ReadTestDataFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 1
    functionsReached:
    - getenv
    - std::string
    - file::Defaults
    - std::string::substr
    - file::GetContents
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestDataFile(const std::string& base, size_t size_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' base'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: snappy::ReadTestDataFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 2
    functionsReached:
    - snappy::ReadTestDataFile
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestDataFile(const std::string& base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:73,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:74,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: snappy::StrFormat
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vsnprintf
    linkageType: ''
    returnType: std::string
    signature: std::string StrFormat(const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: snappy::ResetBenchmarkTiming
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetBenchmarkTiming()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:100,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:102,1
    - Dst: GetProcessTimes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:102,1
    - Dst: GetCurrentProcess
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:103,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:105,1
    - Dst: getrusage
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:106,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:107,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: snappy::StartBenchmarkTiming
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - getrusage
    - gettimeofday
    - GetCurrentProcess
    - QueryPerformanceCounter
    - GetProcessTimes
    - CHECK
    - perror
    - exit
    linkageType: ''
    returnType: void
    signature: void StartBenchmarkTiming()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:122,1
    - Dst: QueryPerformanceFrequency
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:123,1
    - Dst: static_cast<double>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:125,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:131,1
    - Dst: GetProcessTimes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:131,1
    - Dst: GetCurrentProcess
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:132,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:146,1
    - Dst: getrusage
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:153,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:154,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 164
    functionName: snappy::StopBenchmarkTiming
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - QueryPerformanceFrequency
    - static_cast<double>
    - getrusage
    - CHECK
    - GetCurrentProcess
    - QueryPerformanceCounter
    - GetProcessTimes
    - gettimeofday
    - perror
    - exit
    linkageType: ''
    returnType: void
    signature: void StopBenchmarkTiming()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: snappy::SetBenchmarkLabel
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void SetBenchmarkLabel(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: snappy::SetBenchmarkBytesProcessed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBenchmarkBytesProcessed(int64 bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BenchmarkRun
    - BenchmarkRun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: operator() (const BenchmarkRun& a, const BenchmarkRun& b) const
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator() (const BenchmarkRun& a, const BenchmarkRun& b) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ResetBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:193,1
    - Dst: StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:194,1
    - Dst: StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:196,1
    - Dst: std::max
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:207,1
    - Dst: ResetBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:211,1
    - Dst: StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:212,1
    - Dst: StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:214,1
    - Dst: StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:220,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:220,1
    - Dst: std::nth_element
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:223,1
    - Dst: BenchmarkCompareCPUTime
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:226,1
    - Dst: StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:236,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:236,1
    - Dst: StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:238,1
    - Dst: StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:241,1
    - Dst: StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:244,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:249,1
    - Dst: std::string::c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:255,1
    - Dst: static_cast<long long>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:256,1
    - Dst: static_cast<long long>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:257,1
    - Dst: std::string::c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:259,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 262
    functionName: snappy::Benchmark::Run
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - ResetBenchmarkTiming
    - StrFormat
    - std::max
    - fprintf
    - std::nth_element
    - BenchmarkCompareCPUTime
    - std::string::c_str
    - StartBenchmarkTiming
    - StopBenchmarkTiming
    - static_cast<int>
    - static_cast<long long>
    - c_str
    linkageType: ''
    returnType: void
    signature: void Benchmark::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::Reinit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: snappy::ZLib::ZLib
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::Reinit
    linkageType: ''
    returnType: void
    signature: void ZLib::ZLib()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:273,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: ZLib::~ZLib()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - inflateEnd
    - deflateEnd
    linkageType: ''
    returnType: void
    signature: void ZLib::~ZLib()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:282,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 290
    functionName: snappy::ZLib::Reinit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 2
    functionsReached:
    - inflateEnd
    - deflateEnd
    linkageType: ''
    returnType: void
    signature: void ZLib::Reinit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: snappy::ZLib::Reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZLib::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:302,1
    - Dst: snappy::ZLib::Reset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: snappy::ZLib::CompressErrorInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 2
    functionsReached:
    - snappy::ZLib::Reset
    - deflateEnd
    linkageType: ''
    returnType: void
    signature: void ZLib::CompressErrorInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: snappy::ZLib::DeflateInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 1
    functionsReached:
    - deflateInit2
    linkageType: ''
    returnType: int
    signature: int ZLib::DeflateInit()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: deflateReset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:331,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:333,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:334,1
    - Dst: snappy::ZLib::DeflateInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 347
    functionName: snappy::ZLib::CompressInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 1
    functionsReached:
    - snappy::ZLib::DeflateInit
    - deflateEnd
    - deflateReset
    - LOG
    linkageType: ''
    returnType: int
    signature: "int ZLib::CompressInit(Bytef *dest, uLongf *destLen,\n                       const
      Bytef *source, uLong *sourceLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::CompressInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:360,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:373,1
    - Dst: snappy::ZLib::CompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:386,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:392,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 5
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    - flush_mode
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    - int
    assertStmts:
    - condition: (err == Z_OK || err == Z_STREAM_END || err == Z_BUF_ERROR)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    constantsTouched: []
    func_position:
      end: 401
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 401
    functionName: snappy::ZLib::CompressAtMostOrAll
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 1
    functionsReached:
    - assert
    - snappy::ZLib::CompressInit
    - deflate
    - snappy::ZLib::CompressErrorInit
    linkageType: ''
    returnType: int
    signature: "int ZLib::CompressAtMostOrAll(Bytef *dest, uLongf *destLen,\n                              const
      Bytef *source, uLong *sourceLen,\n                              int flush_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::CompressAtMostOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:407,1
    - Dst: snappy::ZLib::CompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    - flush_mode
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 4
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: snappy::ZLib::CompressChunkOrAll
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 1
    functionsReached:
    - snappy::ZLib::CompressAtMostOrAll
    - snappy::ZLib::CompressErrorInit
    linkageType: ''
    returnType: int
    signature: "int ZLib::CompressChunkOrAll(Bytef *dest, uLongf *destLen,\n                             const
      Bytef *source, uLong sourceLen,\n                             int flush_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::CompressChunkOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:418,1
    - Dst: snappy::ZLib::Reset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: snappy::ZLib::Compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::Reset
    - snappy::ZLib::CompressChunkOrAll
    linkageType: ''
    returnType: int
    signature: "int ZLib::Compress(Bytef *dest, uLongf *destLen,\n                   const
      Bytef *source, uLong sourceLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: snappy::ZLib::InflateInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 1
    functionsReached:
    - inflateInit2
    linkageType: ''
    returnType: int
    signature: int ZLib::InflateInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:437,1
    - Dst: snappy::ZLib::Reset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: snappy::ZLib::UncompressErrorInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 3
    functionsReached:
    - inflateEnd
    - snappy::ZLib::Reset
    linkageType: ''
    returnType: void
    signature: void ZLib::UncompressErrorInit()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:459,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:461,1
    - Dst: snappy::ZLib::UncompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:463,1
    - Dst: snappy::ZLib::InflateInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 475
    functionName: snappy::ZLib::UncompressInit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 1
    functionsReached:
    - snappy::ZLib::UncompressErrorInit
    - snappy::ZLib::InflateInit
    - inflateReset
    - LOG
    linkageType: ''
    returnType: int
    signature: "int ZLib::UncompressInit(Bytef *dest, uLongf *destLen,\n                         const
      Bytef *source, uLong *sourceLen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::UncompressInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:486,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:487,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:516,1
    - Dst: CHECK_LE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:520,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:527,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:530,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:530,1
    - Dst: std::min
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:531,1
    - Dst: snappy::ZLib::UncompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:532,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:536,1
    - Dst: snappy::ZLib::UncompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:538,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:544,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 5
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    - flush_mode
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    - int
    assertStmts:
    - condition: (err == Z_OK || err == Z_BUF_ERROR || err == Z_STREAM_END)
      pos:
        line_end: 543
        line_start: 543
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    constantsTouched: []
    func_position:
      end: 551
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 551
    functionName: snappy::ZLib::UncompressAtMostOrAll
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 2
    functionsReached:
    - assert
    - snappy::ZLib::UncompressErrorInit
    - reinterpret_cast<const char *>
    - std::string
    - LOG
    - CHECK_LE
    - snappy::ZLib::UncompressInit
    - std::min
    - inflate
    linkageType: ''
    returnType: int
    signature: "int ZLib::UncompressAtMostOrAll(Bytef *dest, uLongf *destLen,\n                                const
      Bytef *source, uLong *sourceLen,\n                                int flush_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::UncompressAtMostOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:557,1
    - Dst: snappy::ZLib::UncompressErrorInit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    - flush_mode
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 561
    functionName: snappy::ZLib::UncompressChunkOrAll
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 2
    functionsReached:
    - snappy::ZLib::UncompressErrorInit
    - snappy::ZLib::UncompressAtMostOrAll
    linkageType: ''
    returnType: int
    signature: "int ZLib::UncompressChunkOrAll(Bytef *dest, uLongf *destLen,\n                               const
      Bytef *source, uLong sourceLen,\n                               int flush_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::UncompressAtMostOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: snappy::ZLib::UncompressAtMost
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::UncompressAtMostOrAll
    linkageType: ''
    returnType: int
    signature: "int ZLib::UncompressAtMost(Bytef *dest, uLongf *destLen,\n                          const
      Bytef *source, uLong *sourceLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:573,1
    - Dst: snappy::ZLib::UncompressChunkOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:579,1
    - Dst: snappy::ZLib::Reset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!first_chunk_ && uncomp_init_)
      pos:
        line_end: 572
        line_start: 572
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    constantsTouched: []
    func_position:
      end: 588
      start: 572
    functionDepth: 5
    functionLinenumber: 572
    functionLinenumberEnd: 588
    functionName: snappy::ZLib::UncompressChunkDone
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 1
    functionsReached:
    - assert
    - snappy::ZLib::UncompressChunkOrAll
    - snappy::ZLib::Reset
    linkageType: ''
    returnType: bool
    signature: bool ZLib::UncompressChunkDone()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::UncompressChunkOrAll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:601,1
    - Dst: snappy::ZLib::Reset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:603,1
    - Dst: snappy::ZLib::UncompressChunkDone
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 598
    functionDepth: 6
    functionLinenumber: 598
    functionLinenumberEnd: 609
    functionName: snappy::ZLib::Uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.cc
    functionUses: 0
    functionsReached:
    - snappy::ZLib::UncompressChunkDone
    - snappy::ZLib::UncompressChunkOrAll
    - snappy::ZLib::Reset
    linkageType: ''
    returnType: int
    signature: "int ZLib::Uncompress(Bytef *dest, uLongf *destLen,\n                     const
      Bytef *source, uLong sourceLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy_max_compressed_length
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc:38,1
    - Dst: SnappyIOVecWriter::RawCompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - input_length
    - compressed
    - compressed_length
    argTypes:
    - char*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: snappy_compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc
    functionUses: 0
    functionsReached:
    - SnappyIOVecWriter::RawCompress
    - snappy_max_compressed_length
    linkageType: ''
    returnType: snappy_status
    signature: "snappy_status snappy_compress(const char* input,\n                              size_t
      input_length,\n                              char* compressed,\n                              size_t
      *compressed_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc:50,1
    - Dst: SnappyIOVecWriter::RawUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - compressed
    - compressed_length
    - uncompressed
    - uncompressed_length
    argTypes:
    - char*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: snappy_uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc
    functionUses: 0
    functionsReached:
    - GetUncompressedLength
    - SnappyIOVecWriter::RawUncompress
    linkageType: ''
    returnType: snappy_status
    signature: "snappy_status snappy_uncompress(const char* compressed,\n                                size_t
      compressed_length,\n                                char* uncompressed,\n                                size_t*
      uncompressed_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source_length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: snappy_max_compressed_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc
    functionUses: 1
    functionsReached:
    - MaxCompressedLength
    linkageType: ''
    returnType: size_t
    signature: size_t snappy_max_compressed_length(size_t source_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - compressed
    - compressed_length
    - result
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: snappy_uncompressed_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc
    functionUses: 0
    functionsReached:
    - GetUncompressedLength
    linkageType: ''
    returnType: snappy_status
    signature: "snappy_status snappy_uncompressed_length(const char *compressed,\n
      \                                        size_t compressed_length,\n                                         size_t
      *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - compressed
    - compressed_length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: snappy_validate_compressed_buffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-c.cc
    functionUses: 0
    functionsReached:
    - snappy::IsValidCompressedBuffer
    linkageType: ''
    returnType: snappy_status
    signature: "snappy_status snappy_validate_compressed_buffer(const char *compressed,\n
      \                                               size_t compressed_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - shift
    argTypes:
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: HashBytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 HashBytes(uint32 bytes, int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HashBytes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:95,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - shift
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 4
    functionsReached:
    - HashBytes
    - UNALIGNED_LOAD32
    linkageType: ''
    returnType: uint32
    signature: uint32 Hash(const char* p, int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 120
    functionName: MaxCompressedLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MaxCompressedLength(size_t source_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:126,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: UnalignedCopy64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UnalignedCopy64(const void* src, void* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:135,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: UnalignedCopy128
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UnalignedCopy128(const void* src, void* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src
    - op
    - op_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: IncrementalCopySlow
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * IncrementalCopySlow(const char* src, char* op,\n                                 char*
      const op_limit)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:190,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:191,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:192,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:223,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:237,1
    - Dst: _mm_load_si128
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:238,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:239,1
    - Dst: _mm_shuffle_epi8
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:241,1
    - Dst: _mm_loadl_epi64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:242,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:242,1
    - Dst: SNAPPY_ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:245,1
    - Dst: std::min
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:247,1
    - Dst: _mm_storeu_si128
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:249,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:249,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:252,1
    - Dst: IncrementalCopySlow
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:254,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:262,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:264,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:268,1
    - Dst: IncrementalCopySlow
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:270,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:274,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:283,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:288,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:289,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:292,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:293,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:296,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:297,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:300,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:301,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:316,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:317,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:324,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:325,1
    - Dst: IncrementalCopySlow
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:329,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 4
    argNames:
    - src
    - op
    - op_limit
    - buf_limit
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (pattern_size >= 8)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (src < op)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (op <= op_limit)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (op_limit <= buf_limit)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 330
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 330
    functionName: IncrementalCopy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - _mm_load_si128
    - SNAPPY_PREDICT_TRUE
    - _mm_shuffle_epi8
    - reinterpret_cast<const __m128i*>
    - SNAPPY_ANNOTATE_MEMORY_IS_INITIALIZED
    - _mm_storeu_si128
    - _mm_loadl_epi64
    - SNAPPY_PREDICT_FALSE
    - std::min
    - IncrementalCopySlow
    - UnalignedCopy64
    - reinterpret_cast<__m128i*>
    linkageType: ''
    returnType: char
    signature: "char * IncrementalCopy(const char* src, char* op, char* const op_limit,\n
      \                            char* const buf_limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:126,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: UnalignedCopy64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UnalignedCopy64(const void* src, void* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:135,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: UnalignedCopy128
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UnalignedCopy128(const void* src, void* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src
    - op
    - op_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: IncrementalCopySlow
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * IncrementalCopySlow(const char* src, char* op,\n                                 char*
      const op_limit)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:190,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:191,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:192,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:223,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:237,1
    - Dst: _mm_load_si128
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:238,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:239,1
    - Dst: _mm_shuffle_epi8
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:241,1
    - Dst: _mm_loadl_epi64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:242,1
    - Dst: reinterpret_cast<const __m128i*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:242,1
    - Dst: SNAPPY_ANNOTATE_MEMORY_IS_INITIALIZED
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:245,1
    - Dst: std::min
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:247,1
    - Dst: _mm_storeu_si128
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:249,1
    - Dst: reinterpret_cast<__m128i*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:249,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:252,1
    - Dst: IncrementalCopySlow
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:254,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:262,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:264,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:268,1
    - Dst: IncrementalCopySlow
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:270,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:274,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:283,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:288,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:289,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:292,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:293,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:296,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:297,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:300,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:301,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:316,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:317,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:324,1
    - Dst: UnalignedCopy64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:325,1
    - Dst: IncrementalCopySlow
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:329,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 4
    argNames:
    - src
    - op
    - op_limit
    - buf_limit
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (pattern_size >= 8)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (src < op)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (op <= op_limit)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (op_limit <= buf_limit)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 330
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 330
    functionName: IncrementalCopy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - _mm_load_si128
    - SNAPPY_PREDICT_TRUE
    - _mm_shuffle_epi8
    - reinterpret_cast<const __m128i*>
    - SNAPPY_ANNOTATE_MEMORY_IS_INITIALIZED
    - _mm_storeu_si128
    - _mm_loadl_epi64
    - SNAPPY_PREDICT_FALSE
    - std::min
    - IncrementalCopySlow
    - UnalignedCopy64
    - reinterpret_cast<__m128i*>
    linkageType: ''
    returnType: char
    signature: "char * IncrementalCopy(const char* src, char* op, char* const op_limit,\n
      \                            char* const buf_limit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:348,1
    - Dst: UnalignedCopy128
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:354,1
    - Dst: snappy::Bits::Log2Floor
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:362,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:363,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:364,1
    - Dst: snappy::LittleEndian::Store32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:370,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - op
    - literal
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (count <= 4)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (count >= 1)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 375
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 375
    functionName: EmitLiteral
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    - UnalignedCopy128
    - snappy::Bits::Log2Floor
    - snappy::LittleEndian::Store32
    linkageType: ''
    returnType: char
    signature: "char * EmitLiteral(char* op,\n                                const
      char* literal,\n                                int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:379,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:380,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:381,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:382,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:384,1
    - Dst: snappy::LittleEndian::Store32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - op
    - offset
    - len
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts:
    - condition: (len <= 64)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (len >= 4)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (offset < 65536)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (len_less_than_12 == (len < 12))
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 397
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 397
    functionName: EmitCopyAtMost64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - SNAPPY_PREDICT_TRUE
    - snappy::LittleEndian::Store32
    linkageType: ''
    returnType: char
    signature: char * EmitCopyAtMost64(char* op, size_t offset, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:401,1
    - Dst: EmitCopyAtMost64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:403,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:409,1
    - Dst: EmitCopyAtMost64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:410,1
    - Dst: EmitCopyAtMost64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:416,1
    - Dst: EmitCopyAtMost64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:422,1
    - Dst: EmitCopyAtMost64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - op
    - offset
    - len
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts:
    - condition: (len_less_than_12 == (len < 12))
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 428
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 428
    functionName: EmitCopy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - EmitCopyAtMost64
    - SNAPPY_PREDICT_FALSE
    linkageType: ''
    returnType: char
    signature: char * EmitCopy(char* op, size_t offset, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Varint::Parse32WithLimit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - start
    - n
    - result
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: GetUncompressedLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 3
    functionsReached:
    - snappy::Varint::Parse32WithLimit
    linkageType: ''
    returnType: bool
    signature: bool GetUncompressedLength(const char* start, size_t n, size_t* result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Bits::Log2Floor
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - input_size
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: CalculateTableSize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - snappy::Bits::Log2Floor
    linkageType: ''
    returnType: uint32
    signature: uint32 CalculateTableSize(uint32 input_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Bits::Log2Floor
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - input_size
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: CalculateTableSize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - snappy::Bits::Log2Floor
    linkageType: ''
    returnType: uint32
    signature: uint32 CalculateTableSize(uint32 input_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:460,1
    - Dst: CalculateTableSize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:461,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:463,1
    - Dst: std::allocator<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:464,1
    - Dst: reinterpret_cast<uint16*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: internal::WorkingMemory::WorkingMemory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint16*>
    - MaxCompressedLength
    - std::allocator<char>
    - std::min
    - CalculateTableSize
    linkageType: ''
    returnType: void
    signature: void WorkingMemory::WorkingMemory(size_t input_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::allocator<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: WorkingMemory::~WorkingMemory()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - std::allocator<char>
    linkageType: ''
    returnType: void
    signature: void WorkingMemory::~WorkingMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CalculateTableSize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:476,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fragment_size
    - table_size
    argTypes:
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: internal::WorkingMemory::GetHashTable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - CalculateTableSize
    - memset
    linkageType: ''
    returnType: uint16
    signature: "uint16 * WorkingMemory::GetHashTable(size_t fragment_size,\n                                    int*
      table_size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:460,1
    - Dst: CalculateTableSize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:461,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:463,1
    - Dst: std::allocator<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:464,1
    - Dst: reinterpret_cast<uint16*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: internal::WorkingMemory::WorkingMemory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint16*>
    - MaxCompressedLength
    - std::allocator<char>
    - std::min
    - CalculateTableSize
    linkageType: ''
    returnType: void
    signature: void WorkingMemory::WorkingMemory(size_t input_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::allocator<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: WorkingMemory::~WorkingMemory()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - std::allocator<char>
    linkageType: ''
    returnType: void
    signature: void WorkingMemory::~WorkingMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CalculateTableSize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:476,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fragment_size
    - table_size
    argTypes:
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: internal::WorkingMemory::GetHashTable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - CalculateTableSize
    - memset
    linkageType: ''
    returnType: uint16
    signature: "uint16 * WorkingMemory::GetHashTable(size_t fragment_size,\n                                    int*
      table_size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: GetEightBytesAt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - UNALIGNED_LOAD64
    linkageType: ''
    returnType: EightBytesReference
    signature: EightBytesReference GetEightBytesAt(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:505,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:506,1
    - Dst: snappy::LittleEndian::IsLittleEndian
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - offset
    argTypes:
    - uint64
    - int
    assertStmts:
    - condition: (offset >= 0)
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (offset <= 4)
      pos:
        line_end: 505
        line_start: 505
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: GetUint32AtOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - snappy::LittleEndian::IsLittleEndian
    linkageType: ''
    returnType: uint32
    signature: uint32 GetUint32AtOffset(uint64 v, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: GetEightBytesAt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EightBytesReference
    signature: EightBytesReference GetEightBytesAt(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:519,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:520,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - offset
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (offset >= 0)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (offset <= 4)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: GetUint32AtOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - UNALIGNED_LOAD32
    linkageType: ''
    returnType: uint32
    signature: uint32 GetUint32AtOffset(const char* v, int offset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:545,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:546,1
    - Dst: snappy::Bits::Log2Floor
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:547,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:548,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:548,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:556,1
    - Dst: Hash
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:559,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:560,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:593,1
    - Dst: Hash
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:593,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:597,1
    - Dst: Hash
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:600,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:602,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:603,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:606,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:606,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:607,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:612,1
    - Dst: EmitLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:613,1
    - Dst: FindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:631,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:635,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:635,1
    - Dst: EmitCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:637,1
    - Dst: EmitCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:639,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:642,1
    - Dst: GetEightBytesAt
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:648,1
    - Dst: HashBytes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:649,1
    - Dst: GetUint32AtOffset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:649,1
    - Dst: HashBytes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:651,1
    - Dst: GetUint32AtOffset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:651,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:653,1
    - Dst: GetUint32AtOffset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:655,1
    - Dst: HashBytes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:657,1
    - Dst: GetUint32AtOffset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:657,1
    - Dst: EmitLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:665,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 5
    argNames:
    - input
    - input_size
    - op
    - table
    - table_size
    argTypes:
    - char*
    - size_t
    - char*
    - uint16*
    - int
    assertStmts:
    - condition: (next_emit < ip)
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (input_size <= kBlockSize)
      pos:
        line_end: 544
        line_start: 544
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (static_cast<int>(kuint32max >> shift) == table_size - 1)
      pos:
        line_end: 547
        line_start: 547
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (hash == Hash(ip, shift))
      pos:
        line_end: 592
        line_start: 592
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (candidate >= base_ip)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: ((table_size & (table_size - 1)) == 0)
      pos:
        line_end: 545
        line_start: 545
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (next_emit + 16 <= ip_end)
      pos:
        line_end: 611
        line_start: 611
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (candidate < ip)
      pos:
        line_end: 602
        line_start: 602
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (0 == memcmp(base, candidate, matched))
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 670
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 670
    functionName: internal::CompressFragment
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - memcmp
    - SNAPPY_PREDICT_TRUE
    - HashBytes
    - EmitLiteral
    - SNAPPY_PREDICT_FALSE
    - EmitCopy
    - Hash
    - GetEightBytesAt
    - static_cast<int>
    - snappy::Bits::Log2Floor
    - FindMatchLength
    - UNALIGNED_LOAD32
    - GetUint32AtOffset
    linkageType: ''
    returnType: char
    signature: "char * CompressFragment(const char* input,\n                       size_t
      input_size,\n                       char* op,\n                       uint16*
      table,\n                       const int table_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:545,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:546,1
    - Dst: snappy::Bits::Log2Floor
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:547,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:548,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:548,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:556,1
    - Dst: Hash
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:559,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:560,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:593,1
    - Dst: Hash
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:593,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:597,1
    - Dst: Hash
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:600,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:602,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:603,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:606,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:606,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:607,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:612,1
    - Dst: EmitLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:613,1
    - Dst: FindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:631,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:635,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:635,1
    - Dst: EmitCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:637,1
    - Dst: EmitCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:639,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:642,1
    - Dst: GetEightBytesAt
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:648,1
    - Dst: HashBytes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:649,1
    - Dst: GetUint32AtOffset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:649,1
    - Dst: HashBytes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:651,1
    - Dst: GetUint32AtOffset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:651,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:653,1
    - Dst: GetUint32AtOffset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:655,1
    - Dst: HashBytes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:657,1
    - Dst: GetUint32AtOffset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:657,1
    - Dst: EmitLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:665,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 5
    argNames:
    - input
    - input_size
    - op
    - table
    - table_size
    argTypes:
    - char*
    - size_t
    - char*
    - uint16*
    - int
    assertStmts:
    - condition: (next_emit < ip)
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (input_size <= kBlockSize)
      pos:
        line_end: 544
        line_start: 544
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (static_cast<int>(kuint32max >> shift) == table_size - 1)
      pos:
        line_end: 547
        line_start: 547
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (hash == Hash(ip, shift))
      pos:
        line_end: 592
        line_start: 592
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (candidate >= base_ip)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: ((table_size & (table_size - 1)) == 0)
      pos:
        line_end: 545
        line_start: 545
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (next_emit + 16 <= ip_end)
      pos:
        line_end: 611
        line_start: 611
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (candidate < ip)
      pos:
        line_end: 602
        line_start: 602
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (0 == memcmp(base, candidate, matched))
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 670
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 670
    functionName: internal::CompressFragment
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - memcmp
    - SNAPPY_PREDICT_TRUE
    - HashBytes
    - EmitLiteral
    - SNAPPY_PREDICT_FALSE
    - EmitCopy
    - Hash
    - GetEightBytesAt
    - static_cast<int>
    - snappy::Bits::Log2Floor
    - FindMatchLength
    - UNALIGNED_LOAD32
    - GetUint32AtOffset
    linkageType: ''
    returnType: char
    signature: "char * CompressFragment(const char* input,\n                       size_t
      input_size,\n                       char* op,\n                       uint16*
      table,\n                       const int table_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - algorithm
    - compressed_size
    - uncompressed_size
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 675
    functionName: Report
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Report(const char *algorithm, size_t compressed_size,\n                          size_t
      uncompressed_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:718,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:719,1
    - Dst: _bzhi_u32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - v
    - n
    argTypes:
    - uint32
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 717
        line_start: 717
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (n <= 4)
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 728
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 728
    functionName: ExtractLowBytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - _bzhi_u32
    linkageType: ''
    returnType: uint32
    signature: uint32 ExtractLowBytes(uint32 v, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - shift
    argTypes:
    - uint8
    - uint32
    assertStmts:
    - condition: (shift < 32)
      pos:
        line_end: 730
        line_start: 730
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 738
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 738
    functionName: LeftShiftOverflows
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool LeftShiftOverflows(uint8 value, uint32 shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - reader
    argTypes:
    - Source*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 764
    functionName: SnappyDecompressor::SnappyDecompressor
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappyDecompressor(Source* reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Skip
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 769
    functionName: ~SnappyDecompressor()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - Skip
    linkageType: ''
    returnType: void
    signature: void ~SnappyDecompressor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 774
    functionName: SnappyDecompressor::eof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eof() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:780,1
    - Dst: Peek
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:787,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:789,1
    - Dst: Skip
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:790,1
    - Dst: LeftShiftOverflows
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:792,1
    - Dst: static_cast<uint8>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - result
    argTypes:
    - uint32*
    assertStmts:
    - condition: (ip_ == NULL)
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 800
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 800
    functionName: SnappyDecompressor::ReadUncompressedLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - reinterpret_cast<const unsigned char*>
    - Skip
    - LeftShiftOverflows
    - Peek
    - static_cast<uint8>
    linkageType: ''
    returnType: bool
    signature: bool ReadUncompressedLength(uint32* result)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: aligned
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:806,1
    - Dst: MAYBE_REFILL
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:837,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:839,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:853,1
    - Dst: Writer*::TryFastAppend
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:855,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:856,1
    - Dst: SNAPPY_PREDICT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:863,1
    - Dst: ExtractLowBytes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:867,1
    - Dst: snappy::LittleEndian::Load32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:867,1
    - Dst: Writer*::Append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:874,1
    - Dst: Skip
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:876,1
    - Dst: Peek
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:878,1
    - Dst: Writer*::Append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:884,1
    - Dst: MAYBE_REFILL
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:888,1
    - Dst: ExtractLowBytes
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:892,1
    - Dst: snappy::LittleEndian::Load32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:892,1
    - Dst: Writer*::AppendFromSelf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:900,1
    - Dst: MAYBE_REFILL
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:903,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - writer
    argTypes:
    - Writer*
    assertStmts:
    - condition: (literal_length < 61)
      pos:
        line_end: 855
        line_start: 855
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 908
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 908
    functionName: SnappyDecompressor::DecompressAllTags
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - Writer*::TryFastAppend
    - reinterpret_cast<const unsigned char*>
    - Skip
    - MAYBE_REFILL
    - snappy::LittleEndian::Load32
    - SNAPPY_PREDICT_FALSE
    - aligned
    - Writer*::Append
    - Writer*::AppendFromSelf
    - Peek
    - ExtractLowBytes
    linkageType: ''
    returnType: void
    signature: void DecompressAllTags(Writer* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 836
    functionName: MAYBE_REFILL
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_REFILL()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Skip
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:915,1
    - Dst: Peek
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:917,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:925,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:926,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:929,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:938,1
    - Dst: Skip
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:939,1
    - Dst: Peek
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:943,1
    - Dst: std::min<uint32>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:945,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:946,1
    - Dst: Skip
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:948,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:950,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:956,1
    - Dst: Skip
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:957,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (needed <= sizeof(scratch_))
      pos:
        line_end: 928
        line_start: 928
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (ip < ip_limit_)
      pos:
        line_end: 924
        line_start: 924
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (nbuf == needed)
      pos:
        line_end: 949
        line_start: 949
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 966
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 966
    functionName: SnappyDecompressor::RefillTag
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - std::min<uint32>
    - reinterpret_cast<const unsigned char*>
    - Skip
    - memcpy
    - memmove
    - Peek
    linkageType: ''
    returnType: bool
    signature: bool SnappyDecompressor::RefillTag()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SnappyDecompressor::ReadUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:973,1
    - Dst: InternalUncompressAllTags
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:975,1
    - Dst: Source*::Available
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - writer
    argTypes:
    - Source*
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 977
    functionName: InternalUncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - InternalUncompressAllTags
    - SnappyDecompressor::ReadUncompressedLength
    - Source*::Available
    linkageType: ''
    returnType: bool
    signature: bool InternalUncompress(Source* r, Writer* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Report
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:984,1
    - Dst: Writer*::SetExpectedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:986,1
    - Dst: SnappyDecompressor*::DecompressAllTags
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:989,1
    - Dst: Writer*::Flush
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:990,1
    - Dst: SnappyDecompressor*::eof
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:991,1
    - Dst: Writer*::CheckLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - decompressor
    - writer
    - compressed_len
    - uncompressed_len
    argTypes:
    - SnappyDecompressor*
    - Writer*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 992
    functionName: InternalUncompressAllTags
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached:
    - Writer*::SetExpectedLength
    - Writer*::Flush
    - SnappyDecompressor*::DecompressAllTags
    - Report
    - Writer*::CheckLength
    - SnappyDecompressor*::eof
    linkageType: ''
    returnType: bool
    signature: "bool InternalUncompressAllTags(SnappyDecompressor* decompressor,\n
      \                                     Writer* writer,\n                                      uint32
      compressed_len,\n                                      uint32 uncompressed_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnappyDecompressor::ReadUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - result
    argTypes:
    - Source*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 997
    functionName: GetUncompressedLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 3
    functionsReached:
    - SnappyDecompressor::ReadUncompressedLength
    linkageType: ''
    returnType: bool
    signature: bool GetUncompressedLength(Source* source, uint32* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Source*::Available
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1001,1
    - Dst: snappy::Varint::Encode32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1004,1
    - Dst: Sink*::Append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1005,1
    - Dst: Source*::Peek
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1013,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1014,1
    - Dst: std::min
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1015,1
    - Dst: internal::WorkingMemory::GetScratchInput
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1024,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1025,1
    - Dst: Source*::Skip
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1026,1
    - Dst: Source*::Peek
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1029,1
    - Dst: std::min<size_t>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1030,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1031,1
    - Dst: Source*::Skip
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1033,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1035,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1039,1
    - Dst: internal::WorkingMemory::GetHashTable
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1043,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1046,1
    - Dst: Sink*::GetAppendBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1054,1
    - Dst: internal::WorkingMemory::GetScratchOutput
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1054,1
    - Dst: internal::CompressFragment
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1055,1
    - Dst: Sink*::Append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1057,1
    - Dst: Source*::Skip
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1061,1
    - Dst: Report
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - reader
    - writer
    argTypes:
    - Source*
    - Sink*
    assertStmts:
    - condition: (fragment_size != 0)
      pos:
        line_end: 1013
        line_start: 1013
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (fragment_size == num_to_read)
      pos:
        line_end: 1038
        line_start: 1038
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (bytes_read == num_to_read)
      pos:
        line_end: 1034
        line_start: 1034
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 1067
      start: 999
    functionDepth: 4
    functionLinenumber: 999
    functionLinenumberEnd: 1067
    functionName: Compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 4
    functionsReached:
    - assert
    - snappy::Varint::Encode32
    - internal::WorkingMemory::GetHashTable
    - Source*::Skip
    - memcpy
    - internal::CompressFragment
    - MaxCompressedLength
    - Report
    - std::min<size_t>
    - Sink*::GetAppendBuffer
    - std::min
    - Source*::Peek
    - Source*::Available
    - Sink*::Append
    - internal::WorkingMemory::GetScratchInput
    - internal::WorkingMemory::GetScratchOutput
    linkageType: ''
    returnType: size_t
    signature: size_t Compress(Source* reader, Sink* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iov
    - offset
    argTypes:
    - struct iovec*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1103
    functionName: SnappyIOVecWriter::GetIOVecPointer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: char
    signature: char * GetIOVecPointer(const struct iovec* iov, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1122
    functionName: SnappyIOVecWriter::SetExpectedLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetExpectedLength(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1126
    functionName: SnappyIOVecWriter::CheckLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SnappyIOVecWriter::AppendNoCheck
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ip
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1134
    functionName: SnappyIOVecWriter::Append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - SnappyIOVecWriter::AppendNoCheck
    linkageType: ''
    returnType: bool
    signature: bool Append(const char* ip, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1144,1
    - Dst: std::min
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1148,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ip
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1158
    functionName: SnappyIOVecWriter::AppendNoCheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - std::min
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: bool
    signature: bool AppendNoCheck(const char* ip, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedCopy128
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ip
    - available
    - len
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1173
    functionName: SnappyIOVecWriter::TryFastAppend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - UnalignedCopy128
    linkageType: ''
    returnType: bool
    signature: bool TryFastAppend(const char* ip, size_t available, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1198,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1206,1
    - Dst: std::min
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1209,1
    - Dst: SnappyIOVecWriter::AppendNoCheck
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1210,1
    - Dst: SnappyIOVecWriter::GetIOVecPointer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1210,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1224,1
    - Dst: IncrementalCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1232,1
    - Dst: SnappyIOVecWriter::GetIOVecPointer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1232,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - offset
    - len
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (from_iov >= output_iov_)
      pos:
        line_end: 1197
        line_start: 1197
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    - condition: (from_iov <= curr_iov_)
      pos:
        line_end: 1205
        line_start: 1205
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 1244
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1244
    functionName: SnappyIOVecWriter::AppendFromSelf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - IncrementalCopy
    - reinterpret_cast<char*>
    - SnappyIOVecWriter::AppendNoCheck
    - std::min
    - SnappyIOVecWriter::GetIOVecPointer
    linkageType: ''
    returnType: bool
    signature: bool AppendFromSelf(size_t offset, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - compressed
    - compressed_length
    - iov
    - iov_cnt
    argTypes:
    - char*
    - size_t
    - struct iovec*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1253
    functionName: SnappyIOVecWriter::RawUncompressToIOVec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached:
    - SnappyIOVecWriter::RawUncompressToIOVec
    linkageType: ''
    returnType: bool
    signature: "bool RawUncompressToIOVec(const char* compressed, size_t compressed_length,\n
      \                         const struct iovec* iov, size_t iov_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - compressed
    - iov
    - iov_cnt
    argTypes:
    - Source*
    - struct iovec*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1255
    functionDepth: 3
    functionLinenumber: 1255
    functionLinenumberEnd: 1259
    functionName: SnappyIOVecWriter::RawUncompressToIOVec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached:
    - InternalUncompress
    linkageType: ''
    returnType: bool
    signature: "bool RawUncompressToIOVec(Source* compressed, const struct iovec*
      iov,\n                          size_t iov_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dst
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1279
    functionName: SnappyIOVecWriter::SnappyArrayWriter::SnappyArrayWriter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappyArrayWriter(char* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1283
    functionName: SnappyIOVecWriter::SnappyArrayWriter::SetExpectedLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetExpectedLength(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1287
    functionName: SnappyIOVecWriter::SnappyArrayWriter::CheckLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ip
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1298
    functionName: SnappyIOVecWriter::SnappyArrayWriter::Append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Append(const char* ip, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedCopy128
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ip
    - available
    - len
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1311
    functionName: SnappyIOVecWriter::SnappyArrayWriter::TryFastAppend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - UnalignedCopy128
    linkageType: ''
    returnType: bool
    signature: bool TryFastAppend(const char* ip, size_t available, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SnappyIOVecWriter::SnappyArrayWriter::Produced
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1323,1
    - Dst: IncrementalCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - len
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1327
    functionName: SnappyIOVecWriter::SnappyArrayWriter::AppendFromSelf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - SnappyIOVecWriter::SnappyArrayWriter::Produced
    - IncrementalCopy
    linkageType: ''
    returnType: bool
    signature: bool AppendFromSelf(size_t offset, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (op_ >= base_)
      pos:
        line_end: 1328
        line_start: 1328
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 1331
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1331
    functionName: SnappyIOVecWriter::SnappyArrayWriter::Produced
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t Produced() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1332
    functionName: SnappyIOVecWriter::SnappyArrayWriter::Flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnappyIOVecWriter::RawUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - compressed
    - n
    - uncompressed
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1338
    functionName: SnappyIOVecWriter::RawUncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 2
    functionsReached:
    - SnappyIOVecWriter::RawUncompress
    linkageType: ''
    returnType: bool
    signature: bool RawUncompress(const char* compressed, size_t n, char* uncompressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - compressed
    - uncompressed
    argTypes:
    - Source*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1340
    functionDepth: 3
    functionLinenumber: 1340
    functionLinenumberEnd: 1343
    functionName: SnappyIOVecWriter::RawUncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 2
    functionsReached:
    - InternalUncompress
    linkageType: ''
    returnType: bool
    signature: bool RawUncompress(Source* compressed, char* uncompressed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1347,1
    - Dst: std::string*::max_size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1352,1
    - Dst: STLStringResizeUninitialized
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1355,1
    - Dst: SnappyIOVecWriter::RawUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1356,1
    - Dst: string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - compressed
    - n
    - uncompressed
    argTypes:
    - char*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1357
    functionName: SnappyIOVecWriter::Uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - SnappyIOVecWriter::RawUncompress
    - GetUncompressedLength
    - string_as_array
    - STLStringResizeUninitialized
    - std::string*::max_size
    linkageType: ''
    returnType: bool
    signature: bool Uncompress(const char* compressed, size_t n, std::string* uncompressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1366
    functionName: SnappyIOVecWriter::SnappyDecompressionValidator::SnappyDecompressionValidator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappyDecompressionValidator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1369
    functionName: SnappyIOVecWriter::SnappyDecompressionValidator::SetExpectedLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetExpectedLength(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1372
    functionName: SnappyIOVecWriter::SnappyDecompressionValidator::CheckLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ip
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: SnappyIOVecWriter::SnappyDecompressionValidator::Append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Append(const char* ip, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ip
    - available
    - length
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1379
    functionName: SnappyIOVecWriter::SnappyDecompressionValidator::TryFastAppend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TryFastAppend(const char* ip, size_t available, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - offset
    - len
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1386
    functionName: SnappyIOVecWriter::SnappyDecompressionValidator::AppendFromSelf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AppendFromSelf(size_t offset, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1387
    functionName: SnappyIOVecWriter::SnappyDecompressionValidator::Flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - compressed
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1390
    functionDepth: 3
    functionLinenumber: 1390
    functionLinenumberEnd: 1394
    functionName: SnappyIOVecWriter::IsValidCompressedBuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - InternalUncompress
    linkageType: ''
    returnType: bool
    signature: bool IsValidCompressedBuffer(const char* compressed, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - compressed
    argTypes:
    - Source*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1396
    functionDepth: 3
    functionLinenumber: 1396
    functionLinenumberEnd: 1399
    functionName: SnappyIOVecWriter::IsValidCompressed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - InternalUncompress
    linkageType: ''
    returnType: bool
    signature: bool IsValidCompressed(Source* compressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnappyIOVecWriter::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1407,1
    - Dst: UncheckedByteArraySink::CurrentDestination
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - input
    - input_length
    - compressed
    - compressed_length
    argTypes:
    - char*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1411
    functionName: SnappyIOVecWriter::RawCompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached:
    - UncheckedByteArraySink::CurrentDestination
    - SnappyIOVecWriter::Compress
    linkageType: ''
    returnType: void
    signature: "void RawCompress(const char* input,\n                 size_t input_length,\n
      \                char* compressed,\n                 size_t* compressed_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STLStringResizeUninitialized
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1416,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1416,1
    - Dst: SnappyIOVecWriter::RawCompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1419,1
    - Dst: string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1419,1
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - input
    - input_length
    - compressed
    argTypes:
    - char*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1423
    functionName: SnappyIOVecWriter::Compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached:
    - SnappyIOVecWriter::RawCompress
    - string_as_array
    - STLStringResizeUninitialized
    - MaxCompressedLength
    - std::string*::resize
    linkageType: ''
    returnType: size_t
    signature: "size_t Compress(const char* input, size_t input_length,\n                std::string*
      compressed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1452
    functionName: SnappyIOVecWriter::SnappyScatteredWriter::Size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - Allocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1464
    functionName: SnappyIOVecWriter::SnappyScatteredWriter::SnappyScatteredWriter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappyScatteredWriter(const Allocator& allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1467,1
    - Dst: empty
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts:
    - condition: (blocks_.empty())
      pos:
        line_end: 1466
        line_start: 1466
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 1469
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1469
    functionName: SnappyIOVecWriter::SnappyScatteredWriter::SetExpectedLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void SetExpectedLength(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnappyIOVecWriter::SnappyScatteredWriter::Size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1473
    functionName: SnappyIOVecWriter::SnappyScatteredWriter::CheckLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - SnappyIOVecWriter::SnappyScatteredWriter::Size
    linkageType: ''
    returnType: bool
    signature: bool CheckLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnappyIOVecWriter::SnappyScatteredWriter::Size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1478
    functionName: SnappyIOVecWriter::SnappyScatteredWriter::Produced
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - SnappyIOVecWriter::SnappyScatteredWriter::Size
    linkageType: ''
    returnType: size_t
    signature: size_t Produced() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1484,1
    - Dst: SlowAppend
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ip
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1490
    functionName: SnappyIOVecWriter::SnappyScatteredWriter::Append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - SlowAppend
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool Append(const char* ip, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedCopy128
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ip
    - available
    - length
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1504
    functionName: SnappyIOVecWriter::SnappyScatteredWriter::TryFastAppend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - UnalignedCopy128
    linkageType: ''
    returnType: bool
    signature: bool TryFastAppend(const char* ip, size_t available, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1510,1
    - Dst: IncrementalCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1513,1
    - Dst: SlowAppendFromSelf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - offset
    - len
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1517
    functionName: SnappyIOVecWriter::SnappyScatteredWriter::AppendFromSelf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - IncrementalCopy
    - SNAPPY_PREDICT_TRUE
    - SlowAppendFromSelf
    linkageType: ''
    returnType: bool
    signature: bool AppendFromSelf(size_t offset, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnappyIOVecWriter::SnappyScatteredWriter::Flush
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1521,1
    - Dst: SnappyIOVecWriter::SnappyScatteredWriter::Produced
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1521
    functionDepth: 2
    functionLinenumber: 1521
    functionLinenumberEnd: 1521
    functionName: SnappyIOVecWriter::SnappyScatteredWriter::Flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 1
    functionsReached:
    - SnappyIOVecWriter::SnappyScatteredWriter::Flush
    - SnappyIOVecWriter::SnappyScatteredWriter::Produced
    linkageType: ''
    returnType: void
    signature: void Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1529,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1531,1
    - Dst: std::min<size_t>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1542,1
    - Dst: Allocate
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1543,1
    - Dst: push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1546,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - ip
    - len
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (op_limit_ - op_ptr_ == 0)
      pos:
        line_end: 1530
        line_start: 1530
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    constantsTouched: []
    func_position:
      end: 1553
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1553
    functionName: SnappyIOVecWriter::SnappyScatteredWriter<Allocator>::SlowAppend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    - std::min<size_t>
    - push_back
    - Allocate
    linkageType: ''
    returnType: bool
    signature: bool SnappyScatteredWriter<Allocator>::SlowAppend(const char* ip, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1561,1
    - Dst: Append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - offset
    - len
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1577
    functionName: SnappyIOVecWriter::SnappyScatteredWriter<Allocator>::SlowAppendFromSelf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - Size
    - Append
    linkageType: ''
    returnType: bool
    signature: "bool SnappyScatteredWriter<Allocator>::SlowAppendFromSelf(size_t offset,\n
      \                                                        size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dest
    argTypes:
    - Sink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1581
    functionName: SnappyIOVecWriter::SnappySinkAllocator::SnappySinkAllocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappySinkAllocator(Sink* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1582
    functionName: ~SnappySinkAllocator()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SnappySinkAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1585,1
    - Dst: push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1588
    functionName: SnappyIOVecWriter::SnappySinkAllocator::Allocate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - char::char
    - push_back
    linkageType: ''
    returnType: char
    signature: char * Allocate(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1598,1
    - Dst: std::min<size_t>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1599,1
    - Dst: AppendAndTakeOwnership
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1600,1
    - Dst: clear
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1605
    functionName: SnappyIOVecWriter::SnappySinkAllocator::Flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - clear
    - AppendAndTakeOwnership
    - std::min<size_t>
    - size
    linkageType: ''
    returnType: void
    signature: void Flush(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1611
    functionName: SnappyIOVecWriter::SnappySinkAllocator::Datablock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Datablock(char* p, size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - bytes
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1616
    functionName: SnappyIOVecWriter::SnappySinkAllocator::Deleter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Deleter(void* arg, const char* bytes, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1627,1
    - Dst: SnappyScatteredWriter::Produced
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - compressed
    - uncompressed
    argTypes:
    - Source*
    - Sink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1624
    functionDepth: 3
    functionLinenumber: 1624
    functionLinenumberEnd: 1629
    functionName: SnappyIOVecWriter::UncompressAsMuchAsPossible
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - SnappyScatteredWriter::Produced
    - InternalUncompress
    linkageType: ''
    returnType: size_t
    signature: size_t UncompressAsMuchAsPossible(Source* compressed, Sink* uncompressed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SnappyDecompressor::ReadUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1635,1
    - Dst: Sink*::GetAppendBufferVariable
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1641,1
    - Dst: Source*::Available
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1644,1
    - Dst: InternalUncompressAllTags
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1649,1
    - Dst: Sink*::Append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1651,1
    - Dst: SnappyArrayWriter::Produced
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1651,1
    - Dst: InternalUncompressAllTags
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc:1656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - compressed
    - uncompressed
    argTypes:
    - Source*
    - Sink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1631
    functionDepth: 2
    functionLinenumber: 1631
    functionLinenumberEnd: 1659
    functionName: SnappyIOVecWriter::Uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.cc
    functionUses: 0
    functionsReached:
    - InternalUncompressAllTags
    - Sink*::GetAppendBufferVariable
    - SnappyArrayWriter::Produced
    - Source*::Available
    - Sink*::Append
    - SnappyDecompressor::ReadUncompressedLength
    linkageType: ''
    returnType: bool
    signature: bool Uncompress(Source* compressed, Sink* uncompressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:77,1
    - Dst: snappy::DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:78,1
    - Dst: mmap
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:82,1
    - Dst: CHECK_NE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:84,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:85,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:87,1
    - Dst: snappy::DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:87,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:91,1
    - Dst: mprotect
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: snappy::DataEndingAtUnreadablePage::DataEndingAtUnreadablePage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - mprotect
    - snappy::DataEndingAtUnreadablePage::size
    - CHECK_NE
    - sysconf
    - reinterpret_cast<char*>
    - memcpy
    - snappy::DataEndingAtUnreadablePage::data
    - mmap
    - CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void DataEndingAtUnreadablePage(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:95,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:97,1
    - Dst: mprotect
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:97,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:98,1
    - Dst: munmap
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: ~DataEndingAtUnreadablePage()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - mprotect
    - munmap
    - CHECK_EQ
    - sysconf
    linkageType: ''
    returnType: void
    signature: void ~DataEndingAtUnreadablePage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: snappy::DataEndingAtUnreadablePage::data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: snappy::DataEndingAtUnreadablePage::size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::MinCompressbufSize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:132,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:141,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - input_size
    - comp
    argTypes:
    - size_t
    - CompressorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: snappy::MinimumRequiredOutputSpace
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - LOG
    - MaxCompressedLength
    - snappy::ZLib::MinCompressbufSize
    linkageType: ''
    returnType: size_t
    signature: "size_t MinimumRequiredOutputSpace(size_t input_size,\n                                         CompressorType
      comp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:159,1
    - Dst: snappy::MinimumRequiredOutputSpace
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:159,1
    - Dst: std::string*::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:166,1
    - Dst: ZLib::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:167,1
    - Dst: reinterpret_cast<Bytef*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:168,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:168,1
    - Dst: reinterpret_cast<const Bytef*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:170,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:172,1
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:174,1
    - Dst: unsigned char::unsigned char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:182,1
    - Dst: lzo1x_1_15_compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:184,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:185,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:187,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:187,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:190,1
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:193,1
    - Dst: SnappyIOVecWriter::RawCompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:201,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:202,1
    - Dst: CHECK_LE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:204,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:204,1
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - input
    - input_size
    - comp
    - compressed
    - compressed_is_preallocated
    argTypes:
    - char*
    - size_t
    - CompressorType
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 156
    functionDepth: 5
    functionLinenumber: 156
    functionLinenumberEnd: 216
    functionName: snappy::Compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const Bytef*>
    - SnappyIOVecWriter::RawCompress
    - CHECK_LE
    - snappy::string_as_array
    - CHECK_EQ
    - reinterpret_cast<Bytef*>
    - ZLib::Compress
    - unsigned char::unsigned char
    - MaxCompressedLength
    - reinterpret_cast<uint8*>
    - lzo1x_1_15_compress
    - snappy::MinimumRequiredOutputSpace
    - std::string*::size
    - std::string*::resize
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool Compress(const char* input, size_t input_size, CompressorType
      comp,\n                     std::string* compressed, bool compressed_is_preallocated)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:223,1
    - Dst: std::string*::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:225,1
    - Dst: ZLib::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:226,1
    - Dst: reinterpret_cast<Bytef*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:227,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:227,1
    - Dst: reinterpret_cast<const Bytef*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:229,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:229,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:230,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:231,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:232,1
    - Dst: static_cast<uLongf>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:232,1
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:239,1
    - Dst: lzo1x_decompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:241,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:242,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:242,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:243,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:244,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:244,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:247,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:248,1
    - Dst: static_cast<lzo_uint>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:248,1
    - Dst: SnappyIOVecWriter::RawUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:254,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:254,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:254,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ' compressed'
    - comp
    - size
    - output
    argTypes:
    - std::string
    - CompressorType
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 264
    functionName: snappy::Uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const Bytef*>
    - static_cast<lzo_uint>
    - SnappyIOVecWriter::RawUncompress
    - snappy::string_as_array
    - CHECK_EQ
    - lzo1x_decompress
    - reinterpret_cast<Bytef*>
    - data
    - static_cast<uLongf>
    - reinterpret_cast<uint8*>
    - ZLib::Uncompress
    - std::string*::size
    - size
    - std::string*::resize
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool Uncompress(const std::string& compressed, CompressorType comp,\n
      \                      int size, std::string* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:286,1
    - Dst: resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:291,1
    - Dst: snappy::MinimumRequiredOutputSpace
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:291,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:295,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:296,1
    - Dst: resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:306,1
    - Dst: snappy::MinimumRequiredOutputSpace
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:306,1
    - Dst: CycleTimer::Start
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:309,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:312,1
    - Dst: CycleTimer::Stop
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:313,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:318,1
    - Dst: resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:322,1
    - Dst: Start
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:325,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:328,1
    - Dst: Stop
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:329,1
    - Dst: CycleTimer::Get
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:331,1
    - Dst: Get
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:332,1
    - Dst: std::vector::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:336,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:337,1
    - Dst: std::sort
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:341,1
    - Dst: std::sort
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:342,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:349,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:350,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:351,1
    - Dst: std::string::c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:353,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:355,1
    - Dst: static_cast<uint32>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:355,1
    - Dst: std::max<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:356,1
    - Dst: std::string::c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:358,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 5
    argNames:
    - data
    - length
    - comp
    - repeats
    - block_size
    argTypes:
    - char*
    - size_t
    - CompressorType
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 359
    functionName: snappy::Measure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - LOG
    - CycleTimer::Stop
    - printf
    - snappy::Compress
    - CycleTimer::Start
    - std::string::c_str
    - std::vector::size
    - size
    - Stop
    - static_cast<int>
    - std::max<int>
    - std::min<int>
    - std::string
    - resize
    - CycleTimer::Get
    - snappy::MinimumRequiredOutputSpace
    - snappy::StrFormat
    - snappy::Uncompress
    - Get
    - std::sort
    - Start
    linkageType: ''
    returnType: void
    signature: "void Measure(const char* data,\n                    size_t length,\n
      \                   CompressorType comp,\n                    int repeats,\n
      \                   int block_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:364,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:364,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:364,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:365,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:365,1
    - Dst: CHECK_LE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:366,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:366,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:367,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:367,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:368,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:368,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:368,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:368,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:372,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:372,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:372,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:372,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:373,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: snappy::VerifyString
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - DataEndingAtUnreadablePage::size
    - DataEndingAtUnreadablePage::data
    - snappy::IsValidCompressedBuffer
    - CHECK_LE
    - CHECK_EQ
    - std::string::size
    - MaxCompressedLength
    - CHECK
    - std::string::data
    - size
    - snappy::Uncompress
    linkageType: ''
    returnType: int
    signature: int VerifyString(const std::string& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:380,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:380,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:380,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:381,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:381,1
    - Dst: CHECK_LE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:382,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:382,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:383,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:383,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:384,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:384,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:384,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:384,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:387,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:387,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:388,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:390,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:390,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:391,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:391,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: snappy::VerifyStringSink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - DataEndingAtUnreadablePage::size
    - DataEndingAtUnreadablePage::data
    - snappy::IsValidCompressedBuffer
    - CHECK_LE
    - snappy::string_as_array
    - CHECK_EQ
    - std::string::resize
    - std::string::size
    - MaxCompressedLength
    - CHECK
    - std::string::data
    - size
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void VerifyStringSink(const std::string& input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:398,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:398,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:398,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:399,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:399,1
    - Dst: CHECK_LE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:400,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:400,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:401,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:401,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:402,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:402,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:402,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:402,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:406,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:406,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:407,1
    - Dst: uniform_1_to_10
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:409,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:410,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:411,1
    - Dst: iovec::iovec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:413,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:417,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:417,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:420,1
    - Dst: one_in_five
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:423,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:427,1
    - Dst: uniform_not_used_so_far
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:428,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:433,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:433,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:434,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:434,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:435,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:435,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:435,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts:
    - condition: (used_so_far < input.size())
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    constantsTouched: []
    func_position:
      end: 438
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 438
    functionName: snappy::VerifyIOVec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - assert
    - DataEndingAtUnreadablePage::size
    - DataEndingAtUnreadablePage::data
    - std::string::data
    - uniform_1_to_10
    - uniform_not_used_so_far
    - snappy::Compress
    - snappy::IsValidCompressedBuffer
    - CHECK_LE
    - CHECK
    - SnappyIOVecWriter::RawUncompressToIOVec
    - one_in_five
    - size
    - memcmp
    - CHECK_EQ
    - MaxCompressedLength
    - char::char
    - std::string::size
    - data
    - iovec::iovec
    linkageType: ''
    returnType: void
    signature: void VerifyIOVec(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:443,1
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:449,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:449,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:452,1
    - Dst: snappy::internal::WorkingMemory::GetHashTable
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:454,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:454,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:459,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:459,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:459,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:459,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:460,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:460,1
    - Dst: internal::CompressFragment
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:461,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:461,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:461,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:463,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:463,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:467,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:467,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:467,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:467,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:468,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:472,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:472,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:473,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:474,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:474,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:475,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:475,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:476,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:482,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:485,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:488,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:488,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:488,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:488,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:490,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:490,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:490,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 442
    functionDepth: 4
    functionLinenumber: 442
    functionLinenumberEnd: 492
    functionName: snappy::VerifyNonBlockedCompression
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Varint::Append32
    - std::string
    - snappy::string_as_array
    - snappy::internal::WorkingMemory::GetHashTable
    - std::string::resize
    - internal::CompressFragment
    - CHECK_EQ
    - std::string::size
    - MaxCompressedLength
    - data
    - std::string::data
    - CHECK
    - SnappyIOVecWriter::RawUncompressToIOVec
    - size
    - length
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void VerifyNonBlockedCompression(const std::string& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 502
    functionName: snappy::Expand
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string Expand(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:505,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:505,1
    - Dst: snappy::VerifyString
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:508,1
    - Dst: snappy::VerifyStringSink
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:511,1
    - Dst: snappy::VerifyNonBlockedCompression
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:513,1
    - Dst: snappy::VerifyIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:514,1
    - Dst: empty
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:515,1
    - Dst: snappy::Expand
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:516,1
    - Dst: snappy::VerifyNonBlockedCompression
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:517,1
    - Dst: snappy::VerifyIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 522
    functionName: snappy::Verify
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::VerifyNonBlockedCompression
    - snappy::VerifyString
    - snappy::VerifyIOVec
    - snappy::VerifyStringSink
    - VLOG
    - size
    - snappy::Expand
    - empty
    linkageType: ''
    returnType: int
    signature: int Verify(const std::string& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:525,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:525,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: snappy::IsValidCompressedBuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 6
    functionsReached:
    - data
    - size
    - snappy::IsValidCompressedBuffer
    linkageType: ''
    returnType: bool
    signature: bool IsValidCompressedBuffer(const std::string& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:528,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:528,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - u
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: snappy::Uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 7
    functionsReached:
    - data
    - size
    - snappy::Uncompress
    linkageType: ''
    returnType: bool
    signature: bool Uncompress(const std::string& c, std::string* u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:535,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:538,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:538,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:538,1
    - Dst: CHECK_GT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:542,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:542,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:546,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:546,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:547,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:547,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:551,1
    - Dst: std::string::length
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:552,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:555,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:555,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:555,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:557,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:557,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:558,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:558,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:570,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:570,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:571,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:571,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:573,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:579,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:579,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:580,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:580,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:585,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:585,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:589,1
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:589,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:589,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:589,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:592,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:592,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:593,1
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:593,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:595,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:595,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:596,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 598
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - snappy::IsValidCompressedBuffer
    - LOG
    - GetUncompressedLength
    - std::string::resize
    - VLOG
    - std::string::size
    - CHECK
    - std::string::data
    - std::string::length
    - snappy::StrFormat
    - snappy::ReadTestDataFile
    - snappy::Uncompress
    - CHECK_GT
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptedTest, VerifyCorrupted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:605,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:606,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:609,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:618,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - ' literal'
    argTypes:
    - std::string*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 622
    functionName: snappy::AppendLiteral
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string*::push_back
    - std::string
    - empty
    - size
    linkageType: ''
    returnType: void
    signature: void AppendLiteral(std::string* dst, const std::string& literal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:638,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:639,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:640,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:642,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:643,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:644,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:646,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:647,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:648,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:649,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:650,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - dst
    - offset
    - length
    argTypes:
    - std::string*
    - int
    - int
    assertStmts:
    - condition: (to_copy-4 < 8)
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    constantsTouched: []
    func_position:
      end: 653
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 653
    functionName: snappy::AppendCopy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - assert
    - std::string*::push_back
    linkageType: ''
    returnType: void
    signature: void AppendCopy(std::string* dst, int offset, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:656,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:657,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:658,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:659,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:661,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:661,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:661,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:662,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:662,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:662,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:663,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:663,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:663,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:664,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:664,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:664,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:665,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:665,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 655
    functionDepth: 6
    functionLinenumber: 655
    functionLinenumberEnd: 666
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string
    - snappy::Verify
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, SimpleTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:674,1
    - Dst: static_cast<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:674,1
    - Dst: uniform_byte
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:674,1
    - Dst: std::string::end
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:677,1
    - Dst: std::string::end
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:677,1
    - Dst: std::string::append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:678,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 669
    functionDepth: 6
    functionLinenumber: 669
    functionLinenumberEnd: 681
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - uniform_byte
    - static_cast<char>
    - std::string::end
    - std::string::append
    - snappy::Verify
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, MaxBlowup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:695,1
    - Dst: uniform_4k
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:699,1
    - Dst: uniform_64k
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:701,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:703,1
    - Dst: one_in_ten
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:705,1
    - Dst: uniform_0_to_8
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:706,1
    - Dst: skewed_low
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:710,1
    - Dst: static_cast<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:712,1
    - Dst: uniform_byte
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:712,1
    - Dst: uniform_0_to_3
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:714,1
    - Dst: static_cast<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:718,1
    - Dst: skewed_low
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:718,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:720,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:721,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 683
    functionDepth: 6
    functionLinenumber: 683
    functionLinenumberEnd: 727
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - uniform_byte
    - uniform_0_to_8
    - skewed_low
    - static_cast<char>
    - uniform_64k
    - VLOG
    - std::string::size
    - one_in_ten
    - uniform_4k
    - uniform_0_to_3
    - snappy::Verify
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, RandomData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:740,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:741,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:741,1
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:744,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:746,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:749,1
    - Dst: snappy::AppendCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:752,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:752,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:752,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:754,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:754,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:757,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:757,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:757,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:757,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:758,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:758,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:758,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:758,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 761
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Varint::Append32
    - snappy::AppendCopy
    - snappy::IsValidCompressedBuffer
    - CHECK_EQ
    - std::string::size
    - CHECK
    - std::string::data
    - snappy::AppendLiteral
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, FourByteOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:772,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:773,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:774,1
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:779,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:783,1
    - Dst: snappy::AppendCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:789,1
    - Dst: snappy::AppendCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:804,1
    - Dst: snappy::AppendCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:815,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:817,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:817,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:818,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:818,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:818,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:819,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:819,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:820,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:820,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:821,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:821,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:822,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:822,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:823,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:823,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:825,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 828
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - snappy::Varint::Append32
    - ARRAYSIZE
    - memcmp
    - snappy::AppendCopy
    - CHECK_EQ
    - CHECK
    - std::string::size
    - SnappyIOVecWriter::RawUncompressToIOVec
    - char::char
    - std::string::data
    - snappy::AppendLiteral
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, IOVecEdgeCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:833,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:834,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:835,1
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:840,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:842,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:844,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:844,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:845,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:845,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:845,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:847,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 850
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - snappy::Varint::Append32
    - ARRAYSIZE
    - CHECK
    - std::string::size
    - SnappyIOVecWriter::RawUncompressToIOVec
    - char::char
    - std::string::data
    - snappy::AppendLiteral
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, IOVecLiteralOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:855,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:856,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:857,1
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:862,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:864,1
    - Dst: snappy::AppendCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:865,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:867,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:867,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:868,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:868,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:868,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:870,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 873
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - snappy::Varint::Append32
    - ARRAYSIZE
    - snappy::AppendCopy
    - CHECK
    - std::string::size
    - SnappyIOVecWriter::RawUncompressToIOVec
    - char::char
    - std::string::data
    - snappy::AppendLiteral
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, IOVecCopyOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:877,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:877,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:878,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:881,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:881,1
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:883,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' compressed'
    - ulength
    argTypes:
    - std::string
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 886
    functionName: snappy::CheckUncompressedLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - GetUncompressedLength
    - data
    - CHECK_EQ
    - size
    linkageType: ''
    returnType: bool
    signature: "bool CheckUncompressedLength(const std::string& compressed,\n                                    size_t*
      ulength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:891,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:892,1
    - Dst: snappy::CheckUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:892,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:893,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:893,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:893,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:893,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:894,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:894,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:894,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 896
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - snappy::IsValidCompressedBuffer
    - CHECK
    - std::string::size
    - std::string::data
    - snappy::CheckUncompressedLength
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void TEST(SnappyCorruption, TruncatedVarint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:901,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:902,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:903,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:904,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:905,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:906,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:907,1
    - Dst: snappy::CheckUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:907,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:908,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:908,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:908,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:908,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:909,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:909,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:909,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 911
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - snappy::IsValidCompressedBuffer
    - CHECK
    - std::string::size
    - std::string::data
    - snappy::CheckUncompressedLength
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void TEST(SnappyCorruption, UnterminatedVarint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:916,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:917,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:918,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:919,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:920,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:921,1
    - Dst: snappy::CheckUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:921,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:922,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:922,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:922,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:922,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:923,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:923,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:923,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 913
    functionDepth: 3
    functionLinenumber: 913
    functionLinenumberEnd: 925
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - snappy::IsValidCompressedBuffer
    - CHECK
    - std::string::size
    - std::string::data
    - snappy::CheckUncompressedLength
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void TEST(SnappyCorruption, OverflowingVarint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:932,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:933,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:937,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:937,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:937,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:937,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:938,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 927
    functionDepth: 3
    functionLinenumber: 927
    functionLinenumberEnd: 939
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Varint::Append32
    - DataEndingAtUnreadablePage::size
    - DataEndingAtUnreadablePage::data
    - std::string
    - CHECK_EQ
    - CHECK
    - snappy::AppendLiteral
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, ReadPastEndOfBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:947,1
    - Dst: SnappyIOVecWriter::RawUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 948
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - SnappyIOVecWriter::RawUncompress
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, ZeroOffsetCopy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:954,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 955
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - snappy::IsValidCompressedBuffer
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, ZeroOffsetCopyValidation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::internal::FindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:961,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s1
    - s2
    - length
    argTypes:
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 964
    functionName: snappy::TestFindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::internal::FindMatchLength
    - CHECK_EQ
    linkageType: ''
    returnType: int
    signature: int TestFindMatchLength(const char* s1, const char *s2, unsigned length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::internal::FindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:961,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s1
    - s2
    - length
    argTypes:
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 964
    functionName: snappy::TestFindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::internal::FindMatchLength
    - CHECK_EQ
    linkageType: ''
    returnType: int
    signature: int TestFindMatchLength(const char* s1, const char *s2, unsigned length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:973,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:974,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:974,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:977,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:977,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:980,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:981,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:981,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:984,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:984,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:985,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:986,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:987,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:987,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:990,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:992,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:994,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:996,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1002,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1003,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1003,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1004,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1005,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1005,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1006,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1007,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1008,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1009,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1009,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1010,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1010,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1011,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1014,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1014,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1015,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1016,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1016,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1019,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1019,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1020,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1023,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1023,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1026,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1026,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1028,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1030,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1032,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1032,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1036,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1037,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1038,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1039,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1042,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1042,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1044,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1046,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1048,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1048,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1052,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1052,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1053,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1053,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1054,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1054,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1055,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 968
    functionDepth: 3
    functionLinenumber: 968
    functionLinenumberEnd: 1056
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - snappy::TestFindMatchLength
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, FindMatchLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1068,1
    - Dst: uniform_byte
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1068,1
    - Dst: static_cast<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1069,1
    - Dst: uniform_byte
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1069,1
    - Dst: one_in_typical_length
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1070,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1071,1
    - Dst: one_in_two
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1071,1
    - Dst: push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1072,1
    - Dst: one_in_two
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1072,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1076,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1076,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1076,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1076,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1077,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1078,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1080,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1058
    functionDepth: 3
    functionLinenumber: 1058
    functionLinenumberEnd: 1086
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - uniform_byte
    - DataEndingAtUnreadablePage::data
    - snappy::TestFindMatchLength
    - static_cast<char>
    - EXPECT_NE
    - EXPECT_EQ
    - one_in_two
    - push_back
    - one_in_typical_length
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, FindMatchLengthRandom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1092,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1093,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - extra
    - len
    - copy_offset
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts:
    - condition: (extra       == (extra & 0x7))
      pos:
        line_end: 1091
        line_start: 1091
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    - condition: (len         == (len & 0x7f))
      pos:
        line_end: 1093
        line_start: 1093
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    - condition: (copy_offset == (copy_offset & 0x7))
      pos:
        line_end: 1092
        line_start: 1092
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    constantsTouched: []
    func_position:
      end: 1096
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1096
    functionName: snappy::MakeEntry
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16
    signature: "uint16 MakeEntry(unsigned int extra,\n                        unsigned
      int len,\n                        unsigned int copy_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy::MakeEntry
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1117,1
    - Dst: snappy::MakeEntry
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1126,1
    - Dst: snappy::MakeEntry
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1140,1
    - Dst: snappy::MakeEntry
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1148,1
    - Dst: snappy::MakeEntry
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1155,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1160,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1162,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1166,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1168,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1179
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - printf
    - snappy::MakeEntry
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, VerifyCharTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1183,1
    - Dst: file::GetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1183,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1183,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1186,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1186,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1186,1
    - Dst: CHECK_OK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1188,1
    - Dst: file::SetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1188,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1188,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1190
    functionName: snappy::CompressFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - std::string
    - file::Defaults
    - std::string::size
    - std::string::data
    - CHECK_OK
    - file::GetContents
    - file::SetContents
    linkageType: ''
    returnType: void
    signature: void CompressFile(const char* fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1194,1
    - Dst: file::GetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1194,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1194,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1197,1
    - Dst: snappy::CheckUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1197,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1200,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1201,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1201,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1201,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1201,1
    - Dst: CHECK_OK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1203,1
    - Dst: file::SetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1203,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1203,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1205
    functionName: snappy::UncompressFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string
    - std::string::resize
    - CHECK
    - file::Defaults
    - std::string::size
    - std::string::data
    - snappy::CheckUncompressedLength
    - CHECK_OK
    - file::GetContents
    - file::SetContents
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void UncompressFile(const char* fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1209,1
    - Dst: file::GetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1209,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1209,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1210,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1212,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1213,1
    - Dst: std::min<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1215,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1215,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1218,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1220,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1221,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1222,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1226,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1227,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1228,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1229,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1230,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1207
    functionDepth: 4
    functionLinenumber: 1207
    functionLinenumberEnd: 1234
    functionName: snappy::MeasureFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::min<int>
    - snappy::Measure
    - std::string::size
    - file::Defaults
    - printf
    - std::string::data
    - CHECK_OK
    - file::GetContents
    linkageType: ''
    returnType: void
    signature: void MeasureFile(const char* fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1256,1
    - Dst: CHECK_GE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1259,1
    - Dst: CHECK_LT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1260,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1260,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1262,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1265,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1265,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1265,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1266,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1266,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1268,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1268,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1269,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1269,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1270,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1271,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1273,1
    - Dst: SnappyIOVecWriter::RawUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1273,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1273,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1273,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1255
    functionDepth: 2
    functionLinenumber: 1255
    functionLinenumberEnd: 1278
    functionName: snappy::BM_UFlat
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - ARRAYSIZE
    - SnappyIOVecWriter::RawUncompress
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkBytesProcessed
    - std::string::size
    - CHECK
    - CHECK_GE
    - snappy::StopBenchmarkTiming
    - std::string::data
    - char::char
    - snappy::SetBenchmarkLabel
    - snappy::ReadTestDataFile
    - static_cast<int64>
    - CHECK_LT
    linkageType: ''
    returnType: void
    signature: void BM_UFlat(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1282,1
    - Dst: CHECK_GE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1285,1
    - Dst: CHECK_LT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1286,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1286,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1288,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1291,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1291,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1291,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1293,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1293,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1294,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1294,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1295,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1296,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1298,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1298,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1298,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1298,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1281
    functionDepth: 2
    functionLinenumber: 1281
    functionLinenumberEnd: 1301
    functionName: snappy::BM_UValidate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - ARRAYSIZE
    - snappy::IsValidCompressedBuffer
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkBytesProcessed
    - std::string::size
    - CHECK
    - CHECK_GE
    - snappy::StopBenchmarkTiming
    - std::string::data
    - snappy::SetBenchmarkLabel
    - snappy::ReadTestDataFile
    - static_cast<int64>
    - CHECK_LT
    linkageType: ''
    returnType: void
    signature: void BM_UValidate(int iters, int arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1305,1
    - Dst: CHECK_GE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1308,1
    - Dst: CHECK_LT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1309,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1309,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1311,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1314,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1314,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1314,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1319,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1319,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1323,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1329,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1331,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1336,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1336,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1337,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1337,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1338,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1339,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1341,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1341,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1341,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1341,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1347
    functionName: snappy::BM_UIOVec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - ARRAYSIZE
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkBytesProcessed
    - std::string::size
    - CHECK
    - CHECK_GE
    - snappy::StopBenchmarkTiming
    - std::string::data
    - char::char
    - snappy::SetBenchmarkLabel
    - SnappyIOVecWriter::RawUncompressToIOVec
    - snappy::ReadTestDataFile
    - static_cast<int64>
    - CHECK_LT
    linkageType: ''
    returnType: void
    signature: void BM_UIOVec(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1351,1
    - Dst: CHECK_GE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1354,1
    - Dst: CHECK_LT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1355,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1355,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1357,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1360,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1360,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1360,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1361,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1361,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1363,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1363,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1364,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1364,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1365,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1366,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1368,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1368,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1370,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1370,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1372,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1374,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1350
    functionDepth: 3
    functionLinenumber: 1350
    functionLinenumberEnd: 1378
    functionName: snappy::BM_UFlatSink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - ARRAYSIZE
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkBytesProcessed
    - CHECK_EQ
    - std::string::size
    - CHECK
    - CHECK_GE
    - snappy::StopBenchmarkTiming
    - std::string::data
    - char::char
    - snappy::SetBenchmarkLabel
    - snappy::ReadTestDataFile
    - static_cast<int64>
    - snappy::Uncompress
    - CHECK_LT
    linkageType: ''
    returnType: void
    signature: void BM_UFlatSink(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1383,1
    - Dst: CHECK_GE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1386,1
    - Dst: CHECK_LT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1387,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1387,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1389,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1391,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1391,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1391,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1393,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1393,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1394,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1394,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1395,1
    - Dst: SnappyIOVecWriter::RawCompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1399,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1399,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1399,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1401,1
    - Dst: static_cast<double>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1403,1
    - Dst: std::max<size_t>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1403,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1403,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1404,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1404,1
    - Dst: VLOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1406,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1406,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1407,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1407,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1382
    functionDepth: 2
    functionLinenumber: 1382
    functionLinenumberEnd: 1410
    functionName: snappy::BM_ZFlat
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - SnappyIOVecWriter::RawCompress
    - std::string::data
    - snappy::ReadTestDataFile
    - static_cast<double>
    - snappy::StartBenchmarkTiming
    - VLOG
    - snappy::SetBenchmarkLabel
    - static_cast<int>
    - ARRAYSIZE
    - snappy::SetBenchmarkBytesProcessed
    - MaxCompressedLength
    - std::max<size_t>
    - snappy::StopBenchmarkTiming
    - char::char
    - snappy::StrFormat
    - std::string::size
    - CHECK_GE
    - static_cast<int64>
    - CHECK_LT
    linkageType: ''
    returnType: void
    signature: void BM_ZFlat(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1414,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1416,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1417,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1424,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1425,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1425,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1425,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1426,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1429,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1429,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1430,1
    - Dst: SnappyIOVecWriter::RawCompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1435,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1435,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1435,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1439,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1444,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1445
    functionName: snappy::BM_ZFlatAll
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - ARRAYSIZE
    - SnappyIOVecWriter::RawCompress
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkBytesProcessed
    - CHECK_EQ
    - MaxCompressedLength
    - snappy::StopBenchmarkTiming
    - char::char
    - data
    - snappy::SetBenchmarkLabel
    - size
    - snappy::StrFormat
    - snappy::ReadTestDataFile
    - static_cast<int64>
    linkageType: ''
    returnType: void
    signature: void BM_ZFlatAll(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1449,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1451,1
    - Dst: CHECK_GT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1452,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1452,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1454,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1462,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1463,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1463,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1463,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1463,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1464,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1465,1
    - Dst: std::move
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1465,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1469,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1469,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1470,1
    - Dst: std::vector::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1472,1
    - Dst: SnappyIOVecWriter::RawCompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1473,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1473,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1473,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1477,1
    - Dst: std::vector::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1479,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1482,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1482,1
    - Dst: std::vector::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1448
    functionDepth: 2
    functionLinenumber: 1448
    functionLinenumberEnd: 1483
    functionName: snappy::BM_ZFlatIncreasingTableSize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::move
    - SnappyIOVecWriter::RawCompress
    - std::string::resize
    - snappy::ReadTestDataFile
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkLabel
    - std::vector::size
    - size
    - std::vector::push_back
    - CHECK_GT
    - ARRAYSIZE
    - snappy::SetBenchmarkBytesProcessed
    - CHECK_EQ
    - MaxCompressedLength
    - snappy::StopBenchmarkTiming
    - char::char
    - snappy::StrFormat
    - std::string::size
    - data
    - static_cast<int64>
    linkageType: ''
    returnType: void
    signature: void BM_ZFlatIncreasingTableSize(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:77,1
    - Dst: snappy::DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:78,1
    - Dst: mmap
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:82,1
    - Dst: CHECK_NE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:84,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:85,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:87,1
    - Dst: snappy::DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:87,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:91,1
    - Dst: mprotect
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: snappy::DataEndingAtUnreadablePage::DataEndingAtUnreadablePage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - mprotect
    - snappy::DataEndingAtUnreadablePage::size
    - CHECK_NE
    - sysconf
    - reinterpret_cast<char*>
    - memcpy
    - snappy::DataEndingAtUnreadablePage::data
    - mmap
    - CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void DataEndingAtUnreadablePage(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:95,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:97,1
    - Dst: mprotect
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:97,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:98,1
    - Dst: munmap
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: ~DataEndingAtUnreadablePage()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - mprotect
    - munmap
    - CHECK_EQ
    - sysconf
    linkageType: ''
    returnType: void
    signature: void ~DataEndingAtUnreadablePage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: snappy::DataEndingAtUnreadablePage::data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: snappy::DataEndingAtUnreadablePage::size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snappy::ZLib::MinCompressbufSize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:132,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:141,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - input_size
    - comp
    argTypes:
    - size_t
    - CompressorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: snappy::MinimumRequiredOutputSpace
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 2
    functionsReached:
    - LOG
    - MaxCompressedLength
    - snappy::ZLib::MinCompressbufSize
    linkageType: ''
    returnType: size_t
    signature: "size_t MinimumRequiredOutputSpace(size_t input_size,\n                                         CompressorType
      comp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:159,1
    - Dst: snappy::MinimumRequiredOutputSpace
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:159,1
    - Dst: std::string*::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:166,1
    - Dst: ZLib::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:167,1
    - Dst: reinterpret_cast<Bytef*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:168,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:168,1
    - Dst: reinterpret_cast<const Bytef*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:170,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:172,1
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:174,1
    - Dst: unsigned char::unsigned char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:182,1
    - Dst: lzo1x_1_15_compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:184,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:185,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:187,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:187,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:190,1
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:193,1
    - Dst: SnappyIOVecWriter::RawCompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:201,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:202,1
    - Dst: CHECK_LE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:204,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:204,1
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - input
    - input_size
    - comp
    - compressed
    - compressed_is_preallocated
    argTypes:
    - char*
    - size_t
    - CompressorType
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 156
    functionDepth: 5
    functionLinenumber: 156
    functionLinenumberEnd: 216
    functionName: snappy::Compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 11
    functionsReached:
    - reinterpret_cast<const Bytef*>
    - SnappyIOVecWriter::RawCompress
    - CHECK_LE
    - snappy::string_as_array
    - CHECK_EQ
    - reinterpret_cast<Bytef*>
    - ZLib::Compress
    - unsigned char::unsigned char
    - MaxCompressedLength
    - reinterpret_cast<uint8*>
    - lzo1x_1_15_compress
    - snappy::MinimumRequiredOutputSpace
    - std::string*::size
    - std::string*::resize
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool Compress(const char* input, size_t input_size, CompressorType
      comp,\n                     std::string* compressed, bool compressed_is_preallocated)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:223,1
    - Dst: std::string*::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:225,1
    - Dst: ZLib::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:226,1
    - Dst: reinterpret_cast<Bytef*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:227,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:227,1
    - Dst: reinterpret_cast<const Bytef*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:229,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:229,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:230,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:231,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:232,1
    - Dst: static_cast<uLongf>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:232,1
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:239,1
    - Dst: lzo1x_decompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:241,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:242,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:242,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:243,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:244,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:244,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:247,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:248,1
    - Dst: static_cast<lzo_uint>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:248,1
    - Dst: SnappyIOVecWriter::RawUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:254,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:254,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:254,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ' compressed'
    - comp
    - size
    - output
    argTypes:
    - std::string
    - CompressorType
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 264
    functionName: snappy::Uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 15
    functionsReached:
    - reinterpret_cast<const Bytef*>
    - static_cast<lzo_uint>
    - SnappyIOVecWriter::RawUncompress
    - snappy::string_as_array
    - CHECK_EQ
    - lzo1x_decompress
    - reinterpret_cast<Bytef*>
    - data
    - static_cast<uLongf>
    - reinterpret_cast<uint8*>
    - ZLib::Uncompress
    - std::string*::size
    - size
    - std::string*::resize
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool Uncompress(const std::string& compressed, CompressorType comp,\n
      \                      int size, std::string* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:286,1
    - Dst: resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:291,1
    - Dst: snappy::MinimumRequiredOutputSpace
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:291,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:295,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:296,1
    - Dst: resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:306,1
    - Dst: snappy::MinimumRequiredOutputSpace
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:306,1
    - Dst: CycleTimer::Start
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:309,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:312,1
    - Dst: CycleTimer::Stop
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:313,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:318,1
    - Dst: resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:322,1
    - Dst: Start
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:325,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:328,1
    - Dst: Stop
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:329,1
    - Dst: CycleTimer::Get
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:331,1
    - Dst: Get
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:332,1
    - Dst: std::vector::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:336,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:337,1
    - Dst: std::sort
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:341,1
    - Dst: std::sort
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:342,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:349,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:350,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:351,1
    - Dst: std::string::c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:353,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:355,1
    - Dst: static_cast<uint32>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:355,1
    - Dst: std::max<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:356,1
    - Dst: std::string::c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:358,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 5
    argNames:
    - data
    - length
    - comp
    - repeats
    - block_size
    argTypes:
    - char*
    - size_t
    - CompressorType
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 359
    functionName: snappy::Measure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 1
    functionsReached:
    - static_cast<uint32>
    - LOG
    - CycleTimer::Stop
    - printf
    - snappy::Compress
    - CycleTimer::Start
    - std::string::c_str
    - std::vector::size
    - size
    - Stop
    - static_cast<int>
    - std::max<int>
    - std::min<int>
    - std::string
    - resize
    - CycleTimer::Get
    - snappy::MinimumRequiredOutputSpace
    - snappy::StrFormat
    - snappy::Uncompress
    - Get
    - std::sort
    - Start
    linkageType: ''
    returnType: void
    signature: "void Measure(const char* data,\n                    size_t length,\n
      \                   CompressorType comp,\n                    int repeats,\n
      \                   int block_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:364,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:364,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:364,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:365,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:365,1
    - Dst: CHECK_LE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:366,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:366,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:367,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:367,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:368,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:368,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:368,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:368,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:372,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:372,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:372,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:372,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:373,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: snappy::VerifyString
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 1
    functionsReached:
    - snappy::Compress
    - DataEndingAtUnreadablePage::size
    - DataEndingAtUnreadablePage::data
    - snappy::IsValidCompressedBuffer
    - CHECK_LE
    - CHECK_EQ
    - std::string::size
    - MaxCompressedLength
    - CHECK
    - std::string::data
    - size
    - snappy::Uncompress
    linkageType: ''
    returnType: int
    signature: int VerifyString(const std::string& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:380,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:380,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:380,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:381,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:381,1
    - Dst: CHECK_LE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:382,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:382,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:383,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:383,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:384,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:384,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:384,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:384,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:387,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:387,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:388,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:390,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:390,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:391,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:391,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: snappy::VerifyStringSink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 1
    functionsReached:
    - snappy::Compress
    - DataEndingAtUnreadablePage::size
    - DataEndingAtUnreadablePage::data
    - snappy::IsValidCompressedBuffer
    - CHECK_LE
    - snappy::string_as_array
    - CHECK_EQ
    - std::string::resize
    - std::string::size
    - MaxCompressedLength
    - CHECK
    - std::string::data
    - size
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void VerifyStringSink(const std::string& input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:398,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:398,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:398,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:399,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:399,1
    - Dst: CHECK_LE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:400,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:400,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:401,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:401,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:402,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:402,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:402,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:402,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:406,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:406,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:407,1
    - Dst: uniform_1_to_10
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:409,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:410,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:411,1
    - Dst: iovec::iovec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:413,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:417,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:417,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:420,1
    - Dst: one_in_five
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:423,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:427,1
    - Dst: uniform_not_used_so_far
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:428,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:433,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:433,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:434,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:434,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:435,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:435,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:435,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts:
    - condition: (used_so_far < input.size())
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    constantsTouched: []
    func_position:
      end: 438
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 438
    functionName: snappy::VerifyIOVec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 1
    functionsReached:
    - assert
    - DataEndingAtUnreadablePage::size
    - DataEndingAtUnreadablePage::data
    - std::string::data
    - uniform_1_to_10
    - uniform_not_used_so_far
    - snappy::Compress
    - snappy::IsValidCompressedBuffer
    - CHECK_LE
    - CHECK
    - SnappyIOVecWriter::RawUncompressToIOVec
    - one_in_five
    - size
    - memcmp
    - CHECK_EQ
    - MaxCompressedLength
    - char::char
    - std::string::size
    - data
    - iovec::iovec
    linkageType: ''
    returnType: void
    signature: void VerifyIOVec(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:443,1
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:449,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:449,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:452,1
    - Dst: snappy::internal::WorkingMemory::GetHashTable
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:454,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:454,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:459,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:459,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:459,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:459,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:460,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:460,1
    - Dst: internal::CompressFragment
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:461,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:461,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:461,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:463,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:463,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:467,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:467,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:467,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:467,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:468,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:472,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:472,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:473,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:474,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:474,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:475,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:475,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:476,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:482,1
    - Dst: snappy::string_as_array
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:485,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:488,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:488,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:488,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:488,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:490,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:490,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:490,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 442
    functionDepth: 4
    functionLinenumber: 442
    functionLinenumberEnd: 492
    functionName: snappy::VerifyNonBlockedCompression
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 1
    functionsReached:
    - snappy::Varint::Append32
    - std::string
    - snappy::string_as_array
    - snappy::internal::WorkingMemory::GetHashTable
    - std::string::resize
    - internal::CompressFragment
    - CHECK_EQ
    - std::string::size
    - MaxCompressedLength
    - data
    - std::string::data
    - CHECK
    - SnappyIOVecWriter::RawUncompressToIOVec
    - size
    - length
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void VerifyNonBlockedCompression(const std::string& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 502
    functionName: snappy::Expand
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 1
    functionsReached:
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string Expand(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:505,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:505,1
    - Dst: snappy::VerifyString
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:508,1
    - Dst: snappy::VerifyStringSink
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:511,1
    - Dst: snappy::VerifyNonBlockedCompression
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:513,1
    - Dst: snappy::VerifyIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:514,1
    - Dst: empty
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:515,1
    - Dst: snappy::Expand
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:516,1
    - Dst: snappy::VerifyNonBlockedCompression
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:517,1
    - Dst: snappy::VerifyIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 522
    functionName: snappy::Verify
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 3
    functionsReached:
    - snappy::VerifyNonBlockedCompression
    - snappy::VerifyString
    - snappy::VerifyIOVec
    - snappy::VerifyStringSink
    - VLOG
    - size
    - snappy::Expand
    - empty
    linkageType: ''
    returnType: int
    signature: int Verify(const std::string& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:525,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:525,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: snappy::IsValidCompressedBuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 17
    functionsReached:
    - data
    - size
    - snappy::IsValidCompressedBuffer
    linkageType: ''
    returnType: bool
    signature: bool IsValidCompressedBuffer(const std::string& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:528,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:528,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - u
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: snappy::Uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 20
    functionsReached:
    - data
    - size
    - snappy::Uncompress
    linkageType: ''
    returnType: bool
    signature: bool Uncompress(const std::string& c, std::string* u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:535,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:538,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:538,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:538,1
    - Dst: CHECK_GT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:542,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:542,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:546,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:546,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:547,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:547,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:551,1
    - Dst: std::string::length
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:552,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:555,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:555,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:555,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:557,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:557,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:558,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:558,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:570,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:570,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:571,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:571,1
    - Dst: LOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:573,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:579,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:579,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:580,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:580,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:585,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:585,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:589,1
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:589,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:589,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:589,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:592,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:592,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:593,1
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:593,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:595,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:595,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:596,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 598
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - snappy::IsValidCompressedBuffer
    - LOG
    - GetUncompressedLength
    - std::string::resize
    - VLOG
    - std::string::size
    - CHECK
    - std::string::data
    - std::string::length
    - snappy::StrFormat
    - snappy::ReadTestDataFile
    - snappy::Uncompress
    - CHECK_GT
    linkageType: ''
    returnType: void
    signature: void TEST(CorruptedTest, VerifyCorrupted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:605,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:606,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:609,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:618,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - ' literal'
    argTypes:
    - std::string*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 622
    functionName: snappy::AppendLiteral
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 5
    functionsReached:
    - std::string*::push_back
    - std::string
    - empty
    - size
    linkageType: ''
    returnType: void
    signature: void AppendLiteral(std::string* dst, const std::string& literal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:638,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:639,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:640,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:642,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:643,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:644,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:646,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:647,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:648,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:649,1
    - Dst: std::string*::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:650,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - dst
    - offset
    - length
    argTypes:
    - std::string*
    - int
    - int
    assertStmts:
    - condition: (to_copy-4 < 8)
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    constantsTouched: []
    func_position:
      end: 653
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 653
    functionName: snappy::AppendCopy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 3
    functionsReached:
    - assert
    - std::string*::push_back
    linkageType: ''
    returnType: void
    signature: void AppendCopy(std::string* dst, int offset, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:656,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:657,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:658,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:659,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:661,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:661,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:661,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:662,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:662,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:662,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:663,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:663,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:663,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:664,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:664,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:664,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:665,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:665,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 655
    functionDepth: 6
    functionLinenumber: 655
    functionLinenumberEnd: 666
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string
    - snappy::Verify
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, SimpleTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:674,1
    - Dst: static_cast<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:674,1
    - Dst: uniform_byte
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:674,1
    - Dst: std::string::end
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:677,1
    - Dst: std::string::end
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:677,1
    - Dst: std::string::append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:678,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 669
    functionDepth: 6
    functionLinenumber: 669
    functionLinenumberEnd: 681
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - uniform_byte
    - static_cast<char>
    - std::string::end
    - std::string::append
    - snappy::Verify
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, MaxBlowup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:695,1
    - Dst: uniform_4k
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:699,1
    - Dst: uniform_64k
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:701,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:703,1
    - Dst: one_in_ten
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:705,1
    - Dst: uniform_0_to_8
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:706,1
    - Dst: skewed_low
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:710,1
    - Dst: static_cast<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:712,1
    - Dst: uniform_byte
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:712,1
    - Dst: uniform_0_to_3
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:714,1
    - Dst: static_cast<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:718,1
    - Dst: skewed_low
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:718,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:720,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:721,1
    - Dst: snappy::Verify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 683
    functionDepth: 6
    functionLinenumber: 683
    functionLinenumberEnd: 727
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - uniform_byte
    - uniform_0_to_8
    - skewed_low
    - static_cast<char>
    - uniform_64k
    - VLOG
    - std::string::size
    - one_in_ten
    - uniform_4k
    - uniform_0_to_3
    - snappy::Verify
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, RandomData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:740,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:741,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:741,1
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:744,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:746,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:749,1
    - Dst: snappy::AppendCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:752,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:752,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:752,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:754,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:754,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:757,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:757,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:757,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:757,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:758,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:758,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:758,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:758,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 761
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Varint::Append32
    - snappy::AppendCopy
    - snappy::IsValidCompressedBuffer
    - CHECK_EQ
    - std::string::size
    - CHECK
    - std::string::data
    - snappy::AppendLiteral
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, FourByteOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:772,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:773,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:774,1
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:779,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:783,1
    - Dst: snappy::AppendCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:789,1
    - Dst: snappy::AppendCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:804,1
    - Dst: snappy::AppendCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:815,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:817,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:817,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:818,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:818,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:818,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:819,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:819,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:820,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:820,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:821,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:821,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:822,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:822,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:823,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:823,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:825,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 828
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - snappy::Varint::Append32
    - ARRAYSIZE
    - memcmp
    - snappy::AppendCopy
    - CHECK_EQ
    - CHECK
    - std::string::size
    - SnappyIOVecWriter::RawUncompressToIOVec
    - char::char
    - std::string::data
    - snappy::AppendLiteral
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, IOVecEdgeCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:833,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:834,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:835,1
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:840,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:842,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:844,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:844,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:845,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:845,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:845,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:847,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 850
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - snappy::Varint::Append32
    - ARRAYSIZE
    - CHECK
    - std::string::size
    - SnappyIOVecWriter::RawUncompressToIOVec
    - char::char
    - std::string::data
    - snappy::AppendLiteral
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, IOVecLiteralOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:855,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:856,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:857,1
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:862,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:864,1
    - Dst: snappy::AppendCopy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:865,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:867,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:867,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:868,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:868,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:868,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:870,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 873
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - snappy::Varint::Append32
    - ARRAYSIZE
    - snappy::AppendCopy
    - CHECK
    - std::string::size
    - SnappyIOVecWriter::RawUncompressToIOVec
    - char::char
    - std::string::data
    - snappy::AppendLiteral
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, IOVecCopyOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:877,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:877,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:878,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:881,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:881,1
    - Dst: GetUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:883,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' compressed'
    - ulength
    argTypes:
    - std::string
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 886
    functionName: snappy::CheckUncompressedLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 4
    functionsReached:
    - GetUncompressedLength
    - data
    - CHECK_EQ
    - size
    linkageType: ''
    returnType: bool
    signature: "bool CheckUncompressedLength(const std::string& compressed,\n                                    size_t*
      ulength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:891,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:892,1
    - Dst: snappy::CheckUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:892,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:893,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:893,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:893,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:893,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:894,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:894,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:894,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 896
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - snappy::IsValidCompressedBuffer
    - CHECK
    - std::string::size
    - std::string::data
    - snappy::CheckUncompressedLength
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void TEST(SnappyCorruption, TruncatedVarint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:901,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:902,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:903,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:904,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:905,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:906,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:907,1
    - Dst: snappy::CheckUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:907,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:908,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:908,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:908,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:908,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:909,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:909,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:909,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 911
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - snappy::IsValidCompressedBuffer
    - CHECK
    - std::string::size
    - std::string::data
    - snappy::CheckUncompressedLength
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void TEST(SnappyCorruption, UnterminatedVarint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:916,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:917,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:918,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:919,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:920,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:921,1
    - Dst: snappy::CheckUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:921,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:922,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:922,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:922,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:922,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:923,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:923,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:923,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 913
    functionDepth: 3
    functionLinenumber: 913
    functionLinenumberEnd: 925
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - snappy::IsValidCompressedBuffer
    - CHECK
    - std::string::size
    - std::string::data
    - snappy::CheckUncompressedLength
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void TEST(SnappyCorruption, OverflowingVarint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Varint::Append32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:932,1
    - Dst: snappy::AppendLiteral
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:933,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:937,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:937,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:937,1
    - Dst: DataEndingAtUnreadablePage::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:937,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:938,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 927
    functionDepth: 3
    functionLinenumber: 927
    functionLinenumberEnd: 939
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Varint::Append32
    - DataEndingAtUnreadablePage::size
    - DataEndingAtUnreadablePage::data
    - std::string
    - CHECK_EQ
    - CHECK
    - snappy::AppendLiteral
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, ReadPastEndOfBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:947,1
    - Dst: SnappyIOVecWriter::RawUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 948
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - SnappyIOVecWriter::RawUncompress
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, ZeroOffsetCopy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:954,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 955
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - snappy::IsValidCompressedBuffer
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, ZeroOffsetCopyValidation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::internal::FindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:961,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s1
    - s2
    - length
    argTypes:
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 964
    functionName: snappy::TestFindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 2
    functionsReached:
    - snappy::internal::FindMatchLength
    - CHECK_EQ
    linkageType: ''
    returnType: int
    signature: int TestFindMatchLength(const char* s1, const char *s2, unsigned length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::internal::FindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:961,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s1
    - s2
    - length
    argTypes:
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 964
    functionName: snappy::TestFindMatchLength
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 2
    functionsReached:
    - snappy::internal::FindMatchLength
    - CHECK_EQ
    linkageType: ''
    returnType: int
    signature: int TestFindMatchLength(const char* s1, const char *s2, unsigned length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:973,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:973,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:974,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:974,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:977,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:977,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:980,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:980,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:981,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:981,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:984,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:984,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:985,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:985,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:986,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:987,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:987,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:990,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:992,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:994,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:996,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1002,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1003,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1003,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1004,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1005,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1005,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1006,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1007,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1008,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1008,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1009,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1009,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1010,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1010,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1011,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1014,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1014,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1015,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1015,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1016,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1016,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1019,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1019,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1020,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1020,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1023,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1023,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1026,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1026,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1028,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1028,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1030,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1030,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1032,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1032,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1036,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1036,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1037,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1038,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1039,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1042,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1042,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1044,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1044,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1046,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1046,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1048,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1048,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1052,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1052,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1053,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1053,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1054,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1054,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1055,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 968
    functionDepth: 3
    functionLinenumber: 968
    functionLinenumberEnd: 1056
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - snappy::TestFindMatchLength
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, FindMatchLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1068,1
    - Dst: uniform_byte
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1068,1
    - Dst: static_cast<char>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1069,1
    - Dst: uniform_byte
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1069,1
    - Dst: one_in_typical_length
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1070,1
    - Dst: std::string::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1071,1
    - Dst: one_in_two
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1071,1
    - Dst: push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1072,1
    - Dst: one_in_two
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1072,1
    - Dst: snappy::TestFindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1076,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1076,1
    - Dst: DataEndingAtUnreadablePage::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1076,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1076,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1077,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1078,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1080,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1058
    functionDepth: 3
    functionLinenumber: 1058
    functionLinenumberEnd: 1086
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - uniform_byte
    - DataEndingAtUnreadablePage::data
    - snappy::TestFindMatchLength
    - static_cast<char>
    - EXPECT_NE
    - EXPECT_EQ
    - one_in_two
    - push_back
    - one_in_typical_length
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, FindMatchLengthRandom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1092,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1093,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - extra
    - len
    - copy_offset
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts:
    - condition: (extra       == (extra & 0x7))
      pos:
        line_end: 1091
        line_start: 1091
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    - condition: (len         == (len & 0x7f))
      pos:
        line_end: 1093
        line_start: 1093
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    - condition: (copy_offset == (copy_offset & 0x7))
      pos:
        line_end: 1092
        line_start: 1092
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    constantsTouched: []
    func_position:
      end: 1096
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1096
    functionName: snappy::MakeEntry
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16
    signature: "uint16 MakeEntry(unsigned int extra,\n                        unsigned
      int len,\n                        unsigned int copy_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snappy::MakeEntry
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1117,1
    - Dst: snappy::MakeEntry
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1126,1
    - Dst: snappy::MakeEntry
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1140,1
    - Dst: snappy::MakeEntry
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1148,1
    - Dst: snappy::MakeEntry
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1155,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1160,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1162,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1166,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1168,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1179
    functionName: snappy::TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - printf
    - snappy::MakeEntry
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Snappy, VerifyCharTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1183,1
    - Dst: file::GetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1183,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1183,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1186,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1186,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1186,1
    - Dst: CHECK_OK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1188,1
    - Dst: file::SetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1188,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1188,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1190
    functionName: snappy::CompressFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - std::string
    - file::Defaults
    - std::string::size
    - std::string::data
    - CHECK_OK
    - file::GetContents
    - file::SetContents
    linkageType: ''
    returnType: void
    signature: void CompressFile(const char* fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1194,1
    - Dst: file::GetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1194,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1194,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1197,1
    - Dst: snappy::CheckUncompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1197,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1200,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1201,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1201,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1201,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1201,1
    - Dst: CHECK_OK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1203,1
    - Dst: file::SetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1203,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1203,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1205
    functionName: snappy::UncompressFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::string
    - std::string::resize
    - CHECK
    - file::Defaults
    - std::string::size
    - std::string::data
    - snappy::CheckUncompressedLength
    - CHECK_OK
    - file::GetContents
    - file::SetContents
    - snappy::Uncompress
    linkageType: ''
    returnType: void
    signature: void UncompressFile(const char* fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1209,1
    - Dst: file::GetContents
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1209,1
    - Dst: file::Defaults
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1209,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1210,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1212,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1213,1
    - Dst: std::min<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1215,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1215,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1218,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1220,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1221,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1222,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1226,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1227,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1228,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1229,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1230,1
    - Dst: snappy::Measure
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1207
    functionDepth: 4
    functionLinenumber: 1207
    functionLinenumberEnd: 1234
    functionName: snappy::MeasureFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::min<int>
    - snappy::Measure
    - std::string::size
    - file::Defaults
    - printf
    - std::string::data
    - CHECK_OK
    - file::GetContents
    linkageType: ''
    returnType: void
    signature: void MeasureFile(const char* fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1256,1
    - Dst: CHECK_GE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1259,1
    - Dst: CHECK_LT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1260,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1260,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1262,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1265,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1265,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1265,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1266,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1266,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1268,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1268,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1269,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1269,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1270,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1271,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1273,1
    - Dst: SnappyIOVecWriter::RawUncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1273,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1273,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1273,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1255
    functionDepth: 2
    functionLinenumber: 1255
    functionLinenumberEnd: 1278
    functionName: snappy::BM_UFlat
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - ARRAYSIZE
    - SnappyIOVecWriter::RawUncompress
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkBytesProcessed
    - std::string::size
    - CHECK
    - CHECK_GE
    - snappy::StopBenchmarkTiming
    - std::string::data
    - char::char
    - snappy::SetBenchmarkLabel
    - snappy::ReadTestDataFile
    - static_cast<int64>
    - CHECK_LT
    linkageType: ''
    returnType: void
    signature: void BM_UFlat(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1282,1
    - Dst: CHECK_GE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1285,1
    - Dst: CHECK_LT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1286,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1286,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1288,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1291,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1291,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1291,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1293,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1293,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1294,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1294,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1295,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1296,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1298,1
    - Dst: snappy::IsValidCompressedBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1298,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1298,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1298,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1281
    functionDepth: 2
    functionLinenumber: 1281
    functionLinenumberEnd: 1301
    functionName: snappy::BM_UValidate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - ARRAYSIZE
    - snappy::IsValidCompressedBuffer
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkBytesProcessed
    - std::string::size
    - CHECK
    - CHECK_GE
    - snappy::StopBenchmarkTiming
    - std::string::data
    - snappy::SetBenchmarkLabel
    - snappy::ReadTestDataFile
    - static_cast<int64>
    - CHECK_LT
    linkageType: ''
    returnType: void
    signature: void BM_UValidate(int iters, int arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1305,1
    - Dst: CHECK_GE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1308,1
    - Dst: CHECK_LT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1309,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1309,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1311,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1314,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1314,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1314,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1319,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1319,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1323,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1329,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1331,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1336,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1336,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1337,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1337,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1338,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1339,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1341,1
    - Dst: SnappyIOVecWriter::RawUncompressToIOVec
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1341,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1341,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1341,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1347
    functionName: snappy::BM_UIOVec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - ARRAYSIZE
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkBytesProcessed
    - std::string::size
    - CHECK
    - CHECK_GE
    - snappy::StopBenchmarkTiming
    - std::string::data
    - char::char
    - snappy::SetBenchmarkLabel
    - SnappyIOVecWriter::RawUncompressToIOVec
    - snappy::ReadTestDataFile
    - static_cast<int64>
    - CHECK_LT
    linkageType: ''
    returnType: void
    signature: void BM_UIOVec(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1351,1
    - Dst: CHECK_GE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1354,1
    - Dst: CHECK_LT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1355,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1355,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1357,1
    - Dst: snappy::Compress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1360,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1360,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1360,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1361,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1361,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1363,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1363,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1364,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1364,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1365,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1366,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1368,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1368,1
    - Dst: CHECK
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1370,1
    - Dst: snappy::Uncompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1370,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1372,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1374,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1350
    functionDepth: 3
    functionLinenumber: 1350
    functionLinenumberEnd: 1378
    functionName: snappy::BM_UFlatSink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - snappy::Compress
    - ARRAYSIZE
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkBytesProcessed
    - CHECK_EQ
    - std::string::size
    - CHECK
    - CHECK_GE
    - snappy::StopBenchmarkTiming
    - std::string::data
    - char::char
    - snappy::SetBenchmarkLabel
    - snappy::ReadTestDataFile
    - static_cast<int64>
    - snappy::Uncompress
    - CHECK_LT
    linkageType: ''
    returnType: void
    signature: void BM_UFlatSink(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1383,1
    - Dst: CHECK_GE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1386,1
    - Dst: CHECK_LT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1387,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1387,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1389,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1391,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1391,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1391,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1393,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1393,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1394,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1394,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1395,1
    - Dst: SnappyIOVecWriter::RawCompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1399,1
    - Dst: std::string::data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1399,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1399,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1401,1
    - Dst: static_cast<double>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1403,1
    - Dst: std::max<size_t>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1403,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1403,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1404,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1404,1
    - Dst: VLOG
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1406,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1406,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1407,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1407,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1382
    functionDepth: 2
    functionLinenumber: 1382
    functionLinenumberEnd: 1410
    functionName: snappy::BM_ZFlat
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - SnappyIOVecWriter::RawCompress
    - std::string::data
    - snappy::ReadTestDataFile
    - static_cast<double>
    - snappy::StartBenchmarkTiming
    - VLOG
    - snappy::SetBenchmarkLabel
    - static_cast<int>
    - ARRAYSIZE
    - snappy::SetBenchmarkBytesProcessed
    - MaxCompressedLength
    - std::max<size_t>
    - snappy::StopBenchmarkTiming
    - char::char
    - snappy::StrFormat
    - std::string::size
    - CHECK_GE
    - static_cast<int64>
    - CHECK_LT
    linkageType: ''
    returnType: void
    signature: void BM_ZFlat(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1414,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1416,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1417,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1424,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1425,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1425,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1425,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1426,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1429,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1429,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1430,1
    - Dst: SnappyIOVecWriter::RawCompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1435,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1435,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1435,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1439,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1444,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1445
    functionName: snappy::BM_ZFlatAll
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - ARRAYSIZE
    - SnappyIOVecWriter::RawCompress
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkBytesProcessed
    - CHECK_EQ
    - MaxCompressedLength
    - snappy::StopBenchmarkTiming
    - char::char
    - data
    - snappy::SetBenchmarkLabel
    - size
    - snappy::StrFormat
    - snappy::ReadTestDataFile
    - static_cast<int64>
    linkageType: ''
    returnType: void
    signature: void BM_ZFlatAll(int iters, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1449,1
    - Dst: CHECK_EQ
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1451,1
    - Dst: CHECK_GT
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1452,1
    - Dst: ARRAYSIZE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1452,1
    - Dst: snappy::ReadTestDataFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1454,1
    - Dst: std::string::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1462,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1463,1
    - Dst: MaxCompressedLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1463,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1463,1
    - Dst: char::char
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1463,1
    - Dst: std::string::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1464,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1465,1
    - Dst: std::move
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1465,1
    - Dst: snappy::SetBenchmarkBytesProcessed
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1469,1
    - Dst: static_cast<int64>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1469,1
    - Dst: snappy::StartBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1470,1
    - Dst: std::vector::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1472,1
    - Dst: SnappyIOVecWriter::RawCompress
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1473,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1473,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1473,1
    - Dst: snappy::StopBenchmarkTiming
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1477,1
    - Dst: std::vector::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1479,1
    - Dst: snappy::SetBenchmarkLabel
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1482,1
    - Dst: snappy::StrFormat
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1482,1
    - Dst: std::vector::size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - iters
    - arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1448
    functionDepth: 2
    functionLinenumber: 1448
    functionLinenumberEnd: 1483
    functionName: snappy::BM_ZFlatIncreasingTableSize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - std::move
    - SnappyIOVecWriter::RawCompress
    - std::string::resize
    - snappy::ReadTestDataFile
    - snappy::StartBenchmarkTiming
    - snappy::SetBenchmarkLabel
    - std::vector::size
    - size
    - std::vector::push_back
    - CHECK_GT
    - ARRAYSIZE
    - snappy::SetBenchmarkBytesProcessed
    - CHECK_EQ
    - MaxCompressedLength
    - snappy::StopBenchmarkTiming
    - char::char
    - snappy::StrFormat
    - std::string::size
    - data
    - static_cast<int64>
    linkageType: ''
    returnType: void
    signature: void BM_ZFlatIncreasingTableSize(int iters, int arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: InitGoogle
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1489,1
    - Dst: RunSpecifiedBenchmarks
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1490,1
    - Dst: snappy::CompressFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1495,1
    - Dst: snappy::UncompressFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1497,1
    - Dst: snappy::MeasureFile
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1499,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc:1505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1488
    functionDepth: 5
    functionLinenumber: 1488
    functionLinenumberEnd: 1506
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy_unittest.cc
    functionUses: 0
    functionsReached:
    - RunSpecifiedBenchmarks
    - InitGoogle
    - snappy::MeasureFile
    - RUN_ALL_TESTS
    - snappy::UncompressFile
    - snappy::CompressFile
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - argc
    - ','
    - argv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: INIT_GTEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_GTEST(argc, argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - test_case
    - ','
    - test_subcase
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST(test_case, test_subcase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: EXPECT_FALSE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_FALSE(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - argv0
    - ','
    - argc
    - ','
    - argv
    - ','
    - remove_flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: InitGoogle
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: InitGoogle(argv0, argc, argv, remove_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - flag_name
    - ','
    - default_value
    - ','
    - description
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: DEFINE_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_int32(flag_name, default_value, description)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - argv0
    - ','
    - argc
    - ','
    - argv
    - ','
    - remove_flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: InitGoogle
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: InitGoogle(argv0, argc, argv, remove_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: file::Defaults
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Defaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: file::DummyStatus::CheckSuccess
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckSuccess()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:123,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:123,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:125,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:125,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:126,1
    - Dst: std::string*::clear
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:129,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:130,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:132,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:133,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:134,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:135,1
    - Dst: std::string*::append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:137,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:137,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:140,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' filename'
    - data
    - unused
    argTypes:
    - std::string
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: file::GetContents
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 8
    functionsReached:
    - ferror
    - feof
    - std::string
    - std::string*::clear
    - fread
    - perror
    - fclose
    - DummyStatus
    - fopen
    - std::string*::append
    - c_str
    - exit
    linkageType: ''
    returnType: DummyStatus
    signature: "DummyStatus GetContents(\n      const std::string& filename, std::string*
      data, int unused)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:147,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:147,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:149,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:149,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:150,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:155,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:156,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:159,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' filename'
    - ' str'
    - unused
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: file::SetContents
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 4
    functionsReached:
    - perror
    - data
    - fclose
    - size
    - fopen
    - fwrite
    - DummyStatus
    - c_str
    - exit
    linkageType: ''
    returnType: DummyStatus
    signature: "DummyStatus SetContents(\n      const std::string& filename, const
      std::string& str, int unused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: file::Defaults
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Defaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: file::DummyStatus::CheckSuccess
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckSuccess()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:123,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:123,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:125,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:125,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:126,1
    - Dst: std::string*::clear
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:129,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:130,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:132,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:133,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:134,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:135,1
    - Dst: std::string*::append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:137,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:137,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:140,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' filename'
    - data
    - unused
    argTypes:
    - std::string
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: file::GetContents
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 8
    functionsReached:
    - ferror
    - feof
    - std::string
    - std::string*::clear
    - fread
    - perror
    - fclose
    - DummyStatus
    - fopen
    - std::string*::append
    - c_str
    - exit
    linkageType: ''
    returnType: DummyStatus
    signature: "DummyStatus GetContents(\n      const std::string& filename, std::string*
      data, int unused)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:147,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:147,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:149,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:149,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:150,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:155,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:156,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:159,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' filename'
    - ' str'
    - unused
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: file::SetContents
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 4
    functionsReached:
    - perror
    - data
    - fclose
    - size
    - fopen
    - fwrite
    - DummyStatus
    - c_str
    - exit
    linkageType: ''
    returnType: DummyStatus
    signature: "DummyStatus SetContents(\n      const std::string& filename, const
      std::string& str, int unused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: file::Defaults
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Defaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: file::DummyStatus::CheckSuccess
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckSuccess()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:123,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:123,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:125,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:125,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:126,1
    - Dst: std::string*::clear
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:129,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:130,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:132,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:133,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:134,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:135,1
    - Dst: std::string*::append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:137,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:137,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:140,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' filename'
    - data
    - unused
    argTypes:
    - std::string
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: file::GetContents
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 8
    functionsReached:
    - ferror
    - feof
    - std::string
    - std::string*::clear
    - fread
    - perror
    - fclose
    - DummyStatus
    - fopen
    - std::string*::append
    - c_str
    - exit
    linkageType: ''
    returnType: DummyStatus
    signature: "DummyStatus GetContents(\n      const std::string& filename, std::string*
      data, int unused)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:147,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:147,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:149,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:149,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:150,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:155,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:156,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:159,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' filename'
    - ' str'
    - unused
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: file::SetContents
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 4
    functionsReached:
    - perror
    - data
    - fclose
    - size
    - fopen
    - fwrite
    - DummyStatus
    - c_str
    - exit
    linkageType: ''
    returnType: DummyStatus
    signature: "DummyStatus SetContents(\n      const std::string& filename, const
      std::string& str, int unused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: file::Defaults
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Defaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: file::DummyStatus::CheckSuccess
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckSuccess()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:123,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:123,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:125,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:125,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:126,1
    - Dst: std::string*::clear
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:129,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:130,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:132,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:133,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:134,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:135,1
    - Dst: std::string*::append
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:137,1
    - Dst: std::string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:137,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:140,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' filename'
    - data
    - unused
    argTypes:
    - std::string
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: file::GetContents
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 8
    functionsReached:
    - ferror
    - feof
    - std::string
    - std::string*::clear
    - fread
    - perror
    - fclose
    - DummyStatus
    - fopen
    - std::string*::append
    - c_str
    - exit
    linkageType: ''
    returnType: DummyStatus
    signature: "DummyStatus GetContents(\n      const std::string& filename, std::string*
      data, int unused)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:147,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:147,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:149,1
    - Dst: c_str
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:149,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:150,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: data
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: size
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:153,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:155,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:156,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:159,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' filename'
    - ' str'
    - unused
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: file::SetContents
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 4
    functionsReached:
    - perror
    - data
    - fclose
    - size
    - fopen
    - fwrite
    - DummyStatus
    - c_str
    - exit
    linkageType: ''
    returnType: DummyStatus
    signature: "DummyStatus SetContents(\n      const std::string& filename, const
      std::string& str, int unused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: snappy::CycleTimer::CycleTimer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CycleTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:200,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: snappy::CycleTimer::Start
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached:
    - QueryPerformanceCounter
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:210,1
    - Dst: QueryPerformanceFrequency
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:211,1
    - Dst: static_cast<double>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:213,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: snappy::CycleTimer::Stop
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached:
    - QueryPerformanceCounter
    - QueryPerformanceFrequency
    - static_cast<double>
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: snappy::CycleTimer::Get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' name'
    - function
    argTypes:
    - std::string
    - BenchmarkFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: snappy::Benchmark::Benchmark
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Benchmark(const std::string& name, BenchmarkFunction function)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: snappy::Benchmark::DenseRange
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Benchmark
    signature: Benchmark * DenseRange(int start, int stop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - benchmark_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: BENCHMARK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BENCHMARK(benchmark_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uncompress_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: snappy::ZLib::MinCompressbufSize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MinCompressbufSize(int uncompress_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: snappy::CycleTimer::CycleTimer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CycleTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:200,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: snappy::CycleTimer::Start
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached:
    - QueryPerformanceCounter
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:210,1
    - Dst: QueryPerformanceFrequency
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:211,1
    - Dst: static_cast<double>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:213,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: snappy::CycleTimer::Stop
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached:
    - QueryPerformanceCounter
    - QueryPerformanceFrequency
    - static_cast<double>
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: snappy::CycleTimer::Get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' name'
    - function
    argTypes:
    - std::string
    - BenchmarkFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: snappy::Benchmark::Benchmark
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Benchmark(const std::string& name, BenchmarkFunction function)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: snappy::Benchmark::DenseRange
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Benchmark
    signature: Benchmark * DenseRange(int start, int stop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - benchmark_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: BENCHMARK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BENCHMARK(benchmark_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uncompress_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: snappy::ZLib::MinCompressbufSize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MinCompressbufSize(int uncompress_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:407,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:409,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:412,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:414,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:415,1
    - Dst: Run
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:417,1
    - Dst: Run
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:418,1
    - Dst: Run
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:419,1
    - Dst: Run
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:420,1
    - Dst: Run
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:421,1
    - Dst: Run
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:422,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 425
    functionName: RunSpecifiedBenchmarks
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 1
    functionsReached:
    - fprintf
    - Run
    linkageType: ''
    returnType: void
    signature: void RunSpecifiedBenchmarks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:430,1
    - Dst: snappy::Test_CorruptedTest_VerifyCorrupted
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:431,1
    - Dst: snappy::Test_Snappy_SimpleTests
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:432,1
    - Dst: snappy::Test_Snappy_MaxBlowup
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:433,1
    - Dst: snappy::Test_Snappy_RandomData
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:434,1
    - Dst: snappy::Test_Snappy_FourByteOffset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:435,1
    - Dst: snappy::Test_SnappyCorruption_TruncatedVarint
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:436,1
    - Dst: snappy::Test_SnappyCorruption_UnterminatedVarint
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:437,1
    - Dst: snappy::Test_SnappyCorruption_OverflowingVarint
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:438,1
    - Dst: snappy::Test_Snappy_ReadPastEndOfBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:439,1
    - Dst: snappy::Test_Snappy_FindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:440,1
    - Dst: snappy::Test_Snappy_FindMatchLengthRandom
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:441,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 445
    functionName: RUN_ALL_TESTS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 4
    functionsReached:
    - snappy::Test_CorruptedTest_VerifyCorrupted
    - fprintf
    - snappy::Test_SnappyCorruption_TruncatedVarint
    - snappy::Test_SnappyCorruption_OverflowingVarint
    - snappy::Test_Snappy_FindMatchLength
    - snappy::Test_Snappy_FindMatchLengthRandom
    - snappy::Test_Snappy_SimpleTests
    - snappy::Test_Snappy_FourByteOffset
    - snappy::Test_Snappy_ReadPastEndOfBuffer
    - snappy::Test_Snappy_RandomData
    - snappy::Test_Snappy_MaxBlowup
    - snappy::Test_SnappyCorruption_UnterminatedVarint
    linkageType: ''
    returnType: int
    signature: int RUN_ALL_TESTS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: LOG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG(level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: VLOG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLOG(level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: snappy::LogMessage::LogMessage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: ~LogMessage()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LogMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: '& operator<<(const std::string& msg)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & operator<<(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: '& operator<<(int x)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & operator<<(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: CRASH_UNLESS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRASH_UNLESS(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: snappy::LogMessageCrash::LogMessageCrash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogMessageCrash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: ~LogMessageCrash()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void ~LogMessageCrash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: snappy::LogMessageVoidify::LogMessageVoidify
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogMessageVoidify()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: operator&(const LogMessage&)
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator&(const LogMessage&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 515
    functionName: CHECK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(cond)
  - 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: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: CHECK_LE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_LE(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: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: CHECK_GE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_GE(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: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: CHECK_EQ
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EQ(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: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: CHECK_NE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NE(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: 520
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 520
    functionName: CHECK_LT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_LT(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: 521
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 521
    functionName: CHECK_GT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 522
    functionName: CHECK_OK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: LOG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG(level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: VLOG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLOG(level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: snappy::LogMessage::LogMessage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: ~LogMessage()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LogMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: '& operator<<(const std::string& msg)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & operator<<(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: '& operator<<(int x)'
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & operator<<(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: CRASH_UNLESS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRASH_UNLESS(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: snappy::LogMessageCrash::LogMessageCrash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogMessageCrash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: ~LogMessageCrash()
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void ~LogMessageCrash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    functionName: snappy::LogMessageVoidify::LogMessageVoidify
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogMessageVoidify()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: operator&(const LogMessage&)
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator&(const LogMessage&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 515
    functionName: CHECK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(cond)
  - 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: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: CHECK_LE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_LE(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: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: CHECK_GE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_GE(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: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: CHECK_EQ
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EQ(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: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: CHECK_NE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NE(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: 520
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 520
    functionName: CHECK_LT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_LT(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: 521
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 521
    functionName: CHECK_GT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 522
    functionName: CHECK_OK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OK(cond)
  - 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: __has_feature
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_feature(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - address
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: SNAPPY_ANNOTATE_MEMORY_IS_INITIALIZED
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SNAPPY_ANNOTATE_MEMORY_IS_INITIALIZED(address, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: ARRAYSIZE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAYSIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: SNAPPY_PREDICT_FALSE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SNAPPY_PREDICT_FALSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: SNAPPY_PREDICT_TRUE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SNAPPY_PREDICT_TRUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: SNAPPY_PREDICT_FALSE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SNAPPY_PREDICT_FALSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: SNAPPY_PREDICT_TRUE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SNAPPY_PREDICT_TRUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - flag_name
    - ','
    - default_value
    - ','
    - description
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: DEFINE_bool
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_bool(flag_name, default_value, description)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flag_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: DECLARE_bool
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_bool(flag_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: UNALIGNED_LOAD16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD16(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: UNALIGNED_LOAD32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD32(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: UNALIGNED_LOAD64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD64(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: UNALIGNED_STORE16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE16(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: UNALIGNED_STORE32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE32(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: UNALIGNED_STORE64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE64(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: UNALIGNED_LOAD16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD16(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: UNALIGNED_LOAD32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD32(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: UNALIGNED_STORE16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE16(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: UNALIGNED_STORE32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE32(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: snappy::UNALIGNED_LOAD64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64
    signature: uint64 UNALIGNED_LOAD64(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: snappy::UNALIGNED_STORE64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UNALIGNED_STORE64(void *p, uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: snappy::UNALIGNED_LOAD16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint16
    signature: uint16 UNALIGNED_LOAD16(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: snappy::UNALIGNED_LOAD32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32
    signature: uint32 UNALIGNED_LOAD32(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: snappy::UNALIGNED_LOAD64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64
    signature: uint64 UNALIGNED_LOAD64(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: snappy::UNALIGNED_STORE16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UNALIGNED_STORE16(void *p, uint16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: snappy::UNALIGNED_STORE32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UNALIGNED_STORE32(void *p, uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: snappy::UNALIGNED_STORE64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UNALIGNED_STORE64(void *p, uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: snappy::bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: uint16 bswap_16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: snappy::bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 bswap_32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: snappy::bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 bswap_64(uint64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: snappy::LittleEndian::FromHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: uint16 FromHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: snappy::LittleEndian::ToHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: uint16 ToHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: snappy::LittleEndian::FromHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32
    signature: uint32 FromHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: snappy::LittleEndian::ToHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32
    signature: uint32 ToHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: snappy::LittleEndian::IsLittleEndian
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLittleEndian()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: snappy::LittleEndian::FromHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: uint16 FromHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: snappy::LittleEndian::ToHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: uint16 ToHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: snappy::LittleEndian::FromHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 FromHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: snappy::LittleEndian::ToHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 ToHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: snappy::LittleEndian::IsLittleEndian
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLittleEndian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::LittleEndian::ToHost16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:349,1
    - Dst: UNALIGNED_LOAD16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: snappy::LittleEndian::Load16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - snappy::LittleEndian::ToHost16
    - UNALIGNED_LOAD16
    linkageType: ''
    returnType: uint16
    signature: uint16 Load16(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_STORE16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:353,1
    - Dst: snappy::LittleEndian::FromHost16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: snappy::LittleEndian::Store16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - UNALIGNED_STORE16
    - snappy::LittleEndian::FromHost16
    linkageType: ''
    returnType: void
    signature: void Store16(void *p, uint16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::LittleEndian::ToHost32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:357,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: snappy::LittleEndian::Load32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached:
    - UNALIGNED_LOAD32
    - snappy::LittleEndian::ToHost32
    linkageType: ''
    returnType: uint32
    signature: uint32 Load32(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_STORE32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:361,1
    - Dst: snappy::LittleEndian::FromHost32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: snappy::LittleEndian::Store32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached:
    - UNALIGNED_STORE32
    - snappy::LittleEndian::FromHost32
    linkageType: ''
    returnType: void
    signature: void Store32(void *p, uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:392,1
    - Dst: __builtin_clz
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: snappy::Bits::Log2FloorNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - assert
    - __builtin_clz
    linkageType: ''
    returnType: int
    signature: int Bits::Log2FloorNonZero(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Bits::Log2FloorNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: snappy::Bits::Log2Floor
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached:
    - snappy::Bits::Log2FloorNonZero
    linkageType: ''
    returnType: int
    signature: int Bits::Log2Floor(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:407,1
    - Dst: __builtin_ctz
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: snappy::Bits::FindLSBSetNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 4
    functionsReached:
    - assert
    - __builtin_ctz
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:413,1
    - Dst: __builtin_ctzll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: snappy::Bits::FindLSBSetNonZero64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 4
    functionsReached:
    - assert
    - __builtin_ctzll
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero64(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:421,1
    - Dst: _BitScanReverse
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:423,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: snappy::Bits::Log2FloorNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached:
    - assert
    - _BitScanReverse
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Bits::Log2FloorNonZero(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:429,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 432
    functionName: snappy::Bits::Log2Floor
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - _BitScanReverse
    linkageType: ''
    returnType: int
    signature: int Bits::Log2Floor(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:435,1
    - Dst: _BitScanForward
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:437,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: snappy::Bits::FindLSBSetNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 4
    functionsReached:
    - assert
    - _BitScanForward
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:444,1
    - Dst: _BitScanForward64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:446,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: snappy::Bits::FindLSBSetNonZero64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 4
    functionsReached:
    - assert
    - _BitScanForward64
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero64(uint64 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:455,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    - condition: (value == 1)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 469
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 469
    functionName: snappy::Bits::Log2FloorNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int Bits::Log2FloorNonZero(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Bits::Log2FloorNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: snappy::Bits::Log2Floor
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached:
    - snappy::Bits::Log2FloorNonZero
    linkageType: ''
    returnType: int
    signature: int Bits::Log2Floor(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 488
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 488
    functionName: snappy::Bits::FindLSBSetNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:493,1
    - Dst: static_cast<uint32>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:495,1
    - Dst: snappy::Bits::FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:498,1
    - Dst: static_cast<uint32>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:498,1
    - Dst: snappy::Bits::FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 502
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 502
    functionName: snappy::Bits::FindLSBSetNonZero64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 4
    functionsReached:
    - assert
    - snappy::Bits::FindLSBSetNonZero
    - static_cast<uint32>
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero64(uint64 n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:533,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:534,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:549,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - p
    - l
    - OUTPUT
    argTypes:
    - char*
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 550
    functionName: snappy::Varint::Parse32WithLimit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const char*>
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: char
    signature: "char * Varint::Parse32WithLimit(const char* p,\n                                            const
      char* l,\n                                            uint32* OUTPUT)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:554,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - sptr
    - v
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 578
    functionName: snappy::Varint::Encode32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<unsigned char*>
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: char
    signature: char * Varint::Encode32(char* sptr, uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - new_size
    argTypes:
    - std::string*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: snappy::STLStringResizeUninitialized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - std::string*::resize
    linkageType: ''
    returnType: void
    signature: void STLStringResizeUninitialized(std::string* s, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:601,1
    - Dst: std::string*::begin
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: snappy::string_as_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 8
    functionsReached:
    - std::string*::empty
    - std::string*::begin
    linkageType: ''
    returnType: char
    signature: char * string_as_array(std::string* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: UNALIGNED_LOAD16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD16(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: UNALIGNED_LOAD32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD32(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: UNALIGNED_LOAD64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD64(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: UNALIGNED_STORE16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE16(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: UNALIGNED_STORE32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE32(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: UNALIGNED_STORE64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE64(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: UNALIGNED_LOAD16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD16(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: UNALIGNED_LOAD32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD32(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: UNALIGNED_STORE16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE16(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: UNALIGNED_STORE32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE32(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: snappy::UNALIGNED_LOAD64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64
    signature: uint64 UNALIGNED_LOAD64(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: snappy::UNALIGNED_STORE64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UNALIGNED_STORE64(void *p, uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: snappy::UNALIGNED_LOAD16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint16
    signature: uint16 UNALIGNED_LOAD16(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: snappy::UNALIGNED_LOAD32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32
    signature: uint32 UNALIGNED_LOAD32(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: snappy::UNALIGNED_LOAD64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64
    signature: uint64 UNALIGNED_LOAD64(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: snappy::UNALIGNED_STORE16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UNALIGNED_STORE16(void *p, uint16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: snappy::UNALIGNED_STORE32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UNALIGNED_STORE32(void *p, uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: snappy::UNALIGNED_STORE64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UNALIGNED_STORE64(void *p, uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: snappy::bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: uint16 bswap_16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: snappy::bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 bswap_32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: snappy::bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 bswap_64(uint64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: snappy::LittleEndian::FromHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: uint16 FromHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: snappy::LittleEndian::ToHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: uint16 ToHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: snappy::LittleEndian::FromHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32
    signature: uint32 FromHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: snappy::LittleEndian::ToHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32
    signature: uint32 ToHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: snappy::LittleEndian::IsLittleEndian
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLittleEndian()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: snappy::LittleEndian::FromHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: uint16 FromHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: snappy::LittleEndian::ToHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: uint16 ToHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: snappy::LittleEndian::FromHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 FromHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: snappy::LittleEndian::ToHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 ToHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: snappy::LittleEndian::IsLittleEndian
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLittleEndian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::LittleEndian::ToHost16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:349,1
    - Dst: UNALIGNED_LOAD16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: snappy::LittleEndian::Load16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - snappy::LittleEndian::ToHost16
    - UNALIGNED_LOAD16
    linkageType: ''
    returnType: uint16
    signature: uint16 Load16(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_STORE16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:353,1
    - Dst: snappy::LittleEndian::FromHost16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: snappy::LittleEndian::Store16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - UNALIGNED_STORE16
    - snappy::LittleEndian::FromHost16
    linkageType: ''
    returnType: void
    signature: void Store16(void *p, uint16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::LittleEndian::ToHost32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:357,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: snappy::LittleEndian::Load32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached:
    - UNALIGNED_LOAD32
    - snappy::LittleEndian::ToHost32
    linkageType: ''
    returnType: uint32
    signature: uint32 Load32(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_STORE32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:361,1
    - Dst: snappy::LittleEndian::FromHost32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: snappy::LittleEndian::Store32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached:
    - UNALIGNED_STORE32
    - snappy::LittleEndian::FromHost32
    linkageType: ''
    returnType: void
    signature: void Store32(void *p, uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:392,1
    - Dst: __builtin_clz
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: snappy::Bits::Log2FloorNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 2
    functionsReached:
    - assert
    - __builtin_clz
    linkageType: ''
    returnType: int
    signature: int Bits::Log2FloorNonZero(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Bits::Log2FloorNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: snappy::Bits::Log2Floor
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached:
    - snappy::Bits::Log2FloorNonZero
    linkageType: ''
    returnType: int
    signature: int Bits::Log2Floor(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:407,1
    - Dst: __builtin_ctz
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: snappy::Bits::FindLSBSetNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached:
    - assert
    - __builtin_ctz
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:413,1
    - Dst: __builtin_ctzll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: snappy::Bits::FindLSBSetNonZero64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 4
    functionsReached:
    - assert
    - __builtin_ctzll
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero64(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:421,1
    - Dst: _BitScanReverse
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:423,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: snappy::Bits::Log2FloorNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 3
    functionsReached:
    - assert
    - _BitScanReverse
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Bits::Log2FloorNonZero(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:429,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 432
    functionName: snappy::Bits::Log2Floor
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - _BitScanReverse
    linkageType: ''
    returnType: int
    signature: int Bits::Log2Floor(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:435,1
    - Dst: _BitScanForward
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:437,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: snappy::Bits::FindLSBSetNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached:
    - assert
    - _BitScanForward
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:444,1
    - Dst: _BitScanForward64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:446,1
    - Dst: static_cast<int>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: snappy::Bits::FindLSBSetNonZero64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 4
    functionsReached:
    - assert
    - _BitScanForward64
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero64(uint64 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:455,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    - condition: (value == 1)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 469
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 469
    functionName: snappy::Bits::Log2FloorNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int Bits::Log2FloorNonZero(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snappy::Bits::Log2FloorNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: snappy::Bits::Log2Floor
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached:
    - snappy::Bits::Log2FloorNonZero
    linkageType: ''
    returnType: int
    signature: int Bits::Log2Floor(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 488
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 488
    functionName: snappy::Bits::FindLSBSetNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:493,1
    - Dst: static_cast<uint32>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:495,1
    - Dst: snappy::Bits::FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:498,1
    - Dst: static_cast<uint32>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:498,1
    - Dst: snappy::Bits::FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts:
    - condition: (n != 0)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    constantsTouched: []
    func_position:
      end: 502
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 502
    functionName: snappy::Bits::FindLSBSetNonZero64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 4
    functionsReached:
    - assert
    - snappy::Bits::FindLSBSetNonZero
    - static_cast<uint32>
    linkageType: ''
    returnType: int
    signature: int Bits::FindLSBSetNonZero64(uint64 n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:533,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:534,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:549,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - p
    - l
    - OUTPUT
    argTypes:
    - char*
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 550
    functionName: snappy::Varint::Parse32WithLimit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const char*>
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: char
    signature: "char * Varint::Parse32WithLimit(const char* p,\n                                            const
      char* l,\n                                            uint32* OUTPUT)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:554,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - sptr
    - v
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 578
    functionName: snappy::Varint::Encode32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<unsigned char*>
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: char
    signature: char * Varint::Encode32(char* sptr, uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - new_size
    argTypes:
    - std::string*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: snappy::STLStringResizeUninitialized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 0
    functionsReached:
    - std::string*::resize
    linkageType: ''
    returnType: void
    signature: void STLStringResizeUninitialized(std::string* s, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:601,1
    - Dst: std::string*::begin
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: snappy::string_as_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: 8
    functionsReached:
    - std::string*::empty
    - std::string*::begin
    linkageType: ''
    returnType: char
    signature: char * string_as_array(std::string* str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:53,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:56,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 70
    functionName: sub_parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/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/libargp/argp-test.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - key
    - text
    - input
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: sub_help_filter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/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/libargp/argp-test.c:127,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:128,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:130,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:132,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: popt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c
    functionUses: 0
    functionsReached:
    - isprint
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: void popt(int key, char *arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:143,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:149,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:154,1
    - Dst: popt
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:157,1
    - Dst: popt
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 175
    functionName: parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c
    functionUses: 0
    functionsReached:
    - popt
    - printf
    - atoi
    linkageType: ''
    returnType: error_t
    signature: error_t parse_opt(int key, char *arg, struct argp_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:186,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c
    functionUses: 0
    functionsReached:
    - printf
    - argp_parse
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - 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/libargp/src/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/libargp/src/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/libargp/src/getopt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(A)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:195,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:200,1
    - Dst: __mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:200,1
    - Dst: SWAP_FLAGS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:223,1
    - Dst: SWAP_FLAGS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 0
    functionLinenumber: 174
    functionLinenumberEnd: 251
    functionName: exchange
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    - SWAP_FLAGS
    - __mempcpy
    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/libargp/src/getopt.c:267,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:298,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:302,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:306,1
    - Dst: __mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/getopt.c
    functionUses: 0
    functionsReached:
    - getenv
    - strlen
    - __mempcpy
    - memset
    - 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/libargp/src/getopt.c:393,1
    - Dst: exchange
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:427,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:444,1
    - Dst: exchange
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:450,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:506,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:522,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:525,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:554,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:554,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:557,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:562,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:565,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:567,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:570,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:570,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:574,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:603,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:603,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:607,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:607,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:616,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:616,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:621,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:621,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:631,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:637,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:640,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:642,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:647,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:664,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:664,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:668,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:674,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:677,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:679,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:682,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:683,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:687,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:692,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:708,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:721,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:721,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:724,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:724,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:732,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:732,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:735,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:735,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:743,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:748,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:751,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:753,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:768,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:784,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:784,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:787,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:787,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:793,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:798,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:801,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:803,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:836,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:837,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:840,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:845,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:848,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:850,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:853,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:854,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:880,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:882,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:907,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:907,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:910,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:915,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:918,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:920,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:923,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:923,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:927,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:947,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:947,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:951,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:957,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:960,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:962,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:965,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:965,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:971,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:986,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:986,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:990,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:996,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:999,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1001,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1004,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1005,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1009,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1013,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1057,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1057,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1061,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1066,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1069,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1071,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1074,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 0
    functionLinenumber: 375
    functionLinenumberEnd: 1094
    functionName: _getopt_internal_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c
    functionUses: 0
    functionsReached:
    - strlen
    - fprintf
    - _IO_funlockfile
    - strchr
    - __fxprintf
    - _IO_flockfile
    - _getopt_initialize
    - exchange
    - _
    - free
    - __asprintf
    - strncmp
    - 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/libargp/src/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: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1113
    functionName: _getopt_internal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1122
    functionName: getopt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/getopt.c:1141,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1158,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1160,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1164,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1168,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1172,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1179,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1185,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1187,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1188,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1192
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: sleep
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: dgettext
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: dgettext
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: gettext
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: N_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-parse.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - __state
    argTypes:
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: argp_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-parse.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - __opt
    argTypes:
    - struct argp_option*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: _option_is_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: _option_is_end
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-parse.c:154,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:157,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:170,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:188,1
    - Dst: sleep
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 197
    functionName: argp_default_parser
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: 0
    functionsReached:
    - strrchr
    - argp_state_help
    - sleep
    - atoi
    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/libargp/src/argp-parse.c:218,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:220,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:220,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 229
    functionName: argp_version_parser
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: 0
    functionsReached:
    - dgettext
    - fprintf
    - argp_error
    - exit
    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/libargp/src/argp-parse.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - long_options
    - name
    argTypes:
    - struct option*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: find_long_option
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 301
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 301
    functionName: group_parse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-parse.c:365,1
    - Dst: _option_is_short
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:374,1
    - Dst: find_long_option
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:388,1
    - Dst: convert_options
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:446,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: 450
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 450
    functionName: convert_options
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: 1
    functionsReached:
    - _option_is_short
    - _option_is_end
    - convert_options
    - find_long_option
    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/libargp/src/argp-parse.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - parser
    - argp
    - flags
    argTypes:
    - struct parser*
    - struct argp*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 477
    functionName: parser_convert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-parse.c:504,1
    - Dst: calc_sizes
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - argp
    - szs
    argTypes:
    - struct argp*
    - struct parser_sizes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 517
    functionName: calc_sizes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-parse.c:535,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:543,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:557,1
    - Dst: parser_convert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:558,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:560,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:591,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:614,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:616,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:621,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: 624
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 624
    functionName: parser_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: 0
    functionsReached:
    - strrchr
    - argp_short_program_name
    - memset
    - malloc
    - group_parse
    - calc_sizes
    - parser_convert
    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/libargp/src/argp-parse.c:647,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:651,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:668,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:669,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:685,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:690,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:701,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:708,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:713,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: 716
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 716
    functionName: parser_finalize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: 0
    functionsReached:
    - fprintf
    - argp_state_help
    - group_parse
    - 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/libargp/src/argp-parse.c:740,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:747,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - parser
    - val
    argTypes:
    - struct parser*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 770
    functionName: parser_parse_arg
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-parse.c:788,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:794,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:803,1
    - Dst: N_
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:813,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:815,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:816,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:822,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:824,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - parser
    - opt
    - val
    argTypes:
    - struct parser*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 829
    functionName: parser_parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: 0
    functionsReached:
    - N_
    - argp_error
    - strchr
    - group_parse
    - dgettext
    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/libargp/src/argp-parse.c:856,1
    - Dst: _getopt_long_r
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:860,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:872,1
    - Dst: parser_parse_arg
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:912,1
    - Dst: parser_parse_opt
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:914,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - parser
    - arg_ebadkey
    argTypes:
    - struct parser*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 920
    functionName: parser_parse_next
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: 0
    functionsReached:
    - parser_parse_opt
    - _getopt_long_r
    - _getopt_long_only_r
    - 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/libargp/src/argp-parse.c:942,1
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:943,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:947,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:950,1
    - Dst: parser_init
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:963,1
    - Dst: parser_parse_next
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:969,1
    - Dst: parser_finalize
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:970,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: 974
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 974
    functionName: argp_parse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: 5
    functionsReached:
    - memset
    - parser_init
    - alloca
    - parser_finalize
    - parser_parse_next
    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: 992
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 992
    functionName: _argp_input
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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/libargp/src/argp-fmtstream.c:50,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: argp_fmtstream_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-fmtstream.c:63,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: argp_fmtstream_puts
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: argp_fmtstream_putc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: argp_fmtstream_set_lmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: argp_fmtstream_set_rmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: argp_fmtstream_set_wmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: argp_fmtstream_point
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-fmtstream.c:142,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:153,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    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/libargp/src/argp-fmtstream.c:174,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:177,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:179,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 0
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: argp_fmtstream_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - fwrite
    - _argp_fmtstream_update
    - free
    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/libargp/src/argp-fmtstream.c:205,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:207,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:216,1
    - Dst: memchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:223,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:263,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:289,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:299,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:310,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:323,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:343,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:353,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:354,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:373,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 0
    functionLinenumber: 185
    functionLinenumberEnd: 396
    functionName: _argp_fmtstream_update
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: 5
    functionsReached:
    - putc
    - memchr
    - isblank
    - memset
    - memmove
    - fwrite
    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/libargp/src/argp-fmtstream.c:408,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:410,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:421,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 0
    functionLinenumber: 400
    functionLinenumberEnd: 445
    functionName: _argp_fmtstream_ensure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: 2
    functionsReached:
    - fwrite
    - realloc
    - _argp_fmtstream_update
    - 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/libargp/src/argp-fmtstream.c:458,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:461,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:463,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 1
    functionLinenumber: 447
    functionLinenumberEnd: 473
    functionName: argp_fmtstream_printf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - _argp_fmtstream_ensure
    - va_start
    - va_end
    - vsnprintf
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: argp_fmtstream_lmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: argp_fmtstream_rmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: argp_fmtstream_wmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: getopt_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: _getopt_long_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: getopt_long_only
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/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: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: _getopt_long_only_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/getopt1.c:127,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:135,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:137,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:138,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:152,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:154,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:158,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:162,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:166,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:170,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:177,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:183,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:185,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:186,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 0
    functionLinenumber: 106
    functionLinenumberEnd: 190
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c
    functionUses: 0
    functionsReached:
    - exit
    - getopt_long
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt_init.c:55,1
    - Dst: _itoa_word
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt_init.c:57,1
    - Dst: __getpid
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt_init.c:57,1
    - Dst: __builtin_expect
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt_init.c:64,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/getopt_init.c
    functionUses: 0
    functionsReached:
    - __builtin_expect
    - _itoa_word
    - memcpy
    - __getpid
    - strncmp
    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: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: dgettext
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: dgettext
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: mempcpy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:121,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - c_in
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: strchrnul
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:135,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:138,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:140,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:143,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: strndup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 3
    functionsReached:
    - strlen
    - memcpy
    - calloc
    linkageType: ''
    returnType: char
    signature: char * strndup (const char *s, size_t n)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:227,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:235,1
    - Dst: isalpha
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:237,1
    - Dst: isalnum
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:244,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:248,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:255,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:269,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:271,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:272,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:274,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:280,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:281,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:284,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:285,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:295,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:296,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:307,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:308,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 314
    functionName: fill_in_uparams
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - getenv
    - strlen
    - isalnum
    - SKIPWS
    - isdigit
    - atoi
    - isalpha
    - argp_failure
    - dgettext
    - strncmp
    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: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: SKIPWS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: ovisible
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: oalias
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: odoc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: oend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: oshort
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 406
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: find_char
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:494,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:496,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:506,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:506,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:509,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:511,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:513,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:517,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:518,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:520,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:522,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:527,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:544,1
    - Dst: find_char
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:544,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:549,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - argp
    - cluster
    argTypes:
    - struct argp*
    - struct hol_cluster*
    assertStmts:
    - condition: (hol)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    - condition: (! oalias (opts))
      pos:
        line_end: 505
        line_start: 505
        source_file: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    - condition: (hol->entries && hol->short_options)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    - condition: (hol->num_entries <= SIZE_MAX / sizeof (struct hol_entry))
      pos:
        line_end: 521
        line_start: 521
        source_file: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    constantsTouched: []
    func_position:
      end: 555
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 555
    functionName: make_hol
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - assert
    - find_char
    - oend
    - malloc
    - oshort
    - oalias
    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/libargp/src/argp-help.c:564,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: 579
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 579
    functionName: hol_add_cluster
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:590,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:596,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:597,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - hol
    argTypes:
    - struct hol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 601
    functionName: hol_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:616,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:618,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:620,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - entry
    - domain
    - cookie
    argTypes:
    - struct hol_entry*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 626
    functionName: hol_entry_short_iterate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - oshort
    - oalias
    - ovisible
    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/libargp/src/argp-help.c:643,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - entry
    - domain
    - cookie
    argTypes:
    - struct hol_entry*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 650
    functionName: hol_entry_long_iterate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - oalias
    - ovisible
    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/libargp/src/argp-help.c:657,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: 658
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: until_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct hol_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: hol_entry_first_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct hol_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: hol_entry_first_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:694,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - hol
    - name
    argTypes:
    - struct hol*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 703
    functionName: hol_find_entry
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - hol
    - name
    - group
    argTypes:
    - struct hol*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 713
    functionName: hol_set_group
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 726
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 726
    functionName: group_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cl1
    - cl2
    argTypes:
    - struct hol_cluster*
    - struct hol_cluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 746
    functionName: hol_cluster_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 756
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: hol_cluster_base
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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: 766
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 766
    functionName: hol_cluster_is_child
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:776,1
    - Dst: isalnum
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:781,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 784
    functionName: canon_doc_option
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:805,1
    - Dst: hol_cluster_base
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:805,1
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:808,1
    - Dst: hol_cluster_base
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:808,1
    - Dst: hol_cluster_cmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:811,1
    - Dst: hol_entry_first_short
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:817,1
    - Dst: hol_entry_first_short
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:818,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:819,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:820,1
    - Dst: hol_entry_first_long
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:821,1
    - Dst: hol_entry_first_long
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:822,1
    - Dst: canon_doc_option
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:825,1
    - Dst: canon_doc_option
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:827,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:835,1
    - Dst: _tolower
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:846,1
    - Dst: _tolower
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:846,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:848,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:848,1
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:858,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - entry1
    - entry2
    argTypes:
    - struct hol_entry*
    - struct hol_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 859
    functionName: hol_entry_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - tolower
    - odoc
    - hol_entry_first_long
    - strcasecmp
    - hol_cluster_base
    - _tolower
    - hol_cluster_cmp
    - canon_doc_option
    - group_cmp
    - hol_entry_first_short
    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/libargp/src/argp-help.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entry1_v
    - entry2_v
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: hol_entry_qcmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - hol
    argTypes:
    - struct hol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 877
    functionName: hol_sort
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:911,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:912,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:914,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:914,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:916,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:918,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:921,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:921,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:926,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:946,1
    - Dst: find_char
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:949,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:961,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:962,1
    - Dst: hol_free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:970,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: 915
        line_start: 915
        source_file: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    - condition: (num_entries <= SIZE_MAX / sizeof (struct hol_entry))
      pos:
        line_end: 917
        line_start: 917
        source_file: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    constantsTouched: []
    func_position:
      end: 971
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 971
    functionName: hol_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - mempcpy
    - find_char
    - malloc
    - hol_free
    - oshort
    - free
    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/libargp/src/argp-help.c:977,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - col
    argTypes:
    - argp_fmtstream_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 980
    functionName: indent_to
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:987,1
    - Dst: argp_fmtstream_rmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:988,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:989,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - ensure
    argTypes:
    - argp_fmtstream_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 992
    functionName: space
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 8
    functionsReached:
    - argp_fmtstream_rmargin
    - argp_fmtstream_putc
    - 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/libargp/src/argp-help.c:1004,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1005,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1007,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1008,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: 1010
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1010
    functionName: arg
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 7
    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/libargp/src/argp-help.c:1053,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: 1059
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1059
    functionName: filter_doc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:1070,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1071,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1079,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1080,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1081,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1082,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1083,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1084,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1085,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1092,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: 1093
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1093
    functionName: print_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - argp_fmtstream_set_wmargin
    - filter_doc
    - argp_fmtstream_set_lmargin
    - indent_to
    - dgettext
    - argp_fmtstream_putc
    - argp_fmtstream_puts
    - free
    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/libargp/src/argp-help.c:1108,1
    - Dst: hol_cluster_is_child
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1113,1
    - Dst: argp_fmtstream_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1119,1
    - Dst: print_header
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1120,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1121,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1127,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - col
    - pest
    argTypes:
    - unsigned
    - struct pentry_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1130
    functionName: comma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_wmargin
    - hol_cluster_is_child
    - print_header
    - indent_to
    - argp_fmtstream_putc
    - argp_fmtstream_puts
    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/libargp/src/argp-help.c:1142,1
    - Dst: argp_fmtstream_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1143,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1148,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1150,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1157,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1159,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1162,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1164,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1165,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1166,1
    - Dst: arg
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1168,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1178,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1181,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1183,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1185,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1189,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1190,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1198,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1200,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1202,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1203,1
    - Dst: arg
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1204,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1210,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1215,1
    - Dst: print_header
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1217,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1224,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1227,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1230,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1232,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1233,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1236,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1238,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1240,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1242,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1245,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1248,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1249,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1255,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1256,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: 1257
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1257
    functionName: hol_entry_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_wmargin
    - argp_fmtstream_printf
    - odoc
    - print_header
    - filter_doc
    - arg
    - indent_to
    - oshort
    - argp_fmtstream_set_lmargin
    - comma
    - ovisible
    - argp_fmtstream_point
    - dgettext
    - argp_fmtstream_putc
    - argp_fmtstream_puts
    - free
    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/libargp/src/argp-help.c:1269,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1273,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1277,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1281,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1282,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1283,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1286,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: 1288
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1288
    functionName: hol_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - filter_doc
    - dgettext
    - argp_fmtstream_putc
    - hol_entry_help
    - argp_fmtstream_puts
    - free
    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: 1304
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1304
    functionName: add_argless_short_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:1322,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1325,1
    - Dst: space
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1330,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1330,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1331,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: 1336
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1336
    functionName: usage_argful_short_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - dgettext
    - space
    - strlen
    - 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/libargp/src/argp-help.c:1356,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1358,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1360,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1363,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: 1367
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1367
    functionName: usage_long_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:1377,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1377,1
    - Dst: hol_entry_short_iterate
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1384,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1389,1
    - Dst: hol_entry_short_iterate
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1396,1
    - Dst: hol_entry_long_iterate
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - hol
    - stream
    argTypes:
    - struct hol*
    - argp_fmtstream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1406
    functionName: hol_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 0
    functionsReached:
    - strlen
    - argp_fmtstream_printf
    - hol_entry_short_iterate
    - alloca
    - 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/libargp/src/argp-help.c:1414,1
    - Dst: hol_add_cluster
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1421,1
    - Dst: hol_append
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1425,1
    - Dst: argp_hol
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argp
    - cluster
    argTypes:
    - struct argp*
    - struct hol_cluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1429
    functionName: argp_hol
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 1
    functionsReached:
    - make_hol
    - hol_add_cluster
    - argp_hol
    - hol_append
    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/libargp/src/argp-help.c:1439,1
    - Dst: argp_args_levels
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1447
    functionName: argp_args_levels
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 1
    functionsReached:
    - argp_args_levels
    - strchr
    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/libargp/src/argp-help.c:1461,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1462,1
    - Dst: strchrnul
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1467,1
    - Dst: strchrnul
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1475,1
    - Dst: space
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1481,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1483,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1486,1
    - Dst: argp_args_usage
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1490,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: 1507
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1507
    functionName: argp_args_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 1
    functionsReached:
    - strchrnul
    - argp_fmtstream_write
    - filter_doc
    - space
    - argp_args_usage
    - 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/libargp/src/argp-help.c:1526,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1531,1
    - Dst: strndup
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1543,1
    - Dst: _argp_input
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1544,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1557,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1560,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1562,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1564,1
    - Dst: argp_fmtstream_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1564,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1565,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1571,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1573,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1582,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1583,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1584,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1585,1
    - Dst: argp_fmtstream_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1586,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1587,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1595,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: 1600
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1600
    functionName: argp_doc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 1
    functionsReached:
    - argp_fmtstream_write
    - strchr
    - argp_fmtstream_putc
    - argp_fmtstream_puts
    - argp_fmtstream_point
    - dgettext
    - _argp_input
    - argp_fmtstream_lmargin
    - argp_doc
    - strndup
    - free
    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/libargp/src/argp-help.c:1617,1
    - Dst: argp_make_fmtstream
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1619,1
    - Dst: argp_hol
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1628,1
    - Dst: hol_set_group
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1631,1
    - Dst: hol_set_group
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1632,1
    - Dst: hol_sort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1634,1
    - Dst: argp_args_levels
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1641,1
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1642,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1644,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1649,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1653,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1654,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1657,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1658,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1663,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1669,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1669,1
    - Dst: hol_usage
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1675,1
    - Dst: argp_args_usage
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1679,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1681,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1682,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1684,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1693,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1697,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1697,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1710,1
    - Dst: hol_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1711,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1718,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1723,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1724,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1724,1
    - Dst: hol_free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1732,1
    - Dst: argp_fmtstream_free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1734,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: 1735
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1735
    functionName: _help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 5
    functionsReached:
    - argp_fmtstream_set_wmargin
    - fill_in_uparams
    - hol_usage
    - argp_fmtstream_putc
    - hol_set_group
    - hol_sort
    - argp_args_usage
    - argp_fmtstream_free
    - argp_doc
    - dgettext
    - argp_fmtstream_puts
    - argp_fmtstream_printf
    - memset
    - hol_help
    - argp_make_fmtstream
    - argp_hol
    - hol_free
    - alloca
    - argp_fmtstream_set_lmargin
    - argp_args_levels
    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/libargp/src/argp-help.c:1742,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: 1743
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1743
    functionName: argp_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:1749,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1754
    functionName: argp_basename
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1772
    functionName: argp_short_program_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:1784,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1785,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1790,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1792,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - state
    - stream
    - flags
    argTypes:
    - struct argp_state*
    - FILE*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1795
    functionName: argp_state_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/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/libargp/src/argp-help.c:1811,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1813,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1813,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1815,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1816,1
    - Dst: vfprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1818,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1820,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1822,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - state
    - fmt
    argTypes:
    - struct argp_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1827
    functionName: argp_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 2
    functionsReached:
    - fputs
    - vfprintf
    - putc
    - argp_short_program_name
    - va_start
    - argp_state_help
    - va_end
    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/libargp/src/argp-help.c:1848,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1848,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1855,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1856,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1857,1
    - Dst: vfprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1859,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1861,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1870,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1871,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1873,1
    - Dst: strerror_r
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1873,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1875,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1875,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1879,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1883,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: 1886
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1886
    functionName: argp_failure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: 1
    functionsReached:
    - fputs
    - vfprintf
    - putc
    - argp_short_program_name
    - va_start
    - strerror_r
    - strerror
    - va_end
    - exit
    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: []
    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: 1
    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: 4
    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: 0
    functionLinenumber: 174
    functionLinenumberEnd: 251
    functionName: exchange
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: 1
    functionsReached:
    - memset
    - malloc
    - SWAP_FLAGS
    - __mempcpy
    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: 1
    functionsReached:
    - getenv
    - strlen
    - __mempcpy
    - memset
    - 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: 0
    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: 3
    functionsReached:
    - strlen
    - fprintf
    - _IO_funlockfile
    - strchr
    - __fxprintf
    - _IO_flockfile
    - _getopt_initialize
    - exchange
    - _
    - free
    - __asprintf
    - strncmp
    - 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: 0
    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: 3
    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: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1122
    functionName: getopt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: 1
    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: 0
    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: 60
    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: 60
    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: 13
    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: 13
    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: 13
    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: 1
    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: 0
    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: 1
    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: 2
    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: 0
    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:
    - strrchr
    - argp_state_help
    - sleep
    - atoi
    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: 0
    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:
    - dgettext
    - fprintf
    - argp_error
    - exit
    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: 1
    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: 4
    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: 0
    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: 3
    functionsReached:
    - _option_is_short
    - _option_is_end
    - convert_options
    - find_long_option
    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: 0
    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: 1
    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: 0
    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: 3
    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: 0
    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: 1
    functionsReached:
    - strrchr
    - argp_short_program_name
    - memset
    - malloc
    - group_parse
    - calc_sizes
    - parser_convert
    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: 0
    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: 1
    functionsReached:
    - fprintf
    - argp_state_help
    - group_parse
    - 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: 0
    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: 1
    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: 0
    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: 1
    functionsReached:
    - N_
    - argp_error
    - strchr
    - group_parse
    - dgettext
    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: 0
    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: 1
    functionsReached:
    - parser_parse_opt
    - _getopt_long_r
    - _getopt_long_only_r
    - 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: 0
    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: 5
    functionsReached:
    - memset
    - parser_init
    - alloca
    - parser_finalize
    - parser_parse_next
    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: 2
    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: 2
    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: 0
    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: 3
    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: 0
    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: 6
    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: 0
    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: 8
    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: 0
    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: 3
    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: 0
    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: 0
    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: 4
    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: 0
    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: 4
    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: 1
    functionsReached:
    - malloc
    - free
    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: 0
    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: 1
    functionsReached:
    - fwrite
    - _argp_fmtstream_update
    - free
    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: 0
    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: 11
    functionsReached:
    - putc
    - memchr
    - isblank
    - memset
    - memmove
    - fwrite
    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: 0
    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: 5
    functionsReached:
    - fwrite
    - realloc
    - _argp_fmtstream_update
    - 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: 1
    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: 6
    functionsReached:
    - _argp_fmtstream_ensure
    - va_start
    - va_end
    - vsnprintf
    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: 1
    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: 1
    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: 2
    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: 0
    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: 1
    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: 0
    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: 2
    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: 0
    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: 0
    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: 2
    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: 0
    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:
    - exit
    - getopt_long
    - printf
    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:
    - __builtin_expect
    - _itoa_word
    - memcpy
    - __getpid
    - strncmp
    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: 16
    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: 16
    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: 5
    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: 1
    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: 4
    functionsReached:
    - strlen
    - memcpy
    - calloc
    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: 0
    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: 1
    functionsReached:
    - getenv
    - strlen
    - isalnum
    - SKIPWS
    - isdigit
    - atoi
    - isalpha
    - argp_failure
    - dgettext
    - strncmp
    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: 2
    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: 5
    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: 3
    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: 2
    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: 1
    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: 5
    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: 2
    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: 0
    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: 1
    functionsReached:
    - assert
    - find_char
    - oend
    - malloc
    - oshort
    - oalias
    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: 1
    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: 2
    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: 0
    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: 2
    functionsReached:
    - oshort
    - oalias
    - ovisible
    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: 0
    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: 1
    functionsReached:
    - oalias
    - ovisible
    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: 0
    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: 0
    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: 1
    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: 0
    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: 1
    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: 0
    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: 1
    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: 0
    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: 1
    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: 2
    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: 0
    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: 1
    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: 1
    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: 1
    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: 1
    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: 0
    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: 1
    functionsReached:
    - tolower
    - odoc
    - hol_entry_first_long
    - strcasecmp
    - hol_cluster_base
    - _tolower
    - hol_cluster_cmp
    - canon_doc_option
    - group_cmp
    - hol_entry_first_short
    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: 0
    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: 1
    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: 0
    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: 1
    functionsReached:
    - assert
    - strlen
    - mempcpy
    - find_char
    - malloc
    - hol_free
    - oshort
    - free
    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: 0
    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: 3
    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: 0
    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: 11
    functionsReached:
    - argp_fmtstream_rmargin
    - argp_fmtstream_putc
    - 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: 0
    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: 9
    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: 0
    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: 4
    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: 0
    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: 2
    functionsReached:
    - argp_fmtstream_set_wmargin
    - filter_doc
    - argp_fmtstream_set_lmargin
    - indent_to
    - dgettext
    - argp_fmtstream_putc
    - argp_fmtstream_puts
    - free
    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: 0
    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: 1
    functionsReached:
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_wmargin
    - hol_cluster_is_child
    - print_header
    - indent_to
    - argp_fmtstream_putc
    - argp_fmtstream_puts
    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: 0
    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: 1
    functionsReached:
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_wmargin
    - argp_fmtstream_printf
    - odoc
    - print_header
    - filter_doc
    - arg
    - indent_to
    - oshort
    - argp_fmtstream_set_lmargin
    - comma
    - ovisible
    - argp_fmtstream_point
    - dgettext
    - argp_fmtstream_putc
    - argp_fmtstream_puts
    - free
    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: 0
    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: 1
    functionsReached:
    - filter_doc
    - dgettext
    - argp_fmtstream_putc
    - hol_entry_help
    - argp_fmtstream_puts
    - free
    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: 0
    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:
    - dgettext
    - space
    - strlen
    - 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: 0
    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: 0
    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: 1
    functionsReached:
    - strlen
    - argp_fmtstream_printf
    - hol_entry_short_iterate
    - alloca
    - 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: 0
    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: 3
    functionsReached:
    - make_hol
    - hol_add_cluster
    - argp_hol
    - hol_append
    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: 0
    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: 3
    functionsReached:
    - argp_args_levels
    - strchr
    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: 0
    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: 3
    functionsReached:
    - strchrnul
    - argp_fmtstream_write
    - filter_doc
    - space
    - argp_args_usage
    - 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: 0
    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: 3
    functionsReached:
    - argp_fmtstream_write
    - strchr
    - argp_fmtstream_putc
    - argp_fmtstream_puts
    - argp_fmtstream_point
    - dgettext
    - _argp_input
    - argp_fmtstream_lmargin
    - argp_doc
    - strndup
    - free
    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: 0
    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: 13
    functionsReached:
    - argp_fmtstream_set_wmargin
    - fill_in_uparams
    - hol_usage
    - argp_fmtstream_putc
    - hol_set_group
    - hol_sort
    - argp_args_usage
    - argp_fmtstream_free
    - argp_doc
    - dgettext
    - argp_fmtstream_puts
    - argp_fmtstream_printf
    - memset
    - hol_help
    - argp_make_fmtstream
    - argp_hol
    - hol_free
    - alloca
    - argp_fmtstream_set_lmargin
    - argp_args_levels
    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: 0
    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: 1
    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: 0
    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: 5
    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: 0
    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: 7
    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: 0
    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: 4
    functionsReached:
    - fputs
    - vfprintf
    - putc
    - argp_short_program_name
    - va_start
    - argp_state_help
    - va_end
    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: 0
    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: 2
    functionsReached:
    - fputs
    - vfprintf
    - putc
    - argp_short_program_name
    - va_start
    - strerror_r
    - strerror
    - va_end
    - exit
    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: 0
    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: 2
    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:
    - insque
    - calloc
    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:
    - strlen
    - strcpy
    - malloc
    - stpcpy
    - puts
    - printf
    - mkstemp
    - add_temp_file
    - free
    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: 1
    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:
    - WTERMSIG
    - WSTOPSIG
    - waitpid
    - fputs
    - WEXITSTATUS
    - kill
    - fprintf
    - perror
    - strsignal
    - nanosleep
    - WIFSTOPPED
    - WIFSIGNALED
    - exit
    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: 1
    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:
    - getenv
    - PREPARE
    - chdir
    - printf
    - setenv
    - exit
    - WTERMSIG
    - MIN
    - setbuf
    - fprintf
    - perror
    - strsignal
    - signal
    - atexit
    - setvbuf
    - setpgid
    - WEXITSTATUS
    - getrlimit
    - TEMP_FAILURE_RETRY
    - strtoul
    - fork
    - MAX
    - mallopt
    - getopt_long
    - setrlimit
    - alarm
    - waitpid
    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: 0
    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: 0
    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: 1
    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: 2
    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: 1
    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:
    - va_start
    - va_end
    - vsnprintf
    - malloc
    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: 1
    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: 1
    functionsReached:
    - isprint
    - printf
    - sprintf
    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: 0
    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: 2
    functionsReached:
    - popt
    - printf
    - 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:
    - asprintf
    - time
    - ctime
    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: 1
    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:
    - printf
    - random
    - argp_parse
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:38,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:39,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:41,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:44,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:45,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:46,1
    - Dst: avro_raw_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:51,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:52,1
    - Dst: avro_raw_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:53,1
    - Dst: avro_raw_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:60,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:61,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:63,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:66,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:67,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:68,1
    - Dst: avro_raw_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:73,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:74,1
    - Dst: avro_raw_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:75,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 82
    functionName: test_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_done
    - avro_raw_array_get
    - fprintf
    - avro_raw_array_size
    - avro_raw_array_clear
    - avro_raw_array_init
    - avro_raw_array_append
    linkageType: ''
    returnType: int
    signature: int test_array(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_map_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:94,1
    - Dst: avro_raw_map_get_or_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:95,1
    - Dst: avro_raw_map_get_or_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:97,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:100,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:101,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:102,1
    - Dst: avro_raw_map_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:107,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:108,1
    - Dst: avro_raw_map_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:110,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:115,1
    - Dst: avro_raw_map_get_key
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:115,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:116,1
    - Dst: avro_raw_map_get_key
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:118,1
    - Dst: avro_raw_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:122,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:124,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:131,1
    - Dst: avro_raw_map_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:139,1
    - Dst: avro_raw_map_get_or_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:140,1
    - Dst: avro_raw_map_get_or_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:142,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:145,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:146,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:147,1
    - Dst: avro_raw_map_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:152,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:153,1
    - Dst: avro_raw_map_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:155,1
    - Dst: avro_raw_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:160,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:162,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:169,1
    - Dst: avro_raw_map_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 177
    functionName: test_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c
    functionUses: 0
    functionsReached:
    - avro_raw_map_get_key
    - avro_raw_map_get_by_index
    - avro_raw_map_init
    - avro_raw_map_size
    - avro_raw_map_done
    - avro_raw_map_clear
    - fprintf
    - avro_raw_map_get_or_create
    - avro_raw_map_get
    - strcmp
    linkageType: ''
    returnType: int
    signature: int test_map(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:185,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:187,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:188,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:189,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:191,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:192,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:193,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:198,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:199,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:201,1
    - Dst: avro_wrapped_buffer_new_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:207,1
    - Dst: avro_raw_string_give
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:208,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:210,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:211,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:212,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:217,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:218,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:220,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:226,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:227,1
    - Dst: avro_raw_string_equals
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:229,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:230,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:234,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 237
    functionName: test_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_give
    - avro_raw_string_done
    - avro_raw_string_init
    - avro_wrapped_buffer_new_string
    - fprintf
    - avro_raw_string_set
    - avro_raw_string_get
    - avro_raw_string_length
    - avro_raw_string_equals
    - strcmp
    linkageType: ''
    returnType: int
    signature: int test_string(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:242,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:243,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:257,1
    - Dst: struct avro_tests*::func
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 263
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c
    functionUses: 0
    functionsReached:
    - struct avro_tests*::func
    - fprintf
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: check_exit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_exit(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:37,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:37,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:38,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:38,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:42,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:42,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:43,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:43,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c
    functionUses: 0
    functionsReached:
    - avro_file_reader_close
    - check_exit
    - avro_file_reader
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:65,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:65,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:68,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:73,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:76,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:78,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - strlen
    - avro_value_iface_decref
    - avro_schema_from_json
    - printf
    - avro_generic_class_from_schema
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:33,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:35,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:36,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:40,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:43,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:44,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:47,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:49,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:50,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:54,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:55,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c
    functionUses: 0
    functionsReached:
    - avro_generic_value_new
    - avro_schema_decref
    - avro_value_decref
    - avro_value_iface_decref
    - avro_schema_from_json
    - fprintf
    - avro_generic_class_from_schema
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:46,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: init_rand
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - time
    - srand
    linkageType: ''
    returnType: void
    signature: void init_rand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: rand_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: double
    signature: double rand_number(double from, double to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: rand_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int64_t
    signature: int64_t rand_int64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: rand_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int32_t
    signature: int32_t rand_int32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:77,1
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:79,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:80,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: test_refcount
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - avro_datum_incref
    - avro_datum_decref
    - avro_int32
    linkageType: ''
    returnType: void
    signature: void test_refcount(unsigned long num_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:127,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:128,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:132,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:132,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:137,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:140,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:140,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:141,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:141,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:142,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:146,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:148,1
    - Dst: avro_writer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:150,1
    - Dst: avro_write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:151,1
    - Dst: avro_reader_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:155,1
    - Dst: avro_read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:156,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:158,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:159,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:162,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:163,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:164,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 166
    functionName: test_nested_record_datum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - avro_reader_reset
    - avro_writer_memory
    - avro_datum_equal
    - avro_schema_decref
    - avro_record_set_field_value
    - avro_reader_memory
    - avro_write_data
    - avro_datum_decref
    - avro_writer_free
    - strlen
    - avro_schema_from_json
    - avro_record_get
    - rand_number
    - rand_int64
    - avro_read_data
    - rand_int32
    - avro_datum_from_schema
    - avro_writer_reset
    - avro_reader_free
    linkageType: ''
    returnType: void
    signature: void test_nested_record_datum(unsigned long num_tests)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:210,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:211,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:215,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:215,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:220,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:223,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:226,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:231,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:232,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:232,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:234,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:235,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:235,1
    - Dst: avro_wrapped_buffer_new_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:238,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:239,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:240,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:243,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:245,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:246,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:246,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:248,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:249,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:249,1
    - Dst: avro_writer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:251,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:252,1
    - Dst: avro_reader_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:254,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:255,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:257,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:258,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:259,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:263,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:264,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:265,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:266,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:267,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 269
    functionName: test_nested_record_value_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - avro_reader_reset
    - avro_writer_memory
    - avro_value_equal_fast
    - printf
    - exit
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_wrapped_buffer_new_string
    - avro_value_give_string_len
    - avro_reader_memory
    - avro_value_set_int
    - avro_generic_class_from_schema
    - avro_writer_free
    - avro_value_read
    - strlen
    - avro_schema_from_json
    - rand_number
    - avro_value_write
    - rand_int64
    - rand_int32
    - avro_value_set_float
    - avro_value_set_long
    - avro_generic_value_new
    - avro_value_decref
    - avro_value_get_by_index
    - avro_writer_reset
    - avro_reader_free
    - avro_value_set_double
    linkageType: ''
    returnType: void
    signature: void test_nested_record_value_by_index(unsigned long num_tests)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:314,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:315,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:319,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:319,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:324,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:327,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:330,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:335,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:336,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:336,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:338,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:339,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:339,1
    - Dst: avro_wrapped_buffer_new_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:342,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:343,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:344,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:347,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:349,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:350,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:350,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:352,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:353,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:353,1
    - Dst: avro_writer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:355,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:356,1
    - Dst: avro_reader_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:358,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:359,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:361,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:362,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:363,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:367,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:368,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:369,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:370,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:371,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 373
    functionName: test_nested_record_value_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - avro_reader_reset
    - avro_writer_memory
    - avro_value_equal_fast
    - printf
    - exit
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_wrapped_buffer_new_string
    - avro_value_give_string_len
    - avro_reader_memory
    - avro_value_set_int
    - avro_generic_class_from_schema
    - avro_writer_free
    - avro_value_read
    - strlen
    - avro_schema_from_json
    - rand_number
    - avro_value_write
    - rand_int64
    - avro_value_get_by_name
    - rand_int32
    - avro_value_set_float
    - avro_value_set_long
    - avro_generic_value_new
    - avro_value_decref
    - avro_writer_reset
    - avro_reader_free
    - avro_value_set_double
    linkageType: ''
    returnType: void
    signature: void test_nested_record_value_by_name(unsigned long num_tests)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:394,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:395,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:399,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:399,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:404,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:405,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:408,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:411,1
    - Dst: avro_resolved_reader_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:417,1
    - Dst: avro_resolved_reader_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:418,1
    - Dst: avro_resolved_reader_set_source
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:420,1
    - Dst: avro_resolved_writer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:427,1
    - Dst: avro_resolved_writer_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:428,1
    - Dst: avro_resolved_writer_set_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:430,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:457,1
    - Dst: avro_writer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:462,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:463,1
    - Dst: avro_reader_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:465,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:466,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:468,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:469,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:470,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:474,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:475,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:477,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:478,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:481,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:482,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:484,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:485,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:486,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:487,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:488,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 3
    argNames:
    - num_tests
    - resolution_type
    - schema_json
    argTypes:
    - unsigned long
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 489
    functionName: test_generic_helper
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - avro_resolved_reader_set_source
    - avro_reader_reset
    - avro_writer_memory
    - avro_value_equal_fast
    - printf
    - avro_resolved_reader_new
    - exit
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_reader_memory
    - avro_generic_class_from_schema
    - avro_resolved_writer_new_value
    - avro_writer_free
    - avro_value_read
    - strlen
    - avro_schema_from_json
    - avro_value_write
    - avro_resolved_writer_new
    - avro_generic_value_new
    - avro_value_decref
    - avro_value_reset
    - avro_resolved_writer_set_dest
    - avro_writer_reset
    - avro_reader_free
    - avro_resolved_reader_new_value
    linkageType: ''
    returnType: void
    signature: "void test_generic_helper( unsigned long num_tests,\n\t\t\t\t\t int
      resolution_type,\n\t\t\t\t\t const char *schema_json,\n\t\t\t\t\t void (*populate_value_func)(avro_value_t
      *,\n\t\t\t\t\t\t\t\t\t\t\t\t unsigned long)\n\t\t\t\t\t )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:537,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:538,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:538,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:540,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:541,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:541,1
    - Dst: avro_wrapped_buffer_new_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:544,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:545,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:546,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:549,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:551,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:552,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:552,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:554,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:555,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - p_val
    - i
    argTypes:
    - avro_value_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 557
    functionName: populate_complex_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - avro_wrapped_buffer_new_string
    - avro_value_give_string_len
    - rand_number
    - rand_int64
    - avro_value_set_int
    - rand_int32
    - avro_value_set_double
    - avro_value_set_float
    - avro_value_set_long
    linkageType: ''
    returnType: void
    signature: void populate_complex_record(avro_value_t *p_val, unsigned long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: test_nested_record_value_by_index_matched_schemas
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: void test_nested_record_value_by_index_matched_schemas(unsigned long
      num_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 594
    functionName: test_nested_record_value_by_index_resolved_writer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: void test_nested_record_value_by_index_resolved_writer(unsigned long
      num_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 612
    functionName: test_nested_record_value_by_index_resolved_reader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: void test_nested_record_value_by_index_resolved_reader(unsigned long
      num_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:635,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:636,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_val
    - i
    argTypes:
    - avro_value_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 638
    functionName: populate_simple_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - rand_int64
    - avro_value_set_long
    - avro_value_append
    linkageType: ''
    returnType: void
    signature: void populate_simple_array(avro_value_t *p_val, unsigned long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: test_simple_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: void test_simple_array(unsigned long num_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 671
    functionName: test_simple_array_resolved_writer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: void test_simple_array_resolved_writer(unsigned long num_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: test_simple_array_resolved_reader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: void test_simple_array_resolved_reader(unsigned long num_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:718,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:720,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:721,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_val
    - i
    argTypes:
    - avro_value_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 724
    functionName: populate_nested_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - rand_int64
    - avro_value_set_long
    - avro_value_append
    linkageType: ''
    returnType: void
    signature: void populate_nested_array(avro_value_t *p_val, unsigned long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 739
    functionName: test_nested_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: void test_nested_array(unsigned long num_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 756
    functionName: test_nested_array_resolved_writer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: void test_nested_array_resolved_writer(unsigned long num_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 773
    functionName: test_nested_array_resolved_reader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: void test_nested_array_resolved_reader(unsigned long num_tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:786,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:787,1
    - Dst: init_rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:789,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:826,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:833,1
    - Dst: clock
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:835,1
    - Dst: func
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:836,1
    - Dst: clock
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:837,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:842,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 848
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: 0
    functionsReached:
    - clock
    - fprintf
    - AVRO_UNUSED
    - func
    - init_rand
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:39,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:40,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:45,1
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:51,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:54,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ud
    - ptr
    - osize
    - nsize
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 63
    functionName: test_allocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - realloc
    - abort
    - fprintf
    - AVRO_UNUSED
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      test_allocator(void *ud, void *ptr, size_t osize, size_t nsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:67,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: init_rand
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 1
    functionsReached:
    - time
    - srand
    linkageType: ''
    returnType: void
    signature: void init_rand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: rand_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 6
    functionsReached:
    - rand
    linkageType: ''
    returnType: double
    signature: double rand_number(double from, double to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: rand_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 6
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int64_t
    signature: int64_t rand_int64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:83,1
    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: rand_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 4
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int32_t
    signature: int32_t rand_int32(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:95,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:96,1
    - Dst: avro_write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:103,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:105,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:106,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:107,1
    - Dst: avro_size_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:110,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:112,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:113,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:116,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:117,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:118,1
    - Dst: avro_read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:120,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:122,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:123,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:124,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:124,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:125,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:127,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:128,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:130,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:131,1
    - Dst: avro_reader_dump
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:134,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:135,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:136,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - writers_schema
    - datum
    - readers_schema
    - expected
    - type
    argTypes:
    - avro_schema_t
    - avro_datum_t
    - avro_schema_t
    - avro_datum_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 139
    functionName: write_read_check
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_writer_memory
    - avro_reader_memory
    - avro_strerror
    - avro_size_data
    - fprintf
    - avro_datum_equal
    - avro_write_data
    - avro_reader_dump
    - avro_writer_tell
    - avro_read_data
    - avro_reader_free
    - avro_datum_decref
    - avro_writer_free
    - exit
    linkageType: ''
    returnType: void
    signature: "void write_read_check(avro_schema_t writers_schema, avro_datum_t datum,\n\t\t
      avro_schema_t readers_schema, avro_datum_t expected, char *type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:144,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:145,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:146,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:147,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - datum
    - expected
    argTypes:
    - avro_datum_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: test_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - fprintf
    - exit
    - avro_datum_to_json
    - free
    linkageType: ''
    returnType: void
    signature: void test_json(avro_datum_t datum, const char *expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:160,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:162,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:163,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:164,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:167,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:168,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:169,1
    - Dst: avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:174,1
    - Dst: avro_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:175,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:176,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: test_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_schema_string
    - write_read_check
    - avro_string
    - avro_givestring
    - test_json
    - avro_string_set
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: int test_string(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:185,1
    - Dst: avro_givebytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:189,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:190,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:191,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:192,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:193,1
    - Dst: avro_givebytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:195,1
    - Dst: avro_givebytes_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:196,1
    - Dst: avro_givebytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:197,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:198,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:199,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:201,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:203,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:204,1
    - Dst: avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:209,1
    - Dst: avro_bytes_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:210,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:211,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 215
    functionName: test_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_givebytes_set
    - avro_bytes
    - avro_givebytes
    - avro_schema_bytes
    - write_read_check
    - avro_datum_equal
    - avro_bytes_set
    - fprintf
    - test_json
    - avro_datum_decref
    - exit
    linkageType: ''
    returnType: int
    signature: int test_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:220,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:221,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:222,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:223,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:225,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:226,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:227,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:228,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:229,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:230,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:231,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:233,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:235,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:237,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:238,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:239,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:240,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:243,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:244,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:245,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:247,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:248,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:249,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 252
    functionName: test_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_double
    - avro_schema_decref
    - avro_float
    - avro_schema_long
    - write_read_check
    - avro_double
    - avro_int64
    - avro_int32
    - avro_schema_int
    - test_json
    - rand_int32
    - avro_datum_decref
    - avro_schema_float
    linkageType: ''
    returnType: int
    signature: int test_int32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:257,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:258,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:259,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:261,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:262,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:263,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:264,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:265,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:266,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:268,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:270,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:271,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:272,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:275,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:276,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:277,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:279,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:280,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: test_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_double
    - avro_schema_decref
    - avro_float
    - avro_schema_long
    - write_read_check
    - rand_int64
    - avro_int64
    - avro_double
    - test_json
    - avro_datum_decref
    - avro_schema_float
    linkageType: ''
    returnType: int
    signature: int test_int64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:288,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:290,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:290,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:291,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:292,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:295,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:296,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:297,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 301
    functionName: test_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_double
    - avro_schema_decref
    - write_read_check
    - rand_number
    - avro_double
    - test_json
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: int test_double(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:306,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:307,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:309,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:310,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:311,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:312,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:313,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:315,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:316,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:319,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:320,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:321,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:323,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 326
    functionName: test_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_double
    - avro_schema_decref
    - avro_float
    - write_read_check
    - rand_number
    - avro_double
    - test_json
    - avro_datum_decref
    - avro_schema_float
    linkageType: ''
    returnType: int
    signature: int test_float(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:332,1
    - Dst: avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:334,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:335,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:336,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:337,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: test_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_schema_boolean
    - write_read_check
    - avro_boolean
    - test_json
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: int test_boolean(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:345,1
    - Dst: avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:346,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:347,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:348,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: test_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - write_read_check
    - avro_schema_null
    - avro_null
    - test_json
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: int test_null(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:355,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:356,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:356,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:357,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:357,1
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:359,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:362,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:363,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:365,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:366,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:368,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:369,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:372,1
    - Dst: avro_record_get_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:375,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:377,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:378,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:381,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:382,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:383,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 386
    functionName: test_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_schema_string
    - avro_record
    - avro_schema_record
    - write_read_check
    - avro_record_set_field_value
    - fprintf
    - avro_int32
    - avro_record_set
    - avro_givestring
    - avro_schema_record_field_append
    - avro_schema_int
    - test_json
    - avro_record_get_field_value
    - avro_datum_decref
    - exit
    linkageType: ''
    returnType: int
    signature: int test_record(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:405,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:405,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:407,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:408,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:409,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:414,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:415,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:416,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:417,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:419,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:420,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:422,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:424,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 428
    functionName: test_nested_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - strlen
    - avro_schema_from_json
    - write_read_check
    - avro_record_get
    - avro_record_set_field_value
    - avro_union_set_discriminant
    - avro_datum_from_schema
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: int test_nested_record(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:439,1
    - Dst: avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:440,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:442,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:443,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:444,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:445,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:446,1
    - Dst: avro_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:448,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:449,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:450,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:453,1
    - Dst: avro_enum_get_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:453,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:454,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:455,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:458,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:459,1
    - Dst: avro_enum_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:461,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:462,1
    - Dst: avro_enum_get_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:462,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:463,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:464,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:467,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:468,1
    - Dst: avro_enum_set_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:470,1
    - Dst: avro_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:471,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:472,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:473,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:476,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:477,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:479,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 482
    functionName: test_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - write_read_check
    - avro_enum_set
    - avro_enum
    - avro_datum_decref
    - strcmp
    - fprintf
    - avro_schema_enum
    - test_json
    - avro_enum_get
    - avro_enum_get_name
    - avro_enum_set_name
    - avro_schema_enum_symbol_append
    - exit
    linkageType: ''
    returnType: int
    signature: int test_enum(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:487,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:487,1
    - Dst: avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:488,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:491,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:492,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:493,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:495,1
    - Dst: avro_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:499,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:500,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:501,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:504,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:505,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:506,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 509
    functionName: test_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_array_size
    - avro_schema_decref
    - write_read_check
    - avro_schema_array
    - fprintf
    - avro_int32
    - exit
    - avro_array
    - avro_schema_int
    - test_json
    - avro_datum_decref
    - avro_array_append_datum
    linkageType: ''
    returnType: int
    signature: int test_array(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:513,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:513,1
    - Dst: avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:514,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:519,1
    - Dst: avro_map_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:520,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:521,1
    - Dst: avro_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:525,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:526,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:527,1
    - Dst: avro_map_get_key
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:532,1
    - Dst: avro_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:533,1
    - Dst: avro_int64_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:535,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:538,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:539,1
    - Dst: avro_map_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:543,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:544,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:545,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:546,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:549,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:550,1
    - Dst: avro_map_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:552,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:553,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:554,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:557,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:558,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:561,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 564
    functionName: test_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_array_size
    - avro_int64_get
    - avro_schema_decref
    - avro_schema_long
    - write_read_check
    - avro_strerror
    - avro_int64
    - avro_map_get
    - fprintf
    - avro_map_get_key
    - exit
    - avro_map_get_index
    - test_json
    - avro_map
    - avro_datum_decref
    - avro_map_set
    - avro_schema_map
    linkageType: ''
    returnType: int
    signature: int test_map(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:568,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:574,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:574,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:575,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:575,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:576,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:576,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:578,1
    - Dst: avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:579,1
    - Dst: avro_union_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:581,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:582,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:583,1
    - Dst: avro_union_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:586,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:587,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:588,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:591,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:592,1
    - Dst: avro_givestring_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:593,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:595,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:596,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:597,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:600,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:601,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:603,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:604,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:605,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:607,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:608,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:609,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 612
    functionName: test_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_union
    - avro_schema_null
    - avro_givestring_set
    - avro_datum_equal
    - avro_union_set_discriminant
    - avro_givestring
    - exit
    - avro_schema_decref
    - write_read_check
    - fprintf
    - avro_union_discriminant
    - avro_datum_decref
    - avro_union_current_branch
    - avro_schema_string
    - avro_schema_union
    - avro_schema_int
    - avro_schema_union_append
    - avro_datum_from_schema
    - test_json
    linkageType: ''
    returnType: int
    signature: int test_union(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:617,1
    - Dst: avro_givefixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:621,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:622,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:623,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:624,1
    - Dst: avro_givefixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:626,1
    - Dst: avro_givefixed_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:627,1
    - Dst: avro_givefixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:628,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:629,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:630,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:632,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:634,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:635,1
    - Dst: avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:640,1
    - Dst: avro_fixed_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:641,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:642,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 646
    functionName: test_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_givefixed_set
    - avro_givefixed
    - write_read_check
    - avro_datum_equal
    - avro_fixed_set
    - fprintf
    - avro_schema_fixed
    - test_json
    - avro_fixed
    - avro_datum_decref
    - exit
    linkageType: ''
    returnType: int
    signature: int test_fixed(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_allocator
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:650,1
    - Dst: init_rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:675,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:678,1
    - Dst: struct avro_tests*::func
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 684
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: 0
    functionsReached:
    - fprintf
    - struct avro_tests*::func
    - avro_set_allocator
    - init_rand
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - call
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: try
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: try(call, msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:34,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:35,1
    - Dst: avro_generic_string_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:40,1
    - Dst: avro_generic_string_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:42,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:45,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:46,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:50,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:51,1
    - Dst: avro_value_cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:55,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:56,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:60,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:61,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:65,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c
    functionUses: 0
    functionsReached:
    - avro_value_decref
    - avro_generic_string_new
    - fprintf
    - avro_value_equal_fast
    - avro_value_equal
    - avro_value_cmp
    - avro_value_cmp_fast
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:45,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:47,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:48,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:50,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:51,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:54,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:55,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:56,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:56,1
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:59,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:60,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:60,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:61,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:61,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:62,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:63,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:64,1
    - Dst: avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:64,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:65,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:65,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:66,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:66,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:67,1
    - Dst: avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:67,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:68,1
    - Dst: avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:68,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:70,1
    - Dst: avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:71,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:72,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:72,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:73,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:73,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:74,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:74,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:75,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:77,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:78,1
    - Dst: avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:78,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:80,1
    - Dst: avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:81,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:81,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:82,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:84,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:85,1
    - Dst: avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:85,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:87,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:88,1
    - Dst: avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:89,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:91,1
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:92,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:93,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:94,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:95,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:96,1
    - Dst: avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:96,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:97,1
    - Dst: avro_file_writer_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:99,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:101,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:102,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:104,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:107,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:107,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:108,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:110,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:110,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:111,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:112,1
    - Dst: avro_file_reader_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:112,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:113,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:114,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:115,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:116,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:118,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:119,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:119,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c
    functionUses: 0
    functionsReached:
    - avro_union
    - avro_datum_equal
    - fread
    - avro_int32
    - snprintf
    - avro_givestring
    - fopen
    - avro_map
    - exit
    - avro_double
    - avro_int64
    - avro_null
    - fprintf
    - avro_boolean
    - avro_file_reader_read
    - avro_file_reader
    - avro_file_writer_append
    - avro_record
    - avro_schema_from_json
    - avro_enum
    - avro_file_writer_close
    - avro_record_set
    - avro_schema_get_subschema
    - avro_array
    - avro_fixed
    - avro_file_writer_create
    - avro_array_append_datum
    - avro_file_reader_close
    - avro_float
    - avro_bytes
    - check
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:49,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:49,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:52,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:53,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:57,1
    - Dst: avro_schema_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:64,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:65,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:67,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:68,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:70,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - strlen
    - avro_schema_copy
    - avro_schema_from_json
    - printf
    - avro_schema_equal
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:42,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:44,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:47,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:47,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:51,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:53,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:54,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:56,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:58,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:61,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:62,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:63,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:64,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:66,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:69,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 74
    functionName: read_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c
    functionUses: 2
    functionsReached:
    - avro_generic_value_new
    - avro_schema_decref
    - avro_file_reader_close
    - avro_value_decref
    - avro_value_iface_decref
    - avro_file_reader_get_writer_schema
    - avro_value_reset
    - avro_strerror
    - fprintf
    - avro_file_reader_read_value
    - avro_file_reader
    - avro_generic_class_from_schema
    linkageType: ''
    returnType: int
    signature: int read_data()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:84,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:86,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:87,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:91,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:92,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:94,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:95,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:95,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:100,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:101,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:101,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:106,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:107,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:107,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:111,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:112,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 116
    functionName: write_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c
    functionUses: 2
    functionsReached:
    - avro_generic_value_new
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_value_decref
    - avro_schema_from_json
    - avro_strerror
    - avro_file_writer_append_value
    - avro_file_writer_close
    - fprintf
    - avro_generic_class_from_schema
    - avro_file_writer_create
    linkageType: ''
    returnType: int
    signature: int write_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:122,1
    - Dst: read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:126,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c
    functionUses: 0
    functionsReached:
    - write_data
    - read_data
    - remove
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: check_exit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_exit(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: expect_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_error(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: check_expected_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_expected_value(actual, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:65,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:66,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:66,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:67,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:67,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:69,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:70,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:71,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:76,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:76,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:78,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:78,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:79,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:79,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:80,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:80,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:81,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:83,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:83,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:84,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:84,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:85,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:85,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:86,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:88,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:88,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:93,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:93,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:96,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:96,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:97,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:97,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:98,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:98,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:99,1
    - Dst: expect_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:101,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:101,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:103,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:103,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:107,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:108,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:109,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:110,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c
    functionUses: 0
    functionsReached:
    - avro_schema_null
    - avro_value_set_null
    - exit
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_value_set_int
    - avro_file_reader
    - avro_generic_class_from_schema
    - avro_value_set_branch
    - expect_error
    - check_exit
    - avro_schema_union
    - avro_file_reader_read_value
    - avro_schema_int
    - avro_schema_union_append
    - avro_generic_value_new
    - avro_file_reader_close
    - avro_value_decref
    - check_expected_value
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:51,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:53,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:54,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:56,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:57,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:59,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:61,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:64,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:65,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:66,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:67,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:69,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:72,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 77
    functionName: read_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c
    functionUses: 3
    functionsReached:
    - avro_generic_value_new
    - avro_schema_decref
    - avro_file_reader_close
    - avro_value_decref
    - avro_value_iface_decref
    - avro_file_reader_get_writer_schema
    - avro_value_reset
    - avro_strerror
    - fprintf
    - avro_file_reader_read_value
    - avro_file_reader
    - avro_generic_class_from_schema
    linkageType: ''
    returnType: int
    signature: int read_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: fsize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c
    functionUses: 0
    functionsReached:
    - stat
    linkageType: ''
    returnType: off_t
    signature: off_t fsize(const char *filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:98,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:100,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:101,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:105,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:106,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:108,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:109,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:109,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:113,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:114,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:116,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:119,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:122,1
    - Dst: fsize
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:125,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:126,1
    - Dst: avro_file_writer_open
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:130,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:133,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:136,1
    - Dst: fsize
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:139,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:140,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:144,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:145,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 149
    functionName: write_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c
    functionUses: 3
    functionsReached:
    - avro_generic_value_new
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_value_decref
    - avro_schema_from_json
    - avro_strerror
    - avro_value_set_int
    - avro_file_writer_append_value
    - avro_file_writer_close
    - fprintf
    - fsize
    - avro_value_get_by_name
    - avro_file_writer_open
    - avro_generic_class_from_schema
    - avro_file_writer_create
    linkageType: ''
    returnType: int
    signature: int write_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:156,1
    - Dst: read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:160,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c
    functionUses: 0
    functionsReached:
    - write_data
    - read_data
    - remove
    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: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: LAST_ERROR
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LAST_ERROR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - millis
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: SLEEP_MILLIS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLEEP_MILLIS(millis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: LAST_ERROR
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LAST_ERROR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - millis
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: SLEEP_MILLIS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLEEP_MILLIS(millis)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:68,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:68,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:70,1
    - Dst: get_random_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:74,1
    - Dst: launch_thread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:75,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:78,1
    - Dst: LAST_ERROR
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:78,1
    - Dst: join_thread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:84,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:86,1
    - Dst: LAST_ERROR
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:86,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: 0
    functionsReached:
    - launch_thread
    - LAST_ERROR
    - get_random_value
    - memset
    - fprintf
    - time
    - srand
    - join_thread
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:124,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:125,1
    - Dst: SLEEP_MILLIS
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:127,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:130,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:131,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:134,1
    - Dst: SLEEP_MILLIS
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:140,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:141,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:142,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:143,1
    - Dst: SLEEP_MILLIS
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:146,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:147,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:148,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 158
    functionName: worker_thread
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - SLEEP_MILLIS
    - avro_strerror
    - snprintf
    - avro_prefix_error
    - strcmp
    linkageType: ''
    returnType: void
    signature: void *worker_thread( void *context )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:169,1
    - Dst: pthread_attr_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:178,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:180,1
    - Dst: pthread_attr_destroy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - thread_context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 186
    functionName: launch_thread
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: 1
    functionsReached:
    - pthread_create
    - pthread_attr_init
    - pthread_attr_destroy
    - CreateThread
    linkageType: ''
    returnType: THR_HANDLE
    signature: THR_HANDLE launch_thread( void *thread_context )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:192,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - thread_handle
    argTypes:
    - THR_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: join_thread
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: 1
    functionsReached:
    - pthread_join
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: int join_thread( THR_HANDLE thread_handle )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: get_random_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: 1
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: int get_random_value( int max_value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: IFTODT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFTODT(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: DTTOIF
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DTTOIF(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: S_ISFIFO
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISFIFO(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: S_ISDIR
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: S_ISREG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: S_ISLNK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISLNK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: S_ISSOCK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISSOCK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: S_ISCHR
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISCHR(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: S_ISBLK
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISBLK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - src
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: DIRENT_STRNCPY
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIRENT_STRNCPY(dest,src,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - src
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: DIRENT_STRNCPY
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIRENT_STRNCPY(dest,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: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: DIRENT_SET_ERRNO
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIRENT_SET_ERRNO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: DIRENT_SET_ERRNO
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIRENT_SET_ERRNO(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:205,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:208,1
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:209,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:214,1
    - Dst: GetFullPathNameA
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:223,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:227,1
    - Dst: FindFirstFileA
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:235,1
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:242,1
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:247,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 258
    functionName: opendir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 3
    functionsReached:
    - strlen
    - FindFirstFileA
    - malloc
    - strchr
    - DIRENT_SET_ERRNO
    - GetFullPathNameA
    - free
    linkageType: ''
    returnType: DIR
    signature: DIR *opendir(const char *dirname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:273,1
    - Dst: FindNextFileA
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:286,1
    - Dst: FindClose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:288,1
    - Dst: DIRENT_STRNCPY
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:295,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 313
    functionName: readdir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 3
    functionsReached:
    - strlen
    - FindClose
    - DIRENT_STRNCPY
    - FindNextFileA
    - DIRENT_SET_ERRNO
    linkageType: ''
    returnType: struct dirent
    signature: struct dirent *readdir(DIR *dirp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:325,1
    - Dst: FindClose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:331,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 338
    functionName: closedir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 3
    functionsReached:
    - free
    - DIRENT_SET_ERRNO
    - FindClose
    linkageType: ''
    returnType: int
    signature: int closedir(DIR *dirp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:353,1
    - Dst: FindFirstFileA
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 366
    functionName: rewinddir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: 0
    functionsReached:
    - FindFirstFileA
    - FindClose
    linkageType: ''
    returnType: void
    signature: void rewinddir(DIR* dirp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:77,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:79,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:80,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:83,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:85,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: init_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: 0
    functionsReached:
    - printf
    - avro_schema_from_json
    - exit
    linkageType: ''
    returnType: void
    signature: void init_schema(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - call
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: try
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: try(call, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:108,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:109,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:111,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:113,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:122,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:125,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:126,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:128,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:130,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:137,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:140,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:142,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - p_array
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 152
    functionName: print_array_fields
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: 0
    functionsReached:
    - avro_value_get_type
    - avro_value_get_size
    - avro_value_get_by_index
    - avro_value_get_long
    - printf
    linkageType: ''
    returnType: int
    signature: int print_array_fields ( avro_value_t *p_array )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:170,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_subarray
    - elements
    - iteration
    argTypes:
    - avro_value_t*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: add_subarray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: 0
    functionsReached:
    - avro_value_set_long
    - avro_value_append
    linkageType: ''
    returnType: int
    signature: "int add_subarray( avro_value_t *p_subarray,\n                  size_t
      elements,\n                  int32_t iteration )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:183,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:190,1
    - Dst: add_subarray
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_array
    - elements
    argTypes:
    - avro_value_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 199
    functionName: populate_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: 0
    functionsReached:
    - add_subarray
    - fprintf
    - avro_value_append
    linkageType: ''
    returnType: int
    signature: int populate_array( avro_value_t *p_array, int32_t elements )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:220,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:221,1
    - Dst: populate_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:224,1
    - Dst: avro_resolved_reader_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:237,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:242,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:243,1
    - Dst: avro_resolved_reader_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:246,1
    - Dst: avro_resolved_reader_set_source
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:250,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:258,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:261,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:262,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:265,1
    - Dst: print_array_fields
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:268,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:270,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:276,1
    - Dst: populate_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:279,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:282,1
    - Dst: print_array_fields
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:285,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:287,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:288,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:289,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:294,1
    - Dst: print_array_fields
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:297,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:302,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 3
    argNames:
    - writer
    - elements
    - use_resolving_writer
    argTypes:
    - avro_writer_t
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 306
    functionName: add_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: 0
    functionsReached:
    - avro_generic_value_new
    - avro_resolved_reader_set_source
    - avro_value_decref
    - avro_value_iface_decref
    - avro_value_write
    - avro_value_reset
    - print_array_fields
    - populate_array
    - printf
    - avro_generic_class_from_schema
    - avro_resolved_reader_new
    - avro_resolved_reader_new_value
    - exit
    linkageType: ''
    returnType: int
    signature: "int add_array( avro_writer_t writer,\n               int32_t elements,\n
      \              int use_resolving_writer )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:320,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:323,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:326,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:327,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:331,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:334,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:335,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:339,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:339,1
    - Dst: add_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:341,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:342,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:342,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:345,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:348,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:349,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:352,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:353,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:355,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:355,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:356,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:357,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - buf_len
    - raw_binary_file_name
    - use_resolving_writer
    argTypes:
    - int64_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 360
    functionName: write_nested_array_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: 0
    functionsReached:
    - remove
    - avro_writer_memory
    - malloc
    - fprintf
    - add_array
    - printf
    - avro_writer_tell
    - fclose
    - fopen
    - fwrite
    - free
    - avro_writer_free
    - exit
    linkageType: ''
    returnType: int
    signature: "int write_nested_array_file ( int64_t buf_len,\n                              const
      char *raw_binary_file_name,\n                              int use_resolving_writer
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:374,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:376,1
    - Dst: write_nested_array_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:378,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:380,1
    - Dst: write_nested_array_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:383,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:386,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:387,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:390,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:391,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 395
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - remove
    - printf
    - write_nested_array_file
    - init_schema
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:52,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:53,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:53,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:53,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:56,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:59,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:62,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:65,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:66,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:69,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:72,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:73,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:73,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:75,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:75,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:77,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:78,1
    - Dst: avro_file_writer_append_encoded
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:78,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:79,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:79,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:82,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:82,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:83,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:83,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:84,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:85,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:86,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:88,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:89,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:89,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:90,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:92,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:93,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:94,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:95,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:96,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c
    functionUses: 0
    functionsReached:
    - avro_writer_memory
    - snprintf
    - printf
    - avro_writer_tell
    - exit
    - avro_schema_decref
    - avro_value_iface_decref
    - fprintf
    - avro_file_reader
    - avro_generic_class_from_schema
    - avro_file_writer_append_encoded
    - avro_writer_free
    - strlen
    - avro_schema_from_json
    - avro_value_write
    - remove
    - avro_file_writer_close
    - avro_file_reader_read_value
    - avro_value_set_string
    - avro_file_writer_create
    - avro_generic_value_new
    - avro_file_reader_close
    - avro_value_decref
    - check
    - avro_value_reset
    - avro_value_equal
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:41,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:43,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:46,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:46,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:50,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:52,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:53,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:55,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:58,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:59,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:60,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:62,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:65,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:66,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:67,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:68,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:70,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:73,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 78
    functionName: read_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c
    functionUses: 4
    functionsReached:
    - avro_generic_value_new
    - avro_schema_decref
    - avro_value_get_int
    - avro_value_decref
    - avro_value_iface_decref
    - avro_value_get_by_index
    - avro_file_reader_close
    - avro_file_reader_get_writer_schema
    - avro_value_reset
    - avro_strerror
    - fprintf
    - avro_file_reader_read_value
    - avro_file_reader
    - avro_generic_class_from_schema
    linkageType: ''
    returnType: int
    signature: int read_data()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:87,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:89,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:92,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:92,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:96,1
    - Dst: avro_file_reader_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:98,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:101,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:102,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:102,1
    - Dst: avro_int32_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:105,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:106,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:108,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:111,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:112,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:114,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:117,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 122
    functionName: read_data_datum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_file_reader_close
    - avro_file_reader_get_writer_schema
    - avro_record_get
    - avro_strerror
    - fprintf
    - avro_file_reader_read
    - avro_file_reader
    - avro_int32_get
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: int read_data_datum()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:132,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:134,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:135,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:139,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:140,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:140,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:144,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:145,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:149,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:150,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:153,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:154,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:154,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:159,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:160,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:160,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:164,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:165,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - n_records
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 169
    functionName: write_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c
    functionUses: 4
    functionsReached:
    - avro_generic_value_new
    - avro_schema_decref
    - avro_value_decref
    - avro_value_iface_decref
    - avro_schema_from_json
    - avro_value_get_by_index
    - avro_strerror
    - avro_value_set_int
    - avro_file_writer_append_value
    - avro_file_writer_close
    - fprintf
    - avro_generic_class_from_schema
    - avro_file_writer_create
    linkageType: ''
    returnType: int
    signature: int write_data(int n_records)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:174,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:175,1
    - Dst: read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:179,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:180,1
    - Dst: read_data_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:184,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:185,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - n_records
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 191
    functionName: test_n_records
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c
    functionUses: 0
    functionsReached:
    - write_data
    - read_data_datum
    - read_data
    - remove
    linkageType: ''
    returnType: int
    signature: int test_n_records(int n_records)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_n_records
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:195,1
    - Dst: test_n_records
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c
    functionUses: 0
    functionsReached:
    - test_n_records
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:63,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:63,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:66,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:67,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:71,1
    - Dst: avro_schema_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:74,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:75,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:77,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:78,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:81,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - strlen
    - avro_schema_copy
    - avro_schema_from_json
    - printf
    - avro_schema_equal
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:50,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:51,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:53,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:54,1
    - Dst: avro_wrapped_buffer_new_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:57,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:58,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:59,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:62,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:64,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:65,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:67,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - p_val
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: populate_complex_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - avro_wrapped_buffer_new_string
    - avro_value_give_string_len
    - avro_value_set_int
    - avro_value_set_double
    - avro_value_set_float
    - avro_value_set_long
    linkageType: ''
    returnType: void
    signature: void populate_complex_record(avro_value_t *p_val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:83,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:83,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:83,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:85,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:88,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:91,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:94,1
    - Dst: populate_complex_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:95,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:98,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:99,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:99,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:101,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:102,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:102,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:104,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:106,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:107,1
    - Dst: avro_file_writer_append_encoded
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:107,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:108,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:108,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:110,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:110,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:111,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:112,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:112,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:113,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:114,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:115,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:116,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:118,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:119,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:119,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:120,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:122,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:123,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:124,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:125,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:126,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c
    functionUses: 0
    functionsReached:
    - avro_writer_memory
    - populate_complex_record
    - avro_writer_tell
    - exit
    - avro_schema_decref
    - avro_value_iface_decref
    - fprintf
    - avro_file_reader
    - avro_generic_class_from_schema
    - avro_file_writer_append_encoded
    - avro_writer_free
    - strlen
    - avro_schema_from_json
    - avro_value_write
    - remove
    - avro_file_writer_close
    - avro_file_reader_read_value
    - avro_file_writer_create
    - avro_generic_value_new
    - avro_file_reader_close
    - avro_value_decref
    - check
    - avro_value_reset
    - avro_value_equal
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: check_exit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_exit(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: expect_eof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_eof(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: expect_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_error(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: check_expected_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_expected_value(actual, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:74,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:75,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:75,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:76,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:76,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:78,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:79,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:80,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:85,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:85,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:87,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:87,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:88,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:88,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:89,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:89,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:90,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:92,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:92,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:93,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:93,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:94,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:94,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:95,1
    - Dst: expect_eof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:97,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:97,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:98,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:98,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:103,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:103,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:105,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:105,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:106,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:106,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:107,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:107,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:108,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:110,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:110,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:111,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:111,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:112,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:112,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:113,1
    - Dst: expect_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:115,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:115,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:116,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:116,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:120,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:121,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:122,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:123,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c
    functionUses: 0
    functionsReached:
    - avro_schema_null
    - avro_value_set_null
    - exit
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_value_set_int
    - avro_file_reader
    - avro_generic_class_from_schema
    - avro_value_set_branch
    - expect_error
    - check_exit
    - avro_schema_union
    - avro_file_reader_read_value
    - avro_schema_int
    - avro_schema_union_append
    - expect_eof
    - avro_generic_value_new
    - avro_file_reader_close
    - avro_value_decref
    - check_expected_value
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:27,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:33,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:34,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:35,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:37,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:39,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:42,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:45,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:56,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:57,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:59,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:59,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:61,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - d_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: should_test
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strlen
    - malloc
    - free
    - strncpy
    - strcmp
    linkageType: ''
    returnType: int
    signature: int should_test(char *d_name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:73,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:78,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:80,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:85,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:93,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:94,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:95,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:96,1
    - Dst: should_test
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:98,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:100,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:101,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:104,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:106,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:108,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:109,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:112,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:113,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:114,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:117,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:117,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:120,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:121,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:126,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:127,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:131,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:132,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:133,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:134,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:135,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c
    functionUses: 0
    functionsReached:
    - closedir
    - sprintf
    - printf
    - readdir
    - avro_schema_decref
    - avro_value_iface_decref
    - fprintf
    - avro_file_reader
    - avro_generic_class_from_schema
    - strlen
    - avro_file_reader_get_writer_schema
    - malloc
    - avro_file_reader_read_value
    - should_test
    - free
    - avro_generic_value_new
    - avro_file_reader_close
    - avro_value_decref
    - avro_value_reset
    - opendir
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:40,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:41,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: print_avro_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c
    functionUses: 0
    functionsReached:
    - printf
    - avro_value_to_json
    - free
    linkageType: ''
    returnType: void
    signature: void print_avro_value(avro_value_t *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:54,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:55,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:57,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:58,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:60,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:61,1
    - Dst: avro_value_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:64,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:65,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:65,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:67,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:68,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:72,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:75,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:76,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:77,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:78,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:81,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 86
    functionName: read_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c
    functionUses: 5
    functionsReached:
    - avro_generic_value_new
    - avro_schema_decref
    - avro_file_reader_close
    - avro_value_decref
    - avro_value_iface_decref
    - avro_file_reader_get_writer_schema
    - avro_value_reset
    - avro_strerror
    - fprintf
    - avro_file_reader_read_value
    - printf
    - avro_file_reader
    - avro_generic_class_from_schema
    - avro_value_to_json
    - free
    linkageType: ''
    returnType: int
    signature: int read_data()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:96,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:97,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:101,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:102,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:104,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:105,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:105,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:109,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:112,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:113,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:115,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:116,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:118,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:119,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:121,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:122,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:125,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:126,1
    - Dst: print_avro_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:128,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:130,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:133,1
    - Dst: avro_file_writer_open
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:134,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:136,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:139,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:140,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:141,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 145
    functionName: write_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c
    functionUses: 5
    functionsReached:
    - avro_generic_value_new
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_value_decref
    - avro_schema_from_json
    - avro_value_reset
    - avro_strerror
    - avro_value_set_int
    - avro_file_writer_append_value
    - avro_file_writer_close
    - avro_value_get_by_name
    - printf
    - avro_file_writer_open
    - avro_generic_class_from_schema
    - avro_value_set_string
    - avro_file_writer_create
    - print_avro_value
    - avro_value_set_long
    linkageType: ''
    returnType: int
    signature: int write_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:152,1
    - Dst: read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:156,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c
    functionUses: 0
    functionsReached:
    - write_data
    - read_data
    - remove
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:42,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:43,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:46,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:52,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:61,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:63,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:65,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:71,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - ud
    - ptr
    - osize
    - nsize
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 78
    functionName: test_allocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - realloc
    - fprintf
    - AVRO_UNUSED
    - free
    - exit
    linkageType: ''
    returnType: void
    signature: 'void *

      test_allocator(void *ud, void *ptr, size_t osize, size_t nsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:83,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: init_rand
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 2
    functionsReached:
    - time
    - srand
    linkageType: ''
    returnType: void
    signature: void init_rand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: rand_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 10
    functionsReached:
    - rand
    linkageType: ''
    returnType: double
    signature: double rand_number(double from, double to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: rand_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 7
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int64_t
    signature: int64_t rand_int64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: rand_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 5
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int32_t
    signature: int32_t rand_int32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: rand_count
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: size_t
    signature: size_t rand_count(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: check_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_(call)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:125,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:145,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:146,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:153,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:154,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:159,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:160,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:165,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:166,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:171,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:172,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:177,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:178,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:182,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:183,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:190,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:191,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:192,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:197,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:198,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:205,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:206,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:211,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:216,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:223,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:229,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:237,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:243,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:244,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:245,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 251
    functionName: _check_invalid_methods
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_value_get_type
    - check_bad
    linkageType: ''
    returnType: int
    signature: int _check_invalid_methods(const char *name, avro_value_t *val)
  - 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: expand_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expand_args(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: check_bad
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_bad(method, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: check_invalid_methods
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_invalid_methods(name, val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:266,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:267,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:268,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:272,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:272,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:274,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:275,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - name
    - val
    - expected_type
    - expected_schema
    argTypes:
    - char*
    - avro_value_t*
    - avro_type_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 281
    functionName: check_type_and_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_value_get_type
    - avro_schema_decref
    - avro_value_get_schema
    - fprintf
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: "int check_type_and_schema(const char *name,\n\t\t      avro_value_t
      *val,\n\t\t      avro_type_t expected_type,\n\t\t      avro_schema_t expected_schema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - call
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: try
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: try(call, msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:296,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:297,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:299,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:300,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:301,1
    - Dst: avro_writer_dump
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:305,1
    - Dst: avro_value_sizeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:308,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:309,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:310,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:314,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:315,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:320,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:321,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:322,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:326,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:327,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:328,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:332,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:333,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:334,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:337,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:338,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - val
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 342
    functionName: _check_write_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_generic_value_new
    - avro_value_read
    - avro_value_decref
    - avro_value_write
    - avro_writer_memory
    - avro_reader_memory
    - avro_strerror
    - avro_writer_dump
    - fprintf
    - avro_value_sizeof
    - avro_value_equal
    - avro_writer_tell
    - avro_reader_free
    - avro_writer_free
    - exit
    linkageType: ''
    returnType: int
    signature: int _check_write_read(avro_value_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: check_write_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_write_read(val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:350,1
    - Dst: avro_value_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:351,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: _check_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - fprintf
    - avro_value_hash
    linkageType: ''
    returnType: int
    signature: int _check_hash(avro_value_t *val1, avro_value_t *val2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val1
    - ','
    - val2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: check_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_hash(val1, val2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:366,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:367,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:368,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:372,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:373,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:374,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:378,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:379,1
    - Dst: check_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:383,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - val
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 387
    functionName: _check_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_generic_value_new
    - avro_value_decref
    - avro_strerror
    - fprintf
    - check_hash
    - avro_value_equal
    - avro_value_copy_fast
    linkageType: ''
    returnType: int
    signature: int _check_copy(avro_value_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: check_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_copy(val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_boolean_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:400,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:402,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:402,1
    - Dst: avro_schema_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:404,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:405,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:407,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:413,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:417,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:421,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:422,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:423,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:424,1
    - Dst: avro_generic_boolean_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:429,1
    - Dst: avro_generic_boolean_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:431,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:433,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:434,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:437,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:438,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:441,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:442,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:445,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 449
    functionName: test_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_schema_boolean
    - check_write_read
    - avro_value_decref
    - avro_value_set_boolean
    - check
    - avro_value_reset
    - check_copy
    - fprintf
    - check_type_and_schema
    - avro_value_get_boolean
    - check_invalid_methods
    - avro_value_cmp_fast
    - avro_generic_boolean_new
    linkageType: ''
    returnType: int
    signature: int test_boolean(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_bytes_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:459,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:461,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:461,1
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:463,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:464,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:466,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:471,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:475,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:479,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:480,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:485,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:489,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:493,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:494,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:498,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:500,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:501,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:502,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:503,1
    - Dst: avro_generic_bytes_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:508,1
    - Dst: avro_generic_bytes_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:510,1
    - Dst: avro_generic_bytes_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:512,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:514,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:515,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:518,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:519,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:522,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:523,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:526,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:527,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:530,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:531,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:532,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 535
    functionName: test_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - check_write_read
    - avro_value_decref
    - avro_schema_bytes
    - memcmp
    - avro_generic_bytes_new
    - check
    - avro_value_reset
    - check_copy
    - avro_value_grab_bytes
    - fprintf
    - check_type_and_schema
    - avro_value_get_bytes
    - avro_value_set_bytes
    - check_invalid_methods
    - avro_value_cmp_fast
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: int
    signature: int test_bytes(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:544,1
    - Dst: avro_generic_double_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:546,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:548,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:548,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:550,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:551,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:553,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:557,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:561,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:565,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:566,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:567,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 571
    functionName: test_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_schema_double
    - check_write_read
    - avro_value_decref
    - avro_generic_double_new
    - check_copy
    - rand_number
    - check
    - avro_value_reset
    - avro_value_get_double
    - fprintf
    - check_type_and_schema
    - avro_value_set_double
    - check_invalid_methods
    linkageType: ''
    returnType: int
    signature: int test_double(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:580,1
    - Dst: avro_generic_float_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:582,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:584,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:584,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:586,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:587,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:589,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:593,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:597,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:601,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:602,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:603,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 607
    functionName: test_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - check_write_read
    - avro_value_get_float
    - avro_value_decref
    - check_copy
    - rand_number
    - check
    - avro_value_reset
    - fprintf
    - check_type_and_schema
    - avro_generic_float_new
    - check_invalid_methods
    - avro_value_set_float
    - avro_schema_float
    linkageType: ''
    returnType: int
    signature: int test_float(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:616,1
    - Dst: avro_generic_int_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:618,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:620,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:620,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:622,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:623,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:625,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:629,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:633,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:637,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:638,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:639,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:640,1
    - Dst: avro_generic_int_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:645,1
    - Dst: avro_generic_int_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:647,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:649,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:650,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:653,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:654,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:657,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:658,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:661,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 665
    functionName: test_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_generic_int_new
    - avro_value_get_int
    - check_write_read
    - avro_value_decref
    - check_copy
    - check
    - avro_value_reset
    - avro_value_set_int
    - fprintf
    - check_type_and_schema
    - avro_schema_int
    - rand_int32
    - check_invalid_methods
    - avro_value_cmp_fast
    linkageType: ''
    returnType: int
    signature: int test_int(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:674,1
    - Dst: avro_generic_long_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:676,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:678,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:678,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:680,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:681,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:683,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:687,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:691,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:695,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:696,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:697,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 701
    functionName: test_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - check_write_read
    - avro_schema_long
    - avro_value_decref
    - avro_generic_long_new
    - check
    - avro_value_reset
    - rand_int64
    - avro_value_get_long
    - check_copy
    - fprintf
    - check_type_and_schema
    - check_invalid_methods
    - avro_value_set_long
    linkageType: ''
    returnType: int
    signature: int test_long(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_null_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:709,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:711,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:711,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:713,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:714,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:716,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:718,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:721,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:722,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:723,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 726
    functionName: test_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - check_write_read
    - avro_generic_null_new
    - avro_value_decref
    - avro_value_get_null
    - check_copy
    - check
    - avro_schema_null
    - avro_value_reset
    - avro_value_set_null
    - check_type_and_schema
    - check_invalid_methods
    linkageType: ''
    returnType: int
    signature: int test_null(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_string_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:745,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:747,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:747,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:749,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:750,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:752,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:757,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:762,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:765,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:766,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:770,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:771,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:776,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:779,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:780,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:784,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:785,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:789,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:793,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:794,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:799,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:802,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:803,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:807,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:808,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:812,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:815,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:816,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:820,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:821,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:825,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:827,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:828,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:829,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:830,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 834
    functionName: test_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - strlen
    - avro_schema_string
    - avro_generic_string_new
    - avro_wrapped_buffer_free
    - check_write_read
    - check_copy
    - check
    - avro_value_reset
    - avro_value_decref
    - avro_value_set_string_len
    - fprintf
    - check_type_and_schema
    - avro_value_get_string
    - avro_value_set_string
    - avro_value_grab_string
    - check_invalid_methods
    - strcmp
    linkageType: ''
    returnType: int
    signature: int test_string(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:839,1
    - Dst: avro_schema_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:840,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:843,1
    - Dst: rand_count
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:849,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:852,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:854,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:854,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:856,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:862,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:865,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:869,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:870,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:872,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:876,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:880,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:886,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:890,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:894,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:895,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:897,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:899,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:903,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:907,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:908,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:911,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:912,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:913,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 915
    functionName: test_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - avro_schema_incref
    - avro_value_get_double
    - check_invalid_methods
    - rand_count
    - avro_schema_decref
    - avro_value_iface_decref
    - check_copy
    - fprintf
    - avro_generic_class_from_schema
    - check_write_read
    - avro_schema_double
    - rand_number
    - check_type_and_schema
    - avro_generic_value_new
    - avro_value_decref
    - avro_value_get_by_index
    - check
    - avro_value_reset
    - avro_schema_array
    - avro_value_append
    - avro_value_set_double
    linkageType: ''
    returnType: int
    signature: int test_array(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:928,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:929,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:930,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:935,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:943,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:945,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:945,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:947,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:948,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:950,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:954,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:958,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:962,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:963,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:964,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:965,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:968,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 971
    functionName: test_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_generic_value_new
    - avro_schema_decref
    - check_write_read
    - avro_value_decref
    - avro_schema_incref
    - avro_value_iface_decref
    - check_copy
    - check
    - avro_strerror
    - avro_value_reset
    - fprintf
    - check_type_and_schema
    - avro_schema_from_json_literal
    - avro_generic_class_from_schema
    - avro_value_get_enum
    - avro_value_set_enum
    - check_invalid_methods
    linkageType: ''
    returnType: int
    signature: int test_enum(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:984,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:985,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:986,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:991,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:998,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1000,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1000,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1002,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1003,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1007,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1010,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1015,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1019,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1023,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1024,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1029,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1033,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1037,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1038,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1042,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1044,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1045,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1046,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1047,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1048,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 1051
    functionName: test_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_value_get_fixed
    - avro_schema_incref
    - avro_value_grab_fixed
    - avro_value_set_fixed
    - check_invalid_methods
    - avro_schema_decref
    - avro_value_iface_decref
    - check_copy
    - fprintf
    - avro_generic_class_from_schema
    - check_write_read
    - avro_wrapped_buffer_free
    - memcmp
    - check_type_and_schema
    - avro_schema_from_json_literal
    - avro_generic_value_new
    - avro_value_decref
    - check
    - avro_strerror
    - avro_value_reset
    linkageType: ''
    returnType: int
    signature: int test_fixed(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1056,1
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1057,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1060,1
    - Dst: rand_count
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1066,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1069,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1071,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1071,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1073,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1082,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1084,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1089,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1094,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1098,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1099,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1101,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1106,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1111,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1115,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1116,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1121,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1125,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1131,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1135,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1145,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1152,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1154,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1157,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1159,1
    - Dst: check_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1163,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1164,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1165,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1171,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1172,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1174,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1176,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1180,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1184,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1185,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1186,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1189,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1190,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1193
    functionName: test_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - avro_schema_incref
    - avro_value_get_double
    - snprintf
    - check_invalid_methods
    - strcmp
    - rand_count
    - avro_schema_decref
    - avro_value_iface_decref
    - check_copy
    - fprintf
    - check_hash
    - avro_generic_class_from_schema
    - check_write_read
    - avro_schema_double
    - rand_number
    - check_type_and_schema
    - avro_generic_value_new
    - avro_value_decref
    - avro_value_get_by_index
    - check
    - avro_value_reset
    - avro_value_add
    - avro_value_equal
    - avro_value_set_double
    - avro_schema_map
    linkageType: ''
    returnType: int
    signature: int test_map(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1223,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1224,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1225,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1230,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1235,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1237,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1237,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1239,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1242,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1245,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1257,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1259,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1262,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1264,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1266,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1267,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1271,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1273,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1276,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1279,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1283,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1285,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1287,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1290,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1293,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1295,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1298,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1300,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1303,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1305,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1308,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1309,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1312,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1316,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1318,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1321,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1326,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1328,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1331,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1335,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1336,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1337,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1340
    functionName: test_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - avro_schema_incref
    - check_invalid_methods
    - strcmp
    - avro_schema_decref
    - avro_value_iface_decref
    - check_copy
    - avro_value_set_int
    - fprintf
    - avro_generic_class_from_schema
    - avro_value_set_branch
    - check_write_read
    - avro_value_get_by_name
    - check_type_and_schema
    - avro_schema_from_json_literal
    - avro_value_set_string
    - avro_value_set_long
    - avro_value_set_float
    - avro_generic_value_new
    - avro_value_decref
    - avro_value_get_by_index
    - avro_value_set_boolean
    - check
    - avro_strerror
    - avro_value_reset
    - avro_value_append
    - avro_value_get_boolean
    - avro_value_set_double
    linkageType: ''
    returnType: int
    signature: int test_record(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1354,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1355,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1356,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1361,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1366,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1368,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1368,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1370,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1373,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1377,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1382,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1385,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1387,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1390,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1392,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1395,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1397,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1400,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1402,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1406,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1408,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1411,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1412,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1413,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1414,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1416,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1419
    functionName: test_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - avro_schema_incref
    - avro_value_set_null
    - avro_value_get_discriminant
    - avro_value_set_bytes
    - check_invalid_methods
    - avro_schema_decref
    - avro_value_iface_decref
    - check_copy
    - avro_value_set_int
    - fprintf
    - avro_generic_class_from_schema
    - avro_value_get_current_branch
    - avro_value_set_branch
    - check_write_read
    - check_type_and_schema
    - avro_schema_from_json_literal
    - avro_generic_value_new
    - avro_value_decref
    - check
    - avro_strerror
    - avro_value_set_double
    linkageType: ''
    returnType: int
    signature: int test_union(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_allocator
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1423,1
    - Dst: init_rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1446,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1449,1
    - Dst: struct avro_tests*::func
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1421
    functionDepth: 1
    functionLinenumber: 1421
    functionLinenumberEnd: 1455
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: 0
    functionsReached:
    - fprintf
    - struct avro_tests*::func
    - avro_set_allocator
    - init_rand
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:80,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:82,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:83,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:86,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:88,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: init_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: 1
    functionsReached:
    - printf
    - avro_schema_from_json
    - exit
    linkageType: ''
    returnType: void
    signature: void init_schema(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - call
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: try
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: try(call, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:111,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:112,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:114,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:116,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:125,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:128,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:129,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:131,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:133,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:140,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:143,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:145,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - p_array
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 155
    functionName: print_array_fields
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: 1
    functionsReached:
    - avro_value_get_type
    - avro_value_get_size
    - avro_value_get_by_index
    - avro_value_get_long
    - printf
    linkageType: ''
    returnType: int
    signature: int print_array_fields ( avro_value_t *p_array )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:173,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_subarray
    - elements
    - iteration
    argTypes:
    - avro_value_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 181
    functionName: add_subarray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: 1
    functionsReached:
    - avro_value_set_long
    - avro_value_append
    linkageType: ''
    returnType: int
    signature: "int add_subarray( avro_value_t *p_subarray,\n                  int32_t
      elements, \n                  int32_t iteration )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:202,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:203,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:212,1
    - Dst: add_subarray
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:217,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:222,1
    - Dst: print_array_fields
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:225,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:228,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - writer
    - elements
    argTypes:
    - avro_writer_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: add_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: 1
    functionsReached:
    - avro_generic_value_new
    - add_subarray
    - avro_value_decref
    - avro_value_iface_decref
    - avro_value_write
    - print_array_fields
    - avro_value_append
    - avro_generic_class_from_schema
    linkageType: ''
    returnType: int
    signature: "int add_array( avro_writer_t writer, \n               int32_t elements
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:244,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:247,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:250,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:251,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:255,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:258,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:259,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:263,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:263,1
    - Dst: add_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:265,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:266,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:266,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:269,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:272,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:273,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:276,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:277,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:279,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:279,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:280,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:281,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - buf_len
    - raw_binary_file_name
    argTypes:
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 284
    functionName: write_nested_array_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: 1
    functionsReached:
    - remove
    - avro_writer_memory
    - malloc
    - fprintf
    - add_array
    - printf
    - avro_writer_tell
    - fclose
    - fopen
    - fwrite
    - free
    - avro_writer_free
    - exit
    linkageType: ''
    returnType: int
    signature: int write_nested_array_file ( int64_t buf_len, const char *raw_binary_file_name
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:311,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:314,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:317,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:318,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:321,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:324,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:327,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:328,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:330,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:331,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:332,1
    - Dst: avro_resolved_writer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:339,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:342,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:343,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:344,1
    - Dst: avro_resolved_writer_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:350,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:352,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:353,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:354,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:360,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:361,1
    - Dst: avro_resolved_writer_set_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:367,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:370,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:372,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:374,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:376,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:377,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:378,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:379,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:381,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:387,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:389,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:393,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:395,1
    - Dst: print_array_fields
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:403,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:408,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:409,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:410,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:411,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:416,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:417,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:420,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:421,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:422,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 60
    argCount: 5
    argNames:
    - buf_len
    - raw_binary_file_name
    - writer_schema
    - reader_schema
    - use_resolving_reader
    argTypes:
    - int64_t
    - char*
    - avro_schema_t
    - avro_schema_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 424
    functionName: read_nested_array_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: 0
    functionsReached:
    - fread
    - printf
    - fopen
    - exit
    - avro_value_iface_decref
    - avro_reader_memory
    - fprintf
    - avro_generic_class_from_schema
    - calloc
    - avro_resolved_writer_new_value
    - avro_value_read
    - memset
    - print_array_fields
    - avro_resolved_writer_new
    - free
    - avro_generic_value_new
    - avro_value_decref
    - avro_resolved_writer_set_dest
    - fclose
    - avro_reader_free
    linkageType: ''
    returnType: int
    signature: "int read_nested_array_file ( int64_t buf_len, \n                             const
      char *raw_binary_file_name, \n                             avro_schema_t writer_schema,\n
      \                            avro_schema_t reader_schema,\n                             int
      use_resolving_reader\n                           )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:437,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:439,1
    - Dst: write_nested_array_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:441,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:443,1
    - Dst: read_nested_array_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:447,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:456,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:457,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:460,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 464
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - remove
    - printf
    - write_nested_array_file
    - read_nested_array_file
    - init_schema
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:45,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:47,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:48,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:51,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:54,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:59,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:61,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:62,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:64,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:65,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:67,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:68,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:71,1
    - Dst: avro_schema_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:76,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:77,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:78,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:80,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:81,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:83,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:85,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:87,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:88,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:89,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:90,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:91,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:93,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:94,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:95,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:96,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:97,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:98,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:99,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:101,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:103,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:104,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:105,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:107,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:108,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:113,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:115,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:119,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:119,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:120,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:122,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:124,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:130,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - dirpath
    - should_pass
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 131
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: 1
    functionsReached:
    - avro_schema_copy
    - avro_writer_memory
    - closedir
    - fread
    - snprintf
    - avro_write
    - fopen
    - readdir
    - strcmp
    - avro_schema_decref
    - exit
    - fprintf
    - avro_writer_free
    - avro_schema_from_json
    - avro_schema_to_json
    - avro_strerror
    - opendir
    - fclose
    - avro_schema_equal
    linkageType: ''
    returnType: void
    signature: void run_tests(char *dirpath, int should_pass)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:135,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:135,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:137,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:138,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:138,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:139,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:140,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: test_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_schema_array
    - fprintf
    - avro_schema_int
    - avro_schema_array_items
    - avro_schema_equal
    - exit
    linkageType: ''
    returnType: int
    signature: int test_array(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:156,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:158,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:159,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:160,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:161,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:162,1
    - Dst: avro_schema_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:164,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:165,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:166,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:167,1
    - Dst: avro_schema_enum_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:170,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:171,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:172,1
    - Dst: avro_schema_enum_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:175,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:176,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:177,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 182
    functionName: test_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_schema_enum_get_by_name
    - avro_schema_enum_get
    - fprintf
    - exit
    - avro_schema_enum
    - avro_schema_enum_symbol_append
    - strcmp
    linkageType: ''
    returnType: int
    signature: int test_enum(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:186,1
    - Dst: avro_schema_fixed_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:187,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:188,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:189,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: test_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - fprintf
    - avro_schema_fixed
    - avro_schema_fixed_size
    - exit
    linkageType: ''
    returnType: int
    signature: int test_fixed(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:198,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:198,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:200,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:201,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:201,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:202,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:203,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: test_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_schema_long
    - avro_schema_map_values
    - fprintf
    - exit
    - avro_schema_equal
    - avro_schema_map
    linkageType: ''
    returnType: int
    signature: int test_map(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:212,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:214,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:214,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:215,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:215,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:217,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:218,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:219,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:222,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:223,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:224,1
    - Dst: avro_schema_record_field_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:228,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:229,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:229,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:230,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:231,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:235,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:236,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:236,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:237,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:238,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 243
    functionName: test_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_schema_string
    - avro_schema_record
    - avro_schema_record_field_get_by_index
    - avro_schema_record_field_get
    - fprintf
    - avro_schema_record_field_append
    - avro_schema_int
    - avro_schema_equal
    - avro_schema_record_field_get_index
    - exit
    linkageType: ''
    returnType: int
    signature: int test_record(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:247,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:249,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:249,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:250,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:250,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:251,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:251,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:253,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:254,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:255,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:256,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:257,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:260,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:261,1
    - Dst: avro_schema_union_branch_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:262,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:263,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:264,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 269
    functionName: test_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_schema_string
    - avro_schema_null
    - avro_schema_union_branch
    - avro_schema_union
    - fprintf
    - avro_schema_int
    - avro_schema_union_append
    - avro_schema_equal
    - avro_schema_union_branch_by_name
    - exit
    linkageType: ''
    returnType: int
    signature: int test_union(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:273,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:276,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:277,1
    - Dst: avro_writer_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:283,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:288,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:289,1
    - Dst: run_tests
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:290,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:291,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:292,1
    - Dst: run_tests
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:293,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:295,1
    - Dst: test_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:296,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:297,1
    - Dst: test_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:298,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:299,1
    - Dst: test_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:300,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:301,1
    - Dst: test_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:302,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:303,1
    - Dst: test_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:304,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:305,1
    - Dst: test_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:306,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:308,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:309,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:312,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 316
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: 0
    functionsReached:
    - getenv
    - test_fixed
    - test_map
    - test_array
    - test_record
    - fprintf
    - test_union
    - snprintf
    - run_tests
    - avro_writer_file
    - test_enum
    - avro_writer_free
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:35,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:35,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:38,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:41,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:45,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:49,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:51,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:52,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:55,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:57,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:61,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:62,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:63,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:66,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - json
    - name
    - expected
    argTypes:
    - char*
    - char*
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 68
    functionName: test_helper
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - strlen
    - avro_schema_from_json
    - fprintf
    - avro_schema_get_subschema
    - avro_schema_type_name
    - avro_schema_equal
    - exit
    linkageType: ''
    returnType: void
    signature: "void test_helper(const char *json,\n     const char *name,\n     avro_schema_t
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:78,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: test_array_schema_01
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: 0
    functionsReached:
    - avro_schema_long
    - test_helper
    linkageType: ''
    returnType: void
    signature: void test_array_schema_01()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:89,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: test_map_schema_01
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: 0
    functionsReached:
    - avro_schema_long
    - test_helper
    linkageType: ''
    returnType: void
    signature: void test_map_schema_01()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:103,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: test_record_schema_01
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: 0
    functionsReached:
    - avro_schema_long
    - test_helper
    linkageType: ''
    returnType: void
    signature: void test_record_schema_01()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:120,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: test_union_schema_01
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: 0
    functionsReached:
    - avro_schema_long
    - test_helper
    linkageType: ''
    returnType: void
    signature: void test_union_schema_01()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:125,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:126,1
    - Dst: test_array_schema_01
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:128,1
    - Dst: test_map_schema_01
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:130,1
    - Dst: test_record_schema_01
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:132,1
    - Dst: test_union_schema_01
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: 0
    functionsReached:
    - test_map_schema_01
    - test_union_schema_01
    - test_record_schema_01
    - test_array_schema_01
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:33,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:34,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:36,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:38,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:39,1
    - Dst: avro_file_writer_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:42,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:44,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_file_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: add_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c
    functionUses: 0
    functionsReached:
    - avro_record
    - avro_int32
    - avro_record_set
    - printf
    - avro_file_writer_append
    - avro_datum_decref
    - exit
    linkageType: ''
    returnType: void
    signature: void add_record (avro_file_writer_t writer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:52,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:54,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:55,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:58,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:60,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:60,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:61,1
    - Dst: add_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:64,1
    - Dst: avro_file_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:66,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: create_database
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c
    functionUses: 0
    functionsReached:
    - add_record
    - avro_strerror
    - avro_file_writer_close
    - printf
    - avro_schema_from_json_literal
    - avro_file_writer_flush
    - avro_file_writer_create
    - exit
    linkageType: ''
    returnType: void
    signature: void create_database()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_database
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:75,1
    - Dst: avro_file_writer_open
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:77,1
    - Dst: add_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:78,1
    - Dst: avro_file_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:80,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:81,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:83,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - add_record
    - remove
    - create_database
    - avro_file_writer_close
    - avro_file_writer_open
    - avro_file_writer_flush
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:36,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:38,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:43,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:45,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:45,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:51,1
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:54,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:55,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:57,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:59,1
    - Dst: avro_file_writer_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:63,1
    - Dst: avro_file_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:64,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:65,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:66,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:68,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_record
    - remove
    - avro_strerror
    - avro_file_writer_close
    - avro_int32
    - avro_record_set
    - printf
    - avro_schema_from_json_literal
    - avro_file_writer_flush
    - avro_file_writer_create
    - avro_file_writer_append
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:36,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:37,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:37,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:40,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:41,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:42,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:57,1
    - Dst: avro_resolved_reader_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:59,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:65,1
    - Dst: avro_datum_as_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:65,1
    - Dst: avro_resolved_reader_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:68,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:70,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:71,1
    - Dst: avro_resolved_reader_set_source
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:75,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:76,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:77,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:78,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:79,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:87,1
    - Dst: avro_datum_as_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:87,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:88,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:88,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - writer
    - writers_schema
    - datum
    argTypes:
    - avro_writer_t
    - avro_schema_t
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 91
    functionName: avro_write_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - avro_value_decref
    - avro_value_iface_decref
    - avro_datum_as_value
    - avro_resolved_reader_set_source
    - check
    - avro_value_write
    - avro_datum_get_schema
    - check_param
    - is_avro_schema
    - is_avro_datum
    - avro_resolved_reader_new
    - avro_resolved_reader_new_value
    - avro_schema_datum_validate
    linkageType: ''
    returnType: int
    signature: "int avro_write_data(avro_writer_t writer, avro_schema_t writers_schema,\n\t\t
      \   avro_datum_t datum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:65,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:65,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: generate_sync
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - rand
    - time
    - srand
    linkageType: ''
    returnType: void
    signature: void generate_sync(avro_file_writer_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: write_sync
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - avro_write
    linkageType: ''
    returnType: int
    signature: int write_sync(avro_file_writer_t w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_sync
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:86,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:88,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:88,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:89,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:89,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:91,1
    - Dst: avro_encoding_t*::write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:91,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:92,1
    - Dst: avro_encoding_t*::write_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:92,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:93,1
    - Dst: avro_encoding_t*::write_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:93,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:93,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:94,1
    - Dst: avro_encoding_t*::write_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:94,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:96,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:97,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:99,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:102,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:103,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:104,1
    - Dst: avro_encoding_t*::write_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:105,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:106,1
    - Dst: avro_encoding_t*::write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:106,1
    - Dst: write_sync
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 108
    functionName: write_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - strlen
    - check
    - avro_encoding_t*::write_long
    - avro_writer_memory
    - write_sync
    - generate_sync
    - avro_encoding_t*::write_bytes
    - avro_writer_tell
    - avro_writer_free
    - avro_write
    - avro_encoding_t*::write_string
    - avro_schema_to_json
    linkageType: ''
    returnType: int
    signature: int write_header(avro_file_writer_t w)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:114,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:118,1
    - Dst: avro_writer_file_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:121,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:124,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - fp
    - path
    - should_close
    - mode
    - w
    argTypes:
    - FILE*
    - char*
    - int
    - char*
    - avro_file_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: file_writer_init_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - avro_writer_file_fp
    - avro_set_error
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int file_writer_init_fp(FILE *fp, const char *path, int should_close,
      const char *mode, avro_file_writer_t w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: file_writer_init_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:148,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:150,1
    - Dst: file_writer_init_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:150,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:154,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:157,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:158,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:163,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:165,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:166,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:167,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:171,1
    - Dst: write_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 6
    argNames:
    - fp
    - path
    - should_close
    - schema
    - w
    - block_size
    argTypes:
    - FILE*
    - char*
    - int
    - avro_schema_t
    - avro_file_writer_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 173
    functionName: file_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 9
    functionsReached:
    - avro_set_error
    - avro_schema_incref
    - avro_malloc
    - check
    - avro_writer_memory
    - write_header
    - file_writer_init_fp
    - avro_free
    - avro_writer_free
    linkageType: ''
    returnType: int
    signature: int file_writer_create(FILE *fp, const char *path, int should_close,
      avro_schema_t schema, avro_file_writer_t w, size_t block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_writer_create_with_codec_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - path
    - schema
    - writer
    argTypes:
    - char*
    - avro_schema_t
    - avro_file_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: avro_file_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 9
    functionsReached:
    - avro_file_writer_create_with_codec_fp
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_create(const char *path, avro_schema_t schema,\n\t\t\tavro_file_writer_t
      * writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_writer_create_with_codec_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - fp
    - path
    - should_close
    - schema
    - writer
    argTypes:
    - FILE*
    - char*
    - int
    - avro_schema_t
    - avro_file_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: avro_file_writer_create_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - avro_file_writer_create_with_codec_fp
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_create_fp(FILE *fp, const char *path, int should_close,
      avro_schema_t schema,\n\t\t\tavro_file_writer_t * writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_writer_create_with_codec_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - path
    - schema
    - writer
    - codec
    - block_size
    argTypes:
    - char*
    - avro_schema_t
    - avro_file_writer_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: avro_file_writer_create_with_codec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 1
    functionsReached:
    - avro_file_writer_create_with_codec_fp
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_create_with_codec(const char *path,\n\t\t\tavro_schema_t
      schema, avro_file_writer_t * writer,\n\t\t\tconst char *codec, size_t block_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:202,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:203,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:203,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:204,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:205,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:211,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:213,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:216,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:218,1
    - Dst: avro_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:222,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:224,1
    - Dst: file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:229,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 7
    argNames:
    - fp
    - path
    - should_close
    - schema
    - writer
    - codec
    - block_size
    argTypes:
    - FILE*
    - char*
    - int
    - avro_schema_t
    - avro_file_writer_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 239
    functionName: avro_file_writer_create_with_codec_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 3
    functionsReached:
    - avro_set_error
    - avro_codec
    - avro_new
    - avro_codec_reset
    - file_writer_create
    - check_param
    - is_avro_schema
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_create_with_codec_fp(FILE *fp, const char *path,
      int should_close,\n\t\t\tavro_schema_t schema, avro_file_writer_t * writer,\n\t\t\tconst
      char *codec, size_t block_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:256,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:256,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:259,1
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:263,1
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:264,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:265,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:269,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:269,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:270,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:272,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:275,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:277,1
    - Dst: avro_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:279,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:280,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:281,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:289,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:292,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:293,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:297,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:298,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:299,1
    - Dst: avro_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:301,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:302,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:303,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:308,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:310,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:311,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:315,1
    - Dst: avro_schema_from_json_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:316,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:318,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:319,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:323,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:324,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 5
    argNames:
    - reader
    - writers_schema
    - codec
    - sync
    - synclen
    argTypes:
    - avro_reader_t
    - avro_schema_t*
    - avro_codec_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 326
    functionName: file_read_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_schema_bytes
    - avro_codec
    - avro_prefix_error
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_generic_class_from_schema
    - avro_value_get_bytes
    - avro_value_read
    - memset
    - avro_value_get_by_name
    - avro_read
    - avro_generic_value_new
    - avro_value_get_type
    - avro_value_decref
    - check
    - avro_schema_from_json_length
    - strncpy
    - avro_schema_map
    linkageType: ''
    returnType: int
    signature: "int file_read_header(avro_reader_t reader,\n\t\t\t    avro_schema_t
      * writers_schema, avro_codec_t codec,\n\t\t\t    char *sync, int synclen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:336,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:338,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:339,1
    - Dst: avro_reader_file_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:345,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:347,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:348,1
    - Dst: file_read_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:352,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:355,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:357,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:364,1
    - Dst: avro_writer_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:366,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:368,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:369,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:378,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:381,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:382,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:387,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:389,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:390,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 3
    argNames:
    - path
    - w
    - block_size
    argTypes:
    - char*
    - avro_file_writer_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 396
    functionName: file_writer_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 3
    functionsReached:
    - avro_set_error
    - avro_malloc
    - avro_writer_memory
    - file_read_header
    - strerror
    - avro_reader_file_fp
    - fclose
    - fopen
    - fseek
    - avro_reader_free
    - avro_writer_file
    - avro_free
    - avro_writer_free
    linkageType: ''
    returnType: int
    signature: int file_writer_open(const char *path, avro_file_writer_t w, size_t
      block_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:404,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:405,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:407,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:409,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:412,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:414,1
    - Dst: avro_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:418,1
    - Dst: file_writer_open
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:419,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - path
    - writer
    - block_size
    argTypes:
    - char*
    - avro_file_writer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 429
    functionName: avro_file_writer_open_bs
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_codec
    - avro_new
    - avro_codec_reset
    - check_param
    - file_writer_open
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_open_bs(const char *path, avro_file_writer_t
      * writer,\n\t\t\t size_t block_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_writer_open_bs
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - writer
    argTypes:
    - char*
    - avro_file_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: avro_file_writer_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 3
    functionsReached:
    - avro_file_writer_open_bs
    linkageType: ''
    returnType: int
    signature: int avro_file_writer_open(const char *path, avro_file_writer_t * writer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:444,1
    - Dst: avro_reader_is_eof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:446,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:450,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:452,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:452,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:456,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:459,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:464,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:464,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:467,1
    - Dst: avro_codec_decode
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:467,1
    - Dst: avro_reader_memory_set_source
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - avro_file_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 475
    functionName: file_read_block_count
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - avro_encoding_t*::read_long
    - avro_realloc
    - avro_malloc
    - avro_codec_decode
    - avro_reader_is_eof
    - avro_reader_memory_set_source
    - avro_read
    - check_prefix
    linkageType: ''
    returnType: int
    signature: int file_read_block_count(avro_file_reader_t r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:481,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:484,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:486,1
    - Dst: avro_reader_file_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:490,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:493,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:495,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:499,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:501,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:502,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:507,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:509,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:510,1
    - Dst: avro_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:514,1
    - Dst: file_read_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:516,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:519,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:520,1
    - Dst: file_read_block_count
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:529,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:533,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 4
    argNames:
    - fp
    - path
    - should_close
    - reader
    argTypes:
    - FILE*
    - char*
    - int
    - avro_file_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 542
    functionName: avro_file_reader_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_codec
    - avro_reader_memory
    - avro_new
    - avro_codec_reset
    - file_read_block_count
    - avro_reader_file_fp
    - fclose
    - file_read_header
    - avro_reader_free
    linkageType: ''
    returnType: int
    signature: "int avro_file_reader_fp(FILE *fp, const char *path, int should_close,\n\t\t\tavro_file_reader_t
      * reader)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:548,1
    - Dst: avro_file_reader_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - reader
    argTypes:
    - char*
    - avro_file_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 554
    functionName: avro_file_reader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 14
    functionsReached:
    - avro_file_reader_fp
    - fopen
    linkageType: ''
    returnType: int
    signature: int avro_file_reader(const char *path, avro_file_reader_t * reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:559,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - avro_file_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: avro_file_reader_get_writer_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 8
    functionsReached:
    - avro_schema_incref
    - check_param
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_file_reader_get_writer_schema(avro_file_reader_t
      r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:570,1
    - Dst: avro_encoding_t*::write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:570,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:573,1
    - Dst: avro_codec_encode
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:573,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:576,1
    - Dst: avro_encoding_t*::write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:576,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:579,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:579,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:582,1
    - Dst: write_sync
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:582,1
    - Dst: avro_writer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 590
    functionName: file_write_block
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - avro_encoding_t*::write_long
    - write_sync
    - avro_codec_encode
    - avro_writer_reset
    - avro_write
    - check_prefix
    linkageType: ''
    returnType: int
    signature: int file_write_block(avro_file_writer_t w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:595,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:596,1
    - Dst: avro_write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:598,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:600,1
    - Dst: file_write_block
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:600,1
    - Dst: avro_write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:602,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:604,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - w
    - datum
    argTypes:
    - avro_file_writer_t
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 613
    functionName: avro_file_writer_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 3
    functionsReached:
    - avro_set_error
    - file_write_block
    - check
    - avro_write_data
    - avro_writer_tell
    - check_param
    linkageType: ''
    returnType: int
    signature: int avro_file_writer_append(avro_file_writer_t w, avro_datum_t datum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:619,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:620,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:622,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:624,1
    - Dst: file_write_block
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:624,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:625,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:627,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - w
    - value
    argTypes:
    - avro_file_writer_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 636
    functionName: avro_file_writer_append_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 8
    functionsReached:
    - avro_set_error
    - file_write_block
    - avro_value_write
    - check
    - avro_writer_tell
    - check_param
    linkageType: ''
    returnType: int
    signature: int avro_file_writer_append_value(avro_file_writer_t w, avro_value_t
      *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:643,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:645,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:647,1
    - Dst: file_write_block
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:647,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:648,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:650,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - w
    - buf
    - len
    argTypes:
    - avro_file_writer_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 659
    functionName: avro_file_writer_append_encoded
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - file_write_block
    - check
    - avro_writer_tell
    - check_param
    - avro_write
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_append_encoded(avro_file_writer_t w,\n\t\t\t\tconst
      void *buf, int64_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_write_block
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 3
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: avro_file_writer_sync
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 0
    functionsReached:
    - file_write_block
    linkageType: ''
    returnType: int
    signature: int avro_file_writer_sync(avro_file_writer_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:669,1
    - Dst: file_write_block
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:669,1
    - Dst: avro_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 666
    functionDepth: 3
    functionLinenumber: 666
    functionLinenumberEnd: 672
    functionName: avro_file_writer_flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 3
    functionsReached:
    - check
    - file_write_block
    - avro_writer_flush
    linkageType: ''
    returnType: int
    signature: int avro_file_writer_flush(avro_file_writer_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:677,1
    - Dst: avro_file_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:677,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:678,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:679,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:680,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:681,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 4
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: avro_file_writer_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 14
    functionsReached:
    - avro_schema_decref
    - check
    - avro_codec_reset
    - avro_file_writer_flush
    - avro_free
    - avro_writer_free
    linkageType: ''
    returnType: int
    signature: int avro_file_writer_close(avro_file_writer_t w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:694,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:695,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:704,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:704,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:705,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:707,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:710,1
    - Dst: file_read_block_count
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:710,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:713,1
    - Dst: avro_read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - r
    - readers_schema
    - datum
    argTypes:
    - avro_file_reader_t
    - avro_schema_t
    - avro_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 719
    functionName: avro_file_reader_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - memcmp
    - check
    - file_read_block_count
    - check_param
    - avro_read_data
    - avro_read
    linkageType: ''
    returnType: int
    signature: "int avro_file_reader_read(avro_file_reader_t r, avro_schema_t readers_schema,\n\t\t\t
      \ avro_datum_t * datum)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:727,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:728,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:738,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:738,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:739,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:741,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:745,1
    - Dst: file_read_block_count
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:745,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:748,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - r
    - value
    argTypes:
    - avro_file_reader_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 752
    functionName: avro_file_reader_read_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 13
    functionsReached:
    - avro_value_read
    - avro_set_error
    - memcmp
    - check
    - file_read_block_count
    - check_param
    - avro_read
    linkageType: ''
    returnType: int
    signature: int avro_file_reader_read_value(avro_file_reader_t r, avro_value_t
      *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:756,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:757,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:758,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:759,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_file_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 766
    functionName: avro_file_reader_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: 14
    functionsReached:
    - avro_schema_decref
    - avro_reader_free
    - avro_codec_reset
    - avro_free
    linkageType: ''
    returnType: int
    signature: int avro_file_reader_close(avro_file_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - retval
    - ','
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: check_return
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_return(retval, call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_t*::iface::incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: avro_value_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 0
    functionsReached:
    - avro_value_t*::iface::incref
    linkageType: ''
    returnType: void
    signature: void avro_value_incref(avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_t*::iface::decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:45,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: avro_value_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 46
    functionsReached:
    - avro_value_iface_decref
    - avro_value_t*::iface::decref
    linkageType: ''
    returnType: void
    signature: void avro_value_decref(avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:56,1
    - Dst: avro_value_t*::iface::incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: avro_value_copy_ref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 0
    functionsReached:
    - avro_value_iface_incref
    - avro_value_t*::iface::incref
    linkageType: ''
    returnType: void
    signature: void avro_value_copy_ref(avro_value_t *dest, const avro_value_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: avro_value_move_ref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_value_move_ref(avro_value_t *dest, avro_value_t *src)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:73,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:74,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:84,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:84,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:85,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:85,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:95,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:95,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:96,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:96,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:100,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:107,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:107,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:108,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:108,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:116,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:116,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:117,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:117,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:125,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:125,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:126,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:126,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:134,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:134,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:135,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:135,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:141,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:141,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:142,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:142,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:152,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:152,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:153,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:153,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:157,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:164,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:164,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:165,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:165,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:174,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:174,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:176,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:176,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:178,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:190,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:190,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:191,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:191,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:201,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:201,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:202,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:202,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:206,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:213,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:213,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:214,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:214,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:224,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:224,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:226,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:226,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:228,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:239,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:239,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:245,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:245,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:247,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:247,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:249,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:261,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:261,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:262,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:262,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:269,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:269,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:270,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:270,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:271,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 118
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 277
    functionName: avro_value_equal_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 5
    functionsReached:
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_value_get_size
    - avro_value_get_double
    - avro_value_equal_fast
    - avro_value_get_discriminant
    - avro_value_get_string
    - avro_value_get_current_branch
    - avro_value_get_bytes
    - check_return
    - memcmp
    - avro_value_get_by_name
    - avro_value_get_enum
    - avro_value_get_type
    - avro_value_get_int
    - avro_value_get_null
    - avro_value_get_by_index
    - avro_value_get_long
    - avro_value_get_boolean
    linkageType: ''
    returnType: int
    signature: int avro_value_equal_fast(avro_value_t *val1, avro_value_t *val2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:282,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:283,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:284,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: avro_value_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 6
    functionsReached:
    - avro_value_get_schema
    - avro_schema_equal
    - avro_value_equal_fast
    linkageType: ''
    returnType: int
    signature: int avro_value_equal(avro_value_t *val1, avro_value_t *val2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 185
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmp(v1, v2)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:298,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:299,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:309,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:309,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:310,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:310,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:311,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:323,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:323,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:324,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:324,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:327,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:331,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:339,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:339,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:340,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:340,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:341,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:348,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:348,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:349,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:349,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:350,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:357,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:357,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:358,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:358,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:359,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:366,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:366,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:367,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:367,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:368,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:373,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:373,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:374,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:374,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:386,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:386,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:387,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:387,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:390,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:394,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:404,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:404,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:405,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:405,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:412,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:412,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:414,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:414,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:416,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:422,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:429,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:429,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:430,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:430,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:431,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:440,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:440,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:441,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:441,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:445,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:456,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:456,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:464,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:464,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:466,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:466,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:468,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:481,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:481,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:482,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:482,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:487,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:487,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:488,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:488,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:489,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:491,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 113
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 498
    functionName: avro_value_cmp_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 5
    functionsReached:
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_value_get_size
    - avro_value_get_double
    - avro_value_get_discriminant
    - avro_value_get_string
    - avro_value_get_current_branch
    - avro_value_get_bytes
    - check_return
    - avro_value_cmp_fast
    - memcmp
    - avro_value_get_enum
    - avro_value_get_type
    - avro_value_get_int
    - cmp
    - avro_value_get_null
    - avro_value_get_by_index
    - avro_value_get_long
    - avro_value_get_boolean
    linkageType: ''
    returnType: int
    signature: int avro_value_cmp_fast(avro_value_t *val1, avro_value_t *val2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:503,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:504,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:505,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 510
    functionName: avro_value_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 1
    functionsReached:
    - avro_value_get_schema
    - avro_schema_equal
    - avro_value_cmp_fast
    linkageType: ''
    returnType: int
    signature: int avro_value_cmp(avro_value_t *val1, avro_value_t *val2)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:516,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:517,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:523,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:523,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:529,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:529,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:530,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:536,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:536,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:537,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:543,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:543,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:544,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:550,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:550,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:551,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:557,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:557,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:558,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:564,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:564,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:565,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:570,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:570,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:571,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:577,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:577,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:578,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:584,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:584,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:591,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:591,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:593,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:593,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:595,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:595,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:605,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:605,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:606,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:612,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:612,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:613,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:619,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:619,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:627,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:627,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:629,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:629,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:631,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:631,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:641,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:641,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:648,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:648,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:650,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:650,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:652,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:652,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:662,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:662,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:667,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:667,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:668,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:668,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 82
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 676
    functionName: avro_value_copy_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 2
    functionsReached:
    - avro_value_get_float
    - avro_value_get_size
    - avro_value_grab_fixed
    - avro_value_grab_bytes
    - avro_value_set_null
    - avro_value_get_double
    - avro_value_get_discriminant
    - avro_value_give_fixed
    - avro_value_give_string_len
    - avro_value_set_int
    - avro_value_get_current_branch
    - avro_value_grab_string
    - avro_value_set_branch
    - avro_value_get_enum
    - avro_value_copy_fast
    - avro_value_set_enum
    - avro_value_set_long
    - avro_value_set_float
    - avro_value_get_type
    - avro_value_get_int
    - avro_value_get_null
    - avro_value_get_by_index
    - avro_value_set_boolean
    - check
    - avro_value_reset
    - avro_value_get_long
    - avro_value_append
    - avro_value_add
    - avro_value_get_boolean
    - avro_value_give_bytes
    - avro_value_set_double
    linkageType: ''
    returnType: int
    signature: int avro_value_copy_fast(avro_value_t *dest, const avro_value_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:682,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:683,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:684,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:685,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 690
    functionName: avro_value_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: 0
    functionsReached:
    - avro_value_get_schema
    - avro_schema_equal
    - avro_set_error
    - avro_value_copy_fast
    linkageType: ''
    returnType: int
    signature: int avro_value_copy(avro_value_t *dest, const avro_value_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avro_codec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: codec_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int codec_null(avro_codec_t codec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: encode_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int encode_null(avro_codec_t c, void * data, int64_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: decode_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int decode_null(avro_codec_t c, void * data, int64_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - avro_codec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: reset_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int reset_null(avro_codec_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avro_codec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: codec_snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int codec_snappy(avro_codec_t codec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snappy_max_compressed_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:109,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:112,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:115,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:120,1
    - Dst: snappy_compress
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:124,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:126,1
    - Dst: __bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:130,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:130,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 135
    functionName: encode_snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_realloc
    - avro_malloc
    - memcpy
    - __bswap_32
    - crc32
    - snappy_compress
    - snappy_max_compressed_length
    linkageType: ''
    returnType: int
    signature: int encode_snappy(avro_codec_t c, void * data, int64_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snappy_uncompressed_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:142,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:143,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:148,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:151,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:157,1
    - Dst: snappy_uncompress
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:161,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:163,1
    - Dst: __bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:167,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:167,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:168,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 177
    functionName: decode_snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_realloc
    - avro_malloc
    - memcmp
    - snappy_uncompressed_length
    - __bswap_32
    - snappy_uncompress
    - crc32
    linkageType: ''
    returnType: int
    signature: int decode_snappy(avro_codec_t c, void * data, int64_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - avro_codec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: reset_snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: int
    signature: int reset_snappy(avro_codec_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: codec_data_deflate_stream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: codec_data_deflate_stream(cd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: codec_data_inflate_stream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: codec_data_inflate_stream(cd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:215,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:218,1
    - Dst: codec_data_deflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:222,1
    - Dst: codec_data_inflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:223,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:225,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:226,1
    - Dst: deflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:232,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:235,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:239,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avro_codec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 247
    functionName: codec_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_new
    - memset
    - deflateInit2
    - codec_data_deflate_stream
    - codec_data_inflate_stream
    - inflateInit2
    linkageType: ''
    returnType: int
    signature: int codec_deflate(avro_codec_t codec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: compressBound
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:252,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:255,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:258,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:264,1
    - Dst: codec_data_deflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:270,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:280,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:282,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:284,1
    - Dst: deflateReset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 299
    functionName: encode_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - deflate
    - avro_realloc
    - avro_malloc
    - codec_data_deflate_stream
    - compressBound
    - deflateEnd
    - deflateReset
    linkageType: ''
    returnType: int
    signature: int encode_deflate(avro_codec_t c, void * data, int64_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: codec_data_inflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:304,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:307,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:313,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:329,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:334,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:335,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:342,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:350,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:352,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:360,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 366
    functionName: decode_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - inflateEnd
    - avro_realloc
    - avro_malloc
    - inflateReset
    - codec_data_inflate_stream
    - inflate
    linkageType: ''
    returnType: int
    signature: int decode_deflate(avro_codec_t c, void * data, int64_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:371,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:374,1
    - Dst: codec_data_deflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:374,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:375,1
    - Dst: codec_data_inflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - avro_codec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 385
    functionName: reset_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - inflateEnd
    - codec_data_deflate_stream
    - codec_data_inflate_stream
    - avro_free
    - deflateEnd
    linkageType: ''
    returnType: int
    signature: int reset_deflate(avro_codec_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: codec_data_lzma_filters
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: codec_data_lzma_filters(cd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: codec_data_lzma_options
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: codec_data_lzma_options(cd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:408,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:411,1
    - Dst: codec_data_lzma_options
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:415,1
    - Dst: lzma_lzma_preset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:416,1
    - Dst: codec_data_lzma_filters
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avro_codec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: codec_lzma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - lzma_lzma_preset
    - avro_new
    - codec_data_lzma_options
    - codec_data_lzma_filters
    linkageType: ''
    returnType: int
    signature: int codec_lzma(avro_codec_t codec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: codec_data_lzma_filters
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:431,1
    - Dst: lzma_raw_encoder_memusage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:433,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:436,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:442,1
    - Dst: lzma_raw_buffer_encode
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:446,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - codec
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 456
    functionName: encode_lzma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - lzma_raw_buffer_encode
    - avro_malloc
    - codec_data_lzma_filters
    - lzma_raw_encoder_memusage
    linkageType: ''
    returnType: int
    signature: int encode_lzma(avro_codec_t codec, void * data, int64_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: codec_data_lzma_filters
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:463,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:466,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:471,1
    - Dst: lzma_raw_buffer_decode
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:477,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:486,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - codec
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 498
    functionName: decode_lzma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_realloc
    - avro_malloc
    - lzma_raw_buffer_decode
    - codec_data_lzma_filters
    linkageType: ''
    returnType: int
    signature: int decode_lzma(avro_codec_t codec, void * data, int64_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - avro_codec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 515
    functionName: reset_lzma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 0
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: int
    signature: int reset_lzma(avro_codec_t c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: codec_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:524,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:528,1
    - Dst: codec_snappy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:529,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:534,1
    - Dst: codec_deflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:535,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:540,1
    - Dst: codec_lzma
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:541,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:545,1
    - Dst: codec_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:546,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - codec
    - type
    argTypes:
    - avro_codec_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 551
    functionName: avro_codec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 4
    functionsReached:
    - avro_set_error
    - codec_null
    - codec_lzma
    - codec_deflate
    - codec_snappy
    - strcmp
    linkageType: ''
    returnType: int
    signature: int avro_codec(avro_codec_t codec, const char *type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: encode_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:558,1
    - Dst: encode_snappy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:561,1
    - Dst: encode_deflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:565,1
    - Dst: encode_lzma
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 574
    functionName: avro_codec_encode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 1
    functionsReached:
    - encode_deflate
    - encode_snappy
    - encode_lzma
    - encode_null
    linkageType: ''
    returnType: int
    signature: int avro_codec_encode(avro_codec_t c, void * data, int64_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decode_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:581,1
    - Dst: decode_snappy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:584,1
    - Dst: decode_deflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:588,1
    - Dst: decode_lzma
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 597
    functionName: avro_codec_decode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 1
    functionsReached:
    - decode_snappy
    - decode_deflate
    - decode_lzma
    - decode_null
    linkageType: ''
    returnType: int
    signature: int avro_codec_decode(avro_codec_t c, void * data, int64_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reset_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:604,1
    - Dst: reset_snappy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:607,1
    - Dst: reset_deflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:611,1
    - Dst: reset_lzma
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - avro_codec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 620
    functionName: avro_codec_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: 5
    functionsReached:
    - reset_null
    - reset_snappy
    - reset_deflate
    - reset_lzma
    linkageType: ''
    returnType: int
    signature: int avro_codec_reset(avro_codec_t c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:27,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:33,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:45,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:46,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:49,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_record_schema_t*
    - struct avro_record_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 63
    functionName: schema_record_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: 0
    functionsReached:
    - avro_schema_equal
    - st_lookup
    - nullstrcmp
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int schema_record_equal(struct avro_record_schema_t *a,\n\t\t    struct
      avro_record_schema_t *b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:69,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:75,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:83,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:84,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_enum_schema_t*
    - struct avro_enum_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: schema_enum_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: 0
    functionsReached:
    - st_lookup
    - nullstrcmp
    - strcmp
    linkageType: ''
    returnType: int
    signature: int schema_enum_equal(struct avro_enum_schema_t *a, struct avro_enum_schema_t
      *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:100,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_fixed_schema_t*
    - struct avro_fixed_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: schema_fixed_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: 0
    functionsReached:
    - nullstrcmp
    - strcmp
    linkageType: ''
    returnType: int
    signature: int schema_fixed_equal(struct avro_fixed_schema_t *a, struct avro_fixed_schema_t
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_map_schema_t*
    - struct avro_map_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: schema_map_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: 0
    functionsReached:
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: int schema_map_equal(struct avro_map_schema_t *a, struct avro_map_schema_t
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_array_schema_t*
    - struct avro_array_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: schema_array_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: 0
    functionsReached:
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: int schema_array_equal(struct avro_array_schema_t *a, struct avro_array_schema_t
      *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:133,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:134,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_union_schema_t*
    - struct avro_union_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: schema_union_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: 0
    functionsReached:
    - avro_schema_equal
    - st_lookup
    linkageType: ''
    returnType: int
    signature: int schema_union_equal(struct avro_union_schema_t *a, struct avro_union_schema_t
      *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:155,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:156,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:159,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:159,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:160,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:164,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:164,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_link_schema_t*
    - struct avro_link_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: schema_link_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: 0
    functionsReached:
    - avro_schema_to_record
    - is_avro_record
    - nullstrcmp
    - avro_schema_name
    - strcmp
    linkageType: ''
    returnType: int
    signature: int schema_link_equal(struct avro_link_schema_t *a, struct avro_link_schema_t
      *b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:179,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:179,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:181,1
    - Dst: schema_record_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:182,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:182,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:183,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:184,1
    - Dst: schema_enum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:185,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:185,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:186,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:187,1
    - Dst: schema_fixed_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:188,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:188,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:189,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:190,1
    - Dst: schema_map_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:191,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:191,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:192,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:193,1
    - Dst: schema_array_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:194,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:194,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:195,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:196,1
    - Dst: schema_union_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:197,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:197,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:198,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:199,1
    - Dst: schema_link_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:200,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:200,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:201,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 204
    functionName: avro_schema_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: 16
    functionsReached:
    - is_avro_record
    - avro_schema_to_link
    - is_avro_link
    - is_avro_union
    - avro_schema_to_fixed
    - avro_schema_to_union
    - schema_record_equal
    - is_avro_fixed
    - avro_schema_to_array
    - avro_typeof
    - avro_schema_to_record
    - schema_array_equal
    - is_avro_map
    - schema_enum_equal
    - schema_link_equal
    - schema_fixed_equal
    - schema_union_equal
    - avro_schema_to_enum
    - is_avro_array
    - avro_schema_to_map
    - is_avro_enum
    - schema_map_equal
    linkageType: ''
    returnType: int
    signature: int avro_schema_equal(avro_schema_t a, avro_schema_t b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:41,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:45,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:46,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:47,1
    - Dst: avro_file_reader_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:51,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:52,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:53,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:55,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:57,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:64,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:65,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:66,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:70,1
    - Dst: avro_value_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:73,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:74,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:75,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:77,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:78,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:81,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:87,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:87,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:90,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:91,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:92,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:93,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 98
    functionName: process_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c
    functionUses: 0
    functionsReached:
    - printf
    - fopen
    - exit
    - avro_schema_decref
    - avro_value_iface_decref
    - fprintf
    - strerror
    - avro_generic_class_from_schema
    - avro_file_reader_fp
    - avro_file_reader_get_writer_schema
    - avro_file_reader_read_value
    - free
    - avro_generic_value_new
    - avro_file_reader_close
    - avro_value_decref
    - avro_value_reset
    - avro_strerror
    - fclose
    - avro_value_to_json
    linkageType: ''
    returnType: void
    signature: void process_file(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c
    functionUses: 9
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:119,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:120,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:121,1
    - Dst: process_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c
    functionUses: 0
    functionsReached:
    - process_file
    - usage
    - fprintf
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:58,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:59,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:60,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:62,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:62,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:72,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:74,1
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - iface
    - dest
    argTypes:
    - avro_value_iface_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 83
    functionName: avro_generic_value_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 38
    functionsReached:
    - avro_set_error
    - avro_malloc
    - strerror
    - avro_value_init
    - avro_free
    - avro_value_iface_incref
    - avro_value_instance_size
    - container_of
    linkageType: ''
    returnType: int
    signature: int avro_generic_value_new(avro_value_iface_t *iface, avro_value_t
      *dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:90,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:91,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:92,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - self
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: avro_generic_value_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_done
    - avro_value_instance_size
    - container_of
    - avro_free
    linkageType: ''
    returnType: void
    signature: void avro_generic_value_free(const avro_value_iface_t *iface, void
      *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: avro_generic_value_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: void
    signature: void avro_generic_value_incref(avro_value_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:117,1
    - Dst: avro_generic_value_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: avro_generic_value_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_generic_value_free
    - avro_refcount_dec
    linkageType: ''
    returnType: void
    signature: void avro_generic_value_decref(avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:172,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: avro_generic_link_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_link_incref_iface(avro_value_iface_t *viface)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:181,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:183,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:190,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 193
    functionName: avro_generic_link_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - container_of
    - avro_refcount_dec
    linkageType: ''
    returnType: void
    signature: void avro_generic_link_decref_iface(avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:199,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: avro_generic_link_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_reset
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_link_reset(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:207,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: avro_generic_link_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_type
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_link_get_type(const avro_value_iface_t *viface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:215,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: avro_generic_link_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_schema
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_link_get_schema(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:224,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: avro_generic_link_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_boolean(const avro_value_iface_t *iface,\n\t\t\t
      \     const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:233,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: avro_generic_link_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_bytes(const avro_value_iface_t *iface,\n\t\t\t
      \   const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:242,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: avro_generic_link_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_grab_bytes(const avro_value_iface_t *iface,\n\t\t\t
      \    const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:251,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: avro_generic_link_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_double(const avro_value_iface_t *iface,\n\t\t\t
      \    const void *vself, double *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:260,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: avro_generic_link_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_float(const avro_value_iface_t *iface,\n\t\t\t
      \   const void *vself, float *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:269,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: avro_generic_link_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_int(const avro_value_iface_t *iface,\n\t\t\t
      \ const void *vself, int32_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:278,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: avro_generic_link_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_long(const avro_value_iface_t *iface,\n\t\t\t
      \  const void *vself, int64_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:286,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: avro_generic_link_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_link_get_null(const avro_value_iface_t *iface, const
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:295,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: avro_generic_link_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_string(const avro_value_iface_t *iface,\n\t\t\t
      \    const void *vself, const char **str, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:304,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: avro_generic_link_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_grab_string(const avro_value_iface_t *iface,\n\t\t\t
      \     const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:313,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: avro_generic_link_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_enum(const avro_value_iface_t *iface,\n\t\t\t
      \  const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:322,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 325
    functionName: avro_generic_link_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_fixed(const avro_value_iface_t *iface,\n\t\t\t
      \   const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:331,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: avro_generic_link_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_grab_fixed(const avro_value_iface_t *iface,\n\t\t\t
      \    const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:340,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: avro_generic_link_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_boolean(const avro_value_iface_t *iface,\n\t\t\t
      \     void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:349,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 352
    functionName: avro_generic_link_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_bytes(const avro_value_iface_t *iface,\n\t\t\t
      \   void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:358,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: avro_generic_link_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_give_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_give_bytes(const avro_value_iface_t *iface,\n\t\t\t
      \    void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:367,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: avro_generic_link_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_double(const avro_value_iface_t *iface,\n\t\t\t
      \    void *vself, double val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:376,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: avro_generic_link_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_float(const avro_value_iface_t *iface,\n\t\t\t
      \   void *vself, float val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:385,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: avro_generic_link_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_int(const avro_value_iface_t *iface,\n\t\t\t
      \ void *vself, int32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:394,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: avro_generic_link_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_long(const avro_value_iface_t *iface,\n\t\t\t
      \  void *vself, int64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:402,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: avro_generic_link_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_link_set_null(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:411,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: avro_generic_link_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_string(const avro_value_iface_t *iface,\n\t\t\t
      \    void *vself, const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:420,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: avro_generic_link_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_string_len(const avro_value_iface_t *iface,\n\t\t\t\t
      void *vself, const char *str, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:429,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: avro_generic_link_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_give_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_give_string_len(const avro_value_iface_t *iface,\n\t\t\t\t
      \ void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:438,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: avro_generic_link_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_enum(const avro_value_iface_t *iface,\n\t\t\t
      \  void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:447,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 450
    functionName: avro_generic_link_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_fixed(const avro_value_iface_t *iface,\n\t\t\t
      \   void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:456,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: avro_generic_link_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_give_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_give_fixed(const avro_value_iface_t *iface,\n\t\t\t
      \    void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:465,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: avro_generic_link_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_size(const avro_value_iface_t *iface,\n\t\t\t
      \  const void *vself, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:475,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - iface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: avro_generic_link_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_by_index(const avro_value_iface_t *iface,\n\t\t\t
      \      const void *vself, size_t index,\n\t\t\t       avro_value_t *child, const
      char **name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:485,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - iface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 488
    functionName: avro_generic_link_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_name
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_by_name(const avro_value_iface_t *iface,\n\t\t\t
      \     const void *vself, const char *name,\n\t\t\t      avro_value_t *child,
      size_t *index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:494,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: avro_generic_link_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_discriminant
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_discriminant(const avro_value_iface_t *iface,\n\t\t\t\t
      \  const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:503,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: avro_generic_link_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_get_current_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_get_current_branch(const avro_value_iface_t
      *iface,\n\t\t\t\t     const void *vself, avro_value_t *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:513,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 516
    functionName: avro_generic_link_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_append
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_append(const avro_value_iface_t *iface,\n\t\t\t
      void *vself, avro_value_t *child_out,\n\t\t\t size_t *new_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:523,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - iface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: avro_generic_link_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_add
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_add(const avro_value_iface_t *iface,\n\t\t      void
      *vself, const char *key,\n\t\t      avro_value_t *child, size_t *index, int
      *is_new)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:533,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 536
    functionName: avro_generic_link_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_set_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_link_set_branch(const avro_value_iface_t *iface,\n\t\t\t
      \    void *vself, int discriminant,\n\t\t\t     avro_value_t *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: avro_generic_link_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_link_instance_size(const avro_value_iface_t *viface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:551,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:555,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:565,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:571,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 576
    functionName: avro_generic_link_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_malloc
    - avro_value_init
    - avro_free
    - avro_value_instance_size
    - container_of
    linkageType: ''
    returnType: int
    signature: int avro_generic_link_init(const avro_value_iface_t *viface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:581,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:584,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:585,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:586,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 590
    functionName: avro_generic_link_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_free
    - avro_value_done
    - avro_value_instance_size
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_link_done(const avro_value_iface_t *iface, void *vself)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:652,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:653,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:658,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 668
    functionName: avro_generic_link_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_new
    - avro_schema_incref
    - is_avro_link
    linkageType: ''
    returnType: avro_generic_link_value_iface_t
    signature: 'avro_generic_link_value_iface_t *

      avro_generic_link_class(avro_schema_t schema)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 682
    functionName: avro_generic_boolean_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_boolean_reset(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:687,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: avro_generic_boolean_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_boolean_get_type(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:695,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:696,1
    - Dst: avro_schema_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: avro_generic_boolean_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_boolean_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 708
    functionName: avro_generic_boolean_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_boolean_get(const avro_value_iface_t *iface,\n\t\t\t
      const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 718
    functionName: avro_generic_boolean_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_boolean_set(const avro_value_iface_t *iface,\n\t\t\t
      void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 725
    functionName: avro_generic_boolean_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_boolean_instance_size(const avro_value_iface_t
      *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 734
    functionName: avro_generic_boolean_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_boolean_init(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:739,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 741
    functionName: avro_generic_boolean_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_boolean_done(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 804
    functionName: avro_generic_boolean_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_boolean_class(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:810,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:810,1
    - Dst: avro_generic_boolean_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - val
    argTypes:
    - avro_value_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 812
    functionName: avro_generic_boolean_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 1
    functionsReached:
    - check
    - avro_generic_boolean_set
    - avro_generic_value_new
    linkageType: ''
    returnType: int
    signature: int avro_generic_boolean_new(avro_value_t *value, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:821,1
    - Dst: avro_raw_string_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 825
    functionName: avro_generic_bytes_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_clear
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_bytes_reset(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:830,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 833
    functionName: avro_generic_bytes_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_bytes_get_type(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:838,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:839,1
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 841
    functionName: avro_generic_bytes_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_bytes_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:847,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:850,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 856
    functionName: avro_generic_bytes_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_get
    - avro_raw_string_length
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_bytes_get(const avro_value_iface_t *iface,\n\t\t
      \      const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:862,1
    - Dst: avro_raw_string_grab
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 865
    functionName: avro_generic_bytes_grab
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_grab
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_bytes_grab(const avro_value_iface_t *iface,\n\t\t\tconst
      void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:871,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:872,1
    - Dst: avro_raw_string_set_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 876
    functionName: avro_generic_bytes_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_set_length
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_bytes_set(const avro_value_iface_t *iface,\n\t\t
      \      void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:882,1
    - Dst: avro_raw_string_give
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 886
    functionName: avro_generic_bytes_give
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_give
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_bytes_give(const avro_value_iface_t *iface,\n\t\t\tvoid
      *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 893
    functionName: avro_generic_bytes_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_bytes_instance_size(const avro_value_iface_t *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:898,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 902
    functionName: avro_generic_bytes_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_init
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_bytes_init(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:907,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 910
    functionName: avro_generic_bytes_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_done
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_bytes_done(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 973
    functionName: avro_generic_bytes_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_bytes_class(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:979,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:979,1
    - Dst: avro_generic_bytes_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - value
    - buf
    - size
    argTypes:
    - avro_value_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: avro_generic_bytes_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 1
    functionsReached:
    - check
    - avro_generic_bytes_set
    - avro_generic_value_new
    linkageType: ''
    returnType: int
    signature: int avro_generic_bytes_new(avro_value_t *value, void *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 994
    functionName: avro_generic_double_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_double_reset(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:999,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1002
    functionName: avro_generic_double_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_double_get_type(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1007,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1008,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1010
    functionName: avro_generic_double_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_double_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1020
    functionName: avro_generic_double_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_double_get(const avro_value_iface_t *iface,\n\t\t\tconst
      void *vself, double *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1030
    functionName: avro_generic_double_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_double_set(const avro_value_iface_t *iface,\n\t\t\tvoid
      *vself, double val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1037
    functionName: avro_generic_double_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_double_instance_size(const avro_value_iface_t *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1046
    functionName: avro_generic_double_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_double_init(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1051,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: avro_generic_double_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_double_done(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1116
    functionName: avro_generic_double_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_double_class(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1122,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1122,1
    - Dst: avro_generic_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - val
    argTypes:
    - avro_value_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1118
    functionDepth: 2
    functionLinenumber: 1118
    functionLinenumberEnd: 1124
    functionName: avro_generic_double_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 1
    functionsReached:
    - check
    - avro_generic_double_set
    - avro_generic_value_new
    linkageType: ''
    returnType: int
    signature: int avro_generic_double_new(avro_value_t *value, double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1137
    functionName: avro_generic_float_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_float_reset(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1142,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    functionName: avro_generic_float_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_float_get_type(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1150,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1151,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1153
    functionName: avro_generic_float_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_float_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1163
    functionName: avro_generic_float_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_float_get(const avro_value_iface_t *iface,\n\t\t
      \      const void *vself, float *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1173
    functionName: avro_generic_float_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_float_set(const avro_value_iface_t *iface,\n\t\t
      \      void *vself, float val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1180
    functionName: avro_generic_float_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_float_instance_size(const avro_value_iface_t *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1189
    functionName: avro_generic_float_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_float_init(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1194,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1196
    functionName: avro_generic_float_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_float_done(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1259
    functionName: avro_generic_float_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_float_class(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1265,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1265,1
    - Dst: avro_generic_float_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - val
    argTypes:
    - avro_value_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1267
    functionName: avro_generic_float_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 1
    functionsReached:
    - check
    - avro_generic_float_set
    - avro_generic_value_new
    linkageType: ''
    returnType: int
    signature: int avro_generic_float_new(avro_value_t *value, float val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1280
    functionName: avro_generic_int_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_int_reset(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1285,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1288
    functionName: avro_generic_int_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_int_get_type(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1293,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1294,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1296
    functionName: avro_generic_int_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_int_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1306
    functionName: avro_generic_int_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_int_get(const avro_value_iface_t *iface,\n\t\t     const
      void *vself, int32_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1316
    functionName: avro_generic_int_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_int_set(const avro_value_iface_t *iface,\n\t\t     void
      *vself, int32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1323
    functionName: avro_generic_int_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_int_instance_size(const avro_value_iface_t *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1332
    functionName: avro_generic_int_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_int_init(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1337,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1339
    functionName: avro_generic_int_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_int_done(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1402
    functionName: avro_generic_int_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_int_class(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1408,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1408,1
    - Dst: avro_generic_int_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - val
    argTypes:
    - avro_value_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1410
    functionName: avro_generic_int_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 1
    functionsReached:
    - check
    - avro_generic_int_set
    - avro_generic_value_new
    linkageType: ''
    returnType: int
    signature: int avro_generic_int_new(avro_value_t *value, int32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1416
    functionDepth: 1
    functionLinenumber: 1416
    functionLinenumberEnd: 1423
    functionName: avro_generic_long_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_long_reset(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1428,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1431
    functionName: avro_generic_long_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_long_get_type(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1436,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1437,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1439
    functionName: avro_generic_long_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_long_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1449
    functionName: avro_generic_long_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_long_get(const avro_value_iface_t *iface,\n\t\t      const
      void *vself, int64_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1459
    functionName: avro_generic_long_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_long_set(const avro_value_iface_t *iface,\n\t\t      void
      *vself, int64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1466
    functionName: avro_generic_long_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_long_instance_size(const avro_value_iface_t *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1475
    functionName: avro_generic_long_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_long_init(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1480,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1482
    functionName: avro_generic_long_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_long_done(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1545
    functionName: avro_generic_long_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_long_class(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1551,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1551,1
    - Dst: avro_generic_long_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - val
    argTypes:
    - avro_value_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1547
    functionDepth: 2
    functionLinenumber: 1547
    functionLinenumberEnd: 1553
    functionName: avro_generic_long_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 1
    functionsReached:
    - check
    - avro_generic_long_set
    - avro_generic_value_new
    linkageType: ''
    returnType: int
    signature: int avro_generic_long_new(avro_value_t *value, int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1566
    functionName: avro_generic_null_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_null_reset(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1571,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1574
    functionName: avro_generic_null_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_null_get_type(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1579,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1580,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1582
    functionName: avro_generic_null_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_null_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1587,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1590
    functionName: avro_generic_null_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_null_get(const avro_value_iface_t *iface, const void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1595,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1598
    functionName: avro_generic_null_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_null_set(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1600
    functionDepth: 1
    functionLinenumber: 1600
    functionLinenumberEnd: 1605
    functionName: avro_generic_null_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_null_instance_size(const avro_value_iface_t *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1614
    functionName: avro_generic_null_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_null_init(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1619,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1621
    functionName: avro_generic_null_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_null_done(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1684
    functionName: avro_generic_null_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_null_class(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1686
    functionDepth: 2
    functionLinenumber: 1686
    functionLinenumberEnd: 1690
    functionName: avro_generic_null_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 1
    functionsReached:
    - avro_generic_value_new
    linkageType: ''
    returnType: int
    signature: int avro_generic_null_new(avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1699,1
    - Dst: avro_raw_string_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1696
    functionDepth: 1
    functionLinenumber: 1696
    functionLinenumberEnd: 1703
    functionName: avro_generic_string_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_clear
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_string_reset(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1708,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 1711
    functionName: avro_generic_string_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_string_get_type(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1716,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1717,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1719
    functionName: avro_generic_string_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_string_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1725,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1727,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1721
    functionDepth: 1
    functionLinenumber: 1721
    functionLinenumberEnd: 1743
    functionName: avro_generic_string_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_get
    - avro_raw_string_length
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_string_get(const avro_value_iface_t *iface,\n\t\t\tconst
      void *vself, const char **str, size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1749,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1751,1
    - Dst: avro_wrapped_buffer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1754,1
    - Dst: avro_raw_string_grab
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1758
    functionName: avro_generic_string_grab
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_get
    - avro_wrapped_buffer_new
    - avro_raw_string_grab
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_string_grab(const avro_value_iface_t *iface,\n\t\t\t
      const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1764,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1765,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1760
    functionDepth: 1
    functionLinenumber: 1760
    functionLinenumberEnd: 1775
    functionName: avro_generic_string_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_string_set(const avro_value_iface_t *iface,\n\t\t\tvoid
      *vself, const char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1781,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1782,1
    - Dst: avro_raw_string_set_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - iface
    - vself
    - val
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 1786
    functionName: avro_generic_string_set_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_set_length
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_string_set_length(const avro_value_iface_t *iface,\n\t\t\t
      \      void *vself, const char *val, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1792,1
    - Dst: avro_raw_string_give
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1796
    functionName: avro_generic_string_give_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_give
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_string_give_length(const avro_value_iface_t *iface,\n\t\t\t\tvoid
      *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 1
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: avro_generic_string_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_string_instance_size(const avro_value_iface_t *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1808,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1812
    functionName: avro_generic_string_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_init
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_string_init(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1817,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1814
    functionDepth: 1
    functionLinenumber: 1814
    functionLinenumberEnd: 1820
    functionName: avro_generic_string_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_done
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_string_done(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1883
    functionName: avro_generic_string_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_string_class(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1889,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1889,1
    - Dst: avro_generic_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - str
    argTypes:
    - avro_value_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1885
    functionDepth: 2
    functionLinenumber: 1885
    functionLinenumberEnd: 1891
    functionName: avro_generic_string_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 2
    functionsReached:
    - check
    - avro_generic_string_set
    - avro_generic_value_new
    linkageType: ''
    returnType: int
    signature: int avro_generic_string_new(avro_value_t *value, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1897,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1897,1
    - Dst: avro_generic_string_set_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - value
    - str
    - size
    argTypes:
    - avro_value_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1893
    functionDepth: 2
    functionLinenumber: 1893
    functionLinenumberEnd: 1899
    functionName: avro_generic_string_new_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - check
    - avro_generic_string_set_length
    - avro_generic_value_new
    linkageType: ''
    returnType: int
    signature: int avro_generic_string_new_length(avro_value_t *value, const char
      *str, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1927,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 1930
    functionName: avro_generic_array_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_array_incref_iface(avro_value_iface_t *viface)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1936,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1937,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1938,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1939,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1942
    functionName: avro_generic_array_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_refcount_dec
    - avro_freet
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_generic_array_decref_iface(avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1950,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1951,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - child_giface
    - self
    argTypes:
    - avro_generic_value_iface_t*
    - avro_generic_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1945
    functionDepth: 1
    functionLinenumber: 1945
    functionLinenumberEnd: 1954
    functionName: avro_generic_array_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_done
    - avro_raw_array_get_raw
    - avro_raw_array_size
    linkageType: ''
    returnType: void
    signature: "void avro_generic_array_free_elements(const avro_generic_value_iface_t
      *child_giface,\n\t\t\t\t avro_generic_array_t *self)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1960,1
    - Dst: avro_generic_array_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1962,1
    - Dst: avro_raw_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1956
    functionDepth: 2
    functionLinenumber: 1956
    functionLinenumberEnd: 1965
    functionName: avro_generic_array_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_clear
    - container_of
    - avro_generic_array_free_elements
    linkageType: ''
    returnType: int
    signature: int avro_generic_array_reset(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1970,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 1973
    functionName: avro_generic_array_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_array_get_type(const avro_value_iface_t *viface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1979,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1975
    functionDepth: 1
    functionLinenumber: 1975
    functionLinenumberEnd: 1982
    functionName: avro_generic_array_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_array_get_schema(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1988,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1984
    functionDepth: 1
    functionLinenumber: 1984
    functionLinenumberEnd: 1994
    functionName: avro_generic_array_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_array_get_size(const avro_value_iface_t *viface,\n\t\t\t
      \   const void *vself, size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2002,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2003,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2005,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2006,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1996
    functionDepth: 1
    functionLinenumber: 1996
    functionLinenumberEnd: 2012
    functionName: avro_generic_array_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_raw_array_size
    - avro_raw_array_get_raw
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_array_get_by_index(const avro_value_iface_t *viface,\n\t\t\t\tconst
      void *vself, size_t index,\n\t\t\t\tavro_value_t *child, const char **name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2021,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2024,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2026,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2029,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2029,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - viface
    - vself
    - child
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2034
    functionName: avro_generic_array_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - check
    - avro_raw_array_size
    - avro_value_init
    - container_of
    - avro_raw_array_append
    linkageType: ''
    returnType: int
    signature: "int avro_generic_array_append(const avro_value_iface_t *viface,\n\t\t\t
      \ void *vself, avro_value_t *child,\n\t\t\t  size_t *new_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 2036
    functionDepth: 1
    functionLinenumber: 2036
    functionLinenumberEnd: 2041
    functionName: avro_generic_array_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_array_instance_size(const avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2047,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2050,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2043
    functionDepth: 1
    functionLinenumber: 2043
    functionLinenumberEnd: 2053
    functionName: avro_generic_array_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_instance_size
    - container_of
    - avro_raw_array_init
    linkageType: ''
    returnType: int
    signature: int avro_generic_array_init(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2059,1
    - Dst: avro_generic_array_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2061,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2055
    functionDepth: 2
    functionLinenumber: 2055
    functionLinenumberEnd: 2063
    functionName: avro_generic_array_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_raw_array_done
    - avro_generic_array_free_elements
    linkageType: ''
    returnType: void
    signature: void avro_generic_array_done(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2125,1
    - Dst: avro_generic_class_from_schema_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2127,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2132,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2134,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2135,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2140,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2142,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - schema
    - state
    argTypes:
    - avro_schema_t
    - memoize_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2156
    functionName: avro_generic_array_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_value_iface_decref
    - avro_schema_incref
    - avro_new
    - avro_generic_class_from_schema_memoized
    - avro_schema_array_items
    - avro_value_instance_size
    linkageType: ''
    returnType: avro_generic_value_iface_t
    signature: 'avro_generic_value_iface_t *

      avro_generic_array_class(avro_schema_t schema, memoize_state_t *state)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2170
    functionDepth: 1
    functionLinenumber: 2170
    functionLinenumberEnd: 2177
    functionName: avro_generic_enum_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_enum_incref_iface(avro_value_iface_t *viface)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2184,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2185,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2179
    functionDepth: 1
    functionLinenumber: 2179
    functionLinenumberEnd: 2188
    functionName: avro_generic_enum_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - avro_refcount_dec
    linkageType: ''
    returnType: void
    signature: void avro_generic_enum_decref_iface(avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2190
    functionDepth: 1
    functionLinenumber: 2190
    functionLinenumberEnd: 2197
    functionName: avro_generic_enum_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_enum_reset(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2202,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2199
    functionDepth: 1
    functionLinenumber: 2199
    functionLinenumberEnd: 2205
    functionName: avro_generic_enum_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_enum_get_type(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2211,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2207
    functionDepth: 1
    functionLinenumber: 2207
    functionLinenumberEnd: 2214
    functionName: avro_generic_enum_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_enum_get_schema(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2216
    functionDepth: 1
    functionLinenumber: 2216
    functionLinenumberEnd: 2224
    functionName: avro_generic_enum_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_enum_get(const avro_value_iface_t *viface,\n\t\t
      \     const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2226
    functionDepth: 1
    functionLinenumber: 2226
    functionLinenumberEnd: 2234
    functionName: avro_generic_enum_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_enum_set(const avro_value_iface_t *viface,\n\t\t
      \     void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2236
    functionDepth: 1
    functionLinenumber: 2236
    functionLinenumberEnd: 2241
    functionName: avro_generic_enum_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_enum_instance_size(const avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2243
    functionDepth: 1
    functionLinenumber: 2243
    functionLinenumberEnd: 2250
    functionName: avro_generic_enum_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_enum_init(const avro_value_iface_t *viface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2255,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2252
    functionDepth: 1
    functionLinenumber: 2252
    functionLinenumberEnd: 2257
    functionName: avro_generic_enum_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_enum_done(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2320,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2316
    functionDepth: 1
    functionLinenumber: 2316
    functionLinenumberEnd: 2329
    functionName: avro_generic_enum_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_new
    - avro_schema_incref
    linkageType: ''
    returnType: avro_generic_value_iface_t
    signature: 'avro_generic_value_iface_t *

      avro_generic_enum_class(avro_schema_t schema)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2348,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2344
    functionDepth: 1
    functionLinenumber: 2344
    functionLinenumberEnd: 2351
    functionName: avro_generic_fixed_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_fixed_incref_iface(avro_value_iface_t *viface)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2357,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2358,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2359,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2353
    functionDepth: 1
    functionLinenumber: 2353
    functionLinenumberEnd: 2362
    functionName: avro_generic_fixed_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - container_of
    - avro_refcount_dec
    linkageType: ''
    returnType: void
    signature: void avro_generic_fixed_decref_iface(avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2368,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2371
    functionName: avro_generic_fixed_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - memset
    - container_of
    linkageType: ''
    returnType: int
    signature: int avro_generic_fixed_reset(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2376,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2373
    functionDepth: 1
    functionLinenumber: 2373
    functionLinenumberEnd: 2379
    functionName: avro_generic_fixed_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_fixed_get_type(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2385,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2381
    functionDepth: 1
    functionLinenumber: 2381
    functionLinenumberEnd: 2388
    functionName: avro_generic_fixed_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_fixed_get_schema(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2403
    functionName: avro_generic_fixed_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_generic_fixed_get(const avro_value_iface_t *viface,\n\t\t
      \      const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2410,1
    - Dst: avro_wrapped_buffer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2405
    functionDepth: 1
    functionLinenumber: 2405
    functionLinenumberEnd: 2412
    functionName: avro_generic_fixed_grab
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_wrapped_buffer_new
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_generic_fixed_grab(const avro_value_iface_t *viface,\n\t\t\tconst
      void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2418,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2420,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2422,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2414
    functionDepth: 1
    functionLinenumber: 2414
    functionLinenumberEnd: 2427
    functionName: avro_generic_fixed_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - memcpy
    - container_of
    - check_param
    linkageType: ''
    returnType: int
    signature: "int avro_generic_fixed_set(const avro_value_iface_t *viface,\n\t\t
      \      void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_fixed_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2433,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2429
    functionDepth: 2
    functionLinenumber: 2429
    functionLinenumberEnd: 2437
    functionName: avro_generic_fixed_give
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_generic_fixed_set
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: int
    signature: "int avro_generic_fixed_give(const avro_value_iface_t *viface,\n\t\t\tvoid
      *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2445
    functionName: avro_generic_fixed_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_fixed_instance_size(const avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2451,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2454
    functionName: avro_generic_fixed_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - memset
    - container_of
    linkageType: ''
    returnType: int
    signature: int avro_generic_fixed_init(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2459,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2456
    functionDepth: 1
    functionLinenumber: 2456
    functionLinenumberEnd: 2461
    functionName: avro_generic_fixed_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_generic_fixed_done(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2524,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2531,1
    - Dst: avro_schema_fixed_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2520
    functionDepth: 1
    functionLinenumber: 2520
    functionLinenumberEnd: 2534
    functionName: avro_generic_fixed_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_fixed_size
    - avro_new
    - avro_schema_incref
    linkageType: ''
    returnType: avro_generic_value_iface_t
    signature: 'avro_generic_value_iface_t *

      avro_generic_fixed_class(avro_schema_t schema)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2562,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2558
    functionDepth: 1
    functionLinenumber: 2558
    functionLinenumberEnd: 2565
    functionName: avro_generic_map_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_map_incref_iface(avro_value_iface_t *viface)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2571,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2572,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2573,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2574,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2567
    functionDepth: 1
    functionLinenumber: 2567
    functionLinenumberEnd: 2577
    functionName: avro_generic_map_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_refcount_dec
    - avro_freet
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_generic_map_decref_iface(avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2585,1
    - Dst: avro_raw_map_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2586,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - child_giface
    - self
    argTypes:
    - avro_generic_value_iface_t*
    - avro_generic_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2580
    functionDepth: 1
    functionLinenumber: 2580
    functionLinenumberEnd: 2589
    functionName: avro_generic_map_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_done
    - avro_raw_map_size
    - avro_raw_map_get_raw
    linkageType: ''
    returnType: void
    signature: "void avro_generic_map_free_elements(const avro_generic_value_iface_t
      *child_giface,\n\t\t\t       avro_generic_map_t *self)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2595,1
    - Dst: avro_generic_map_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2597,1
    - Dst: avro_raw_map_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2591
    functionDepth: 2
    functionLinenumber: 2591
    functionLinenumberEnd: 2600
    functionName: avro_generic_map_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_map_clear
    - container_of
    - avro_generic_map_free_elements
    linkageType: ''
    returnType: int
    signature: int avro_generic_map_reset(const avro_value_iface_t *viface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2605,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2602
    functionDepth: 1
    functionLinenumber: 2602
    functionLinenumberEnd: 2608
    functionName: avro_generic_map_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_map_get_type(const avro_value_iface_t *viface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2614,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2610
    functionDepth: 1
    functionLinenumber: 2610
    functionLinenumberEnd: 2617
    functionName: avro_generic_map_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_map_get_schema(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2623,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2619
    functionDepth: 1
    functionLinenumber: 2619
    functionLinenumberEnd: 2629
    functionName: avro_generic_map_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_map_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_map_get_size(const avro_value_iface_t *viface,\n\t\t\t
      \ const void *vself, size_t *size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2637,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2639,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2640,1
    - Dst: avro_raw_map_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2644,1
    - Dst: avro_raw_map_get_key
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2631
    functionDepth: 1
    functionLinenumber: 2631
    functionLinenumberEnd: 2649
    functionName: avro_generic_map_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_raw_map_get_key
    - avro_raw_map_size
    - avro_raw_map_get_raw
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_generic_map_get_by_index(const avro_value_iface_t *viface,\n\t\t\t
      \     const void *vself, size_t index,\n\t\t\t      avro_value_t *child, const
      char **name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2657,1
    - Dst: avro_raw_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2660,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2651
    functionDepth: 1
    functionLinenumber: 2651
    functionLinenumberEnd: 2666
    functionName: avro_generic_map_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_map_get
    - container_of
    - avro_set_error
    linkageType: ''
    returnType: int
    signature: "int avro_generic_map_get_by_name(const avro_value_iface_t *viface,\n\t\t\t
      \    const void *vself, const char *name,\n\t\t\t     avro_value_t *child, size_t
      *index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2674,1
    - Dst: avro_raw_map_get_or_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2678,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2687,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - viface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2668
    functionDepth: 1
    functionLinenumber: 2668
    functionLinenumberEnd: 2690
    functionName: avro_generic_map_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_map_get_or_create
    - avro_value_init
    - container_of
    - check
    linkageType: ''
    returnType: int
    signature: "int avro_generic_map_add(const avro_value_iface_t *viface,\n\t\t     void
      *vself, const char *key,\n\t\t     avro_value_t *child, size_t *index, int *is_new)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2692
    functionDepth: 1
    functionLinenumber: 2692
    functionLinenumberEnd: 2697
    functionName: avro_generic_map_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_map_instance_size(const avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2703,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2706,1
    - Dst: avro_raw_map_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2699
    functionDepth: 1
    functionLinenumber: 2699
    functionLinenumberEnd: 2709
    functionName: avro_generic_map_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_map_init
    - avro_value_instance_size
    - container_of
    linkageType: ''
    returnType: int
    signature: int avro_generic_map_init(const avro_value_iface_t *viface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2715,1
    - Dst: avro_generic_map_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2717,1
    - Dst: avro_raw_map_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2711
    functionDepth: 2
    functionLinenumber: 2711
    functionLinenumberEnd: 2719
    functionName: avro_generic_map_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_raw_map_done
    - container_of
    - avro_generic_map_free_elements
    linkageType: ''
    returnType: void
    signature: void avro_generic_map_done(const avro_value_iface_t *viface, void *vself)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2781,1
    - Dst: avro_generic_class_from_schema_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2783,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2788,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2790,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2791,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2796,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2798,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - schema
    - state
    argTypes:
    - avro_schema_t
    - memoize_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2778
    functionDepth: 1
    functionLinenumber: 2778
    functionLinenumberEnd: 2812
    functionName: avro_generic_map_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_value_iface_decref
    - avro_schema_incref
    - avro_new
    - avro_generic_class_from_schema_memoized
    - avro_schema_array_items
    - avro_value_instance_size
    linkageType: ''
    returnType: avro_generic_value_iface_t
    signature: 'avro_generic_value_iface_t *

      avro_generic_map_class(avro_schema_t schema, memoize_state_t *state)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iface
    - ','
    - rec
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2862
    functionName: avro_generic_record_field
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_generic_record_field(iface, rec, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2868,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2864
    functionDepth: 1
    functionLinenumber: 2864
    functionLinenumberEnd: 2871
    functionName: avro_generic_record_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_record_incref_iface(avro_value_iface_t *viface)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2877,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2879,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2882,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2885,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2886,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2888,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2873
    functionDepth: 1
    functionLinenumber: 2873
    functionLinenumberEnd: 2893
    functionName: avro_generic_record_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - avro_value_iface_decref
    - avro_refcount_dec
    - avro_free
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_generic_record_decref_iface(avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2900,1
    - Dst: avro_generic_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2907,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2909,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2896
    functionDepth: 1
    functionLinenumber: 2896
    functionLinenumberEnd: 2912
    functionName: avro_generic_record_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - check
    - avro_generic_record_field
    - container_of
    - avro_value_reset
    linkageType: ''
    returnType: int
    signature: int avro_generic_record_reset(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2917,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2920
      start: 2914
    functionDepth: 1
    functionLinenumber: 2914
    functionLinenumberEnd: 2920
    functionName: avro_generic_record_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_record_get_type(const avro_value_iface_t *viface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2926,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2929
      start: 2922
    functionDepth: 1
    functionLinenumber: 2922
    functionLinenumberEnd: 2929
    functionName: avro_generic_record_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_record_get_schema(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2936,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2942
      start: 2931
    functionDepth: 1
    functionLinenumber: 2931
    functionLinenumberEnd: 2942
    functionName: avro_generic_record_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_record_get_size(const avro_value_iface_t *viface,\n\t\t\t
      \    const void *vself, size_t *size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2950,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2953,1
    - Dst: avro_generic_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2957,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2944
    functionDepth: 1
    functionLinenumber: 2944
    functionLinenumberEnd: 2968
    functionName: avro_generic_record_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - container_of
    - avro_generic_record_field
    - avro_schema_record_field_name
    linkageType: ''
    returnType: int
    signature: "int avro_generic_record_get_by_index(const avro_value_iface_t *viface,\n\t\t\t\t
      const void *vself, size_t index,\n\t\t\t\t avro_value_t *child, const char **name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2976,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2980,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2982,1
    - Dst: avro_generic_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index_out
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2970
    functionDepth: 1
    functionLinenumber: 2970
    functionLinenumberEnd: 2992
    functionName: avro_generic_record_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_record_field_get_index
    - container_of
    - avro_generic_record_field
    - avro_set_error
    linkageType: ''
    returnType: int
    signature: "int avro_generic_record_get_by_name(const avro_value_iface_t *viface,\n\t\t\t\tconst
      void *vself, const char *name,\n\t\t\t\tavro_value_t *child, size_t *index_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 3000
    functionName: avro_generic_record_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_record_instance_size(const avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3007,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3013,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3013,1
    - Dst: avro_generic_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3019
      start: 3002
    functionDepth: 1
    functionLinenumber: 3002
    functionLinenumberEnd: 3019
    functionName: avro_generic_record_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - check
    - avro_generic_record_field
    - avro_value_init
    - container_of
    linkageType: ''
    returnType: int
    signature: int avro_generic_record_init(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3025,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3029,1
    - Dst: avro_generic_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3021
    functionDepth: 1
    functionLinenumber: 3021
    functionLinenumberEnd: 3032
    functionName: avro_generic_record_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_done
    - container_of
    - avro_generic_record_field
    linkageType: ''
    returnType: void
    signature: void avro_generic_record_done(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3095,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3100,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3103,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3105,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3115,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3120,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3128,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3129,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3135,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3138,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3140,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3141,1
    - Dst: avro_generic_class_from_schema_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3147,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3153,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3155,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3160,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3168,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3174,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3176,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3181,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3184,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3186,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - schema
    - state
    argTypes:
    - avro_schema_t
    - memoize_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3188
    functionName: avro_generic_record_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_set_error
    - avro_value_iface_decref
    - avro_schema_incref
    - avro_schema_record_field_get_by_index
    - avro_malloc
    - avro_schema_record_size
    - memset
    - avro_new
    - fprintf
    - avro_generic_class_from_schema_memoized
    - avro_free
    - avro_schema_type_name
    - avro_value_instance_size
    - avro_freet
    linkageType: ''
    returnType: avro_generic_value_iface_t
    signature: 'avro_generic_value_iface_t *

      avro_generic_record_class(avro_schema_t schema, memoize_state_t *state)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iface
    - ','
    - _union
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3239
    functionName: avro_generic_union_branch_giface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_generic_union_branch_giface(iface, _union)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iface
    - ','
    - _union
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3241
      start: 3239
    functionDepth: 0
    functionLinenumber: 3239
    functionLinenumberEnd: 3241
    functionName: avro_generic_union_branch_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_generic_union_branch_iface(iface, _union)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _union
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3245
      start: 3243
    functionDepth: 0
    functionLinenumber: 3243
    functionLinenumberEnd: 3245
    functionName: avro_generic_union_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_generic_union_branch(_union)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3251,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3254
      start: 3247
    functionDepth: 1
    functionLinenumber: 3247
    functionLinenumberEnd: 3254
    functionName: avro_generic_union_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_union_incref_iface(avro_value_iface_t *viface)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3260,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3262,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3265,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3268,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3269,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3256
    functionDepth: 1
    functionLinenumber: 3256
    functionLinenumberEnd: 3274
    functionName: avro_generic_union_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - avro_value_iface_decref
    - avro_refcount_dec
    - avro_free
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_generic_union_decref_iface(avro_value_iface_t *viface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3281,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3287,1
    - Dst: avro_generic_union_branch_iface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3291,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3292,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3277
    functionDepth: 1
    functionLinenumber: 3277
    functionLinenumberEnd: 3297
    functionName: avro_generic_union_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_value_reset
    - fprintf
    - container_of
    - avro_generic_union_branch_iface
    - avro_generic_union_branch
    linkageType: ''
    returnType: int
    signature: int avro_generic_union_reset(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3302,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3305
      start: 3299
    functionDepth: 1
    functionLinenumber: 3299
    functionLinenumberEnd: 3305
    functionName: avro_generic_union_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_generic_union_get_type(const avro_value_iface_t *viface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3311,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3314
      start: 3307
    functionDepth: 1
    functionLinenumber: 3307
    functionLinenumberEnd: 3314
    functionName: avro_generic_union_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_generic_union_get_schema(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3324
      start: 3316
    functionDepth: 1
    functionLinenumber: 3316
    functionLinenumberEnd: 3324
    functionName: avro_generic_union_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_generic_union_get_discriminant(const avro_value_iface_t *viface,\n\t\t\t\t
      \   const void *vself, int *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3331,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3334,1
    - Dst: avro_generic_union_branch_iface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3337,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - viface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3326
    functionDepth: 1
    functionLinenumber: 3326
    functionLinenumberEnd: 3340
    functionName: avro_generic_union_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - container_of
    - avro_generic_union_branch_iface
    - avro_generic_union_branch
    linkageType: ''
    returnType: int
    signature: "int avro_generic_union_get_current_branch(const avro_value_iface_t
      *viface,\n\t\t\t\t      const void *vself, avro_value_t *branch)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3348,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3353,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3365,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3368,1
    - Dst: avro_generic_union_branch_giface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3369,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3370,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3375,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3378,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3378,1
    - Dst: avro_generic_union_branch_giface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3379,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3380,1
    - Dst: avro_generic_union_branch_iface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3385,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - viface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3390
      start: 3342
    functionDepth: 1
    functionLinenumber: 3342
    functionLinenumberEnd: 3390
    functionName: avro_generic_union_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - check
    - avro_generic_union_branch_giface
    - fprintf
    - avro_value_init
    - avro_value_done
    - container_of
    - avro_generic_union_branch_iface
    - avro_generic_union_branch
    linkageType: ''
    returnType: int
    signature: "int avro_generic_union_set_branch(const avro_value_iface_t *viface,\n\t\t\t
      \     void *vself, int discriminant,\n\t\t\t      avro_value_t *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3392
    functionDepth: 0
    functionLinenumber: 3392
    functionLinenumberEnd: 3398
    functionName: avro_generic_union_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: size_t
    signature: size_t avro_generic_union_instance_size(const avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3400
    functionDepth: 1
    functionLinenumber: 3400
    functionLinenumberEnd: 3407
    functionName: avro_generic_union_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_generic_union_init(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3413,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3417,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3420,1
    - Dst: avro_generic_union_branch_giface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3421,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3425
      start: 3409
    functionDepth: 1
    functionLinenumber: 3409
    functionLinenumberEnd: 3425
    functionName: avro_generic_union_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_generic_union_branch_giface
    - fprintf
    - avro_value_done
    - container_of
    - avro_generic_union_branch
    linkageType: ''
    returnType: void
    signature: void avro_generic_union_done(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3488,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3493,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3496,1
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3498,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3502,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3511,1
    - Dst: avro_generic_class_from_schema_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3514,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3520,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3522,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3527,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3539,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3545,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3549,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3552,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3554,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - schema
    - state
    argTypes:
    - avro_schema_t
    - memoize_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3556
      start: 3484
    functionDepth: 1
    functionLinenumber: 3484
    functionLinenumberEnd: 3556
    functionName: avro_generic_union_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_set_error
    - avro_value_iface_decref
    - avro_schema_incref
    - avro_malloc
    - memset
    - avro_new
    - fprintf
    - avro_schema_union_size
    - avro_generic_class_from_schema_memoized
    - avro_free
    - avro_schema_union_branch
    - avro_value_instance_size
    - avro_freet
    linkageType: ''
    returnType: avro_generic_value_iface_t
    signature: 'avro_generic_value_iface_t *

      avro_generic_union_class(avro_schema_t schema, memoize_state_t *state)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: avro_memoize_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3573,1
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3574,1
    - Dst: avro_generic_array_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3610,1
    - Dst: avro_generic_enum_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3613,1
    - Dst: avro_generic_fixed_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3616,1
    - Dst: avro_generic_map_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3619,1
    - Dst: avro_generic_record_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3622,1
    - Dst: avro_generic_union_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3625,1
    - Dst: avro_generic_link_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3631,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3639,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3648,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - schema
    - state
    argTypes:
    - avro_schema_t
    - memoize_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3563
    functionDepth: 2
    functionLinenumber: 3563
    functionLinenumberEnd: 3650
    functionName: avro_generic_class_from_schema_memoized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 4
    functionsReached:
    - avro_set_error
    - avro_memoize_set
    - avro_generic_fixed_class
    - avro_generic_record_class
    - avro_generic_map_class
    - avro_generic_union_class
    - avro_generic_enum_class
    - avro_value_iface_incref
    - avro_generic_array_class
    - avro_generic_link_class
    - avro_memoize_get
    linkageType: ''
    returnType: avro_generic_value_iface_t
    signature: "avro_generic_value_iface_t *\navro_generic_class_from_schema_memoized(avro_schema_t
      schema,\n\t\t\t\t\tmemoize_state_t *state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_memoize_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3661,1
    - Dst: avro_generic_class_from_schema_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3669,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3671,1
    - Dst: avro_schema_link_target
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3683,1
    - Dst: avro_memoize_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3686,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3688,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3689,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3707
      start: 3652
    functionDepth: 3
    functionLinenumber: 3652
    functionLinenumberEnd: 3707
    functionName: avro_generic_class_from_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: 34
    functionsReached:
    - avro_set_error
    - avro_schema_link_target
    - avro_generic_class_from_schema_memoized
    - avro_memoize_done
    - avro_schema_type_name
    - avro_memoize_init
    - avro_memoize_get
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_generic_class_from_schema(avro_schema_t schema)'
  - 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: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: Calloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 128
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Calloc(n,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: free_bins
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free_bins(tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - table
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: EQUAL
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EQUAL(table,x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: do_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_hash(key,table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: do_hash_bin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_hash_bin(key,table)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: new_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int new_size(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:144,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:145,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: stat_col
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - fclose
    - fprintf
    - fopen
    linkageType: ''
    returnType: void
    signature: void stat_col()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:157,1
    - Dst: new_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:161,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:163,1
    - Dst: Calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - type
    - size
    argTypes:
    - struct st_hash_type*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: st_init_table_with_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - atexit
    - new_size
    - avro_new
    - Calloc
    linkageType: ''
    returnType: st_table
    signature: st_table *st_init_table_with_size(struct st_hash_type *type, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_table_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct st_hash_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: st_init_table
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - st_init_table_with_size
    linkageType: ''
    returnType: st_table
    signature: st_table *st_init_table(struct st_hash_type *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: st_init_numtable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - st_init_table
    linkageType: ''
    returnType: st_table
    signature: st_table *st_init_numtable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_table_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: st_init_numtable_with_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - st_init_table_with_size
    linkageType: ''
    returnType: st_table
    signature: st_table *st_init_numtable_with_size(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: st_init_strtable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - st_init_table
    linkageType: ''
    returnType: st_table
    signature: st_table *st_init_strtable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_table_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: st_init_strtable_with_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - st_init_table_with_size
    linkageType: ''
    returnType: st_table
    signature: st_table *st_init_strtable_with_size(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:206,1
    - Dst: free_bins
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:210,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - table
    argTypes:
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: st_free_table
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - free_bins
    - avro_freet
    linkageType: ''
    returnType: void
    signature: void st_free_table(st_table *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - table
    - ','
    - ptr
    - ','
    - hash_val
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: PTR_NOT_EQUAL
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_NOT_EQUAL(table, ptr, hash_val, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - table
    - ','
    - ptr
    - ','
    - hash_val
    - ','
    - bin_pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: FIND_ENTRY
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_ENTRY(table, ptr, hash_val, bin_pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:240,1
    - Dst: FIND_ENTRY
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - st_table*
    - st_data_t
    - st_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: st_lookup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 3
    functionsReached:
    - FIND_ENTRY
    - do_hash
    linkageType: ''
    returnType: int
    signature: int st_lookup(st_table *table, register st_data_t key, st_data_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - table
    - ','
    - key
    - ','
    - value
    - ','
    - hash_val
    - ','
    - bin_pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: ADD_DIRECT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_DIRECT(table, key, value, hash_val, bin_pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:275,1
    - Dst: FIND_ENTRY
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:276,1
    - Dst: ADD_DIRECT
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - st_table*
    - st_data_t
    - st_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: st_insert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 3
    functionsReached:
    - ADD_DIRECT
    - FIND_ENTRY
    - do_hash
    linkageType: ''
    returnType: int
    signature: int st_insert(register st_table *table, register st_data_t key, st_data_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:291,1
    - Dst: ADD_DIRECT
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - st_table*
    - st_data_t
    - st_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: st_add_direct
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - ADD_DIRECT
    - do_hash
    linkageType: ''
    returnType: void
    signature: void st_add_direct(st_table *table,st_data_t key,st_data_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:302,1
    - Dst: Calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:304,1
    - Dst: free_bins
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - table
    argTypes:
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 319
    functionName: rehash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 1
    functionsReached:
    - free_bins
    - new_size
    - Calloc
    linkageType: ''
    returnType: void
    signature: void rehash(register st_table *table)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:327,1
    - Dst: Calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:334,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:337,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:345,1
    - Dst: free_bins
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:347,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - old_table
    argTypes:
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 358
    functionName: st_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - free_bins
    - avro_new
    - avro_freet
    - Calloc
    linkageType: ''
    returnType: st_table
    signature: st_table *st_copy(st_table *old_table)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: do_hash_bin
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:366,1
    - Dst: EQUAL
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:375,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:381,1
    - Dst: EQUAL
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:386,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - st_table*
    - st_data_t*
    - st_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 399
    functionName: st_delete
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - EQUAL
    - avro_freet
    - do_hash_bin
    linkageType: ''
    returnType: int
    signature: int st_delete(register st_table *table,register st_data_t *key,st_data_t
      *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_hash_bin
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:406,1
    - Dst: EQUAL
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - table
    - key
    - value
    - never
    argTypes:
    - st_table*
    - st_data_t*
    - st_data_t*
    - st_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 427
    functionName: st_delete_safe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - EQUAL
    - do_hash_bin
    linkageType: ''
    returnType: int
    signature: int st_delete_safe(register st_table *table,register st_data_t *key,st_data_t
      *value,st_data_t never)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - value
    - never
    argTypes:
    - st_data_t
    - st_data_t
    - st_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 436
    functionName: delete_never
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int delete_never(st_data_t key, st_data_t value, st_data_t never)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - never
    argTypes:
    - st_table*
    - st_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: st_cleanup_safe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void st_cleanup_safe(st_table *table,st_data_t never)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - table
    - arg
    argTypes:
    - st_table*
    - st_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 496
    functionName: st_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached:
    - avro_freet
    linkageType: ''
    returnType: int
    signature: int st_foreach(st_table *table,int (*func) (ANYARGS),st_data_t arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 533
    functionName: strhash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int strhash(register const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: numcmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int numcmp(long x, long y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: numhash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int numhash(long n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:39,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:39,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - reader
    - enc
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - avro_consumer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: read_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: 0
    functionsReached:
    - avro_consumer_call
    - avro_encoding_t*::read_long
    - check_prefix
    linkageType: ''
    returnType: int
    signature: "int read_enum(avro_reader_t reader, const avro_encoding_t * enc,\n\t
      \ avro_consumer_t *consumer, void *ud)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:54,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:54,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:56,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:56,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:62,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:62,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:70,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:71,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:75,1
    - Dst: avro_consume_binary
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:75,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:78,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:78,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:80,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - reader
    - enc
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - avro_consumer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 85
    functionName: read_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: 0
    functionsReached:
    - avro_encoding_t*::read_long
    - check
    - avro_consume_binary
    - avro_consumer_call
    - check_prefix
    linkageType: ''
    returnType: int
    signature: "int read_array(avro_reader_t reader, const avro_encoding_t * enc,\n\t
      \  avro_consumer_t *consumer, void *ud)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:97,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:97,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:99,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:99,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:105,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:105,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:115,1
    - Dst: avro_encoding_t*::read_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:115,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:118,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:123,1
    - Dst: avro_consume_binary
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:127,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:129,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:133,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:136,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:136,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:138,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - reader
    - enc
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - avro_consumer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 143
    functionName: read_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: 0
    functionsReached:
    - avro_encoding_t*::read_long
    - check
    - avro_encoding_t*::read_string
    - avro_consume_binary
    - avro_free
    - avro_consumer_call
    - check_prefix
    linkageType: ''
    returnType: int
    signature: "int read_map(avro_reader_t reader, const avro_encoding_t * enc,\n\t
      avro_consumer_t *consumer, void *ud)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:154,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:154,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:156,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:156,1
    - Dst: avro_consume_binary
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - reader
    - enc
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - avro_consumer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: read_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: 0
    functionsReached:
    - avro_encoding_t*::read_long
    - check
    - avro_consume_binary
    - avro_consumer_call
    - check_prefix
    linkageType: ''
    returnType: int
    signature: "int read_union(avro_reader_t reader, const avro_encoding_t * enc,\n\t
      \  avro_consumer_t *consumer, void *ud)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:170,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:172,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:172,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:174,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:179,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:179,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:184,1
    - Dst: avro_consume_binary
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:184,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:187,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:188,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - reader
    - enc
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - avro_consumer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: read_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: 0
    functionsReached:
    - avro_skip_data
    - avro_schema_record_field_get_by_index
    - check
    - avro_schema_record_size
    - avro_consume_binary
    - avro_consumer_call
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int read_record(avro_reader_t reader, const avro_encoding_t * enc,\n\t
      \   avro_consumer_t *consumer, void *ud)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:201,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:202,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:204,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:206,1
    - Dst: avro_encoding_t*::read_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:206,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:208,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:208,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:214,1
    - Dst: avro_encoding_t*::read_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:214,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:216,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:216,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:224,1
    - Dst: avro_encoding_t*::read_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:224,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:226,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:226,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:233,1
    - Dst: avro_encoding_t*::read_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:233,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:235,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:235,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:242,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:242,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:244,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:244,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:251,1
    - Dst: avro_encoding_t*::read_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:251,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:253,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:253,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:260,1
    - Dst: avro_encoding_t*::read_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:260,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:262,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:262,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:270,1
    - Dst: avro_encoding_t*::read_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:270,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:272,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:272,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:280,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:282,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:284,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:287,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:289,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:290,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:294,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:296,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:303,1
    - Dst: read_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:303,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:307,1
    - Dst: read_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:307,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:311,1
    - Dst: read_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:311,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:315,1
    - Dst: read_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:315,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:319,1
    - Dst: read_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:319,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:323,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 3
    argNames:
    - reader
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_consumer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 328
    functionName: avro_consume_binary
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: 4
    functionsReached:
    - read_array
    - avro_set_error
    - avro_encoding_t*::read_int
    - avro_encoding_t*::read_double
    - avro_encoding_t*::read_bytes
    - avro_schema_to_fixed
    - avro_prefix_error
    - read_union
    - avro_malloc
    - avro_encoding_t*::read_boolean
    - avro_free
    - avro_typeof
    - avro_encoding_t*::read_long
    - avro_encoding_t*::read_float
    - read_record
    - check_param
    - avro_consumer_call
    - avro_read
    - check_prefix
    - read_map
    - avro_encoding_t*::read_null
    - check
    - avro_encoding_t*::read_string
    - read_enum
    linkageType: ''
    returnType: int
    signature: int avro_consume_binary(avro_reader_t reader, avro_consumer_t *consumer,
      void *ud)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:32,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:32,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:33,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:33,1
    - Dst: avro_resolved_writer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:36,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: avro_schema_match
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c
    functionUses: 0
    functionsReached:
    - avro_value_iface_decref
    - check_param
    - avro_resolved_writer_new
    - is_avro_schema
    linkageType: ''
    returnType: int
    signature: int avro_schema_match(avro_schema_t wschema, avro_schema_t rschema)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:51,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:52,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:52,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:53,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:59,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:65,1
    - Dst: avro_datum_as_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:65,1
    - Dst: avro_resolved_writer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:68,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:70,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:71,1
    - Dst: avro_resolved_writer_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:76,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:78,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:79,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:80,1
    - Dst: avro_resolved_writer_set_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:84,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:85,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:87,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:88,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:89,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:90,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:94,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:95,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 4
    argNames:
    - reader
    - writers_schema
    - readers_schema
    - datum
    argTypes:
    - avro_reader_t
    - avro_schema_t
    - avro_schema_t
    - avro_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 99
    functionName: avro_read_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c
    functionUses: 3
    functionsReached:
    - avro_value_read
    - avro_value_decref
    - avro_value_iface_decref
    - avro_datum_as_value
    - check
    - avro_resolved_writer_set_dest
    - avro_datum_from_schema
    - check_param
    - avro_resolved_writer_new
    - is_avro_schema
    - avro_resolved_writer_new_value
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: "int avro_read_data(avro_reader_t reader, avro_schema_t writers_schema,\n\t
      \      avro_schema_t readers_schema, avro_datum_t * datum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: DEBUG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: avro_wrapped_resizable_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_wrapped_resizable_size(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:61,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:63,1
    - Dst: avro_wrapped_resizable_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: avro_wrapped_resizable_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 0
    functionsReached:
    - avro_wrapped_resizable_size
    - avro_free
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_wrapped_resizable_free(avro_wrapped_buffer_t *self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:85,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:89,1
    - Dst: avro_wrapped_resizable_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:90,1
    - Dst: avro_wrapped_resizable_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:91,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:95,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:103,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - self
    - desired
    argTypes:
    - avro_wrapped_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 108
    functionName: avro_wrapped_resizable_resize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 0
    functionsReached:
    - avro_wrapped_resizable_size
    - avro_realloc
    - DEBUG
    linkageType: ''
    returnType: int
    signature: int avro_wrapped_resizable_resize(avro_wrapped_buffer_t *self, size_t
      desired)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_wrapped_resizable_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:113,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:115,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - dest
    - buf_size
    argTypes:
    - avro_wrapped_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: avro_wrapped_resizable_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 0
    functionsReached:
    - DEBUG
    - avro_wrapped_resizable_size
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: int avro_wrapped_resizable_new(avro_wrapped_buffer_t *dest, size_t
      buf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: is_resizable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_resizable(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - avro_raw_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: avro_raw_string_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void avro_raw_string_init(avro_raw_string_t *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_resizable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:153,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:154,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:157,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:158,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - avro_raw_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: avro_raw_string_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 2
    functionsReached:
    - is_resizable
    - avro_wrapped_buffer_free
    - avro_raw_string_init
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_raw_string_clear(avro_raw_string_t *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:167,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - avro_raw_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: avro_raw_string_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 3
    functionsReached:
    - avro_raw_string_init
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: void
    signature: void avro_raw_string_done(avro_raw_string_t *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:183,1
    - Dst: is_resizable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:184,1
    - Dst: avro_wrapped_resizable_resize
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:190,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:199,1
    - Dst: avro_wrapped_resizable_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:199,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:209,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - str
    - length
    argTypes:
    - avro_raw_string_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: avro_raw_string_ensure_buf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 0
    functionsReached:
    - avro_wrapped_resizable_new
    - check
    - memcpy
    - avro_wrapped_resizable_resize
    - DEBUG
    - is_resizable
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: int
    signature: int avro_raw_string_ensure_buf(avro_raw_string_t *str, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_string_ensure_buf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:222,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - src
    - length
    argTypes:
    - avro_raw_string_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: avro_raw_string_set_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 2
    functionsReached:
    - memcpy
    - avro_raw_string_ensure_buf
    linkageType: ''
    returnType: void
    signature: "void avro_raw_string_set_length(avro_raw_string_t *str,\n\t\t\t   const
      void *src, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:233,1
    - Dst: avro_raw_string_set_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:234,1
    - Dst: avro_raw_string_ensure_buf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:237,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - str
    - src
    - length
    argTypes:
    - avro_raw_string_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: avro_raw_string_append_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_length
    - memcpy
    - avro_raw_string_ensure_buf
    - avro_raw_string_set_length
    linkageType: ''
    returnType: void
    signature: "void avro_raw_string_append_length(avro_raw_string_t *str,\n\t\t\t\t
      \  const void *src,\n\t\t\t\t   size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:246,1
    - Dst: avro_raw_string_ensure_buf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:247,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - src
    argTypes:
    - avro_raw_string_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: avro_raw_string_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 2
    functionsReached:
    - strlen
    - avro_raw_string_ensure_buf
    - memcpy
    linkageType: ''
    returnType: void
    signature: void avro_raw_string_set(avro_raw_string_t *str, const char *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:256,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:257,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:261,1
    - Dst: avro_raw_string_ensure_buf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:262,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - src
    argTypes:
    - avro_raw_string_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: avro_raw_string_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - avro_raw_string_set
    - avro_raw_string_ensure_buf
    - avro_raw_string_length
    linkageType: ''
    returnType: void
    signature: void avro_raw_string_append(avro_raw_string_t *str, const char *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:272,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:274,1
    - Dst: avro_wrapped_buffer_move
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - src
    argTypes:
    - avro_raw_string_t*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: avro_raw_string_give
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 3
    functionsReached:
    - avro_wrapped_buffer_move
    - avro_wrapped_buffer_free
    - DEBUG
    linkageType: ''
    returnType: void
    signature: "void avro_raw_string_give(avro_raw_string_t *str,\n\t\t     avro_wrapped_buffer_t
      *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_wrapped_buffer_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - dest
    argTypes:
    - avro_raw_string_t*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: avro_raw_string_grab
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 2
    functionsReached:
    - avro_wrapped_buffer_copy
    linkageType: ''
    returnType: int
    signature: "int avro_raw_string_grab(const avro_raw_string_t *str,\n\t\t     avro_wrapped_buffer_t
      *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - avro_raw_string_t*
    - avro_raw_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 304
    functionName: avro_raw_string_equals
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int avro_raw_string_equals(const avro_raw_string_t *str1,\n\t\t       const
      avro_raw_string_t *str2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - schema
    - type
    argTypes:
    - avro_schema_t
    - avro_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: avro_schema_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - avro_refcount_set
    linkageType: ''
    returnType: void
    signature: void avro_schema_init(avro_schema_t schema, avro_type_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:53,1
    - Dst: isalpha
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:58,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: is_avro_id
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - isalpha
    - strlen
    - isdigit
    linkageType: ''
    returnType: int
    signature: int is_avro_id(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:77,1
    - Dst: avro_strndup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - fullname
    - name_out
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: split_namespace_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - strrchr
    - avro_strndup
    linkageType: ''
    returnType: char
    signature: char *split_namespace_name(const char *fullname, const char **name_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:90,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:91,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:93,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - i
    - field
    - arg
    argTypes:
    - int
    - struct avro_record_field_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: record_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_str_free
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int record_free_foreach(int i, struct avro_record_field_t *field,\n\t\t\t
      \      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:101,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:102,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - i
    - sym
    - arg
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: enum_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - avro_str_free
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int enum_free_foreach(int i, char *sym, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:110,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:111,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - i
    - schema
    - arg
    argTypes:
    - int
    - avro_schema_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: union_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int union_free_foreach(int i, avro_schema_t schema, void *arg)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:119,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:120,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:134,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:135,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:137,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:139,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:141,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:142,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:149,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:150,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:152,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:154,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:156,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:157,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:164,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:165,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:167,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:175,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:176,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:183,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:184,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:190,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:191,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:193,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:194,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 72
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 214
    functionName: avro_schema_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_schema_to_record
    - avro_schema_to_link
    - avro_schema_to_fixed
    - avro_schema_to_enum
    - avro_str_free
    - avro_schema_to_array
    - st_free_table
    - is_avro_schema
    - avro_schema_to_union
    - avro_schema_to_map
    - st_foreach
    - avro_typeof
    linkageType: ''
    returnType: void
    signature: void avro_schema_free(avro_schema_t schema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: avro_schema_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 15
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_incref(avro_schema_t schema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:227,1
    - Dst: avro_schema_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: avro_schema_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 77
    functionsReached:
    - avro_refcount_dec
    - avro_schema_free
    linkageType: ''
    returnType: int
    signature: int avro_schema_decref(avro_schema_t schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: avro_schema_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 7
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: avro_schema_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 4
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: avro_schema_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 11
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: avro_schema_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 10
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_long(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: avro_schema_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 5
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_float(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: avro_schema_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 8
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_double(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: avro_schema_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 3
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_boolean(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: avro_schema_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 7
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_fixed_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: avro_schema_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 2
    functionsReached:
    - avro_schema_fixed_ns
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_fixed(const char *name, const int64_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_id
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:322,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:323,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:328,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:330,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:333,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:335,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:339,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:341,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:342,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - name
    - space
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 349
    functionName: avro_schema_fixed_ns
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - is_avro_id
    - avro_set_error
    - avro_schema_init
    - avro_new
    - avro_str_free
    - avro_strdup
    linkageType: ''
    returnType: avro_schema_t
    signature: "avro_schema_t avro_schema_fixed_ns(const char *name, const char *space,\n\t\tconst
      int64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixed
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: avro_schema_fixed_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 2
    functionsReached:
    - avro_schema_to_fixed
    linkageType: ''
    returnType: int64_t
    signature: int64_t avro_schema_fixed_size(const avro_schema_t fixed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:359,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:361,1
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:364,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:366,1
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:371,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:373,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:374,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 381
    functionName: avro_schema_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 4
    functionsReached:
    - avro_set_error
    - st_init_strtable_with_size
    - avro_schema_init
    - avro_new
    - st_init_numtable_with_size
    - st_free_table
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_union(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:387,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:387,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:388,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:388,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:389,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:389,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:391,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:393,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:394,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:395,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - union_schema
    - schema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 399
    functionName: avro_schema_union_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 4
    functionsReached:
    - avro_schema_incref
    - st_insert
    - is_avro_union
    - avro_schema_to_union
    - check_param
    - is_avro_schema
    - avro_schema_type_name
    linkageType: ''
    returnType: int
    signature: "int avro_schema_union_append(const avro_schema_t union_schema,\n\t\t\t
      const avro_schema_t schema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:403,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:403,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:404,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:404,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - union_schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: avro_schema_union_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - is_avro_union
    - avro_schema_to_union
    - check_param
    - is_avro_schema
    linkageType: ''
    returnType: size_t
    signature: size_t avro_schema_union_size(const avro_schema_t union_schema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:416,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:416,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - unionp
    - branch_index
    argTypes:
    - avro_schema_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: avro_schema_union_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - st_lookup
    - avro_schema_to_union
    linkageType: ''
    returnType: avro_schema_t
    signature: "avro_schema_t avro_schema_union_branch(avro_schema_t unionp,\n\t\t\t\t
      \      int branch_index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:434,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:434,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:436,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - unionp
    - branch_index
    - name
    argTypes:
    - avro_schema_t
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: avro_schema_union_branch_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - st_lookup
    - avro_schema_to_union
    - avro_schema_union_branch
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_union_branch_by_name

      (avro_schema_t unionp, int *branch_index, const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:449,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:451,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:454,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - items
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 457
    functionName: avro_schema_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 3
    functionsReached:
    - avro_schema_init
    - avro_set_error
    - avro_new
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_array(const avro_schema_t items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: avro_schema_array_items
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 3
    functionsReached:
    - avro_schema_to_array
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_array_items(avro_schema_t array)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:467,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:469,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:472,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - values
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 475
    functionName: avro_schema_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 4
    functionsReached:
    - avro_schema_init
    - avro_set_error
    - avro_new
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_map(const avro_schema_t values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: avro_schema_map_values
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - avro_schema_to_map
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_map_values(avro_schema_t map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_enum_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: avro_schema_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 2
    functionsReached:
    - avro_schema_enum_ns
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_enum(const char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_id
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:489,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:490,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:494,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:496,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:499,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:501,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:505,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:507,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:508,1
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:512,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:514,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:515,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:516,1
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:520,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:522,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:523,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:524,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:525,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - name
    - space
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 531
    functionName: avro_schema_enum_ns
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - is_avro_id
    - avro_set_error
    - st_init_strtable_with_size
    - avro_schema_init
    - avro_new
    - st_init_numtable_with_size
    - avro_str_free
    - st_free_table
    - avro_strdup
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_enum_ns(const char *name, const char *space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:540,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - enump
    - index
    argTypes:
    - avro_schema_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 542
    functionName: avro_schema_enum_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - avro_schema_to_enum
    - st_lookup
    linkageType: ''
    returnType: char
    signature: "char *avro_schema_enum_get(const avro_schema_t enump,\n\t\t\t\t int
      index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:552,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:552,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - enump
    - symbol_name
    argTypes:
    - avro_schema_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 559
    functionName: avro_schema_enum_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - avro_schema_to_enum
    - st_lookup
    linkageType: ''
    returnType: int
    signature: "int avro_schema_enum_get_by_name(const avro_schema_t enump,\n\t\t\t\t
      const char *symbol_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:565,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:565,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:566,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:566,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:567,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:571,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:572,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:574,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:578,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - enum_schema
    - symbol
    argTypes:
    - avro_schema_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 581
    functionName: avro_schema_enum_symbol_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - st_insert
    - avro_schema_to_enum
    - check_param
    - is_avro_schema
    - is_avro_enum
    - avro_strdup
    linkageType: ''
    returnType: int
    signature: "int avro_schema_enum_symbol_append(const avro_schema_t enum_schema,\n\t\t\t
      \      const char *symbol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:586,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:586,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:587,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:587,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - enum_schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 591
    functionName: avro_schema_enum_number_of_symbols
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - is_avro_enum
    - avro_schema_to_enum
    - check_param
    - is_avro_schema
    linkageType: ''
    returnType: int
    signature: int avro_schema_enum_number_of_symbols(const avro_schema_t enum_schema)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:598,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:598,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:599,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:599,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:600,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:601,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:601,1
    - Dst: is_avro_id
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:603,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:604,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:609,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:613,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:614,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:616,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:620,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:621,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:622,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - record_schema
    - field_name
    - field_schema
    argTypes:
    - avro_schema_t
    - char*
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 627
    functionName: avro_schema_record_field_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - is_avro_id
    - is_avro_record
    - avro_schema_to_record
    - avro_schema_incref
    - st_insert
    - avro_new
    - check_param
    - is_avro_schema
    - avro_strdup
    linkageType: ''
    returnType: int
    signature: "int avro_schema_record_field_append(const avro_schema_t record_schema,\n\t\t\t\tconst
      char *field_name,\n\t\t\t\tconst avro_schema_t field_schema)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_id
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:631,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:632,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:636,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:638,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:641,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:643,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:647,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:649,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:650,1
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:654,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:656,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:658,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:660,1
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:664,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:666,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:667,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:669,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:671,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:676,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 2
    argNames:
    - name
    - space
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 678
    functionName: avro_schema_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 2
    functionsReached:
    - is_avro_id
    - avro_set_error
    - st_init_strtable_with_size
    - avro_schema_init
    - avro_new
    - st_init_numtable_with_size
    - avro_str_free
    - st_free_table
    - avro_strdup
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_record(const char *name, const char *space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: avro_schema_record_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 2
    functionsReached:
    - avro_schema_to_record
    linkageType: ''
    returnType: size_t
    signature: size_t avro_schema_record_size(const avro_schema_t record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:692,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - record
    - field_name
    argTypes:
    - avro_schema_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: avro_schema_record_field_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - avro_schema_to_record
    - st_lookup
    linkageType: ''
    returnType: avro_schema_t
    signature: "avro_schema_t avro_schema_record_field_get(const avro_schema_t\n\t\t\t\t\t
      \  record, const char *field_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:704,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:704,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - schema
    - field_name
    argTypes:
    - avro_schema_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 711
    functionName: avro_schema_record_field_get_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 2
    functionsReached:
    - avro_schema_to_record
    - st_lookup
    - avro_set_error
    linkageType: ''
    returnType: int
    signature: "int avro_schema_record_field_get_index(const avro_schema_t schema,\n\t\t\t\t
      \      const char *field_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:719,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - schema
    - index
    argTypes:
    - avro_schema_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 721
    functionName: avro_schema_record_field_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - avro_schema_to_record
    - st_lookup
    linkageType: ''
    returnType: char
    signature: char *avro_schema_record_field_name(const avro_schema_t schema, int
      index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:730,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - record
    - index
    argTypes:
    - avro_schema_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 732
    functionName: avro_schema_record_field_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 3
    functionsReached:
    - avro_schema_to_record
    - st_lookup
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_record_field_get_by_index

      (const avro_schema_t record, int index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_named_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:736,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:737,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:741,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:743,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - to
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 761
    functionName: avro_schema_link
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - is_avro_named_type
    - avro_set_error
    - avro_new
    - avro_schema_init
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_link(avro_schema_t to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:765,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:765,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:766,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:766,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 770
    functionName: avro_schema_link_target
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - check_param
    - avro_schema_to_link
    - is_avro_schema
    - is_avro_link
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_link_target(avro_schema_t schema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:776,1
    - Dst: avro_str_alloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:777,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:777,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:777,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:778,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - namespace
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 783
    functionName: qualify_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - strlen
    - sprintf
    - strchr
    - avro_strdup
    - avro_str_alloc
    linkageType: ''
    returnType: char
    signature: 'char *

      qualify_name(const char *name, const char *namespace)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:788,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:789,1
    - Dst: qualify_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:790,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - schema
    - st
    argTypes:
    - avro_schema_t
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: save_named_schemas
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - qualify_name
    - avro_schema_name
    - avro_schema_namespace
    - st_insert
    linkageType: ''
    returnType: int
    signature: int save_named_schemas(const avro_schema_t schema, st_table *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qualify_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:802,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:803,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:804,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - name
    - namespace
    - st
    argTypes:
    - char*
    - char*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 810
    functionName: find_named_schemas
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - qualify_name
    - avro_set_error
    - avro_str_free
    - st_lookup
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t find_named_schemas(const char *name, const char *namespace,
      st_table *st)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:820,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:823,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:824,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:828,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:829,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:832,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:834,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:840,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:842,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:844,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:846,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:848,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:850,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:852,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:854,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:856,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:858,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:860,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:862,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:864,1
    - Dst: find_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:866,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:869,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 5
    argNames:
    - json
    - type
    - named_schemas
    - named_type
    - namespace
    argTypes:
    - json_t*
    - avro_type_t*
    - st_table*
    - avro_schema_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 873
    functionName: avro_type_from_json_t
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - json_is_string
    - find_named_schemas
    - json_object_get
    - json_string_value
    - json_is_object
    - json_is_array
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int avro_type_from_json_t(json_t *json, avro_type_t *type,\n\t\t      st_table
      *named_schemas, avro_schema_t *named_type,\n\t\t      const char *namespace)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: avro_type_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:891,1
    - Dst: avro_schema_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:897,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:901,1
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:905,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:909,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:913,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:917,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:921,1
    - Dst: avro_schema_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:925,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:929,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:934,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:936,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:937,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:941,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:942,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:945,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:946,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:949,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:950,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:952,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:956,1
    - Dst: split_namespace_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:957,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:958,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:959,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:960,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:961,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:962,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:965,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:967,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:973,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:974,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:979,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:985,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:986,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:987,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:991,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:993,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:994,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:998,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1000,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1001,1
    - Dst: avro_schema_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1005,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1008,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1010,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1014,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1015,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1018,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1020,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1029,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1030,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1031,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1035,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1036,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1039,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1040,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1044,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1046,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1049,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1051,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1055,1
    - Dst: avro_schema_enum_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1058,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1059,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1060,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1061,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1062,1
    - Dst: avro_schema_enum_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1065,1
    - Dst: avro_schema_enum_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1067,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1073,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1074,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1080,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1082,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1083,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1084,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1087,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1089,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1092,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1102,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1105,1
    - Dst: avro_schema_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1109,1
    - Dst: avro_schema_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1114,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1115,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1122,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1126,1
    - Dst: avro_schema_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1130,1
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1135,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1136,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1142,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1145,1
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1148,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1151,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1153,1
    - Dst: avro_schema_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1157,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1160,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1164,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1165,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1167,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1176,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1177,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1178,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1181,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1182,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1185,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1186,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1189,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1190,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1192,1
    - Dst: avro_schema_fixed_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1195,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1196,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1197,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1198,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1199,1
    - Dst: avro_schema_fixed_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1202,1
    - Dst: avro_schema_fixed_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1204,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1210,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1211,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1218,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 241
    argCount: 4
    argNames:
    - json
    - schema
    - named_schemas
    - parent_namespace
    argTypes:
    - json_t*
    - avro_schema_t*
    - st_table*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 875
    functionDepth: 4
    functionLinenumber: 875
    functionLinenumberEnd: 1222
    functionName: avro_schema_from_json_t
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - avro_schema_boolean
    - avro_set_error
    - avro_schema_record
    - avro_schema_bytes
    - avro_schema_null
    - json_array_get
    - json_is_integer
    - split_namespace_name
    - avro_schema_decref
    - avro_schema_long
    - avro_type_from_json_t
    - json_is_string
    - avro_schema_fixed_ns
    - save_named_schemas
    - avro_schema_record_field_append
    - json_is_array
    - json_is_object
    - avro_schema_link
    - avro_schema_double
    - strlen
    - avro_schema_string
    - avro_schema_from_json_t
    - avro_schema_union
    - avro_str_free
    - avro_schema_int
    - avro_schema_namespace
    - avro_schema_union_append
    - avro_schema_enum_ns
    - avro_schema_enum_symbol_append
    - avro_schema_float
    - json_integer_value
    - json_array_size
    - avro_schema_array
    - json_object_get
    - json_string_value
    - strchr
    - avro_schema_map
    linkageType: ''
    returnType: int
    signature: "int avro_schema_from_json_t(json_t *json, avro_schema_t *schema,\n\t\t\tst_table
      *named_schemas, const char *parent_namespace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1226,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1227,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - full_name
    - value
    - arg
    argTypes:
    - char*
    - st_data_t
    - st_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1231
    functionName: named_schema_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - avro_str_free
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int named_schema_free_foreach(char *full_name, st_data_t value, st_data_t
      arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1258,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1259,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1264,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1265,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1267,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1269,1
    - Dst: avro_schema_from_json_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - named_schema_free_foreach
    - avro_schema_from_json
    argTypes:
    - HASH_FUNCTION_CAST
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1249
    functionDepth: 9
    functionLinenumber: 1249
    functionLinenumberEnd: 1274
    functionName: st_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - avro_schema_from_json_root
    - check_param
    - json_loads
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: "void st_foreach(named_schemas, HASH_FUNCTION_CAST named_schema_free_foreach,
      0);\n\tst_free_table(named_schemas);\n\treturn rval;\n}\n\nint\navro_schema_from_json(const
      char *jsontext, const int32_t len,\n\t\t      avro_schema_t *schema, avro_schema_error_t
      *e)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1280,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1281,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1286,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1288,1
    - Dst: avro_schema_from_json_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - jsontext
    - length
    - schema
    argTypes:
    - char*
    - size_t
    - avro_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1276
    functionDepth: 9
    functionLinenumber: 1276
    functionLinenumberEnd: 1293
    functionName: avro_schema_from_json_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 2
    functionsReached:
    - avro_schema_from_json_root
    - avro_set_error
    - check_param
    - json_loadb
    linkageType: ''
    returnType: int
    signature: "int avro_schema_from_json_length(const char *jsontext, size_t length,\n\t\t\t
      \    avro_schema_t *schema)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1302,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1320,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1322,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1324,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1325,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1333,1
    - Dst: avro_schema_copy_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1335,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1336,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1339,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1347,1
    - Dst: avro_schema_enum_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1348,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1350,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1351,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1359,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1360,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1369,1
    - Dst: avro_schema_fixed_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1371,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1374,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1375,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1384,1
    - Dst: avro_schema_copy_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1386,1
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1390,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1391,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1398,1
    - Dst: avro_schema_copy_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1400,1
    - Dst: avro_schema_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1404,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1405,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1412,1
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1414,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1422,1
    - Dst: avro_schema_copy_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1423,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1424,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1426,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1429,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1437,1
    - Dst: find_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1440,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1440,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1441,1
    - Dst: avro_schema_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1443,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 86
    argCount: 2
    argNames:
    - schema
    - named_schemas
    argTypes:
    - avro_schema_t
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1295
    functionDepth: 4
    functionLinenumber: 1295
    functionLinenumberEnd: 1451
    functionName: avro_schema_copy_root
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - avro_schema_record
    - avro_schema_to_link
    - avro_schema_to_fixed
    - avro_schema_to_union
    - avro_schema_decref
    - find_named_schemas
    - avro_schema_fixed_ns
    - save_named_schemas
    - avro_schema_name
    - avro_schema_record_field_append
    - avro_schema_to_array
    - avro_schema_link
    - avro_schema_copy_root
    - avro_typeof
    - avro_schema_to_record
    - avro_schema_union
    - avro_schema_namespace
    - avro_schema_union_append
    - avro_schema_enum_ns
    - avro_schema_enum_symbol_append
    - avro_schema_array
    - avro_schema_to_enum
    - st_lookup
    - avro_schema_to_map
    - avro_schema_map
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_schema_copy_root(avro_schema_t schema, st_table
      *named_schemas)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1473,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1475,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1481,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1487,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1489,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1491,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1499,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1500,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1500,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1507,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1509,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1510,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1512,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1516,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1518,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1519,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1521,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1525,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - named_schema_free_foreach
    - avro_schema_get_subschema
    argTypes:
    - HASH_FUNCTION_CAST
    - st_free_table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1531
    functionName: st_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 1
    functionsReached:
    - avro_schema_to_record
    - is_avro_record
    - avro_set_error
    - is_avro_union
    - is_avro_map
    - st_lookup
    - avro_schema_to_union
    - avro_schema_to_array
    - avro_schema_type_name
    - is_avro_array
    - avro_schema_to_map
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void st_foreach(named_schemas, HASH_FUNCTION_CAST named_schema_free_foreach,
      0);\n\tst_free_table(named_schemas);\n\treturn new_schema;\n}\n\navro_schema_t
      avro_schema_get_subschema(const avro_schema_t schema,\n         const char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1535,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1536,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1537,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1538,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1539,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1540,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1544
    functionName: avro_schema_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 3
    functionsReached:
    - avro_schema_to_record
    - is_avro_record
    - avro_set_error
    - is_avro_fixed
    - avro_schema_to_fixed
    - avro_schema_to_enum
    - is_avro_enum
    linkageType: ''
    returnType: char
    signature: char *avro_schema_name(const avro_schema_t schema)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1548,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1549,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1550,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1551,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1552,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1556
    functionName: avro_schema_namespace
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 4
    functionsReached:
    - avro_schema_to_record
    - is_avro_record
    - is_avro_fixed
    - avro_schema_to_fixed
    - avro_schema_to_enum
    - is_avro_enum
    linkageType: ''
    returnType: char
    signature: char *avro_schema_namespace(const avro_schema_t schema)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1560,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1561,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1562,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1563,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1564,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1565,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1566,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1568,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1570,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1572,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1574,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1576,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1578,1
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1580,1
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1582,1
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1584,1
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1586,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1588,1
    - Dst: avro_schema_link_target
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1589,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1590,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1592,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1558
    functionDepth: 2
    functionLinenumber: 1558
    functionLinenumberEnd: 1594
    functionName: avro_schema_type_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 6
    functionsReached:
    - avro_set_error
    - is_avro_record
    - is_avro_string
    - is_avro_boolean
    - is_avro_link
    - is_avro_union
    - avro_schema_to_fixed
    - avro_schema_type_name
    - is_avro_null
    - is_avro_bytes
    - is_avro_fixed
    - is_avro_double
    - avro_schema_to_record
    - is_avro_float
    - avro_schema_link_target
    - is_avro_map
    - is_avro_int32
    - avro_schema_to_enum
    - is_avro_int64
    - is_avro_array
    - is_avro_enum
    linkageType: ''
    returnType: char
    signature: char *avro_schema_type_name(const avro_schema_t schema)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1598,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1598,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1600,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1602,1
    - Dst: avro_givebytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1605,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1608,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1611,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1614,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1617,1
    - Dst: avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1620,1
    - Dst: avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1623,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1628,1
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1630,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1638,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1641,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1642,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1643,1
    - Dst: avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1650,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1655,1
    - Dst: avro_givefixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1656,1
    - Dst: avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1660,1
    - Dst: avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1663,1
    - Dst: avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1666,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1671,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1672,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1596
    functionDepth: 2
    functionLinenumber: 1596
    functionLinenumberEnd: 1679
    functionName: avro_datum_from_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 5
    functionsReached:
    - avro_set_error
    - avro_union
    - avro_schema_to_link
    - avro_schema_to_fixed
    - avro_int32
    - avro_givestring
    - avro_map
    - avro_givebytes
    - avro_double
    - avro_int64
    - avro_null
    - avro_boolean
    - avro_typeof
    - avro_datum_decref
    - avro_schema_to_record
    - avro_record
    - avro_enum
    - avro_record_set
    - check_param
    - avro_array
    - avro_float
    - avro_givefixed
    - avro_datum_from_schema
    - st_lookup
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_datum_from_schema(const avro_schema_t schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1684,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - str
    argTypes:
    - avro_writer_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1685
    functionName: avro_write_str
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - strlen
    - avro_write
    linkageType: ''
    returnType: int
    signature: int avro_write_str(avro_writer_t out, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1691,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1691,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1692,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1692,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1693,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1693,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1694,1
    - Dst: avro_schema_to_json2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1694,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - field
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_record_field_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1687
    functionDepth: 2
    functionLinenumber: 1687
    functionLinenumberEnd: 1696
    functionName: write_field
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - check
    - avro_write_str
    - avro_schema_to_json2
    linkageType: ''
    returnType: int
    signature: "int write_field(avro_writer_t out, const struct avro_record_field_t
      *field,\n\t\t       const char *parent_namespace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1704,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1704,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1705,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1705,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1706,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1706,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1707,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1708,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1708,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1710,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1710,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1712,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1712,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1714,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1714,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1720,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1722,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1722,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1724,1
    - Dst: write_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1724,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - out
    - record
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_record_schema_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1698
    functionDepth: 3
    functionLinenumber: 1698
    functionLinenumberEnd: 1727
    functionName: write_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - write_field
    - avro_write_str
    - nullstrcmp
    - check
    - st_lookup
    linkageType: ''
    returnType: int
    signature: "int write_record(avro_writer_t out, const struct avro_record_schema_t
      *record,\n\t\t\tconst char *parent_namespace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1734,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1734,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1735,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1735,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1736,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1736,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1737,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1738,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1738,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1740,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1740,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1742,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1742,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1744,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1744,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1751,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1753,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1753,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1755,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1755,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1756,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1756,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1757,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1757,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - out
    - enump
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_enum_schema_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1729
    functionDepth: 2
    functionLinenumber: 1729
    functionLinenumberEnd: 1760
    functionName: write_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - check
    - st_lookup
    - avro_write_str
    - nullstrcmp
    linkageType: ''
    returnType: int
    signature: "int write_enum(avro_writer_t out, const struct avro_enum_schema_t
      *enump,\n\t\t\tconst char *parent_namespace)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1767,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1767,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1768,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1768,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1769,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1769,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1770,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1771,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1771,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1773,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1773,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1775,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1775,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1777,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1777,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1778,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1779,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1779,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - out
    - fixed
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_fixed_schema_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1781
    functionName: write_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - check
    - snprintf
    - avro_write_str
    - nullstrcmp
    linkageType: ''
    returnType: int
    signature: "int write_fixed(avro_writer_t out, const struct avro_fixed_schema_t
      *fixed,\n\t\t\tconst char *parent_namespace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1787,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1787,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1788,1
    - Dst: avro_schema_to_json2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1788,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - map
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_map_schema_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1783
    functionDepth: 2
    functionLinenumber: 1783
    functionLinenumberEnd: 1790
    functionName: write_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - check
    - avro_write_str
    - avro_schema_to_json2
    linkageType: ''
    returnType: int
    signature: "int write_map(avro_writer_t out, const struct avro_map_schema_t *map,\n\t\t
      \    const char *parent_namespace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1795,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1795,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1796,1
    - Dst: avro_schema_to_json2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1796,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - array
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_array_schema_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1791
    functionDepth: 2
    functionLinenumber: 1791
    functionLinenumberEnd: 1798
    functionName: write_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - check
    - avro_write_str
    - avro_schema_to_json2
    linkageType: ''
    returnType: int
    signature: "int write_array(avro_writer_t out, const struct avro_array_schema_t
      *array,\n\t\t       const char *parent_namespace)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1804,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1804,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1811,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1813,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1813,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1815,1
    - Dst: avro_schema_to_json2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1815,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - out
    - unionp
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_union_schema_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1799
    functionDepth: 2
    functionLinenumber: 1799
    functionLinenumberEnd: 1818
    functionName: write_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - check
    - st_lookup
    - avro_write_str
    - avro_schema_to_json2
    linkageType: ''
    returnType: int
    signature: "int write_union(avro_writer_t out, const struct avro_union_schema_t
      *unionp,\n\t\t       const char *parent_namespace)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1823,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1823,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1824,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1825,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1826,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1826,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1827,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1827,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1829,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1829,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1829,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - out
    - link
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_link_schema_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1819
    functionDepth: 2
    functionLinenumber: 1819
    functionLinenumberEnd: 1831
    functionName: write_link
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 0
    functionsReached:
    - avro_write_str
    - nullstrcmp
    - check
    - avro_schema_name
    - avro_schema_namespace
    linkageType: ''
    returnType: int
    signature: "int write_link(avro_writer_t out, const struct avro_link_schema_t
      *link,\n\t\t      const char *parent_namespace)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1837,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1837,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1838,1
    - Dst: is_avro_primitive
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1842,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1843,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1843,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1846,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1848,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1848,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1851,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1851,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1854,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1854,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1857,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1857,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1860,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1860,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1863,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1863,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1866,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1866,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1869,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1869,1
    - Dst: write_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1872,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1872,1
    - Dst: write_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1874,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1874,1
    - Dst: write_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1876,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1876,1
    - Dst: write_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1878,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1878,1
    - Dst: write_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1880,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1880,1
    - Dst: write_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1882,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1882,1
    - Dst: write_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1884,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1884,1
    - Dst: is_avro_primitive
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1887,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1888,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1890,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - schema
    - out
    - parent_namespace
    argTypes:
    - avro_schema_t
    - avro_writer_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1833
    functionDepth: 4
    functionLinenumber: 1833
    functionLinenumberEnd: 1892
    functionName: avro_schema_to_json2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 4
    functionsReached:
    - avro_set_error
    - write_array
    - avro_schema_to_link
    - avro_schema_to_fixed
    - write_union
    - avro_schema_to_union
    - write_record
    - avro_schema_to_array
    - avro_typeof
    - avro_schema_to_record
    - check_param
    - write_enum
    - write_map
    - avro_write_str
    - check
    - avro_schema_to_enum
    - is_avro_schema
    - write_fixed
    - avro_schema_to_map
    - write_link
    - is_avro_primitive
    linkageType: ''
    returnType: int
    signature: "int avro_schema_to_json2(const avro_schema_t schema, avro_writer_t
      out,\n\t\t     const char *parent_namespace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_json2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - schema
    - out
    argTypes:
    - avro_schema_t
    - avro_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1894
    functionDepth: 5
    functionLinenumber: 1894
    functionLinenumberEnd: 1897
    functionName: avro_schema_to_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: 4
    functionsReached:
    - avro_schema_to_json2
    linkageType: ''
    returnType: int
    signature: int avro_schema_to_json(const avro_schema_t schema, avro_writer_t out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - retval
    - ','
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: check_return
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_return(retval, call)
  - 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: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: ROTL32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL32(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: fmix
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fmix(uint32_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROTL32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:64,1
    - Dst: ROTL32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - start
    - current
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: add_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: 0
    functionsReached:
    - ROTL32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t add_hash(uint32_t start, uint32_t current)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ROTL32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:92,1
    - Dst: ROTL32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:96,1
    - Dst: ROTL32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - start
    - src
    - len
    argTypes:
    - uint32_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 120
    functionName: hash_buffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: 0
    functionsReached:
    - ROTL32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_buffer(uint32_t start, const void *src, size_t len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:125,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:131,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:131,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:132,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:139,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:139,1
    - Dst: hash_buffer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:140,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:149,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:149,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:150,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:150,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:159,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:159,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:160,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:166,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:166,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:167,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:176,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:176,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:177,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:177,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:182,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:182,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:183,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:190,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:190,1
    - Dst: hash_buffer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:191,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:198,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:198,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:202,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:202,1
    - Dst: avro_value_hash_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:204,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:214,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:214,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:215,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:222,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:222,1
    - Dst: hash_buffer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:223,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:230,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:230,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:240,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:240,1
    - Dst: hash_buffer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:244,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:244,1
    - Dst: avro_value_hash_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:245,1
    - Dst: fmix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:246,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:252,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:259,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:259,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:263,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:263,1
    - Dst: avro_value_hash_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:265,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:276,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:276,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:277,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:277,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:279,1
    - Dst: avro_value_hash_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 82
    argCount: 2
    argNames:
    - value
    - start
    argTypes:
    - avro_value_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 287
    functionName: avro_value_hash_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: 1
    functionsReached:
    - fmix
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_value_get_size
    - avro_value_get_double
    - avro_value_get_discriminant
    - avro_value_hash_fast
    - avro_value_get_string
    - avro_value_get_current_branch
    - add_hash
    - avro_value_get_bytes
    - check_return
    - strlen
    - avro_value_get_enum
    - avro_value_get_type
    - hash_buffer
    - avro_value_get_int
    - avro_value_get_null
    - avro_value_get_by_index
    - avro_value_get_long
    - avro_value_get_boolean
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avro_value_hash_fast(avro_value_t *value, uint32_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_hash_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:292,1
    - Dst: fmix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: avro_value_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: 1
    functionsReached:
    - fmix
    - avro_value_hash_fast
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t avro_value_hash(avro_value_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:29,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:30,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:33,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ud
    - ptr
    - osize
    - nsize
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: avro_default_allocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: 0
    functionsReached:
    - realloc
    - free
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void *

      avro_default_allocator(void *ud, void *ptr, size_t osize, size_t nsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alloc
    - user_data
    argTypes:
    - avro_allocator_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: avro_set_allocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_set_allocator(avro_allocator_t alloc, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:53,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: avro_calloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_malloc
    linkageType: ''
    returnType: void
    signature: void *avro_calloc(size_t count, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: avro_str_alloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: 1
    functionsReached:
    - avro_malloc
    linkageType: ''
    returnType: char
    signature: char *avro_str_alloc(size_t str_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:83,1
    - Dst: avro_str_alloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:84,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: avro_strdup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: 6
    functionsReached:
    - strlen
    - avro_str_alloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *avro_strdup(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_str_alloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:97,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: avro_strndup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: 1
    functionsReached:
    - memcpy
    - avro_str_alloc
    linkageType: ''
    returnType: char
    signature: char *avro_strndup(const char *str, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: avro_str_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: 9
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: void
    signature: void avro_str_free(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: avro_alloc_free_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: 0
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: void
    signature: void avro_alloc_free_func(void *ptr, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - schema_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: avro_schema_to_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_schema_to_record(schema_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - schema_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: avro_schema_to_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_schema_to_enum(schema_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - schema_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: avro_schema_to_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_schema_to_array(schema_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - schema_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: avro_schema_to_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_schema_to_map(schema_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - schema_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: avro_schema_to_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_schema_to_union(schema_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - schema_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: avro_schema_to_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_schema_to_fixed(schema_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - schema_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: avro_schema_to_link
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_schema_to_link(schema_)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_reader_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:34,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:35,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:36,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:40,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:41,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:42,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:48,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:55,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:56,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:57,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:58,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:62,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:64,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:65,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:66,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:67,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:71,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:72,1
    - Dst: avro_file_writer_open
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:75,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:76,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:77,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:78,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:85,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:86,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:88,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:89,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:90,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:91,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:94,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:97,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:98,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:99,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:100,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - in_filename
    - out_filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 104
    functionName: process_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c
    functionUses: 1
    functionsReached:
    - avro_file_reader_close
    - avro_file_reader_fp
    - avro_schema_decref
    - avro_generic_value_new
    - avro_value_decref
    - avro_value_iface_decref
    - avro_file_reader_get_writer_schema
    - avro_value_reset
    - avro_strerror
    - avro_file_writer_append_value
    - avro_file_writer_close
    - fprintf
    - avro_file_reader_read_value
    - avro_file_reader
    - avro_file_writer_open
    - avro_generic_class_from_schema
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: int process_file(const char *in_filename, const char *out_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c
    functionUses: 10
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:121,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:122,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:122,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:126,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:127,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - in_filename
    - out_filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: check_filenames
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c
    functionUses: 0
    functionsReached:
    - stat
    - strerror
    - fprintf
    linkageType: ''
    returnType: int
    signature: int check_filenames(const char *in_filename, const char *out_filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:153,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:154,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:155,1
    - Dst: check_filenames
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:158,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:161,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:165,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:168,1
    - Dst: process_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - process_file
    - usage
    - check_filenames
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: avro_io_typeof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_io_typeof(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: is_memory_io
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_memory_io(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: is_file_io
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_file_io(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reader_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: avro_reader_to_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_reader_to_memory(reader_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reader_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: avro_reader_to_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_reader_to_file(reader_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - writer_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: avro_writer_to_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_writer_to_memory(writer_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - writer_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: avro_writer_to_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_writer_to_file(writer_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - type
    argTypes:
    - avro_reader_t
    - avro_io_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - avro_refcount_set
    linkageType: ''
    returnType: void
    signature: void reader_init(avro_reader_t reader, avro_io_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - writer
    - type
    argTypes:
    - avro_writer_t
    - avro_io_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - avro_refcount_set
    linkageType: ''
    returnType: void
    signature: void writer_init(avro_writer_t writer, avro_io_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:98,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:100,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:103,1
    - Dst: reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fp
    - should_close
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: avro_reader_file_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - avro_new
    - reader_init
    - memset
    linkageType: ''
    returnType: avro_reader_t
    signature: avro_reader_t avro_reader_file_fp(FILE * fp, int should_close)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_reader_file_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: avro_reader_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - avro_reader_file_fp
    linkageType: ''
    returnType: avro_reader_t
    signature: avro_reader_t avro_reader_file(FILE * fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:118,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:120,1
    - Dst: writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - should_close
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: avro_writer_file_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - avro_new
    - writer_init
    linkageType: ''
    returnType: avro_writer_t
    signature: avro_writer_t avro_writer_file_fp(FILE * fp, int should_close)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_writer_file_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: avro_writer_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 2
    functionsReached:
    - avro_writer_file_fp
    linkageType: ''
    returnType: avro_writer_t
    signature: avro_writer_t avro_writer_file(FILE * fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:137,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:139,1
    - Dst: reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: avro_reader_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 8
    functionsReached:
    - avro_set_error
    - avro_new
    - reader_init
    linkageType: ''
    returnType: avro_reader_t
    signature: avro_reader_t avro_reader_memory(const char *buf, int64_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:152,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - reader
    - buf
    - len
    argTypes:
    - avro_reader_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: avro_reader_memory_set_source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 1
    functionsReached:
    - is_memory_io
    - avro_reader_to_memory
    linkageType: ''
    returnType: void
    signature: void avro_reader_memory_set_source(avro_reader_t reader, const char
      *buf, int64_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:163,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:165,1
    - Dst: writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: avro_writer_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 16
    functionsReached:
    - avro_set_error
    - avro_new
    - writer_init
    linkageType: ''
    returnType: avro_writer_t
    signature: avro_writer_t avro_writer_memory(const char *buf, int64_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:178,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - writer
    - buf
    - len
    argTypes:
    - avro_writer_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: avro_writer_memory_set_dest
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - is_memory_io
    - avro_writer_to_memory
    linkageType: ''
    returnType: void
    signature: void avro_writer_memory_set_dest(avro_writer_t writer, const char *buf,
      int64_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:191,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - reader
    - buf
    - len
    argTypes:
    - struct _avro_reader_memory_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: avro_read_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - avro_prefix_error
    - memcpy
    linkageType: ''
    returnType: int
    signature: int avro_read_memory(struct _avro_reader_memory_t *reader, void *buf,
      int64_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reader
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: bytes_available
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bytes_available(reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reader
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: buffer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: buffer_reset(reader)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:216,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:217,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:217,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:218,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:219,1
    - Dst: buffer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:220,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:222,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:224,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:229,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:230,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:234,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:234,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:235,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:236,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:239,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:242,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:249,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:250,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:254,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 3
    argNames:
    - reader
    - buf
    - len
    argTypes:
    - struct _avro_reader_file_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 261
    functionName: avro_read_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - memcpy
    - fread
    - bytes_available
    - buffer_reset
    linkageType: ''
    returnType: int
    signature: int avro_read_file(struct _avro_reader_file_t *reader, void *buf, int64_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:266,1
    - Dst: avro_read_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:267,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:267,1
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:269,1
    - Dst: avro_read_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:270,1
    - Dst: avro_reader_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - reader
    - buf
    - len
    argTypes:
    - avro_reader_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: avro_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 5
    functionsReached:
    - avro_read_file
    - avro_reader_to_file
    - avro_read_memory
    - is_file_io
    - is_memory_io
    - avro_reader_to_memory
    linkageType: ''
    returnType: int
    signature: int avro_read(avro_reader_t reader, void *buf, int64_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - reader
    - len
    argTypes:
    - struct _avro_reader_memory_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: avro_skip_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    linkageType: ''
    returnType: int
    signature: int avro_skip_memory(struct _avro_reader_memory_t *reader, int64_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:298,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:301,1
    - Dst: buffer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:302,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:303,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - reader
    - len
    argTypes:
    - struct _avro_reader_file_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 311
    functionName: avro_skip_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - fseek
    - avro_set_error
    - bytes_available
    - buffer_reset
    linkageType: ''
    returnType: int
    signature: int avro_skip_file(struct _avro_reader_file_t *reader, int64_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:316,1
    - Dst: avro_skip_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:317,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:317,1
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:319,1
    - Dst: avro_skip_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:320,1
    - Dst: avro_reader_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - reader
    - len
    argTypes:
    - avro_reader_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 324
    functionName: avro_skip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - avro_reader_to_file
    - avro_skip_file
    - is_file_io
    - avro_skip_memory
    - is_memory_io
    - avro_reader_to_memory
    linkageType: ''
    returnType: int
    signature: int avro_skip(avro_reader_t reader, int64_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:331,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - writer
    - buf
    - len
    argTypes:
    - struct _avro_writer_memory_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: avro_write_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - memcpy
    linkageType: ''
    returnType: int
    signature: int avro_write_memory(struct _avro_writer_memory_t *writer, void *buf,
      int64_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - writer
    - buf
    - len
    argTypes:
    - struct _avro_writer_file_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 352
    functionName: avro_write_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int avro_write_file(struct _avro_writer_file_t *writer, void *buf,
      int64_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:357,1
    - Dst: avro_write_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:358,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:358,1
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:360,1
    - Dst: avro_write_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:361,1
    - Dst: avro_writer_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - writer
    - buf
    - len
    argTypes:
    - avro_writer_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 366
    functionName: avro_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 6
    functionsReached:
    - is_file_io
    - avro_writer_to_file
    - avro_write_memory
    - avro_writer_to_memory
    - is_memory_io
    - avro_write_file
    linkageType: ''
    returnType: int
    signature: int avro_write(avro_writer_t writer, void *buf, int64_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:371,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: avro_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 4
    functionsReached:
    - is_memory_io
    - avro_reader_to_memory
    linkageType: ''
    returnType: void
    signature: void avro_reader_reset(avro_reader_t reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:378,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: avro_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 5
    functionsReached:
    - is_memory_io
    - avro_writer_to_memory
    linkageType: ''
    returnType: void
    signature: void avro_writer_reset(avro_writer_t writer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:385,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: avro_writer_tell
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 10
    functionsReached:
    - is_memory_io
    - avro_writer_to_memory
    linkageType: ''
    returnType: int64_t
    signature: int64_t avro_writer_tell(avro_writer_t writer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:393,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:394,1
    - Dst: avro_writer_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: avro_writer_flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 1
    functionsReached:
    - is_file_io
    - fflush
    - avro_writer_to_file
    linkageType: ''
    returnType: void
    signature: void avro_writer_flush(avro_writer_t writer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:400,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:401,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:401,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - writer
    - fp
    argTypes:
    - avro_writer_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: avro_writer_dump
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 1
    functionsReached:
    - is_memory_io
    - avro_writer_to_memory
    - dump
    linkageType: ''
    returnType: void
    signature: void avro_writer_dump(avro_writer_t writer, FILE * fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:408,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:409,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:409,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - reader
    - fp
    argTypes:
    - avro_reader_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: avro_reader_dump
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 1
    functionsReached:
    - is_memory_io
    - avro_reader_to_memory
    - dump
    linkageType: ''
    returnType: void
    signature: void avro_reader_dump(avro_reader_t reader, FILE * fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:416,1
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:418,1
    - Dst: avro_reader_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:419,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:420,1
    - Dst: avro_reader_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: avro_reader_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 10
    functionsReached:
    - is_memory_io
    - fclose
    - avro_reader_to_file
    - is_file_io
    linkageType: ''
    returnType: void
    signature: void avro_reader_free(avro_reader_t reader)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:428,1
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:430,1
    - Dst: avro_writer_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:431,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:432,1
    - Dst: avro_writer_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: avro_writer_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 18
    functionsReached:
    - is_memory_io
    - fclose
    - is_file_io
    - avro_writer_to_file
    linkageType: ''
    returnType: void
    signature: void avro_writer_free(avro_writer_t writer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:440,1
    - Dst: avro_reader_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:441,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 447
    functionName: avro_reader_is_eof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: 1
    functionsReached:
    - feof
    - avro_reader_to_file
    - is_file_io
    linkageType: ''
    returnType: int
    signature: int avro_reader_is_eof(avro_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rval
    - ','
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: size_check
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: size_check(rval, call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rval
    - ','
    - size
    - ','
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: size_accum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: size_accum(rval, size, call)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:49,1
    - Dst: size_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:50,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:51,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:53,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:54,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:60,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:66,1
    - Dst: size_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:67,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:68,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:70,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - writer
    - enc
    - schema
    - datum
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - struct avro_record_schema_t*
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 75
    functionName: size_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: 0
    functionsReached:
    - size_accum
    - size_datum
    - avro_record_get
    - size_check
    - st_lookup
    - avro_datum_to_record
    linkageType: ''
    returnType: int64_t
    signature: "int64_t size_record(avro_writer_t writer, const avro_encoding_t *
      enc,\n\t    struct avro_record_schema_t *schema, avro_datum_t datum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:81,1
    - Dst: avro_encoding_t*::size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - writer
    - enc
    - enump
    - datum
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - struct avro_enum_schema_t*
    - struct avro_enum_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: size_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: 0
    functionsReached:
    - avro_encoding_t*::size_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: "int64_t size_enum(avro_writer_t writer, const avro_encoding_t * enc,\n\t
      \ struct avro_enum_schema_t *enump, struct avro_enum_datum_t *datum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct size_map_args*::enc::size_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:97,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - key
    - datum
    - args
    argTypes:
    - char*
    - avro_datum_t
    - struct size_map_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: size_map_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: 0
    functionsReached:
    - struct size_map_args*::enc::size_string
    - size_datum
    linkageType: ''
    returnType: int
    signature: int size_map_foreach(char *key, avro_datum_t datum, struct size_map_args
      *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:127,1
    - Dst: avro_encoding_t*::size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:128,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:129,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:133,1
    - Dst: avro_encoding_t*::size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - writer
    - enc
    - writers_schema
    - datum
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - struct avro_map_schema_t*
    - struct avro_map_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: size_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: 0
    functionsReached:
    - st_foreach
    - size_accum
    - avro_encoding_t*::size_long
    linkageType: ''
    returnType: int64_t
    signature: "int64_t size_map(avro_writer_t writer, const avro_encoding_t * enc,\n\t
      struct avro_map_schema_t *writers_schema,\n\t struct avro_map_datum_t *datum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:148,1
    - Dst: avro_encoding_t*::size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:149,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:155,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:156,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:157,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:162,1
    - Dst: avro_encoding_t*::size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - writer
    - enc
    - schema
    - array
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - struct avro_array_schema_t*
    - struct avro_array_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 164
    functionName: size_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: 0
    functionsReached:
    - size_accum
    - size_datum
    - st_lookup
    - avro_encoding_t*::size_long
    linkageType: ''
    returnType: int64_t
    signature: "int64_t size_array(avro_writer_t writer, const avro_encoding_t * enc,\n\t
      \  struct avro_array_schema_t *schema, struct avro_array_datum_t *array)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:176,1
    - Dst: avro_encoding_t*::size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:176,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:179,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:184,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - writer
    - enc
    - schema
    - unionp
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - struct avro_union_schema_t*
    - struct avro_union_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: size_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: 0
    functionsReached:
    - size_accum
    - size_datum
    - avro_encoding_t*::size_long
    - avro_schema_union_branch
    linkageType: ''
    returnType: int64_t
    signature: "int64_t size_union(avro_writer_t writer, const avro_encoding_t * enc,\n\t
      \  struct avro_union_schema_t *schema,\n\t   struct avro_union_datum_t *unionp)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:192,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:192,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:193,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:194,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:198,1
    - Dst: avro_encoding_t*::size_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:200,1
    - Dst: avro_encoding_t*::size_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:203,1
    - Dst: avro_datum_to_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:204,1
    - Dst: avro_encoding_t*::size_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:207,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:207,1
    - Dst: avro_encoding_t*::size_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:210,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:211,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:212,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:216,1
    - Dst: avro_datum_to_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:217,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:218,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:219,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:221,1
    - Dst: avro_encoding_t*::size_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:222,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:224,1
    - Dst: avro_encoding_t*::size_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:225,1
    - Dst: avro_encoding_t*::size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:229,1
    - Dst: avro_datum_to_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:233,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:234,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:235,1
    - Dst: avro_encoding_t*::size_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:237,1
    - Dst: avro_encoding_t*::size_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:239,1
    - Dst: avro_encoding_t*::size_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:243,1
    - Dst: avro_datum_to_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:243,1
    - Dst: size_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:246,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:247,1
    - Dst: size_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:251,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:252,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:253,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:256,1
    - Dst: size_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:259,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:260,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:261,1
    - Dst: size_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:264,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:265,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:266,1
    - Dst: size_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:269,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:270,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 4
    argNames:
    - writer
    - enc
    - writers_schema
    - datum
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - avro_schema_t
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 278
    functionName: size_datum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: 5
    functionsReached:
    - avro_schema_to_link
    - is_avro_link
    - size_record
    - avro_datum_to_array
    - size_union
    - avro_datum_to_fixed
    - avro_encoding_t*::size_null
    - avro_schema_to_union
    - avro_datum_to_bytes
    - size_datum
    - avro_datum_to_int32
    - avro_datum_to_map
    - avro_schema_to_array
    - avro_encoding_t*::size_double
    - avro_encoding_t*::size_bytes
    - avro_datum_to_float
    - avro_typeof
    - is_avro_double
    - avro_schema_to_record
    - avro_datum_to_union
    - is_avro_float
    - avro_encoding_t*::size_float
    - avro_datum_to_boolean
    - avro_datum_to_int64
    - size_map
    - avro_datum_to_string
    - size_array
    - avro_encoding_t*::size_long
    - avro_encoding_t*::size_boolean
    - size_enum
    - avro_schema_to_enum
    - avro_datum_to_enum
    - is_avro_schema
    - avro_schema_to_map
    - avro_encoding_t*::size_string
    - avro_datum_to_double
    linkageType: ''
    returnType: int64_t
    signature: "int64_t size_datum(avro_writer_t writer, const avro_encoding_t * enc,\n\t\t\t
      \ avro_schema_t writers_schema, avro_datum_t datum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:283,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:284,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:284,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:286,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:287,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:288,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - writer
    - writers_schema
    - datum
    argTypes:
    - avro_writer_t
    - avro_schema_t
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 5
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: avro_size_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - size_datum
    - check_param
    - is_avro_schema
    - is_avro_datum
    - avro_schema_datum_validate
    linkageType: ''
    returnType: int64_t
    signature: "int64_t avro_size_data(avro_writer_t writer, avro_schema_t writers_schema,\n\t\t
      \      avro_datum_t datum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - specific_ctx*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: indent
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c
    functionUses: 14
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void indent(specific_ctx * ctx, FILE * fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - schema
    - ctx
    argTypes:
    - avro_schema_t
    - specific_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: avro_schema_to_source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int avro_schema_to_source(avro_schema_t schema, specific_ctx * ctx)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: indent
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:60,1
    - Dst: is_avro_primitive
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:63,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:69,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:73,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:78,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:82,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:86,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:90,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:94,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:103,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:104,1
    - Dst: avro_schema_to_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:109,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:112,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:113,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:121,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:122,1
    - Dst: indent
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:125,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:126,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:130,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:131,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:139,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:140,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:154,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:158,1
    - Dst: is_avro_named_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:159,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:160,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:161,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:162,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:164,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:165,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:166,1
    - Dst: avro_schema_to_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:168,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:170,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:176,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:180,1
    - Dst: avro_schema_to_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:182,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:185,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 94
    argCount: 2
    argNames:
    - schema
    - ctx
    argTypes:
    - avro_schema_t
    - specific_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 196
    functionName: avro_schema_to_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c
    functionUses: 1
    functionsReached:
    - avro_schema_to_record
    - indent
    - avro_schema_to_link
    - is_avro_link
    - fprintf
    - avro_schema_to_fixed
    - avro_schema_to_header
    - avro_schema_to_enum
    - avro_schema_to_array
    - avro_schema_name
    - is_avro_named_type
    - is_avro_primitive
    linkageType: ''
    returnType: int
    signature: int avro_schema_to_header(avro_schema_t schema, specific_ctx * ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:208,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:209,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:210,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:214,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:215,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:217,1
    - Dst: avro_schema_to_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:221,1
    - Dst: avro_schema_to_source
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:226,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:229,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - schema
    - prefix
    argTypes:
    - avro_schema_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 232
    functionName: avro_schema_to_specific
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c
    functionUses: 0
    functionsReached:
    - avro_schema_to_source
    - memset
    - snprintf
    - avro_schema_to_header
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: int avro_schema_to_specific(avro_schema_t schema, const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: st_is_member
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: st_is_member(table,key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: _
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_reader_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:44,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:45,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:46,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:47,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:50,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:51,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:52,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:53,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:62,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:63,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:64,1
    - Dst: avro_file_writer_create_with_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:66,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:68,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:69,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:70,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:73,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:74,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:75,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:76,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:77,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:79,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:83,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:83,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:86,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:87,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:88,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:89,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - in_filename
    - out_filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 91
    functionName: process_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c
    functionUses: 2
    functionsReached:
    - avro_generic_value_new
    - avro_file_reader_fp
    - avro_file_reader_close
    - avro_value_decref
    - avro_value_iface_decref
    - avro_schema_decref
    - avro_file_reader_get_writer_schema
    - avro_value_reset
    - avro_strerror
    - avro_file_writer_append_value
    - avro_file_writer_close
    - fprintf
    - avro_file_reader_read_value
    - avro_file_reader
    - avro_generic_class_from_schema
    - avro_file_writer_create_with_codec
    - exit
    linkageType: ''
    returnType: void
    signature: void process_file(const char *in_filename, const char *out_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c
    functionUses: 11
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:117,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:120,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:121,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: parse_block_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c
    functionUses: 0
    functionsReached:
    - strtoul
    - usage
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void parse_block_size(const char *optarg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:134,1
    - Dst: parse_block_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:137,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:145,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:146,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:160,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:161,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:162,1
    - Dst: process_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 168
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c
    functionUses: 0
    functionsReached:
    - getopt_long
    - fprintf
    - process_file
    - usage
    - parse_block_size
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:26,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:29,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:31,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:34,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:37,1
    - Dst: isprint
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:40,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:41,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - out
    - addr
    - len
    argTypes:
    - FILE*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 46
    functionName: dump_line
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c
    functionUses: 0
    functionsReached:
    - isprint
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump_line(FILE * out, const char *addr, const long len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_line
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:52,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:53,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - out
    - addr
    - len
    argTypes:
    - FILE*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: dump
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c
    functionUses: 8
    functionsReached:
    - dump_line
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void dump(FILE * out, const char *addr, const long len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - element_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: raw_entry_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: raw_entry_size(element_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:32,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:33,1
    - Dst: raw_entry_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:33,1
    - Dst: st_init_strtable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - map
    - element_size
    argTypes:
    - avro_raw_map_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: avro_raw_map_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: 2
    functionsReached:
    - memset
    - avro_raw_array_init
    - st_init_strtable
    - raw_entry_size
    linkageType: ''
    returnType: void
    signature: void avro_raw_map_init(avro_raw_map_t *map, size_t element_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:42,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - avro_raw_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: avro_raw_map_free_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: 0
    functionsReached:
    - avro_raw_map_size
    - avro_str_free
    linkageType: ''
    returnType: void
    signature: void avro_raw_map_free_keys(avro_raw_map_t *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_map_free_keys
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:53,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:54,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:55,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - map
    argTypes:
    - avro_raw_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: avro_raw_map_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: 2
    functionsReached:
    - avro_raw_map_free_keys
    - memset
    - st_free_table
    - avro_raw_array_done
    linkageType: ''
    returnType: void
    signature: void avro_raw_map_done(avro_raw_map_t *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_map_free_keys
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:62,1
    - Dst: avro_raw_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:63,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:64,1
    - Dst: st_init_strtable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - map
    argTypes:
    - avro_raw_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: avro_raw_map_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: 2
    functionsReached:
    - avro_raw_map_free_keys
    - avro_raw_array_clear
    - st_free_table
    - st_init_strtable
    linkageType: ''
    returnType: void
    signature: void avro_raw_map_clear(avro_raw_map_t *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_ensure_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - map
    - desired_count
    argTypes:
    - avro_raw_map_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: avro_raw_map_ensure_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_ensure_size
    linkageType: ''
    returnType: int
    signature: int avro_raw_map_ensure_size(avro_raw_map_t *map, size_t desired_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - map
    - key
    - index
    argTypes:
    - avro_raw_map_t*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: avro_raw_map_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: 2
    functionsReached:
    - st_lookup
    linkageType: ''
    returnType: void
    signature: "void *avro_raw_map_get(const avro_raw_map_t *map, const char *key,\n\t\t
      \      size_t *index)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:102,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:111,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:112,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:113,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - map
    - key
    - element
    - index
    argTypes:
    - avro_raw_map_t*
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 130
    functionName: avro_raw_map_get_or_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: 2
    functionsReached:
    - st_insert
    - st_lookup
    - avro_str_free
    - avro_strdup
    - avro_raw_array_append
    linkageType: ''
    returnType: int
    signature: "int avro_raw_map_get_or_create(avro_raw_map_t *map, const char *key,\n\t\t\t
      \      void **element, size_t *index)"
  - 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: debug
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug(...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:86,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:95,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:97,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:98,1
    - Dst: avro_resolver_free_cycles
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:104,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:107,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:111,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - consumer
    - freeing
    argTypes:
    - avro_consumer_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 115
    functionName: avro_resolver_free_cycles
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 1
    functionsReached:
    - avro_schema_decref
    - st_insert
    - st_lookup
    - avro_free
    - avro_freet
    - avro_resolver_free_cycles
    linkageType: ''
    returnType: void
    signature: void avro_resolver_free_cycles(avro_consumer_t *consumer, st_table
      *freeing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_numtable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:121,1
    - Dst: avro_resolver_free_cycles
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:122,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - consumer
    argTypes:
    - avro_consumer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: avro_resolver_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - st_init_numtable
    - st_free_table
    - avro_resolver_free_cycles
    linkageType: ''
    returnType: void
    signature: void avro_resolver_free(avro_consumer_t *consumer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:136,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:137,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:140,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: avro_resolver_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolver_t
    signature: "avro_resolver_t *\navro_resolver_create(avro_schema_t wschema,\n\t\t
      \    avro_schema_t rschema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:159,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:161,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - resolver
    - dest
    argTypes:
    - avro_resolver_t*
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 167
    functionName: avro_resolver_get_real_dest
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - debug
    - avro_union_set_discriminant
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_resolver_get_real_dest(avro_resolver_t *resolver,
      avro_datum_t dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - schema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: skip_links
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: skip_links(schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - saved
    - ','
    - wschema
    - ','
    - rschema
    - ','
    - check_func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: check_non_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_non_union(saved, wschema, rschema, check_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - saved
    - ','
    - wschema
    - ','
    - rschema
    - ','
    - check_func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 270
    functionName: check_reader_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_reader_union(saved, wschema, rschema, check_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - saved
    - ','
    - wschema
    - ','
    - rschema
    - ','
    - type_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: check_simple_writer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_simple_writer(saved, wschema, rschema, type_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:299,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:300,1
    - Dst: avro_boolean_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: avro_resolver_boolean_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_boolean_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_boolean_value(avro_consumer_t *consumer, int value,\n\t\t\t
      \   void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:309,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:310,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 315
    functionName: try_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_memoize_set
    - avro_resolver_create
    - is_avro_boolean
    linkageType: ''
    returnType: int
    signature: "int try_boolean(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      \   avro_schema_t wschema, avro_schema_t rschema,\n\t    avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: free_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: void
    signature: void free_bytes(void *ptr, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:335,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:336,1
    - Dst: avro_givebytes_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - consumer
    - value
    - value_len
    - user_data
    argTypes:
    - avro_consumer_t*
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: avro_resolver_bytes_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_givebytes_set
    - avro_resolver_get_real_dest
    - debug
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_bytes_value(avro_consumer_t *consumer,\n\t\t\t  const
      void *value, size_t value_len,\n\t\t\t  void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:345,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:346,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 351
    functionName: try_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_memoize_set
    - avro_resolver_create
    - is_avro_bytes
    linkageType: ''
    returnType: int
    signature: "int try_bytes(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      \ avro_schema_t wschema, avro_schema_t rschema,\n\t  avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:360,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:361,1
    - Dst: avro_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: avro_resolver_double_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_double_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_double_value(avro_consumer_t *consumer, double value,\n\t\t\t
      \  void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:370,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:371,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 376
    functionName: try_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_memoize_set
    - avro_resolver_create
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: "int try_double(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      \  avro_schema_t wschema, avro_schema_t rschema,\n\t   avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:385,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:386,1
    - Dst: avro_float_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 4
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: avro_resolver_float_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_float_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_float_value(avro_consumer_t *consumer, float value,\n\t\t\t
      \ void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:396,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:397,1
    - Dst: avro_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 399
    functionName: avro_resolver_float_double_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_double_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_float_double_value(avro_consumer_t *consumer, float
      value,\n\t\t\t\t void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:406,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:407,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:408,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:411,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:412,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 417
    functionName: try_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - is_avro_float
    - avro_memoize_set
    - avro_resolver_create
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: "int try_float(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      \ avro_schema_t wschema, avro_schema_t rschema,\n\t  avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:426,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:427,1
    - Dst: avro_int32_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 4
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: avro_resolver_int_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_int32_set
    - avro_resolver_get_real_dest
    - debug
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_int_value(avro_consumer_t *consumer, int32_t value,\n\t\t\tvoid
      *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:437,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:438,1
    - Dst: avro_int64_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: avro_resolver_int_long_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_int64_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_int_long_value(avro_consumer_t *consumer, int32_t
      value,\n\t\t\t     void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:448,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:449,1
    - Dst: avro_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 442
    functionDepth: 4
    functionLinenumber: 442
    functionLinenumberEnd: 451
    functionName: avro_resolver_int_double_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_double_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_int_double_value(avro_consumer_t *consumer, int32_t
      value,\n\t\t\t       void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:459,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:460,1
    - Dst: avro_float_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: avro_resolver_int_float_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_float_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_int_float_value(avro_consumer_t *consumer, int32_t
      value,\n\t\t\t      void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:469,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:470,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:471,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:474,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:475,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:476,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:479,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:480,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:481,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:484,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:485,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 490
    functionName: try_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_memoize_set
    - is_avro_float
    - is_avro_int64
    - is_avro_int32
    - avro_resolver_create
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: "int try_int(avro_memoize_t *mem, avro_resolver_t **resolver,\n\tavro_schema_t
      wschema, avro_schema_t rschema,\n\tavro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:499,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:500,1
    - Dst: avro_int64_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 493
    functionDepth: 4
    functionLinenumber: 493
    functionLinenumberEnd: 502
    functionName: avro_resolver_long_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_int64_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_long_value(avro_consumer_t *consumer, int64_t value,\n\t\t\t
      void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:510,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:511,1
    - Dst: avro_float_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 513
    functionName: avro_resolver_long_float_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_float_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_long_float_value(avro_consumer_t *consumer, int64_t
      value,\n\t\t\t       void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:521,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:522,1
    - Dst: avro_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 515
    functionDepth: 4
    functionLinenumber: 515
    functionLinenumberEnd: 524
    functionName: avro_resolver_long_double_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_double_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_long_double_value(avro_consumer_t *consumer, int64_t
      value,\n\t\t\t\tvoid *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:531,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:532,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:533,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:536,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:537,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:538,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:541,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:542,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 547
    functionName: try_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_memoize_set
    - is_avro_float
    - is_avro_int64
    - avro_resolver_create
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: "int try_long(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      avro_schema_t wschema, avro_schema_t rschema,\n\t avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:555,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:557,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - consumer
    - user_data
    argTypes:
    - avro_consumer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: avro_resolver_null_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_resolver_null_value(avro_consumer_t *consumer, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:567,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:568,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: try_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - is_avro_null
    - avro_memoize_set
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "int try_null(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      avro_schema_t wschema, avro_schema_t rschema,\n\t avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:581,1
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:584,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:585,1
    - Dst: avro_givestring_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - consumer
    - value
    - value_len
    - user_data
    argTypes:
    - avro_consumer_t*
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 576
    functionDepth: 4
    functionLinenumber: 576
    functionLinenumberEnd: 587
    functionName: avro_resolver_string_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_givestring_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_string_value(avro_consumer_t *consumer,\n\t\t\t
      \  const void *value, size_t value_len,\n\t\t\t   void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:594,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:595,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 600
    functionName: try_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_memoize_set
    - is_avro_string
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "int try_string(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      \  avro_schema_t wschema, avro_schema_t rschema,\n\t   avro_schema_t root_rschema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:616,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:617,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:619,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - consumer
    - is_first_block
    - block_count
    - user_data
    argTypes:
    - avro_consumer_t*
    - int
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 624
    functionName: avro_resolver_array_start_block
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_array_start_block(avro_consumer_t *consumer,\n\t\t\t\tint
      is_first_block,\n\t\t\t\tunsigned int block_count,\n\t\t\t\tvoid *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:633,1
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:637,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:638,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:644,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:645,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:646,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:647,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - consumer
    - index
    - element_consumer
    - element_user_data
    - user_data
    argTypes:
    - avro_consumer_t*
    - unsigned int
    - avro_consumer_t**
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 658
    functionName: avro_resolver_array_element
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - avro_datum_get_schema
    - avro_datum_from_schema
    - avro_schema_array_items
    - debug
    - avro_datum_decref
    - avro_array_append_datum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_array_element(avro_consumer_t *consumer,\n\t\t\t
      \   unsigned int index,\n\t\t\t    avro_consumer_t **element_consumer,\n\t\t\t
      \   void **element_user_data,\n\t\t\t    void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:669,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:679,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:680,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:682,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:683,1
    - Dst: avro_resolver_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:686,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:688,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:689,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:690,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 707
    functionName: try_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_consumer_free
    - avro_memoize_set
    - avro_calloc
    - avro_resolver_new_memoized
    - avro_memoize_delete
    - avro_prefix_error
    - avro_schema_array_items
    - is_avro_array
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "int try_array(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      \ avro_schema_t wschema, avro_schema_t rschema,\n\t  avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:718,1
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:722,1
    - Dst: avro_schema_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:724,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:725,1
    - Dst: avro_enum_set_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 727
    functionName: avro_resolver_enum_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - avro_schema_enum_get
    - debug
    - avro_enum_set_name
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_enum_value(avro_consumer_t *consumer, int value,\n\t\t\t
      void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:739,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:740,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:741,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:743,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:744,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 750
    functionName: try_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_memoize_set
    - avro_schema_name
    - is_avro_enum
    - avro_resolver_create
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int try_enum(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      avro_schema_t wschema, avro_schema_t rschema,\n\t avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:764,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:765,1
    - Dst: avro_givefixed_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - consumer
    - value
    - value_len
    - user_data
    argTypes:
    - avro_consumer_t*
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 757
    functionDepth: 4
    functionLinenumber: 757
    functionLinenumberEnd: 767
    functionName: avro_resolver_fixed_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - avro_givefixed_set
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_fixed_value(avro_consumer_t *consumer,\n\t\t\t  const
      void *value, size_t value_len,\n\t\t\t  void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:778,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:779,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: try_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_schema_equal
    - avro_memoize_set
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "int try_fixed(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      \ avro_schema_t wschema, avro_schema_t rschema,\n\t  avro_schema_t root_rschema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:800,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:801,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:803,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - consumer
    - is_first_block
    - block_count
    - user_data
    argTypes:
    - avro_consumer_t*
    - int
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 791
    functionDepth: 4
    functionLinenumber: 791
    functionLinenumberEnd: 808
    functionName: avro_resolver_map_start_block
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_map_start_block(avro_consumer_t *consumer,\n\t\t\t
      \     int is_first_block,\n\t\t\t      unsigned int block_count,\n\t\t\t      void
      *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:818,1
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:822,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:823,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:829,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:830,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:831,1
    - Dst: avro_map_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:832,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - consumer
    - index
    - key
    - value_consumer
    - value_user_data
    - user_data
    argTypes:
    - avro_consumer_t*
    - unsigned int
    - char*
    - avro_consumer_t**
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 810
    functionDepth: 4
    functionLinenumber: 810
    functionLinenumberEnd: 843
    functionName: avro_resolver_map_element
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - avro_schema_map_values
    - avro_datum_get_schema
    - avro_datum_from_schema
    - debug
    - avro_datum_decref
    - avro_map_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_map_element(avro_consumer_t *consumer,\n\t\t\t  unsigned
      int index,\n\t\t\t  const char *key,\n\t\t\t  avro_consumer_t **value_consumer,\n\t\t\t
      \ void **value_user_data,\n\t\t\t  void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:854,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:864,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:865,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:867,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:868,1
    - Dst: avro_resolver_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:871,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:873,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:874,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:875,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 845
    functionDepth: 3
    functionLinenumber: 845
    functionLinenumberEnd: 892
    functionName: try_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_consumer_free
    - avro_memoize_set
    - avro_calloc
    - avro_schema_map_values
    - avro_resolver_new_memoized
    - avro_memoize_delete
    - is_avro_map
    - avro_prefix_error
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "int try_map(avro_memoize_t *mem, avro_resolver_t **resolver,\n\tavro_schema_t
      wschema, avro_schema_t rschema,\n\tavro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:905,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:906,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - consumer
    - user_data
    argTypes:
    - avro_consumer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 899
    functionDepth: 4
    functionLinenumber: 899
    functionLinenumberEnd: 916
    functionName: avro_resolver_record_start
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_resolver_get_real_dest
    - debug
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_record_start(avro_consumer_t *consumer,\n\t\t\t
      \  void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:927,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:930,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:938,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:942,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - consumer
    - index
    - field_consumer
    - field_user_data
    - user_data
    argTypes:
    - avro_consumer_t*
    - unsigned int
    - avro_consumer_t**
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 918
    functionDepth: 4
    functionLinenumber: 918
    functionLinenumberEnd: 957
    functionName: avro_resolver_record_field
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_record_get
    - avro_resolver_get_real_dest
    - debug
    - avro_schema_record_field_name
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_record_field(avro_consumer_t *consumer,\n\t\t\t
      \  unsigned int index,\n\t\t\t   avro_consumer_t **field_consumer,\n\t\t\t   void
      **field_user_data,\n\t\t\t   void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:969,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:973,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:974,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:976,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:999,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1000,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1002,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1003,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1005,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1008,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1009,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1014,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1016,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1018,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1024,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1033,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1034,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1045,1
    - Dst: avro_resolver_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1047,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1050,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1058,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1081,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1082,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1088,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1093,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1094,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 959
    functionDepth: 3
    functionLinenumber: 959
    functionLinenumberEnd: 1096
    functionName: try_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - is_avro_record
    - avro_consumer_free
    - avro_memoize_set
    - avro_calloc
    - avro_schema_record_field_get_by_index
    - avro_schema_record_field_name
    - avro_schema_record_size
    - avro_resolver_new_memoized
    - avro_memoize_delete
    - avro_schema_name
    - avro_prefix_error
    - avro_free
    - avro_schema_record_field_get_index
    - debug
    - avro_resolver_create
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int try_record(avro_memoize_t *mem, avro_resolver_t **resolver,\n\t
      \  avro_schema_t wschema, avro_schema_t rschema,\n\t   avro_schema_t root_rschema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1117,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1120,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - consumer
    - discriminant
    - branch_consumer
    - branch_user_data
    - user_data
    argTypes:
    - avro_consumer_t*
    - unsigned int
    - avro_consumer_t**
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1103
    functionDepth: 3
    functionLinenumber: 1103
    functionLinenumberEnd: 1133
    functionName: avro_resolver_union_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - debug
    - avro_schema_type_name
    linkageType: ''
    returnType: int
    signature: "int avro_resolver_union_branch(avro_consumer_t *consumer,\n\t\t\t
      \  unsigned int discriminant,\n\t\t\t   avro_consumer_t **branch_consumer,\n\t\t\t
      \  void **branch_user_data,\n\t\t\t   void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1158,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1159,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1161,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1162,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1165,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1171,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1173,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1174,1
    - Dst: avro_resolver_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1185,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1187,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1190,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1201,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1202,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1204,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1218,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1219,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1223,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - mem
    - wschema
    - rschema
    argTypes:
    - avro_memoize_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1229
    functionName: try_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_consumer_free
    - avro_calloc
    - avro_memoize_set
    - avro_resolver_new_memoized
    - avro_schema_union_size
    - avro_memoize_delete
    - avro_free
    - avro_schema_type_name
    - avro_schema_union_branch
    - debug
    - avro_resolver_create
    linkageType: ''
    returnType: avro_consumer_t
    signature: 'avro_consumer_t *

      try_union(avro_memoize_t *mem, avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1240,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1240,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1241,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1241,1
    - Dst: skip_links
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1243,1
    - Dst: skip_links
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1244,1
    - Dst: avro_memoize_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1252,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1253,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1254,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1255,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1263,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1266,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1270,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1274,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1278,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1282,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1286,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1290,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1294,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1298,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1302,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1306,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1310,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1314,1
    - Dst: try_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1318,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 3
    argNames:
    - mem
    - wschema
    - rschema
    argTypes:
    - avro_memoize_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1236
    functionDepth: 3
    functionLinenumber: 1236
    functionLinenumberEnd: 1326
    functionName: avro_resolver_new_memoized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 4
    functionsReached:
    - avro_set_error
    - skip_links
    - avro_typeof
    - check_simple_writer
    - check_param
    - is_avro_schema
    - avro_schema_type_name
    - try_union
    - debug
    - avro_memoize_get
    linkageType: ''
    returnType: avro_consumer_t
    signature: "avro_consumer_t *\navro_resolver_new_memoized(avro_memoize_t *mem,\n\t\t\t
      \  avro_schema_t wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_memoize_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1333,1
    - Dst: avro_resolver_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1335,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1329
    functionDepth: 4
    functionLinenumber: 1329
    functionLinenumberEnd: 1338
    functionName: avro_resolver_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: 0
    functionsReached:
    - avro_memoize_init
    - avro_resolver_new_memoized
    - avro_memoize_done
    linkageType: ''
    returnType: avro_consumer_t
    signature: 'avro_consumer_t *

      avro_resolver_new(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: DEBUG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iface
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: avro_resolved_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_reader_calculate_size(iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iface
    - ','
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: avro_resolved_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_reader_init(iface, self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iface
    - ','
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: avro_resolved_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_reader_done(iface, self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iface
    - ','
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: avro_resolved_reader_reset_wrappers
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_reader_reset_wrappers(iface, self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:116,1
    - Dst: avro_value_copy_ref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - resolved
    - dest
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: avro_resolved_reader_set_source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 3
    functionsReached:
    - avro_value_copy_ref
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: "void avro_resolved_reader_set_source(avro_value_t *resolved,\n\t\t\t\tavro_value_t
      *dest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - resolved
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: avro_resolved_reader_clear_source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: void avro_resolved_reader_clear_source(avro_value_t *resolved)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:138,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:139,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:146,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:150,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:152,1
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - viface
    - value
    argTypes:
    - avro_value_iface_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 162
    functionName: avro_resolved_reader_new_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 3
    functionsReached:
    - avro_malloc
    - memset
    - avro_resolved_reader_init
    - avro_free
    - avro_value_iface_incref
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_new_value(avro_value_iface_t *viface,\n\t\t\t
      \      avro_value_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:168,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:171,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:173,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: avro_resolved_reader_free_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_reader_done
    - container_of
    - avro_free
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: void avro_resolved_reader_free_value(const avro_value_iface_t *viface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: avro_resolved_reader_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: void
    signature: void avro_resolved_reader_incref(avro_value_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:199,1
    - Dst: avro_resolved_reader_free_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: avro_resolved_reader_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_refcount_dec
    - avro_resolved_reader_free_value
    linkageType: ''
    returnType: void
    signature: void avro_resolved_reader_decref(avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:209,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: avro_resolved_reader_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_resolved_reader_incref_iface(avro_value_iface_t *viface)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:218,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:219,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:224,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:225,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:226,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:227,1
    - Dst: avro_resolved_reader_t*::free_iface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: free_resolver
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - st_insert
    - avro_resolved_reader_t*::free_iface
    - st_lookup
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void free_resolver(avro_resolved_reader_t *iface, st_table *freeing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:238,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:239,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: avro_resolved_reader_calculate_size_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_reader_calculate_size_(avro_resolved_reader_t *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:247,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:248,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:249,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: avro_resolved_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_resolved_reader_free_iface(avro_resolved_reader_t *iface,
      st_table *freeing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:257,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:258,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:259,1
    - Dst: st_init_numtable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:260,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:261,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: avro_resolved_reader_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - free_resolver
    - avro_refcount_dec
    - st_init_numtable
    - st_free_table
    - DEBUG
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_resolved_reader_decref_iface(avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:276,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:278,1
    - Dst: avro_resolved_reader_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:278,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: avro_resolved_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - container_of
    - avro_value_reset
    - avro_resolved_reader_reset_wrappers
    linkageType: ''
    returnType: int
    signature: int avro_resolved_reader_reset(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:285,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:287,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: avro_resolved_reader_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_typeof
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_resolved_reader_get_type(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:294,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: avro_resolved_reader_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_resolved_reader_get_schema(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:304,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:305,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:316,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 322
    functionName: avro_resolved_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: 'avro_resolved_reader_t *

      avro_resolved_reader_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:384,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:385,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 388
    functionName: avro_resolved_wlink_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_wlink_reader_calculate_size(avro_resolved_reader_t
      *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:396,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:397,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: avro_resolved_rlink_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_rlink_reader_calculate_size(avro_resolved_reader_t
      *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:406,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:408,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:410,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:411,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 413
    functionName: avro_resolved_link_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - container_of
    - free_resolver
    linkageType: ''
    returnType: void
    signature: void avro_resolved_link_reader_free_iface(avro_resolved_reader_t *iface,
      st_table *freeing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:420,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:425,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:429,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:434,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 439
    functionName: avro_resolved_link_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_malloc
    - avro_resolved_reader_init
    - avro_free
    - DEBUG
    - container_of
    linkageType: ''
    returnType: int
    signature: int avro_resolved_link_reader_init(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:445,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:448,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:449,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 453
    functionName: avro_resolved_link_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_reader_done
    - container_of
    - avro_free
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_link_reader_done(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:459,1
    - Dst: avro_resolved_reader_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: avro_resolved_link_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_reader_reset_wrappers
    linkageType: ''
    returnType: int
    signature: int avro_resolved_link_reader_reset(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:468,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 473
    functionName: avro_resolved_link_reader_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_type
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_resolved_link_reader_get_type(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:478,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: avro_resolved_link_reader_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_schema
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_resolved_link_reader_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:489,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 494
    functionName: avro_resolved_link_reader_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_boolean(const avro_value_iface_t
      *iface,\n\t\t\t\t      const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:500,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 505
    functionName: avro_resolved_link_reader_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_bytes(const avro_value_iface_t *iface,\n\t\t\t\t
      \   const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:511,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 516
    functionName: avro_resolved_link_reader_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_grab_bytes(const avro_value_iface_t
      *iface,\n\t\t\t\t     const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:522,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 527
    functionName: avro_resolved_link_reader_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_double(const avro_value_iface_t
      *iface,\n\t\t\t\t     const void *vself, double *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:533,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 538
    functionName: avro_resolved_link_reader_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_float(const avro_value_iface_t *iface,\n\t\t\t\t
      \   const void *vself, float *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:544,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 549
    functionName: avro_resolved_link_reader_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_int(const avro_value_iface_t *iface,\n\t\t\t\t
      \ const void *vself, int32_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:555,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 560
    functionName: avro_resolved_link_reader_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_long(const avro_value_iface_t *iface,\n\t\t\t\t
      \  const void *vself, int64_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:565,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 570
    functionName: avro_resolved_link_reader_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_resolved_link_reader_get_null(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:576,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 581
    functionName: avro_resolved_link_reader_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_string(const avro_value_iface_t
      *iface,\n\t\t\t\t     const void *vself, const char **str, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:587,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 592
    functionName: avro_resolved_link_reader_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_grab_string(const avro_value_iface_t
      *iface,\n\t\t\t\t      const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:598,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 603
    functionName: avro_resolved_link_reader_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_enum(const avro_value_iface_t *iface,\n\t\t\t\t
      \  const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:609,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 614
    functionName: avro_resolved_link_reader_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_fixed(const avro_value_iface_t *iface,\n\t\t\t\t
      \   const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:620,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: avro_resolved_link_reader_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_grab_fixed(const avro_value_iface_t
      *iface,\n\t\t\t\t     const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:631,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 636
    functionName: avro_resolved_link_reader_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_boolean(const avro_value_iface_t
      *iface,\n\t\t\t\t      void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:642,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: avro_resolved_link_reader_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_bytes(const avro_value_iface_t *iface,\n\t\t\t\t
      \   void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:653,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: avro_resolved_link_reader_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_give_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_give_bytes(const avro_value_iface_t
      *iface,\n\t\t\t\t     void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:664,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 669
    functionName: avro_resolved_link_reader_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_double(const avro_value_iface_t
      *iface,\n\t\t\t\t     void *vself, double val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:675,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 680
    functionName: avro_resolved_link_reader_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_float(const avro_value_iface_t *iface,\n\t\t\t\t
      \   void *vself, float val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:686,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 691
    functionName: avro_resolved_link_reader_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_int(const avro_value_iface_t *iface,\n\t\t\t\t
      \ void *vself, int32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:697,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 702
    functionName: avro_resolved_link_reader_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_long(const avro_value_iface_t *iface,\n\t\t\t\t
      \  void *vself, int64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:707,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 712
    functionName: avro_resolved_link_reader_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_resolved_link_reader_set_null(const avro_value_iface_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:718,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 723
    functionName: avro_resolved_link_reader_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_string(const avro_value_iface_t
      *iface,\n\t\t\t\t     void *vself, const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:729,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 734
    functionName: avro_resolved_link_reader_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_string_len(const avro_value_iface_t
      *iface,\n\t\t\t\t\t void *vself, const char *str, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:740,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 745
    functionName: avro_resolved_link_reader_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_give_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_give_string_len(const avro_value_iface_t
      *iface,\n\t\t\t\t\t  void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:751,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 756
    functionName: avro_resolved_link_reader_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_enum(const avro_value_iface_t *iface,\n\t\t\t\t
      \  void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:762,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 767
    functionName: avro_resolved_link_reader_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_fixed(const avro_value_iface_t *iface,\n\t\t\t\t
      \   void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:773,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 778
    functionName: avro_resolved_link_reader_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_give_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_give_fixed(const avro_value_iface_t
      *iface,\n\t\t\t\t     void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:784,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 789
    functionName: avro_resolved_link_reader_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_size(const avro_value_iface_t *iface,\n\t\t\t\t
      \  const void *vself, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:796,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - iface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 801
    functionName: avro_resolved_link_reader_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_by_index(const avro_value_iface_t
      *iface,\n\t\t\t\t       const void *vself, size_t index,\n\t\t\t\t       avro_value_t
      *child, const char **name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:808,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - iface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 813
    functionName: avro_resolved_link_reader_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_name
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_by_name(const avro_value_iface_t
      *iface,\n\t\t\t\t      const void *vself, const char *name,\n\t\t\t\t      avro_value_t
      *child, size_t *index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:819,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 824
    functionName: avro_resolved_link_reader_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_discriminant
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_discriminant(const avro_value_iface_t
      *iface,\n\t\t\t\t\t   const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:830,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 835
    functionName: avro_resolved_link_reader_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_current_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_get_current_branch(const avro_value_iface_t
      *iface,\n\t\t\t\t\t     const void *vself, avro_value_t *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:842,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 847
    functionName: avro_resolved_link_reader_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_append
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_append(const avro_value_iface_t *iface,\n\t\t\t\t
      void *vself, avro_value_t *child_out,\n\t\t\t\t size_t *new_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:854,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - iface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 859
    functionName: avro_resolved_link_reader_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_add
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_add(const avro_value_iface_t *iface,\n\t\t\t
      \     void *vself, const char *key,\n\t\t\t      avro_value_t *child, size_t
      *index, int *is_new)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:866,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 871
    functionName: avro_resolved_link_reader_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_set_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_reader_set_branch(const avro_value_iface_t
      *iface,\n\t\t\t\t     void *vself, int discriminant,\n\t\t\t\t     avro_value_t
      *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:876,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:877,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:891,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:892,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 938
    functionName: avro_resolved_link_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_link_reader_t
    signature: 'avro_resolved_link_reader_t *

      avro_resolved_link_reader_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:944,1
    - Dst: avro_schema_link_target
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:953,1
    - Dst: avro_resolved_link_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:955,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:956,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:959,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:961,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:962,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:963,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:964,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 940
    functionDepth: 3
    functionLinenumber: 940
    functionLinenumberEnd: 974
    functionName: try_wlink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_resolved_link_reader_create
    - avro_strerror
    - avro_schema_link_target
    - avro_memoize_delete
    - avro_resolved_reader_new_memoized
    - avro_prefix_error
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_wlink(memoize_state_t *state,\n\t  avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:980,1
    - Dst: avro_schema_link_target
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:989,1
    - Dst: avro_resolved_link_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:991,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:992,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:995,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:997,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:998,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:999,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1000,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 976
    functionDepth: 3
    functionLinenumber: 976
    functionLinenumberEnd: 1010
    functionName: try_rlink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_resolved_link_reader_create
    - avro_strerror
    - avro_schema_link_target
    - avro_memoize_delete
    - avro_resolved_reader_new_memoized
    - avro_prefix_error
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_rlink(memoize_state_t *state,\n\t  avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1021,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1023,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1025
    functionName: avro_resolved_reader_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_boolean
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_boolean(const avro_value_iface_t *viface,\n\t\t\t\t
      const void *vself, int *val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1031,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1033,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1034,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1038,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1027
    functionDepth: 3
    functionLinenumber: 1027
    functionLinenumberEnd: 1041
    functionName: try_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_memoize_set
    - is_avro_boolean
    - avro_resolved_reader_create
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_boolean(memoize_state_t *state,\n\t
      \   avro_schema_t wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1052,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1054,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1056
    functionName: avro_resolved_reader_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_bytes
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_bytes(const avro_value_iface_t *viface,\n\t\t\t
      \      const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1062,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1064,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1066
    functionName: avro_resolved_reader_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_bytes
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_grab_bytes(const avro_value_iface_t *viface,\n\t\t\t\tconst
      void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1072,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1074,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1075,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1080,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1068
    functionDepth: 3
    functionLinenumber: 1068
    functionLinenumberEnd: 1083
    functionName: try_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_memoize_set
    - avro_resolved_reader_create
    - avro_schema_type_name
    - is_avro_bytes
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_bytes(memoize_state_t *state,\n\t  avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1094,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1096,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1098
    functionName: avro_resolved_reader_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - DEBUG
    - avro_value_get_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_double(const avro_value_iface_t *viface,\n\t\t\t\tconst
      void *vself, double *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1106,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1108,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1109,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1112
    functionName: avro_resolved_reader_get_double_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_float
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_double_float(const avro_value_iface_t
      *viface,\n\t\t\t\t      const void *vself, double *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1120,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1122,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1123,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1126
    functionName: avro_resolved_reader_get_double_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_int
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_double_int(const avro_value_iface_t *viface,\n\t\t\t\t
      \   const void *vself, double *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1134,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1136,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1137,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1140
    functionName: avro_resolved_reader_get_double_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_long
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_double_long(const avro_value_iface_t
      *viface,\n\t\t\t\t     const void *vself, double *val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1146,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1148,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1149,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1154,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1156,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1157,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1162,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1164,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1165,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1170,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1172,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1173,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1178,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1142
    functionDepth: 3
    functionLinenumber: 1142
    functionLinenumberEnd: 1181
    functionName: try_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_memoize_set
    - avro_resolved_reader_create
    - is_avro_float
    - is_avro_int64
    - avro_schema_type_name
    - is_avro_int32
    - is_avro_double
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_double(memoize_state_t *state,\n\t   avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1192,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1194,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1196
    functionName: avro_resolved_reader_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_float
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_float(const avro_value_iface_t *viface,\n\t\t\t
      \      const void *vself, float *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1204,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1206,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1207,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1210
    functionName: avro_resolved_reader_get_float_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_int
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_float_int(const avro_value_iface_t *viface,\n\t\t\t\t
      \  const void *vself, float *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1218,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1220,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1221,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1224
    functionName: avro_resolved_reader_get_float_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_long
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_float_long(const avro_value_iface_t *viface,\n\t\t\t\t
      \   const void *vself, float *val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1230,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1232,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1233,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1238,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1240,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1241,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1246,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1248,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1249,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1254,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1226
    functionDepth: 3
    functionLinenumber: 1226
    functionLinenumberEnd: 1257
    functionName: try_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_memoize_set
    - is_avro_float
    - avro_resolved_reader_create
    - is_avro_int64
    - avro_schema_type_name
    - is_avro_int32
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_float(memoize_state_t *state,\n\t  avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1268,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1270,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1272
    functionName: avro_resolved_reader_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_int
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_int(const avro_value_iface_t *viface,\n\t\t\t
      \    const void *vself, int32_t *val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1278,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1280,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1281,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1285,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1274
    functionDepth: 3
    functionLinenumber: 1274
    functionLinenumberEnd: 1288
    functionName: try_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_memoize_set
    - avro_resolved_reader_create
    - avro_schema_type_name
    - is_avro_int32
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_int(memoize_state_t *state,\n\tavro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1299,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1301,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1303
    functionName: avro_resolved_reader_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_long
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_long(const avro_value_iface_t *viface,\n\t\t\t
      \     const void *vself, int64_t *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1311,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1313,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1314,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1317
    functionName: avro_resolved_reader_get_long_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_int
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_long_int(const avro_value_iface_t *viface,\n\t\t\t\t
      \ const void *vself, int64_t *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1323,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1325,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1326,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1331,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1333,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1334,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1339,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1319
    functionDepth: 3
    functionLinenumber: 1319
    functionLinenumberEnd: 1342
    functionName: try_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_memoize_set
    - avro_resolved_reader_create
    - is_avro_int64
    - avro_schema_type_name
    - is_avro_int32
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_long(memoize_state_t *state,\n\t avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1353,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1355,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1357
    functionName: avro_resolved_reader_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - DEBUG
    - avro_value_get_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_null(const avro_value_iface_t *viface,\n\t\t\t
      \     const void *vself)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1363,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1365,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1366,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1370,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1359
    functionDepth: 3
    functionLinenumber: 1359
    functionLinenumberEnd: 1373
    functionName: try_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_memoize_set
    - avro_resolved_reader_create
    - avro_schema_type_name
    - is_avro_null
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_null(memoize_state_t *state,\n\t avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1384,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1386,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1388
    functionName: avro_resolved_reader_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_string
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_string(const avro_value_iface_t *viface,\n\t\t\t\tconst
      void *vself, const char **str, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1394,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1396,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1398
    functionName: avro_resolved_reader_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_string
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_grab_string(const avro_value_iface_t *viface,\n\t\t\t\t
      const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1404,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1406,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1407,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1412,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1400
    functionDepth: 3
    functionLinenumber: 1400
    functionLinenumberEnd: 1415
    functionName: try_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - is_avro_string
    - avro_memoize_set
    - avro_resolved_reader_create
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_string(memoize_state_t *state,\n\t   avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1436,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1441,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1442,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1443,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1432
    functionDepth: 3
    functionLinenumber: 1432
    functionLinenumberEnd: 1447
    functionName: avro_resolved_array_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_reader_calculate_size
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_array_reader_calculate_size(avro_resolved_reader_t
      *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1453,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1454,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1455,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1456,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1449
    functionDepth: 4
    functionLinenumber: 1449
    functionLinenumberEnd: 1458
    functionName: avro_resolved_array_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - container_of
    - free_resolver
    linkageType: ''
    returnType: void
    signature: void avro_resolved_array_reader_free_iface(avro_resolved_reader_t *iface,
      st_table *freeing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1464,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1467,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1470
    functionName: avro_resolved_array_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_raw_array_init
    - DEBUG
    linkageType: ''
    returnType: int
    signature: int avro_resolved_array_reader_init(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1477,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1478,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - child_iface
    - self
    argTypes:
    - avro_resolved_reader_t*
    - avro_resolved_array_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1481
    functionName: avro_resolved_array_reader_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_reader_done
    - avro_raw_array_get_raw
    - avro_raw_array_size
    linkageType: ''
    returnType: void
    signature: "void avro_resolved_array_reader_free_elements(const avro_resolved_reader_t
      *child_iface,\n\t\t\t\t\t avro_resolved_array_value_t *self)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1487,1
    - Dst: avro_resolved_array_reader_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1489,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1483
    functionDepth: 2
    functionLinenumber: 1483
    functionLinenumberEnd: 1491
    functionName: avro_resolved_array_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_array_reader_free_elements
    - avro_raw_array_done
    linkageType: ''
    returnType: void
    signature: void avro_resolved_array_reader_done(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1497,1
    - Dst: avro_resolved_array_reader_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1501,1
    - Dst: avro_raw_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1493
    functionDepth: 2
    functionLinenumber: 1493
    functionLinenumberEnd: 1504
    functionName: avro_resolved_array_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_clear
    - container_of
    - avro_resolved_array_reader_free_elements
    linkageType: ''
    returnType: int
    signature: int avro_resolved_array_reader_reset(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1510,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1513
    functionName: avro_resolved_array_reader_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_array_reader_get_size(const avro_value_iface_t *viface,\n\t\t\t\t
      \   const void *vself, size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1524,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1526,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1534,1
    - Dst: avro_raw_array_ensure_size0
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1534,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1535,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1539,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1539,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1541,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1543,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1547,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1549,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1551
    functionName: avro_resolved_array_reader_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_ensure_size0
    - avro_value_get_by_index
    - check
    - avro_raw_array_size
    - avro_resolved_reader_init
    - DEBUG
    - avro_raw_array_get_raw
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_array_reader_get_by_index(const avro_value_iface_t
      *viface,\n\t\t\t\t\tconst void *vself, size_t index,\n\t\t\t\t\tavro_value_t
      *child, const char **name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1556,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1557,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1570,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1571,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1553
    functionDepth: 2
    functionLinenumber: 1553
    functionLinenumberEnd: 1578
    functionName: avro_resolved_array_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_array_reader_t
    signature: 'avro_resolved_array_reader_t *

      avro_resolved_array_reader_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1588,1
    - Dst: avro_resolved_array_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1599,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1600,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1602,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1603,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1606,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1608,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1609,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1580
    functionDepth: 3
    functionLinenumber: 1580
    functionLinenumberEnd: 1621
    functionName: try_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_memoize_delete
    - avro_resolved_reader_new_memoized
    - avro_prefix_error
    - avro_schema_array_items
    - is_avro_array
    - avro_resolved_array_reader_create
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_array(memoize_state_t *state,\n\t  avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1632,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1634,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1636
    functionName: avro_resolved_reader_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - DEBUG
    - avro_value_get_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_enum(const avro_value_iface_t *viface,\n\t\t\t
      \     const void *vself, int *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1647,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1648,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1649,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1651,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1653,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1654,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1659,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1660,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1638
    functionDepth: 3
    functionLinenumber: 1638
    functionLinenumberEnd: 1663
    functionName: try_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_memoize_set
    - avro_resolved_reader_create
    - avro_schema_name
    - avro_schema_type_name
    - is_avro_enum
    - strcmp
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_enum(memoize_state_t *state,\n\t avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1674,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1676,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1678
    functionName: avro_resolved_reader_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_fixed
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_get_fixed(const avro_value_iface_t *viface,\n\t\t\t
      \      const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1684,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1686,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1680
    functionDepth: 1
    functionLinenumber: 1680
    functionLinenumberEnd: 1688
    functionName: avro_resolved_reader_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - DEBUG
    - avro_value_grab_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_grab_fixed(const avro_value_iface_t *viface,\n\t\t\t\tconst
      void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1698,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1700,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1701,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1706,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1707,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1690
    functionDepth: 3
    functionLinenumber: 1690
    functionLinenumberEnd: 1710
    functionName: try_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_memoize_set
    - avro_resolved_reader_create
    - avro_schema_type_name
    - avro_schema_equal
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_fixed(memoize_state_t *state,\n\t  avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1731,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1736,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1737,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1738,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1727
    functionDepth: 3
    functionLinenumber: 1727
    functionLinenumberEnd: 1742
    functionName: avro_resolved_map_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_reader_calculate_size
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_map_reader_calculate_size(avro_resolved_reader_t
      *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1748,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1749,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1750,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1751,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1744
    functionDepth: 4
    functionLinenumber: 1744
    functionLinenumberEnd: 1753
    functionName: avro_resolved_map_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - container_of
    - free_resolver
    linkageType: ''
    returnType: void
    signature: void avro_resolved_map_reader_free_iface(avro_resolved_reader_t *iface,
      st_table *freeing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1759,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1762,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1755
    functionDepth: 1
    functionLinenumber: 1755
    functionLinenumberEnd: 1765
    functionName: avro_resolved_map_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_raw_array_init
    - DEBUG
    linkageType: ''
    returnType: int
    signature: int avro_resolved_map_reader_init(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1772,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1773,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - child_iface
    - self
    argTypes:
    - avro_resolved_reader_t*
    - avro_resolved_map_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1767
    functionDepth: 1
    functionLinenumber: 1767
    functionLinenumberEnd: 1776
    functionName: avro_resolved_map_reader_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_reader_done
    - avro_raw_array_get_raw
    - avro_raw_array_size
    linkageType: ''
    returnType: void
    signature: "void avro_resolved_map_reader_free_elements(const avro_resolved_reader_t
      *child_iface,\n\t\t\t\t       avro_resolved_map_value_t *self)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1782,1
    - Dst: avro_resolved_map_reader_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1784,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1778
    functionDepth: 2
    functionLinenumber: 1778
    functionLinenumberEnd: 1786
    functionName: avro_resolved_map_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_map_reader_free_elements
    - container_of
    - avro_raw_array_done
    linkageType: ''
    returnType: void
    signature: void avro_resolved_map_reader_done(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1792,1
    - Dst: avro_resolved_map_reader_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1788
    functionDepth: 2
    functionLinenumber: 1788
    functionLinenumberEnd: 1798
    functionName: avro_resolved_map_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_map_reader_free_elements
    - container_of
    linkageType: ''
    returnType: int
    signature: int avro_resolved_map_reader_reset(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1804,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1807
    functionName: avro_resolved_map_reader_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_map_reader_get_size(const avro_value_iface_t *viface,\n\t\t\t\t
      \ const void *vself, size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1816,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1818,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1825,1
    - Dst: avro_raw_array_ensure_size0
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1825,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1826,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1827,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1831,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1833,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1809
    functionDepth: 1
    functionLinenumber: 1809
    functionLinenumberEnd: 1835
    functionName: avro_resolved_map_reader_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_ensure_size0
    - avro_value_get_by_index
    - check
    - avro_raw_array_size
    - DEBUG
    - avro_raw_array_get_raw
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_map_reader_get_by_index(const avro_value_iface_t
      *viface,\n\t\t\t\t      const void *vself, size_t index,\n\t\t\t\t      avro_value_t
      *child, const char **name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1844,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1846,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1859,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1860,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1860,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1867,1
    - Dst: avro_raw_array_ensure_size0
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1867,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1868,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1869,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1881
    functionName: avro_resolved_map_reader_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_ensure_size0
    - check
    - avro_value_get_by_name
    - avro_raw_array_size
    - DEBUG
    - avro_raw_array_get_raw
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_map_reader_get_by_name(const avro_value_iface_t
      *viface,\n\t\t\t\t     const void *vself, const char *name,\n\t\t\t\t     avro_value_t
      *child, size_t *index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1886,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1887,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1901,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1902,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1883
    functionDepth: 2
    functionLinenumber: 1883
    functionLinenumberEnd: 1909
    functionName: avro_resolved_map_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_map_reader_t
    signature: 'avro_resolved_map_reader_t *

      avro_resolved_map_reader_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1919,1
    - Dst: avro_resolved_map_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1930,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1931,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1933,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1934,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1937,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1939,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1940,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1911
    functionDepth: 3
    functionLinenumber: 1911
    functionLinenumberEnd: 1952
    functionName: try_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_schema_map_values
    - avro_memoize_delete
    - avro_resolved_reader_new_memoized
    - is_avro_map
    - avro_prefix_error
    - avro_resolved_map_reader_create
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_map(memoize_state_t *state,\n\tavro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iface
    - ','
    - rec
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1976
    functionName: avro_resolved_record_field
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_record_field(iface, rec, index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1982,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1987,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1988,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1989,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2001,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2005,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2008,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1978
    functionDepth: 3
    functionLinenumber: 1978
    functionLinenumberEnd: 2014
    functionName: avro_resolved_record_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_reader_calculate_size
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_record_reader_calculate_size(avro_resolved_reader_t
      *iface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2021,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2024,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2032,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2034,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2037,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2042,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2046,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2047,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2048,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2017
    functionDepth: 4
    functionLinenumber: 2017
    functionLinenumberEnd: 2049
    functionName: avro_resolved_record_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - free_resolver
    - avro_free
    - DEBUG
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_resolved_record_reader_free_iface(avro_resolved_reader_t
      *iface, st_table *freeing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2056,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2063,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2063,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2051
    functionDepth: 1
    functionLinenumber: 2051
    functionLinenumberEnd: 2070
    functionName: avro_resolved_record_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - container_of
    - avro_resolved_reader_init
    - avro_resolved_record_field
    linkageType: ''
    returnType: int
    signature: int avro_resolved_record_reader_init(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2076,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2083,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2072
    functionDepth: 1
    functionLinenumber: 2072
    functionLinenumberEnd: 2088
    functionName: avro_resolved_record_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_reader_done
    - container_of
    - avro_resolved_record_field
    linkageType: ''
    returnType: void
    signature: void avro_resolved_record_reader_done(const avro_resolved_reader_t
      *iface, void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2095,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2102,1
    - Dst: avro_resolved_reader_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2102,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2090
    functionDepth: 1
    functionLinenumber: 2090
    functionLinenumberEnd: 2109
    functionName: avro_resolved_record_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - container_of
    - avro_resolved_reader_reset_wrappers
    - avro_resolved_record_field
    linkageType: ''
    returnType: int
    signature: int avro_resolved_record_reader_reset(const avro_resolved_reader_t
      *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2115,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2117,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2111
    functionDepth: 1
    functionLinenumber: 2111
    functionLinenumberEnd: 2122
    functionName: avro_resolved_record_reader_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_record_reader_get_size(const avro_value_iface_t
      *viface,\n\t\t\t\t     const void *vself, size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2130,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2132,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2135,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2141,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2142,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2147,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2149,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2124
    functionDepth: 1
    functionLinenumber: 2124
    functionLinenumberEnd: 2151
    functionName: avro_resolved_record_reader_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_value_get_by_index
    - DEBUG
    - avro_resolved_record_field
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_record_reader_get_by_index(const avro_value_iface_t
      *viface,\n\t\t\t\t\t const void *vself, size_t index,\n\t\t\t\t\t avro_value_t
      *child, const char **name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2159,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2161,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2163,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2167,1
    - Dst: avro_resolved_record_reader_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2153
    functionDepth: 3
    functionLinenumber: 2153
    functionLinenumberEnd: 2172
    functionName: avro_resolved_record_reader_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - DEBUG
    - avro_resolved_record_reader_get_by_index
    - avro_schema_record_field_get_index
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_record_reader_get_by_name(const avro_value_iface_t
      *viface,\n\t\t\t\t\tconst void *vself, const char *name,\n\t\t\t\t\tavro_value_t
      *child, size_t *index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2177,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2178,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2192,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2193,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2174
    functionDepth: 2
    functionLinenumber: 2174
    functionLinenumberEnd: 2200
    functionName: avro_resolved_record_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_record_reader_t
    signature: 'avro_resolved_record_reader_t *

      avro_resolved_record_reader_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2211,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2215,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2216,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2218,1
    - Dst: avro_resolved_record_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2242,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2243,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2245,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2247,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2250,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2251,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2252,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2257,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2259,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2261,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2267,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2276,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2277,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2288,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2290,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2293,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2301,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2323,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2324,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2330,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2335,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2336,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2339
      start: 2202
    functionDepth: 3
    functionLinenumber: 2202
    functionLinenumberEnd: 2339
    functionName: try_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_record_reader_create
    - is_avro_record
    - avro_set_error
    - avro_memoize_set
    - avro_calloc
    - avro_schema_record_field_get_by_index
    - avro_value_iface_decref
    - avro_schema_record_size
    - avro_memoize_delete
    - avro_resolved_reader_new_memoized
    - avro_schema_name
    - avro_prefix_error
    - avro_free
    - DEBUG
    - avro_schema_record_field_get_index
    - avro_schema_record_field_name
    - strcmp
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_record(memoize_state_t *state,\n\t   avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _wunion
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2379
    functionName: avro_resolved_wunion_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_wunion_branch(_wunion)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2385,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2390,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2391,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2392,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2398,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2400,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2404,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2411,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2381
    functionDepth: 3
    functionLinenumber: 2381
    functionLinenumberEnd: 2415
    functionName: avro_resolved_wunion_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_reader_calculate_size
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_wunion_reader_calculate_size(avro_resolved_reader_t
      *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2422,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2428,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2431,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2435,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2436,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2418
    functionDepth: 4
    functionLinenumber: 2418
    functionLinenumberEnd: 2438
    functionName: avro_resolved_wunion_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - free_resolver
    - avro_free
    - avro_freet
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_resolved_wunion_reader_free_iface(avro_resolved_reader_t
      *iface, st_table *freeing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2440
    functionDepth: 1
    functionLinenumber: 2440
    functionLinenumberEnd: 2447
    functionName: avro_resolved_wunion_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_resolved_wunion_reader_init(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2453,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2456,1
    - Dst: avro_resolved_wunion_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2461
    functionName: avro_resolved_wunion_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_wunion_branch
    - avro_resolved_reader_done
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_resolved_wunion_reader_done(const avro_resolved_reader_t
      *iface, void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2467,1
    - Dst: avro_resolved_reader_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2473,1
    - Dst: avro_resolved_wunion_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2479
    functionName: avro_resolved_wunion_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_wunion_branch
    - container_of
    - avro_resolved_reader_reset_wrappers
    linkageType: ''
    returnType: int
    signature: int avro_resolved_wunion_reader_reset(const avro_resolved_reader_t
      *iface, void *vself)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2487,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2489,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2492,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2492,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2493,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2496,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2502,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2505,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2506,1
    - Dst: avro_resolved_wunion_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2508,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2510,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2511,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2511,1
    - Dst: avro_resolved_wunion_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2513,1
    - Dst: avro_resolved_wunion_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2518,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - viface
    - vself
    - real_src
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2481
    functionDepth: 1
    functionLinenumber: 2481
    functionLinenumberEnd: 2520
    functionName: avro_resolved_wunion_get_real_src
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_wunion_branch
    - avro_set_error
    - avro_value_get_current_branch
    - check
    - avro_value_get_discriminant
    - avro_resolved_reader_done
    - avro_resolved_reader_init
    - DEBUG
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_get_real_src(const avro_value_iface_t *viface,\n\t\t\t\t
      \ const void *vself, avro_value_t *real_src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2528,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2528,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2522
    functionDepth: 2
    functionLinenumber: 2522
    functionLinenumberEnd: 2530
    functionName: avro_resolved_wunion_reader_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_boolean
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_boolean(const avro_value_iface_t
      *viface,\n\t\t\t\t\tconst void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2538,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2538,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2532
    functionDepth: 2
    functionLinenumber: 2532
    functionLinenumberEnd: 2540
    functionName: avro_resolved_wunion_reader_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_bytes
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_bytes(const avro_value_iface_t
      *viface,\n\t\t\t\t      const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2548,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2548,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2542
    functionDepth: 2
    functionLinenumber: 2542
    functionLinenumberEnd: 2550
    functionName: avro_resolved_wunion_reader_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_grab_bytes
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_grab_bytes(const avro_value_iface_t
      *viface,\n\t\t\t\t       const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2558,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2558,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2552
    functionDepth: 2
    functionLinenumber: 2552
    functionLinenumberEnd: 2560
    functionName: avro_resolved_wunion_reader_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_get_double
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_double(const avro_value_iface_t
      *viface,\n\t\t\t\t       const void *vself, double *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2568,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2568,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2562
    functionDepth: 2
    functionLinenumber: 2562
    functionLinenumberEnd: 2570
    functionName: avro_resolved_wunion_reader_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_float
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_float(const avro_value_iface_t
      *viface,\n\t\t\t\t      const void *vself, float *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2578,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2578,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2572
    functionDepth: 2
    functionLinenumber: 2572
    functionLinenumberEnd: 2580
    functionName: avro_resolved_wunion_reader_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_int
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_int(const avro_value_iface_t *viface,\n\t\t\t\t
      \   const void *vself, int32_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2588,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2588,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2582
    functionDepth: 2
    functionLinenumber: 2582
    functionLinenumberEnd: 2590
    functionName: avro_resolved_wunion_reader_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_get_long
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_long(const avro_value_iface_t
      *viface,\n\t\t\t\t     const void *vself, int64_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2598,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2598,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2592
    functionDepth: 2
    functionLinenumber: 2592
    functionLinenumberEnd: 2600
    functionName: avro_resolved_wunion_reader_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_get_null
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_null(const avro_value_iface_t
      *viface,\n\t\t\t\t     const void *vself)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2608,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2608,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - viface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2602
    functionDepth: 2
    functionLinenumber: 2602
    functionLinenumberEnd: 2610
    functionName: avro_resolved_wunion_reader_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_string
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_string(const avro_value_iface_t
      *viface,\n\t\t\t\t       const void *vself, const char **str, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2618,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2618,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2612
    functionDepth: 2
    functionLinenumber: 2612
    functionLinenumberEnd: 2620
    functionName: avro_resolved_wunion_reader_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_grab_string
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_grab_string(const avro_value_iface_t
      *viface,\n\t\t\t\t\tconst void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2628,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2628,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2622
    functionDepth: 2
    functionLinenumber: 2622
    functionLinenumberEnd: 2630
    functionName: avro_resolved_wunion_reader_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_get_enum
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_enum(const avro_value_iface_t
      *viface,\n\t\t\t\t     const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2638,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2638,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2632
    functionDepth: 2
    functionLinenumber: 2632
    functionLinenumberEnd: 2640
    functionName: avro_resolved_wunion_reader_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_fixed
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_fixed(const avro_value_iface_t
      *viface,\n\t\t\t\t      const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2648,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2648,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2650
      start: 2642
    functionDepth: 2
    functionLinenumber: 2642
    functionLinenumberEnd: 2650
    functionName: avro_resolved_wunion_reader_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_grab_fixed
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_grab_fixed(const avro_value_iface_t
      *viface,\n\t\t\t\t       const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2658,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2658,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2652
    functionDepth: 2
    functionLinenumber: 2652
    functionLinenumberEnd: 2660
    functionName: avro_resolved_wunion_reader_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_set_boolean
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_boolean(const avro_value_iface_t
      *viface,\n\t\t\t\t\tvoid *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2668,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2668,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2662
    functionDepth: 2
    functionLinenumber: 2662
    functionLinenumberEnd: 2670
    functionName: avro_resolved_wunion_reader_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_set_bytes
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_bytes(const avro_value_iface_t
      *viface,\n\t\t\t\t      void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2678,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2678,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2672
    functionDepth: 2
    functionLinenumber: 2672
    functionLinenumberEnd: 2680
    functionName: avro_resolved_wunion_reader_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_give_bytes
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_give_bytes(const avro_value_iface_t
      *viface,\n\t\t\t\t       void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2688,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2688,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2682
    functionDepth: 2
    functionLinenumber: 2682
    functionLinenumberEnd: 2690
    functionName: avro_resolved_wunion_reader_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_set_double
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_double(const avro_value_iface_t
      *viface,\n\t\t\t\t       void *vself, double val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2698,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2698,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2692
    functionDepth: 2
    functionLinenumber: 2692
    functionLinenumberEnd: 2700
    functionName: avro_resolved_wunion_reader_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_set_float
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_float(const avro_value_iface_t
      *viface,\n\t\t\t\t      void *vself, float val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2708,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2708,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2702
    functionDepth: 2
    functionLinenumber: 2702
    functionLinenumberEnd: 2710
    functionName: avro_resolved_wunion_reader_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_set_int
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_int(const avro_value_iface_t *viface,\n\t\t\t\t
      \   void *vself, int32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2718,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2718,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2712
    functionDepth: 2
    functionLinenumber: 2712
    functionLinenumberEnd: 2720
    functionName: avro_resolved_wunion_reader_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_set_long
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_long(const avro_value_iface_t
      *viface,\n\t\t\t\t     void *vself, int64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2728,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2728,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2722
    functionDepth: 2
    functionLinenumber: 2722
    functionLinenumberEnd: 2730
    functionName: avro_resolved_wunion_reader_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_set_null
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_null(const avro_value_iface_t
      *viface,\n\t\t\t\t     void *vself)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2738,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2738,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2732
    functionDepth: 2
    functionLinenumber: 2732
    functionLinenumberEnd: 2740
    functionName: avro_resolved_wunion_reader_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_set_string
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_string(const avro_value_iface_t
      *viface,\n\t\t\t\t       void *vself, const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2748,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2748,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - viface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2742
    functionDepth: 2
    functionLinenumber: 2742
    functionLinenumberEnd: 2750
    functionName: avro_resolved_wunion_reader_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_set_string_len
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_string_len(const avro_value_iface_t
      *viface,\n\t\t\t\t\t   void *vself, const char *str, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2758,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2758,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2752
    functionDepth: 2
    functionLinenumber: 2752
    functionLinenumberEnd: 2760
    functionName: avro_resolved_wunion_reader_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_give_string_len
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_give_string_len(const avro_value_iface_t
      *viface,\n\t\t\t\t\t    void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2768,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2768,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2762
    functionDepth: 2
    functionLinenumber: 2762
    functionLinenumberEnd: 2770
    functionName: avro_resolved_wunion_reader_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_set_enum
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_enum(const avro_value_iface_t
      *viface,\n\t\t\t\t     void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2778,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2778,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2772
    functionDepth: 2
    functionLinenumber: 2772
    functionLinenumberEnd: 2780
    functionName: avro_resolved_wunion_reader_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_set_fixed
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_fixed(const avro_value_iface_t
      *viface,\n\t\t\t\t      void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2788,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2788,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2782
    functionDepth: 2
    functionLinenumber: 2782
    functionLinenumberEnd: 2790
    functionName: avro_resolved_wunion_reader_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_give_fixed
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_give_fixed(const avro_value_iface_t
      *viface,\n\t\t\t\t       void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2798,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2798,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2792
    functionDepth: 2
    functionLinenumber: 2792
    functionLinenumberEnd: 2800
    functionName: avro_resolved_wunion_reader_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_size
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_size(const avro_value_iface_t
      *viface,\n\t\t\t\t     const void *vself, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2809,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2809,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2802
    functionDepth: 2
    functionLinenumber: 2802
    functionLinenumberEnd: 2811
    functionName: avro_resolved_wunion_reader_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_by_index(const avro_value_iface_t
      *viface,\n\t\t\t\t\t const void *vself, size_t index,\n\t\t\t\t\t avro_value_t
      *child, const char **name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2820,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2820,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2813
    functionDepth: 2
    functionLinenumber: 2813
    functionLinenumberEnd: 2822
    functionName: avro_resolved_wunion_reader_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_by_name
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_by_name(const avro_value_iface_t
      *viface,\n\t\t\t\t\tconst void *vself, const char *name,\n\t\t\t\t\tavro_value_t
      *child, size_t *index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2830,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2830,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2824
    functionDepth: 2
    functionLinenumber: 2824
    functionLinenumberEnd: 2832
    functionName: avro_resolved_wunion_reader_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_discriminant
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_discriminant(const avro_value_iface_t
      *viface,\n\t\t\t\t\t     const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2840,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2840,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2834
    functionDepth: 2
    functionLinenumber: 2834
    functionLinenumberEnd: 2842
    functionName: avro_resolved_wunion_reader_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_get_current_branch
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_get_current_branch(const avro_value_iface_t
      *viface,\n\t\t\t\t\t       const void *vself, avro_value_t *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2851,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2851,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - viface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2844
    functionDepth: 2
    functionLinenumber: 2844
    functionLinenumberEnd: 2853
    functionName: avro_resolved_wunion_reader_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_wunion_get_real_src
    - avro_value_append
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_append(const avro_value_iface_t *viface,\n\t\t\t\t
      \  void *vself, avro_value_t *child_out,\n\t\t\t\t   size_t *new_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2862,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2862,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - viface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2855
    functionDepth: 2
    functionLinenumber: 2855
    functionLinenumberEnd: 2864
    functionName: avro_resolved_wunion_reader_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_add
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_add(const avro_value_iface_t *viface,\n\t\t\t\tvoid
      *vself, const char *key,\n\t\t\t\tavro_value_t *child, size_t *index, int *is_new)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2873,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2873,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - viface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2866
    functionDepth: 2
    functionLinenumber: 2866
    functionLinenumberEnd: 2875
    functionName: avro_resolved_wunion_reader_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_set_branch
    - avro_resolved_wunion_get_real_src
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_wunion_reader_set_branch(const avro_value_iface_t
      *viface,\n\t\t\t\t       void *vself, int discriminant,\n\t\t\t\t       avro_value_t
      *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2880,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2881,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2931,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2932,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2877
    functionDepth: 2
    functionLinenumber: 2877
    functionLinenumberEnd: 2939
    functionName: avro_resolved_wunion_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_wunion_reader_t
    signature: 'avro_resolved_wunion_reader_t *

      avro_resolved_wunion_reader_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2952,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2953,1
    - Dst: avro_resolved_wunion_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2956,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2957,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2960,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2966,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2968,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2969,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2979,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2981,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2983,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2993,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2994,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2996,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3009,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3010,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3016,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3021,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3023
      start: 2941
    functionDepth: 3
    functionLinenumber: 2941
    functionLinenumberEnd: 3023
    functionName: try_writer_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_value_iface_decref
    - avro_calloc
    - avro_memoize_set
    - avro_schema_union_branch
    - avro_schema_union_size
    - avro_memoize_delete
    - avro_resolved_reader_new_memoized
    - avro_free
    - avro_resolved_wunion_reader_create
    - DEBUG
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_writer_union(memoize_state_t *state,\n\t\t
      avro_schema_t wschema, avro_schema_t rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3053,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3058,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3059,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3060,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3064
      start: 3049
    functionDepth: 3
    functionLinenumber: 3049
    functionLinenumberEnd: 3064
    functionName: avro_resolved_runion_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_reader_calculate_size
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_runion_reader_calculate_size(avro_resolved_reader_t
      *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3071,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3074,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3077,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3078,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3067
    functionDepth: 4
    functionLinenumber: 3067
    functionLinenumberEnd: 3080
    functionName: avro_resolved_runion_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - container_of
    - free_resolver
    linkageType: ''
    returnType: void
    signature: void avro_resolved_runion_reader_free_iface(avro_resolved_reader_t
      *iface, st_table *freeing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3086,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3082
    functionDepth: 1
    functionLinenumber: 3082
    functionLinenumberEnd: 3088
    functionName: avro_resolved_runion_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_reader_init
    linkageType: ''
    returnType: int
    signature: int avro_resolved_runion_reader_init(const avro_resolved_reader_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3094,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3096
      start: 3090
    functionDepth: 1
    functionLinenumber: 3090
    functionLinenumberEnd: 3096
    functionName: avro_resolved_runion_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_resolved_reader_done
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_resolved_runion_reader_done(const avro_resolved_reader_t
      *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3102,1
    - Dst: avro_resolved_reader_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3098
    functionDepth: 1
    functionLinenumber: 3098
    functionLinenumberEnd: 3104
    functionName: avro_resolved_runion_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_reader_reset_wrappers
    linkageType: ''
    returnType: int
    signature: int avro_resolved_runion_reader_reset(const avro_resolved_reader_t
      *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3110,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3112,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3114,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3118
      start: 3106
    functionDepth: 1
    functionLinenumber: 3106
    functionLinenumberEnd: 3118
    functionName: avro_resolved_runion_reader_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_runion_reader_get_discriminant(const avro_value_iface_t
      *viface,\n\t\t\t\t\t     const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3125,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3127,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - viface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3132
    functionName: avro_resolved_runion_reader_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - container_of
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_runion_reader_get_current_branch(const avro_value_iface_t
      *viface,\n\t\t\t\t\t       const void *vself, avro_value_t *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3137,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3138,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3151,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3152,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3134
    functionDepth: 2
    functionLinenumber: 3134
    functionLinenumberEnd: 3159
    functionName: avro_resolved_runion_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_runion_reader_t
    signature: 'avro_resolved_runion_reader_t *

      avro_resolved_runion_reader_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3171,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3172,1
    - Dst: avro_resolved_runion_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3175,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3176,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3181,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3183,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3184,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3194,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3196,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3198,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3208,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3209,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3211,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3219,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3222
      start: 3161
    functionDepth: 3
    functionLinenumber: 3161
    functionLinenumberEnd: 3222
    functionName: try_reader_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_value_iface_decref
    - avro_memoize_set
    - DEBUG
    - avro_schema_union_size
    - avro_memoize_delete
    - avro_resolved_reader_new_memoized
    - avro_schema_type_name
    - avro_schema_union_branch
    - avro_resolved_runion_reader_create
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\ntry_reader_union(memoize_state_t *state,\n\t\t
      avro_schema_t wschema, avro_schema_t rschema)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3233,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3233,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3234,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3234,1
    - Dst: avro_memoize_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3242,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3243,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3244,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3245,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3246,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3247,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3248,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3249,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3252,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3253,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3254,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3255,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3256,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3257,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3258,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3266,1
    - Dst: try_writer_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3267,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3270,1
    - Dst: try_wlink
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3271,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3279,1
    - Dst: try_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3282,1
    - Dst: try_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3285,1
    - Dst: try_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3288,1
    - Dst: try_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3291,1
    - Dst: try_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3294,1
    - Dst: try_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3297,1
    - Dst: try_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3300,1
    - Dst: try_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3303,1
    - Dst: try_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3306,1
    - Dst: try_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3309,1
    - Dst: try_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3312,1
    - Dst: try_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3315,1
    - Dst: try_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3318,1
    - Dst: try_reader_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3321,1
    - Dst: try_rlink
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3324,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3332
      start: 3229
    functionDepth: 4
    functionLinenumber: 3229
    functionLinenumberEnd: 3332
    functionName: avro_resolved_reader_new_memoized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 7
    functionsReached:
    - try_map
    - avro_set_error
    - is_avro_link
    - is_avro_union
    - try_string
    - avro_schema_type_name
    - try_writer_union
    - avro_memoize_get
    - try_array
    - try_double
    - try_fixed
    - try_float
    - avro_typeof
    - try_null
    - try_int
    - try_rlink
    - try_record
    - try_boolean
    - check_param
    - try_wlink
    - try_bytes
    - try_long
    - try_reader_union
    - is_avro_schema
    - DEBUG
    - try_enum
    linkageType: ''
    returnType: avro_resolved_reader_t
    signature: "avro_resolved_reader_t *\navro_resolved_reader_new_memoized(memoize_state_t
      *state,\n\t\t\t\t  avro_schema_t wschema, avro_schema_t rschema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_memoize_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3344,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3352,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3354,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3363,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3366,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3377
      start: 3335
    functionDepth: 5
    functionLinenumber: 3335
    functionLinenumberEnd: 3377
    functionName: avro_resolved_reader_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: 3
    functionsReached:
    - avro_resolved_reader_new_memoized
    - avro_memoize_init
    - avro_resolved_reader_calculate_size
    - avro_memoize_done
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_resolved_reader_new(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_consumer_t*::free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consumer.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - consumer
    argTypes:
    - avro_consumer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: avro_consumer_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consumer.c
    functionUses: 4
    functionsReached:
    - avro_consumer_t*::free
    linkageType: ''
    returnType: void
    signature: void avro_consumer_free(avro_consumer_t *consumer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - writer
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: AVRO_WRITE
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVRO_WRITE(writer, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - reader
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: AVRO_READ
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVRO_READ(reader, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reader
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: AVRO_SKIP
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVRO_SKIP(reader, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: avro_datum_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_datum_class(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value
    - src
    argTypes:
    - avro_value_t*
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: avro_datum_as_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 2
    functionsReached:
    - avro_datum_incref
    linkageType: ''
    returnType: int
    signature: int avro_datum_as_value(avro_value_t *value, avro_datum_t src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value
    - src
    argTypes:
    - avro_value_t*
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: avro_datum_as_child_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int avro_datum_as_child_value(avro_value_t *value, avro_datum_t src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: avro_datum_value_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_datum_incref
    linkageType: ''
    returnType: void
    signature: void avro_datum_value_incref(avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: avro_datum_value_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_datum_decref
    linkageType: ''
    returnType: void
    signature: void avro_datum_value_decref(avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:72,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:74,1
    - Dst: avro_datum_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: avro_datum_value_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_datum_reset
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_datum_value_reset(const avro_value_iface_t *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:81,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:95,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: avro_datum_value_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_typeof
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_datum_value_get_type(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:102,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:104,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: avro_datum_value_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_datum_get_schema
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_datum_value_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:113,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:115,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:119,1
    - Dst: avro_boolean_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: avro_datum_value_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check
    - check_param
    - avro_boolean_get
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_boolean(const avro_value_iface_t *iface,\n\t\t\t
      \    const void *vself, int *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:128,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:130,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:135,1
    - Dst: avro_bytes_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: avro_datum_value_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check
    - avro_bytes_get
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_bytes(const avro_value_iface_t *iface,\n\t\t\t
      \  const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:149,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:151,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:156,1
    - Dst: avro_bytes_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:156,1
    - Dst: avro_wrapped_buffer_new_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: avro_datum_value_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check
    - avro_bytes_get
    - avro_wrapped_buffer_new_copy
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_grab_bytes(const avro_value_iface_t *iface,\n\t\t\t
      \   const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:166,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:168,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:172,1
    - Dst: avro_double_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: avro_datum_value_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check
    - avro_double_get
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_double(const avro_value_iface_t *iface,\n\t\t\t
      \   const void *vself, double *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:181,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:183,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:187,1
    - Dst: avro_float_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: avro_datum_value_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check
    - check_param
    - avro_float_get
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_float(const avro_value_iface_t *iface,\n\t\t\t
      \  const void *vself, float *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:196,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:198,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:202,1
    - Dst: avro_int32_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: avro_datum_value_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check
    - avro_int32_get
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_int(const avro_value_iface_t *iface,\n\t\t\t
      const void *vself, int32_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:211,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:213,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:217,1
    - Dst: avro_int64_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: avro_datum_value_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check
    - avro_int64_get
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_long(const avro_value_iface_t *iface,\n\t\t\t
      \ const void *vself, int64_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:226,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:228,1
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: avro_datum_value_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - is_avro_null
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_null(const avro_value_iface_t *iface,\n\t\t\t
      \ const void *vself)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:236,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:238,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:242,1
    - Dst: avro_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:242,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: avro_datum_value_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - strlen
    - check
    - avro_string_get
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_string(const avro_value_iface_t *iface,\n\t\t\t
      \   const void *vself, const char **str, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:256,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:258,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:263,1
    - Dst: avro_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:263,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:264,1
    - Dst: avro_wrapped_buffer_new_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: avro_datum_value_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - strlen
    - check
    - avro_string_get
    - check_param
    - avro_wrapped_buffer_new_copy
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_grab_string(const avro_value_iface_t *iface,\n\t\t\t
      \    const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:275,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:277,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:277,1
    - Dst: avro_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: avro_datum_value_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_enum_get
    - is_avro_enum
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_enum(const avro_value_iface_t *iface,\n\t\t\t
      \ const void *vself, int *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:286,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:288,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:293,1
    - Dst: avro_fixed_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 301
    functionName: avro_datum_value_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check
    - avro_fixed_get
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_fixed(const avro_value_iface_t *iface,\n\t\t\t
      \  const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:307,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:309,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:314,1
    - Dst: avro_fixed_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:314,1
    - Dst: avro_wrapped_buffer_new_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 318
    functionName: avro_datum_value_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check
    - avro_fixed_get
    - avro_wrapped_buffer_new_copy
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_grab_fixed(const avro_value_iface_t *iface,\n\t\t\t
      \   const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:325,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:327,1
    - Dst: avro_boolean_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: avro_datum_value_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_boolean_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_boolean(const avro_value_iface_t *iface,\n\t\t\t
      \    void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:335,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:337,1
    - Dst: avro_bytes_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: avro_datum_value_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_bytes_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_bytes(const avro_value_iface_t *iface,\n\t\t\t
      \  void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:351,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 355
    functionName: avro_datum_value_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_datum_value_set_bytes
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_give_bytes(const avro_value_iface_t *iface,\n\t\t\t
      \   void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:361,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:363,1
    - Dst: avro_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: avro_datum_value_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_double_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_double(const avro_value_iface_t *iface,\n\t\t\t
      \   void *vself, double val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:371,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:373,1
    - Dst: avro_float_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: avro_datum_value_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check_param
    - avro_float_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_float(const avro_value_iface_t *iface,\n\t\t\t
      \  void *vself, float val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:381,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:383,1
    - Dst: avro_int32_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: avro_datum_value_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_int32_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_int(const avro_value_iface_t *iface,\n\t\t\t
      void *vself, int32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:391,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:393,1
    - Dst: avro_int64_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 395
    functionName: avro_datum_value_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check_param
    - avro_int64_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_long(const avro_value_iface_t *iface,\n\t\t\t
      \ void *vself, int64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:400,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:402,1
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: avro_datum_value_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - is_avro_null
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_datum_value_set_null(const avro_value_iface_t *iface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:410,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:412,1
    - Dst: avro_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: avro_datum_value_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check_param
    - avro_string_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_string(const avro_value_iface_t *iface,\n\t\t\t
      \   void *vself, const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:420,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:421,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:423,1
    - Dst: avro_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: avro_datum_value_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check_param
    - avro_string_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_string_len(const avro_value_iface_t *iface,\n\t\t\t\tvoid
      *vself, const char *str, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:437,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: avro_datum_value_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_datum_value_set_string_len
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_give_string_len(const avro_value_iface_t *iface,\n\t\t\t\t
      void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:447,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:449,1
    - Dst: avro_enum_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: avro_datum_value_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_enum_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_enum(const avro_value_iface_t *iface,\n\t\t\t
      \ void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:457,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:459,1
    - Dst: avro_fixed_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: avro_datum_value_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - check_param
    - avro_fixed_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_fixed(const avro_value_iface_t *iface,\n\t\t\t
      \  void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:473,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: avro_datum_value_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_datum_value_set_fixed
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_give_fixed(const avro_value_iface_t *iface,\n\t\t\t
      \   void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:484,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:486,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:488,1
    - Dst: avro_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:489,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:493,1
    - Dst: avro_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:494,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:498,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:499,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:500,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:504,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - iface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 506
    functionName: avro_datum_value_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_array_size
    - avro_set_error
    - is_avro_record
    - avro_schema_record_size
    - avro_map_size
    - avro_datum_get_schema
    - is_avro_map
    - check_param
    - is_avro_array
    - avro_typeof
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_size(const avro_value_iface_t *iface,\n\t\t\t
      \ const void *vself, size_t *size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:513,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:515,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:520,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:521,1
    - Dst: avro_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:521,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:522,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:525,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:527,1
    - Dst: avro_map_get_key
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:527,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:531,1
    - Dst: avro_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:531,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:532,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:535,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:536,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:538,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:545,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:545,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:546,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - iface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 508
    functionDepth: 3
    functionLinenumber: 508
    functionLinenumberEnd: 551
    functionName: avro_datum_value_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - is_avro_record
    - check
    - avro_record_get
    - avro_array_get
    - avro_map_get
    - avro_datum_as_child_value
    - avro_map_get_key
    - avro_datum_get_schema
    - is_avro_map
    - check_param
    - is_avro_array
    - avro_schema_record_field_name
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_by_index(const avro_value_iface_t *iface,\n\t\t\t
      \     const void *vself, size_t index,\n\t\t\t      avro_value_t *child, const
      char **name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:558,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:560,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:565,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:568,1
    - Dst: avro_map_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:568,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:572,1
    - Dst: avro_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:572,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:573,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:576,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:578,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:579,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:582,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:582,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:583,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - iface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 588
    functionName: avro_datum_value_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - is_avro_record
    - check
    - avro_record_get
    - avro_map_get
    - avro_datum_as_child_value
    - avro_datum_get_schema
    - is_avro_map
    - check_param
    - avro_map_get_index
    - avro_schema_record_field_get_index
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_by_name(const avro_value_iface_t *iface,\n\t\t\t
      \    const void *vself, const char *name,\n\t\t\t     avro_value_t *child, size_t
      *index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:594,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:596,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:598,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:599,1
    - Dst: avro_union_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 605
    functionName: avro_datum_value_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - is_avro_union
    - check_param
    - avro_union_discriminant
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_discriminant(const avro_value_iface_t *iface,\n\t\t\t\t
      \ const void *vself, int *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:611,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:613,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:615,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:616,1
    - Dst: avro_union_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:620,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - iface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 622
    functionName: avro_datum_value_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_union_current_branch
    - avro_set_error
    - is_avro_union
    - avro_datum_as_child_value
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_get_current_branch(const avro_value_iface_t *iface,\n\t\t\t\t
      \   const void *vself, avro_value_t *branch)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:629,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:631,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:633,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:634,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:640,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:641,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:642,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:647,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:648,1
    - Dst: avro_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:654,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - iface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 657
    functionName: avro_datum_value_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_array_size
    - avro_set_error
    - avro_datum_as_child_value
    - avro_datum_get_schema
    - avro_datum_from_schema
    - check_param
    - avro_schema_array_items
    - is_avro_array
    - avro_datum_decref
    - avro_array_append_datum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_append(const avro_value_iface_t *iface,\n\t\t\tvoid
      *vself, avro_value_t *child_out, size_t *new_index)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:664,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:666,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:668,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:669,1
    - Dst: avro_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:676,1
    - Dst: avro_map_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:683,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:686,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:690,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:691,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:692,1
    - Dst: avro_map_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:697,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:698,1
    - Dst: avro_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:707,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:710,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 6
    argNames:
    - iface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 711
    functionName: avro_datum_value_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_map_size
    - avro_map_get
    - avro_datum_as_child_value
    - avro_schema_map_values
    - avro_datum_get_schema
    - avro_datum_from_schema
    - is_avro_map
    - check_param
    - avro_map_get_index
    - avro_datum_decref
    - avro_map_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_add(const avro_value_iface_t *iface,\n\t\t     void
      *vself, const char *key,\n\t\t     avro_value_t *child, size_t *index, int *is_new)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:718,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:720,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:722,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:723,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:729,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:729,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - iface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 731
    functionName: avro_datum_value_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - check
    - is_avro_union
    - avro_union_set_discriminant
    - avro_datum_as_child_value
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_datum_value_set_branch(const avro_value_iface_t *iface,\n\t\t\t
      \   void *vself, int discriminant,\n\t\t\t    avro_value_t *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gcls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: avro_value_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro_generic_internal.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_instance_size(gcls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gcls
    - ','
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: avro_value_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro_generic_internal.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_init(gcls, self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gcls
    - ','
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: avro_value_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro_generic_internal.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_done(gcls, self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:45,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:46,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:47,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:63,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - src
    - src_len
    - dest
    - dest_len
    argTypes:
    - void*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 85
    functionName: encode_utf8_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - check_param
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: "int encode_utf8_bytes(const void *src, size_t src_len,\n\t\t  void
      **dest, size_t *dest_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: return_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_json(type, exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - retval
    - ','
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: check_return
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_return(retval, call)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:108,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:112,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:112,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:113,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:114,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:114,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:124,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:124,1
    - Dst: encode_utf8_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:126,1
    - Dst: json_string_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:130,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:131,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:133,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:141,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:141,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:142,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:142,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:148,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:148,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:149,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:149,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:155,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:155,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:156,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:156,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:162,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:162,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:163,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:163,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:168,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:168,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:169,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:169,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:176,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:176,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:177,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:177,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:184,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:186,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:190,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:192,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:198,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:200,1
    - Dst: avro_value_to_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:204,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:206,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:210,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:211,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:212,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:226,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:226,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:227,1
    - Dst: avro_schema_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:228,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:229,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:229,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:239,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:239,1
    - Dst: encode_utf8_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:241,1
    - Dst: json_string_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:245,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:246,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:248,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:257,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:259,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:263,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:265,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:273,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:275,1
    - Dst: avro_value_to_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:279,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:281,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:285,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:286,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:287,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:299,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:301,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:305,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:307,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:315,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:317,1
    - Dst: avro_value_to_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:321,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:323,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:327,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:328,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:329,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:345,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:345,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:347,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:348,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:348,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:351,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:351,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:352,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:354,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:355,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:357,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:359,1
    - Dst: avro_value_to_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:363,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:365,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:369,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:370,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:371,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 169
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 381
    functionName: avro_value_to_json_t
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_value_get_size
    - json_array_append_new
    - avro_value_get_double
    - json_real
    - avro_value_get_discriminant
    - avro_schema_type_name
    - json_string
    - avro_value_get_schema
    - json_array
    - avro_value_get_string
    - avro_free
    - return_json
    - avro_value_get_current_branch
    - avro_schema_union_branch
    - avro_value_get_bytes
    - check_return
    - json_true
    - json_object
    - json_object_set_new
    - avro_value_get_enum
    - json_false
    - json_null
    - json_decref
    - avro_value_get_type
    - avro_value_get_int
    - avro_value_get_null
    - avro_value_get_by_index
    - avro_value_get_long
    - avro_value_to_json_t
    - avro_schema_enum_get
    - json_integer
    - avro_value_get_boolean
    - encode_utf8_bytes
    - json_string_nocheck
    linkageType: ''
    returnType: json_t
    signature: 'json_t *

      avro_value_to_json_t(const avro_value_t *value)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:387,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:388,1
    - Dst: avro_value_to_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:390,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:400,1
    - Dst: JSON_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:403,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - value
    - one_line
    - json_str
    argTypes:
    - avro_value_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 383
    functionDepth: 6
    functionLinenumber: 383
    functionLinenumberEnd: 408
    functionName: avro_value_to_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c
    functionUses: 3
    functionsReached:
    - json_dumps
    - avro_value_to_json_t
    - check_param
    - json_decref
    - JSON_INDENT
    linkageType: ''
    returnType: int
    signature: "int avro_value_to_json(const avro_value_t *value,\n\t\t   int one_line,
      char **json_str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_as_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:415,1
    - Dst: avro_value_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - datum
    - one_line
    - json_str
    argTypes:
    - avro_datum_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 7
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: avro_datum_to_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c
    functionUses: 1
    functionsReached:
    - avro_value_to_json
    - avro_datum_as_value
    linkageType: ''
    returnType: int
    signature: "int avro_datum_to_json(const avro_datum_t datum,\n\t\t   int one_line,
      char **json_str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - datum
    - type
    argTypes:
    - avro_datum_t
    - avro_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: avro_datum_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_refcount_set
    linkageType: ''
    returnType: void
    signature: void avro_datum_init(avro_datum_t datum, avro_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:45,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: avro_str_free_wrapper
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_str_free
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_str_free_wrapper(void *ptr, size_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:53,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:55,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - str
    - size
    - string_free
    argTypes:
    - char*
    - int64_t
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: avro_string_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_new
    - avro_datum_init
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_string_private(char *str, int64_t size,\n\t\t\t\t\tavro_free_func_t
      string_free)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:68,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:70,1
    - Dst: avro_string_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:73,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: avro_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 4
    functionsReached:
    - avro_set_error
    - avro_strdup
    - avro_string_private
    - avro_str_free
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_string(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:84,1
    - Dst: avro_string_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - free
    argTypes:
    - char*
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: avro_givestring
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 5
    functionsReached:
    - strlen
    - avro_string_private
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_givestring(const char *str,\n\t\t\t     avro_free_func_t
      free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:90,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:90,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:91,1
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:91,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:92,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - datum
    - p
    argTypes:
    - avro_datum_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: avro_string_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - is_avro_datum
    - check_param
    - is_avro_string
    - avro_datum_to_string
    linkageType: ''
    returnType: int
    signature: int avro_string_get(avro_datum_t datum, char **p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:102,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:102,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:103,1
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:103,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:104,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:106,1
    - Dst: struct avro_string_datum_t*::free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - datum
    - p
    - size
    - string_free
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: avro_string_set_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - is_avro_string
    - struct avro_string_datum_t*::free
    - avro_datum_to_string
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_string_set_private(avro_datum_t datum,\n\t       \t\t\t   const
      char *p, int64_t size,\n\t\t\t\t   avro_free_func_t string_free)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:118,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:121,1
    - Dst: avro_string_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:124,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - datum
    - p
    argTypes:
    - avro_datum_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: avro_string_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 3
    functionsReached:
    - avro_set_error
    - avro_strdup
    - avro_str_free
    - avro_string_set_private
    linkageType: ''
    returnType: int
    signature: int avro_string_set(avro_datum_t datum, const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:135,1
    - Dst: avro_string_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - datum
    - p
    - free
    argTypes:
    - avro_datum_t
    - char*
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: avro_givestring_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - strlen
    - avro_string_set_private
    linkageType: ''
    returnType: int
    signature: "int avro_givestring_set(avro_datum_t datum, const char *p,\n\t\t\tavro_free_func_t
      free)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:143,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:145,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - bytes
    - size
    - bytes_free
    argTypes:
    - char*
    - int64_t
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: avro_bytes_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_new
    - avro_datum_init
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_bytes_private(char *bytes, int64_t size,\n\t\t\t\t
      \      avro_free_func_t bytes_free)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:158,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:160,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:163,1
    - Dst: avro_bytes_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:165,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: avro_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 5
    functionsReached:
    - avro_set_error
    - avro_bytes_private
    - avro_malloc
    - memcpy
    - avro_free
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_bytes(const char *bytes, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_bytes_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - size
    - free
    argTypes:
    - char*
    - int64_t
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: avro_givebytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_bytes_private
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_givebytes(const char *bytes, int64_t size,\n\t\t\t
      \   avro_free_func_t free)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:182,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:182,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:183,1
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:183,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:185,1
    - Dst: struct avro_bytes_datum_t*::free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - datum
    - bytes
    - size
    - bytes_free
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 194
    functionName: avro_bytes_set_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_datum_to_bytes
    - struct avro_bytes_datum_t*::free
    - check_param
    - is_avro_datum
    - is_avro_bytes
    linkageType: ''
    returnType: int
    signature: "int avro_bytes_set_private(avro_datum_t datum, const char *bytes,\n\t\t\t\t
      \ const int64_t size,\n\t\t\t\t  avro_free_func_t bytes_free)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:199,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:201,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:204,1
    - Dst: avro_bytes_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:205,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - datum
    - bytes
    - size
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: avro_bytes_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - avro_malloc
    - memcpy
    - avro_bytes_set_private
    - avro_free
    linkageType: ''
    returnType: int
    signature: int avro_bytes_set(avro_datum_t datum, const char *bytes, const int64_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_bytes_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - datum
    - bytes
    - size
    - free
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: avro_givebytes_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_bytes_set_private
    linkageType: ''
    returnType: int
    signature: "int avro_givebytes_set(avro_datum_t datum, const char *bytes,\n\t\t
      \      const int64_t size, avro_free_func_t free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:220,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:220,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:221,1
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:221,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:222,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:223,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:225,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - datum
    - bytes
    - size
    argTypes:
    - avro_datum_t
    - char**
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: avro_bytes_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - is_avro_datum
    - avro_datum_to_bytes
    - check_param
    - is_avro_bytes
    linkageType: ''
    returnType: int
    signature: int avro_bytes_get(avro_datum_t datum, char **bytes, int64_t * size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:233,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:235,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: avro_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 14
    functionsReached:
    - avro_set_error
    - avro_new
    - avro_datum_init
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_int32(int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:246,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:246,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:247,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:247,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:248,1
    - Dst: avro_datum_to_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - datum
    - i
    argTypes:
    - avro_datum_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: avro_int32_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - is_avro_datum
    - is_avro_int32
    - check_param
    - avro_datum_to_int32
    linkageType: ''
    returnType: int
    signature: int avro_int32_get(avro_datum_t datum, int32_t * i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:256,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:256,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:257,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:257,1
    - Dst: avro_datum_to_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - datum
    - i
    argTypes:
    - avro_datum_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: avro_int32_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - is_avro_datum
    - is_avro_int32
    - check_param
    - avro_datum_to_int32
    linkageType: ''
    returnType: int
    signature: int avro_int32_set(avro_datum_t datum, const int32_t i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:266,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:268,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - l
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: avro_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 11
    functionsReached:
    - avro_set_error
    - avro_new
    - avro_datum_init
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_int64(int64_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:279,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:279,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:280,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:280,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:281,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - datum
    - l
    argTypes:
    - avro_datum_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: avro_int64_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - is_avro_datum
    - is_avro_int64
    - avro_datum_to_int64
    - check_param
    linkageType: ''
    returnType: int
    signature: int avro_int64_get(avro_datum_t datum, int64_t * l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:289,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:289,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:290,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:290,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - datum
    - l
    argTypes:
    - avro_datum_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: avro_int64_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 3
    functionsReached:
    - is_avro_datum
    - is_avro_int64
    - avro_datum_to_int64
    - check_param
    linkageType: ''
    returnType: int
    signature: int avro_int64_set(avro_datum_t datum, const int64_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:299,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:301,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: avro_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 12
    functionsReached:
    - avro_set_error
    - avro_new
    - avro_datum_init
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_float(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:312,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:312,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:313,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:313,1
    - Dst: avro_datum_to_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - datum
    - f
    argTypes:
    - avro_datum_t
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: avro_float_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 4
    functionsReached:
    - is_avro_float
    - is_avro_datum
    - check_param
    - avro_datum_to_float
    linkageType: ''
    returnType: int
    signature: int avro_float_set(avro_datum_t datum, const float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:321,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:321,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:322,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:322,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:323,1
    - Dst: avro_datum_to_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - datum
    - f
    argTypes:
    - avro_datum_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: avro_float_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 1
    functionsReached:
    - is_avro_float
    - is_avro_datum
    - check_param
    - avro_datum_to_float
    linkageType: ''
    returnType: int
    signature: int avro_float_get(avro_datum_t datum, float *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:332,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:334,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 341
    functionName: avro_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 13
    functionsReached:
    - avro_set_error
    - avro_new
    - avro_datum_init
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_double(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:345,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:345,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:346,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:346,1
    - Dst: avro_datum_to_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - datum
    - d
    argTypes:
    - avro_datum_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: avro_double_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 5
    functionsReached:
    - is_avro_datum
    - avro_datum_to_double
    - check_param
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: int avro_double_set(avro_datum_t datum, const double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:354,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:354,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:355,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:355,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:356,1
    - Dst: avro_datum_to_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - datum
    - d
    argTypes:
    - avro_datum_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: avro_double_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 1
    functionsReached:
    - is_avro_datum
    - avro_datum_to_double
    - check_param
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: int avro_double_get(avro_datum_t datum, double *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:365,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:367,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: avro_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 6
    functionsReached:
    - avro_set_error
    - avro_new
    - avro_datum_init
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_boolean(int8_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:377,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:377,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:378,1
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:378,1
    - Dst: avro_datum_to_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - datum
    - i
    argTypes:
    - avro_datum_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: avro_boolean_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - is_avro_datum
    - avro_datum_to_boolean
    - check_param
    - is_avro_boolean
    linkageType: ''
    returnType: int
    signature: int avro_boolean_set(avro_datum_t datum, const int8_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:386,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:386,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:387,1
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:387,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:388,1
    - Dst: avro_datum_to_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - datum
    - i
    argTypes:
    - avro_datum_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: avro_boolean_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 1
    functionsReached:
    - is_avro_datum
    - avro_datum_to_boolean
    - check_param
    - is_avro_boolean
    linkageType: ''
    returnType: int
    signature: int avro_boolean_get(avro_datum_t datum, int8_t * i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: avro_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 8
    functionsReached:
    - avro_datum_incref
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_null(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:407,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:407,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:410,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:412,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:415,1
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:417,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - schema
    - discriminant
    - value
    argTypes:
    - avro_schema_t
    - int64_t
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 421
    functionName: avro_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 12
    functionsReached:
    - avro_set_error
    - avro_datum_init
    - avro_schema_incref
    - avro_new
    - avro_datum_incref
    - check_param
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_union(avro_schema_t schema,\n\t\t\tint64_t discriminant,
      avro_datum_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: avro_union_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_datum_to_union
    linkageType: ''
    returnType: int64_t
    signature: int64_t avro_union_discriminant(const avro_datum_t datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: avro_union_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_datum_to_union
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_union_current_branch(avro_datum_t datum)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:437,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:437,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:438,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:438,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:440,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:444,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:448,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:456,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - datum
    - discriminant
    - branch
    argTypes:
    - avro_datum_t
    - int
    - avro_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 473
    functionName: avro_union_set_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 4
    functionsReached:
    - avro_set_error
    - avro_datum_to_union
    - is_avro_union
    - avro_datum_from_schema
    - check_param
    - avro_schema_union_branch
    - is_avro_datum
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: "int avro_union_set_discriminant(avro_datum_t datum,\n\t\t\t\tint discriminant,\n\t\t\t\tavro_datum_t
      *branch)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:477,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:477,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:480,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:482,1
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:485,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:487,1
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:491,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:493,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:494,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:499,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 475
    functionDepth: 3
    functionLinenumber: 475
    functionLinenumberEnd: 502
    functionName: avro_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 17
    functionsReached:
    - avro_set_error
    - avro_datum_init
    - avro_schema_incref
    - st_init_strtable_with_size
    - avro_new
    - st_init_numtable_with_size
    - check_param
    - st_free_table
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_record(avro_schema_t schema)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:512,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:512,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:513,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:514,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - datum
    - field_name
    - field
    argTypes:
    - avro_datum_t
    - char*
    - avro_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 522
    functionName: avro_record_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 7
    functionsReached:
    - avro_set_error
    - is_avro_record
    - st_lookup
    - avro_datum_to_record
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_record_get(const avro_datum_t datum, const char *field_name,\n\t\tavro_datum_t
      * field)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:528,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:528,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:529,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:529,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:530,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:535,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:537,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:541,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:542,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:544,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:547,1
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:551,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:552,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - datum
    - field_name
    - field_value
    argTypes:
    - avro_datum_t
    - char*
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 555
    functionName: avro_record_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 5
    functionsReached:
    - avro_set_error
    - is_avro_record
    - st_insert
    - avro_record_get
    - avro_datum_incref
    - check_param
    - avro_datum_to_record
    - is_avro_datum
    - avro_strdup
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: "int avro_record_set(avro_datum_t datum, const char *field_name,\n\t\tconst
      avro_datum_t field_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:559,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:559,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:562,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:564,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:567,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - schema
    - i
    argTypes:
    - avro_schema_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 572
    functionName: avro_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 12
    functionsReached:
    - avro_set_error
    - avro_datum_init
    - avro_schema_incref
    - avro_new
    - check_param
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_enum(avro_schema_t schema, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: avro_enum_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_datum_to_enum
    linkageType: ''
    returnType: int
    signature: int avro_enum_get(const avro_datum_t datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:581,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:582,1
    - Dst: avro_schema_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: avro_enum_get_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 1
    functionsReached:
    - avro_enum_get
    - avro_schema_enum_get
    - avro_datum_to_enum
    linkageType: ''
    returnType: char
    signature: char *avro_enum_get_name(const avro_datum_t datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:588,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:588,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:589,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:589,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - datum
    - symbol_value
    argTypes:
    - avro_datum_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 593
    functionName: avro_enum_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_datum_to_enum
    - is_avro_datum
    - check_param
    - is_avro_enum
    linkageType: ''
    returnType: int
    signature: int avro_enum_set(avro_datum_t datum, const int symbol_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:597,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:597,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:598,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:598,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:599,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:601,1
    - Dst: avro_schema_enum_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:602,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:604,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - datum
    - symbol_name
    argTypes:
    - avro_datum_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 609
    functionName: avro_enum_set_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_schema_enum_get_by_name
    - avro_set_error
    - is_avro_enum
    - avro_datum_to_enum
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: int avro_enum_set_name(avro_datum_t datum, const char *symbol_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:615,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:615,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:616,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:618,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:619,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:625,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:627,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:628,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:631,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - schema
    - bytes
    - size
    - fixed_free
    argTypes:
    - avro_schema_t
    - char*
    - int64_t
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 638
    functionName: avro_fixed_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_datum_init
    - avro_schema_incref
    - avro_new
    - avro_schema_to_fixed
    - check_param
    - avro_free
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_fixed_private(avro_schema_t schema,\n\t\t\t\t       const
      char *bytes, const int64_t size,\n\t\t\t\t       avro_free_func_t fixed_free)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:643,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:645,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:648,1
    - Dst: avro_fixed_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - schema
    - bytes
    - size
    argTypes:
    - avro_schema_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 640
    functionDepth: 3
    functionLinenumber: 640
    functionLinenumberEnd: 650
    functionName: avro_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 6
    functionsReached:
    - avro_fixed_private
    - avro_set_error
    - memcpy
    - avro_malloc
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_fixed(avro_schema_t schema,\n\t\t\tconst char *bytes,
      const int64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_fixed_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - schema
    - bytes
    - size
    - free
    argTypes:
    - avro_schema_t
    - char*
    - int64_t
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 657
    functionName: avro_givefixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_fixed_private
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_givefixed(avro_schema_t schema,\n\t\t\t    const
      char *bytes, const int64_t size,\n\t\t\t    avro_free_func_t free)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:663,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:663,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:664,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:664,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:666,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:667,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:669,1
    - Dst: struct avro_fixed_datum_t*::free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - datum
    - bytes
    - size
    - fixed_free
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 681
    functionName: avro_fixed_set_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - is_avro_fixed
    - avro_schema_to_fixed
    - avro_datum_to_fixed
    - check_param
    - is_avro_datum
    - struct avro_fixed_datum_t*::free
    linkageType: ''
    returnType: int
    signature: "int avro_fixed_set_private(avro_datum_t datum,\n\t\t\t\t  const char
      *bytes, const int64_t size,\n\t\t\t\t  avro_free_func_t fixed_free)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:686,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:688,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:691,1
    - Dst: avro_fixed_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:692,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - datum
    - bytes
    - size
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 697
    functionName: avro_fixed_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - avro_fixed_set_private
    - avro_malloc
    - memcpy
    - avro_free
    linkageType: ''
    returnType: int
    signature: int avro_fixed_set(avro_datum_t datum, const char *bytes, const int64_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_fixed_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - datum
    - bytes
    - size
    - free
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    - avro_free_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 703
    functionName: avro_givefixed_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_fixed_set_private
    linkageType: ''
    returnType: int
    signature: "int avro_givefixed_set(avro_datum_t datum, const char *bytes,\n\t\t
      \      const int64_t size, avro_free_func_t free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:707,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:707,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:708,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:708,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:709,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:710,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:712,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - datum
    - bytes
    - size
    argTypes:
    - avro_datum_t
    - char**
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 715
    functionName: avro_fixed_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - is_avro_datum
    - avro_datum_to_fixed
    - is_avro_fixed
    - check_param
    linkageType: ''
    returnType: int
    signature: int avro_fixed_get(avro_datum_t datum, char **bytes, int64_t * size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:720,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:722,1
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:725,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:727,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:728,1
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:731,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:733,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:734,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - datum
    argTypes:
    - struct avro_map_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 717
    functionDepth: 3
    functionLinenumber: 717
    functionLinenumberEnd: 739
    functionName: avro_init_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - st_init_numtable_with_size
    - st_free_table
    - st_init_strtable_with_size
    linkageType: ''
    returnType: int
    signature: int avro_init_map(struct avro_map_datum_t *datum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:743,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:743,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:746,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:748,1
    - Dst: avro_init_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:752,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:757,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 741
    functionDepth: 4
    functionLinenumber: 741
    functionLinenumberEnd: 760
    functionName: avro_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 12
    functionsReached:
    - avro_set_error
    - avro_datum_init
    - avro_schema_incref
    - avro_new
    - check_param
    - is_avro_schema
    - avro_init_map
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_map(avro_schema_t schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 767
    functionName: avro_map_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_datum_to_map
    linkageType: ''
    returnType: size_t
    signature: size_t avro_map_size(const avro_datum_t datum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:772,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:772,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:773,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:773,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:774,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:775,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:782,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:783,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - datum
    - key
    - value
    argTypes:
    - avro_datum_t
    - char*
    - avro_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 790
    functionName: avro_map_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 4
    functionsReached:
    - avro_set_error
    - avro_datum_to_map
    - is_avro_map
    - st_lookup
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: int avro_map_get(const avro_datum_t datum, const char *key, avro_datum_t
      * value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:795,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:795,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:796,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:796,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:797,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:798,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:805,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:806,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - datum
    - index
    - key
    argTypes:
    - avro_datum_t
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 813
    functionName: avro_map_get_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - avro_datum_to_map
    - is_avro_map
    - st_lookup
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_map_get_key(const avro_datum_t datum, int index,\n\t\t     const
      char **key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:818,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:818,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:819,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:819,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:820,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:821,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:825,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:826,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - datum
    - key
    - index
    argTypes:
    - avro_datum_t
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 833
    functionName: avro_map_get_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 3
    functionsReached:
    - avro_set_error
    - avro_datum_to_map
    - is_avro_map
    - st_lookup
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_map_get_index(const avro_datum_t datum, const char *key,\n\t\t
      \      int *index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:839,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:839,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:840,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:840,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:841,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:842,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:842,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:847,1
    - Dst: avro_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:849,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:851,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:854,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:856,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:860,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:862,1
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:865,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - datum
    - key
    - value
    argTypes:
    - avro_datum_t
    - char*
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 868
    functionName: avro_map_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 3
    functionsReached:
    - avro_set_error
    - st_insert
    - avro_datum_to_map
    - avro_map_get
    - is_avro_map
    - avro_datum_incref
    - check_param
    - is_avro_datum
    - avro_strdup
    - avro_datum_decref
    linkageType: ''
    returnType: int
    signature: "int avro_map_set(avro_datum_t datum, const char *key,\n\t     const
      avro_datum_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:873,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - datum
    argTypes:
    - struct avro_array_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 879
    functionName: avro_init_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - st_init_numtable_with_size
    linkageType: ''
    returnType: int
    signature: int avro_init_array(struct avro_array_datum_t *datum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:883,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:883,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:886,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:888,1
    - Dst: avro_init_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:892,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:897,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 881
    functionDepth: 4
    functionLinenumber: 881
    functionLinenumberEnd: 900
    functionName: avro_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 11
    functionsReached:
    - avro_set_error
    - avro_datum_init
    - avro_schema_incref
    - avro_new
    - avro_init_array
    - check_param
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_array(avro_schema_t schema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:905,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:905,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:906,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:906,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:907,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:914,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:915,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - array_datum
    - index
    - value
    argTypes:
    - avro_datum_t
    - int64_t
    - avro_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 922
    functionName: avro_array_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - avro_datum_to_array
    - st_lookup
    - check_param
    - is_avro_array
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: int avro_array_get(const avro_datum_t array_datum, int64_t index, avro_datum_t
      * value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 929
    functionName: avro_array_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 4
    functionsReached:
    - avro_datum_to_array
    linkageType: ''
    returnType: size_t
    signature: size_t avro_array_size(const avro_datum_t datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:935,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:935,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:936,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:936,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:937,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:937,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:939,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:940,1
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - array_datum
    - datum
    argTypes:
    - avro_datum_t
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 943
    functionName: avro_array_append_datum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 4
    functionsReached:
    - st_insert
    - avro_datum_to_array
    - avro_datum_incref
    - check_param
    - is_avro_array
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_array_append_datum(avro_datum_t array_datum,\n\t\t\tconst
      avro_datum_t datum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:947,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:949,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - datum
    - arg
    argTypes:
    - char*
    - avro_datum_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 952
    functionName: char_datum_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_str_free
    - avro_datum_decref
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int char_datum_free_foreach(char *key, avro_datum_t datum, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:956,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:957,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - i
    - datum
    - arg
    argTypes:
    - int
    - avro_datum_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 961
    functionName: array_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_datum_decref
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int array_free_foreach(int i, avro_datum_t datum, void *arg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:965,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:965,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:967,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:981,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:982,1
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:987,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:988,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:993,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:994,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:999,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1000,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1005,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1006,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1011,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1012,1
    - Dst: avro_schema_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1017,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1018,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1023,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1024,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1029,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1031,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1033,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1035,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1037,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 963
    functionDepth: 4
    functionLinenumber: 963
    functionLinenumberEnd: 1044
    functionName: avro_datum_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 9
    functionsReached:
    - avro_schema_decref
    - avro_schema_double
    - avro_schema_boolean
    - avro_schema_string
    - avro_schema_long
    - avro_schema_bytes
    - avro_datum_to_union
    - avro_datum_to_map
    - avro_schema_null
    - avro_datum_to_array
    - avro_datum_to_fixed
    - check_param
    - avro_schema_int
    - avro_datum_to_enum
    - avro_datum_to_record
    - is_avro_datum
    - avro_typeof
    - avro_schema_float
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_datum_get_schema(const avro_datum_t datum)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1048,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1049,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1052,1
    - Dst: struct avro_string_datum_t*::free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1054,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1061,1
    - Dst: struct avro_bytes_datum_t*::free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1063,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1094,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1095,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1096,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1098,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1099,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1105,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1106,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1112,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1113,1
    - Dst: struct avro_fixed_datum_t*::free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1115,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1123,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1124,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1125,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1127,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1128,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1129,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1135,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1136,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1137,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1138,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1144,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1145,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1146,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 95
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1046
    functionDepth: 4
    functionLinenumber: 1046
    functionLinenumberEnd: 1156
    functionName: avro_datum_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_datum_to_bytes
    - st_foreach
    - avro_datum_to_union
    - avro_datum_to_map
    - struct avro_bytes_datum_t*::free
    - struct avro_string_datum_t*::free
    - avro_datum_to_array
    - avro_datum_to_string
    - avro_datum_to_fixed
    - avro_datum_to_enum
    - st_free_table
    - avro_datum_to_record
    - is_avro_datum
    - avro_typeof
    - avro_datum_decref
    - struct avro_fixed_datum_t*::free
    linkageType: ''
    returnType: void
    signature: void avro_datum_free(avro_datum_t datum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1161,1
    - Dst: avro_datum_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - i
    - datum
    - arg
    argTypes:
    - int
    - avro_datum_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1172
    functionName: datum_reset_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - avro_datum_reset
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int datum_reset_foreach(int i, avro_datum_t datum, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1177,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1177,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1180,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1184,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1185,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1186,1
    - Dst: avro_init_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1188,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1199,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1200,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1201,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1202,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1203,1
    - Dst: avro_init_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1205,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1216,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1218,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1226,1
    - Dst: avro_datum_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1174
    functionDepth: 4
    functionLinenumber: 1174
    functionLinenumberEnd: 1234
    functionName: avro_datum_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 3
    functionsReached:
    - avro_datum_to_union
    - avro_datum_to_map
    - is_avro_datum
    - avro_datum_reset
    - avro_datum_to_array
    - avro_init_array
    - check_param
    - st_free_table
    - avro_init_map
    - st_foreach
    - avro_typeof
    - avro_datum_to_record
    linkageType: ''
    returnType: int
    signature: int avro_datum_reset(avro_datum_t datum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1242
    functionName: avro_datum_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 8
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: avro_datum_t
    signature: avro_datum_t avro_datum_incref(avro_datum_t datum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1246,1
    - Dst: avro_datum_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1244
    functionDepth: 5
    functionLinenumber: 1244
    functionLinenumberEnd: 1249
    functionName: avro_datum_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 34
    functionsReached:
    - avro_datum_free
    - avro_refcount_dec
    linkageType: ''
    returnType: void
    signature: void avro_datum_decref(avro_datum_t datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1253,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - fp
    argTypes:
    - avro_datum_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1255
    functionName: avro_datum_print
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_datum_print(avro_datum_t value, FILE * fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:25,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:39,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:40,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_array_datum_t*
    - struct avro_array_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 46
    functionName: array_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: 2
    functionsReached:
    - avro_schema_equal
    - avro_datum_equal
    - st_lookup
    linkageType: ''
    returnType: int
    signature: int array_equal(struct avro_array_datum_t *a, struct avro_array_datum_t
      *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:60,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - key
    - datum
    - args
    argTypes:
    - char*
    - avro_datum_t
    - struct st_equal_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: st_equal_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: 0
    functionsReached:
    - avro_datum_equal
    - st_lookup
    linkageType: ''
    returnType: int
    signature: int st_equal_foreach(char *key, avro_datum_t datum, struct st_equal_args
      *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:73,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_map_datum_t*
    - struct avro_map_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: map_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: 1
    functionsReached:
    - avro_schema_equal
    - st_foreach
    linkageType: ''
    returnType: int
    signature: int map_equal(struct avro_map_datum_t *a, struct avro_map_datum_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:88,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_record_datum_t*
    - struct avro_record_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: record_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: 1
    functionsReached:
    - avro_schema_equal
    - st_foreach
    linkageType: ''
    returnType: int
    signature: "int record_equal(struct avro_record_datum_t *a,\n\t\t\tstruct avro_record_datum_t
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_enum_datum_t*
    - struct avro_enum_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: enum_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: 1
    functionsReached:
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: int enum_equal(struct avro_enum_datum_t *a, struct avro_enum_datum_t
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:108,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_fixed_datum_t*
    - struct avro_fixed_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: fixed_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: 1
    functionsReached:
    - avro_schema_equal
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int fixed_equal(struct avro_fixed_datum_t *a,\n\t\t       struct avro_fixed_datum_t
      *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:118,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_union_datum_t*
    - struct avro_union_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: union_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: 1
    functionsReached:
    - avro_schema_equal
    - avro_datum_equal
    linkageType: ''
    returnType: int
    signature: "int union_equal(struct avro_union_datum_t *a,\n\t\t       struct avro_union_datum_t
      *b)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:127,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:127,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:130,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:130,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:133,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:135,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:135,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:136,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:138,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:139,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:140,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:140,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:141,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:142,1
    - Dst: avro_datum_to_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:144,1
    - Dst: avro_datum_to_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:145,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:147,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:148,1
    - Dst: avro_datum_to_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:150,1
    - Dst: avro_datum_to_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:150,1
    - Dst: avro_datum_to_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:152,1
    - Dst: avro_datum_to_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:152,1
    - Dst: avro_datum_to_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:154,1
    - Dst: avro_datum_to_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:155,1
    - Dst: array_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:159,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:159,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:160,1
    - Dst: map_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:162,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:162,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:162,1
    - Dst: record_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:165,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:165,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:166,1
    - Dst: enum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:169,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:169,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:169,1
    - Dst: fixed_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:172,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:172,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:173,1
    - Dst: union_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:176,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:176,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - avro_datum_t
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 186
    functionName: avro_datum_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: 9
    functionsReached:
    - union_equal
    - avro_datum_to_array
    - avro_datum_to_fixed
    - enum_equal
    - array_equal
    - strcmp
    - avro_datum_to_bytes
    - avro_datum_to_int32
    - avro_datum_to_map
    - avro_datum_to_float
    - avro_typeof
    - map_equal
    - avro_datum_to_union
    - memcmp
    - fixed_equal
    - avro_datum_to_int64
    - avro_datum_to_boolean
    - avro_datum_to_string
    - is_avro_datum
    - record_equal
    - avro_datum_to_enum
    - avro_datum_to_record
    - avro_datum_to_double
    linkageType: ''
    returnType: int
    signature: int avro_datum_equal(const avro_datum_t a, const avro_datum_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: make_error_data_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c
    functionUses: 0
    functionsReached:
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: void make_error_data_key()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:68,1
    - Dst: pthread_getspecific
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:71,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:74,1
    - Dst: pthread_setspecific
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 107
    functionName: avro_get_error_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c
    functionUses: 0
    functionsReached:
    - pthread_getspecific
    - pthread_setspecific
    - malloc
    - pthread_once
    linkageType: ''
    returnType: struct avro_error_data_t
    signature: 'struct avro_error_data_t *

      avro_get_error_data(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:114,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:115,1
    - Dst: avro_get_error_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:115,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: avro_set_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c
    functionUses: 136
    functionsReached:
    - va_start
    - va_end
    - vsnprintf
    - avro_get_error_data
    linkageType: ''
    returnType: void
    signature: void avro_set_error(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_get_error_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:124,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:131,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:132,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:133,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 154
    functionName: avro_prefix_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c
    functionUses: 12
    functionsReached:
    - va_start
    - avro_get_error_data
    - va_end
    - vsnprintf
    - strncpy
    linkageType: ''
    returnType: void
    signature: void avro_prefix_error(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_get_error_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: avro_strerror
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c
    functionUses: 33
    functionsReached:
    - avro_get_error_data
    linkageType: ''
    returnType: char
    signature: char *avro_strerror(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:46,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:47,1
    - Dst: avro_raw_string_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:48,1
    - Dst: avro_raw_string_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - prefix
    - index
    argTypes:
    - avro_raw_string_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: create_array_prefix
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 0
    functionsReached:
    - snprintf
    - avro_raw_string_set
    - avro_raw_string_append
    linkageType: ''
    returnType: void
    signature: void create_array_prefix(avro_raw_string_t *dest, const char *prefix,
      size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:60,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:61,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:66,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:69,1
    - Dst: avro_raw_string_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:70,1
    - Dst: avro_raw_string_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dest
    - prefix
    - key
    argTypes:
    - avro_raw_string_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: create_object_prefix
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 0
    functionsReached:
    - avro_raw_string_append
    - fprintf
    - avro_raw_string_set
    - strstr
    - exit
    linkageType: ''
    returnType: void
    signature: void create_object_prefix(avro_raw_string_t *dest, const char *prefix,
      const char *key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:78,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:82,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:84,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:86,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:88,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:90,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:92,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:94,1
    - Dst: isprint
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:95,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:96,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:98,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: print_bytes_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 0
    functionsReached:
    - isprint
    - printf
    linkageType: ''
    returnType: void
    signature: void print_bytes_value(const char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:110,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:112,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:115,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:120,1
    - Dst: create_array_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:122,1
    - Dst: process_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:123,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:123,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: process_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - process_value
    - avro_value_get_by_index
    - avro_raw_string_init
    - avro_raw_string_done
    - create_array_prefix
    - printf
    - avro_raw_string_get
    linkageType: ''
    returnType: void
    signature: void process_array(const char *prefix, avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:135,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:136,1
    - Dst: avro_schema_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:137,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:138,1
    - Dst: print_bytes_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:139,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:139,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: process_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 0
    functionsReached:
    - strlen
    - avro_schema_enum_get
    - print_bytes_value
    - printf
    - avro_value_get_enum
    - avro_value_get_schema
    linkageType: ''
    returnType: void
    signature: void process_enum(const char *prefix, avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:146,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:148,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:151,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:157,1
    - Dst: create_object_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:159,1
    - Dst: process_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:160,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:160,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 143
    functionDepth: 6
    functionLinenumber: 143
    functionLinenumberEnd: 164
    functionName: process_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - process_value
    - avro_value_get_by_index
    - create_object_prefix
    - avro_raw_string_init
    - avro_raw_string_done
    - printf
    - avro_raw_string_get
    linkageType: ''
    returnType: void
    signature: void process_map(const char *prefix, avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:169,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:171,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:174,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:180,1
    - Dst: create_object_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:182,1
    - Dst: process_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:183,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:183,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 6
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: process_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - process_value
    - avro_value_get_by_index
    - create_object_prefix
    - avro_raw_string_init
    - avro_raw_string_done
    - printf
    - avro_raw_string_get
    linkageType: ''
    returnType: void
    signature: void process_record(const char *prefix, avro_value_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:193,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:196,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:197,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:202,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:204,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:205,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:206,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:209,1
    - Dst: create_object_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:210,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:212,1
    - Dst: process_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:213,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:213,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 216
    functionName: process_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 0
    functionsReached:
    - avro_value_get_type
    - process_value
    - avro_raw_string_done
    - avro_raw_string_init
    - create_object_prefix
    - avro_schema_union_branch
    - avro_value_get_discriminant
    - printf
    - avro_schema_type_name
    - avro_value_get_current_branch
    - avro_value_get_schema
    - avro_raw_string_get
    linkageType: ''
    returnType: void
    signature: void process_union(const char *prefix, avro_value_t *value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:221,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:226,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:227,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:235,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:236,1
    - Dst: print_bytes_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:237,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:238,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:245,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:246,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:253,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:254,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:261,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:262,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:269,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:270,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:276,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:277,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:287,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:288,1
    - Dst: print_bytes_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:290,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:291,1
    - Dst: process_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:296,1
    - Dst: process_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:300,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:307,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:308,1
    - Dst: print_bytes_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:309,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:310,1
    - Dst: process_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:315,1
    - Dst: process_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:319,1
    - Dst: process_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:323,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:328,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 218
    functionDepth: 7
    functionLinenumber: 218
    functionLinenumberEnd: 332
    functionName: process_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 4
    functionsReached:
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_value_get_double
    - print_bytes_value
    - printf
    - exit
    - process_map
    - fprintf
    - avro_value_get_string
    - process_enum
    - avro_value_get_bytes
    - process_array
    - avro_value_get_type
    - avro_value_get_int
    - process_record
    - avro_value_get_null
    - avro_value_get_long
    - avro_value_get_boolean
    - process_union
    linkageType: ''
    returnType: void
    signature: void process_value(const char *prefix, avro_value_t *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_reader_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:340,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:341,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:342,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:343,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:346,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:347,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:348,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:349,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:354,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:357,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:359,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:360,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:362,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:367,1
    - Dst: create_array_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:368,1
    - Dst: process_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:369,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:369,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:370,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:374,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:374,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:377,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:378,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:379,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:380,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 334
    functionDepth: 8
    functionLinenumber: 334
    functionLinenumberEnd: 382
    functionName: process_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 3
    functionsReached:
    - avro_raw_string_init
    - printf
    - exit
    - avro_schema_decref
    - avro_value_iface_decref
    - fprintf
    - create_array_prefix
    - avro_file_reader
    - avro_generic_class_from_schema
    - avro_raw_string_get
    - avro_file_reader_fp
    - process_value
    - avro_raw_string_done
    - avro_file_reader_get_writer_schema
    - avro_file_reader_read_value
    - avro_generic_value_new
    - avro_file_reader_close
    - avro_value_decref
    - avro_value_reset
    - avro_strerror
    linkageType: ''
    returnType: void
    signature: void process_file(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 13
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:404,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:411,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:412,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:424,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:425,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:426,1
    - Dst: process_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 432
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: 0
    functionsReached:
    - getopt_long
    - fprintf
    - process_file
    - usage
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rval
    - ','
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: check
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro_private.h
    functionUses: 174
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check(rval, call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rval
    - ','
    - call
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: check_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_set(rval, call, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rval
    - ','
    - call
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: check_prefix
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro_private.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_prefix(rval, call, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - result
    - ','
    - test
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: check_param
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro_private.h
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_param(result, test, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: AVRO_UNUSED
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro_private.h
    functionUses: 266
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVRO_UNUSED(var)
  - 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: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: container_of
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro_private.h
    functionUses: 101
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: container_of(ptr_, type_, member_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: nullstrcmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro_private.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nullstrcmp(s1, s2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:50,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:50,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:57,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:57,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:65,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:65,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:66,1
    - Dst: read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:66,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:69,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: read_array_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_append
    - read_long
    - check_prefix
    - read_value
    linkageType: ''
    returnType: int
    signature: int read_array_value(avro_reader_t reader, avro_value_t *dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:87,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:87,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:93,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:93,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:103,1
    - Dst: read_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:103,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:107,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:109,1
    - Dst: read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:113,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:115,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:119,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:122,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 128
    functionName: read_map_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: 0
    functionsReached:
    - avro_value_add
    - read_long
    - avro_free
    - read_string
    - check_prefix
    - read_value
    linkageType: ''
    returnType: int
    signature: int read_map_value(avro_reader_t reader, avro_value_t *dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:138,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:140,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:140,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:144,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:144,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:146,1
    - Dst: read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:146,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:149,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:150,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 155
    functionName: read_record_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: 0
    functionsReached:
    - avro_skip_data
    - avro_value_get_size
    - avro_value_get_by_index
    - avro_schema_record_field_get_by_index
    - check
    - avro_value_get_schema
    - read_value
    linkageType: ''
    returnType: int
    signature: int read_record_value(avro_reader_t reader, avro_value_t *dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:167,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:167,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:171,1
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:172,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:175,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:180,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:180,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:181,1
    - Dst: read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 183
    functionName: read_union_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - check
    - avro_schema_union_size
    - read_long
    - avro_value_get_schema
    - avro_value_set_branch
    - check_prefix
    - read_value
    linkageType: ''
    returnType: int
    signature: int read_union_value(avro_reader_t reader, avro_value_t *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: avro_wrapped_alloc_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: 0
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: void
    signature: void avro_wrapped_alloc_free(avro_wrapped_buffer_t *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - dest
    - buf
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: avro_wrapped_alloc_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: 0
    functionsReached:
    - avro_new
    linkageType: ''
    returnType: int
    signature: "int avro_wrapped_alloc_new(avro_wrapped_buffer_t *dest,\n\t\t       const
      void *buf, size_t length)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:231,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:235,1
    - Dst: read_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:235,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:238,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:245,1
    - Dst: read_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:245,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:258,1
    - Dst: avro_wrapped_alloc_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:258,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:260,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:266,1
    - Dst: read_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:266,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:269,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:275,1
    - Dst: read_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:275,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:278,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:284,1
    - Dst: read_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:284,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:287,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:293,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:293,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:296,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:301,1
    - Dst: read_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:301,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:304,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:318,1
    - Dst: read_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:318,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:323,1
    - Dst: avro_wrapped_alloc_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:323,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:324,1
    - Dst: read_array_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:328,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:333,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:333,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:336,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:341,1
    - Dst: avro_schema_fixed_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:343,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:345,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:347,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:350,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:352,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:353,1
    - Dst: avro_wrapped_alloc_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:358,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:360,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:364,1
    - Dst: read_map_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:368,1
    - Dst: read_record_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:371,1
    - Dst: read_union_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:374,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 74
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 384
    functionName: read_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: 21
    functionsReached:
    - avro_set_error
    - read_map_value
    - read_int
    - avro_value_set_null
    - avro_prefix_error
    - avro_value_get_schema
    - read_float
    - read_record_value
    - avro_value_give_fixed
    - avro_malloc
    - avro_value_give_string_len
    - avro_value_set_int
    - read_union_value
    - avro_free
    - read_bytes
    - read_null
    - read_boolean
    - read_long
    - avro_value_give_bytes
    - read_string
    - avro_value_set_enum
    - avro_read
    - avro_value_set_float
    - avro_value_set_long
    - avro_value_get_type
    - avro_wrapped_alloc_new
    - check_prefix
    - avro_value_set_boolean
    - check
    - read_array_value
    - avro_schema_fixed_size
    - read_double
    - avro_value_set_double
    linkageType: ''
    returnType: int
    signature: int read_value(avro_reader_t reader, avro_value_t *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:390,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:390,1
    - Dst: read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 5
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: avro_value_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: 8
    functionsReached:
    - check
    - avro_value_reset
    - read_value
    linkageType: ''
    returnType: int
    signature: int avro_value_read(avro_reader_t reader, avro_value_t *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: avro_datum_to_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_string(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: avro_datum_to_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_bytes(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: avro_datum_to_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_int32(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: avro_datum_to_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_int64(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: avro_datum_to_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_float(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: avro_datum_to_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_double(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: avro_datum_to_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_boolean(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: avro_datum_to_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_fixed(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: avro_datum_to_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_map(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: avro_datum_to_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_record(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: avro_datum_to_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_enum(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: avro_datum_to_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_array(datum_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: avro_datum_to_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_datum_to_union(datum_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:39,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - reader
    - l
    argTypes:
    - avro_reader_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: read_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 10
    functionsReached:
    - avro_set_error
    - AVRO_READ
    linkageType: ''
    returnType: int
    signature: int read_long(avro_reader_t reader, int64_t * l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:57,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: skip_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - AVRO_READ
    linkageType: ''
    returnType: int
    signature: int skip_long(avro_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - writer
    - l
    argTypes:
    - avro_writer_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: write_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 2
    functionsReached:
    - AVRO_WRITE
    linkageType: ''
    returnType: int
    signature: int write_long(avro_writer_t writer, int64_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - writer
    - l
    argTypes:
    - avro_writer_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: size_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 5
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: int64_t size_long(avro_writer_t writer, int64_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:99,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:99,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - reader
    - i
    argTypes:
    - avro_reader_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: read_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 2
    functionsReached:
    - check
    - avro_set_error
    - read_long
    linkageType: ''
    returnType: int
    signature: int read_int(avro_reader_t reader, int32_t * i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skip_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: skip_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - skip_long
    linkageType: ''
    returnType: int
    signature: int skip_int(avro_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - i
    argTypes:
    - avro_writer_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: write_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - write_long
    linkageType: ''
    returnType: int
    signature: int write_int(avro_writer_t writer, const int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - i
    argTypes:
    - avro_writer_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: size_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - size_long
    linkageType: ''
    returnType: int64_t
    signature: int64_t size_int(avro_writer_t writer, const int32_t i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:128,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:128,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:130,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:132,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - reader
    - bytes
    - len
    argTypes:
    - avro_reader_t
    - char**
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: read_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 2
    functionsReached:
    - avro_set_error
    - avro_malloc
    - AVRO_READ
    - read_long
    - check_prefix
    linkageType: ''
    returnType: int
    signature: int read_bytes(avro_reader_t reader, char **bytes, int64_t * len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:144,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:144,1
    - Dst: AVRO_SKIP
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: skip_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - AVRO_SKIP
    - read_long
    - check_prefix
    linkageType: ''
    returnType: int
    signature: int skip_bytes(avro_reader_t reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:155,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:158,1
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:158,1
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - writer
    - bytes
    - len
    argTypes:
    - avro_writer_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: write_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - write_long
    - AVRO_WRITE
    - check_prefix
    linkageType: ''
    returnType: int
    signature: int write_bytes(avro_writer_t writer, const char *bytes, const int64_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:167,1
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - writer
    - bytes
    - len
    argTypes:
    - avro_writer_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: size_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 1
    functionsReached:
    - size_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: int64_t size_bytes(avro_writer_t writer, const char *bytes, const int64_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:176,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:176,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:179,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:181,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - reader
    - s
    - len
    argTypes:
    - avro_reader_t
    - char**
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: read_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 7
    functionsReached:
    - avro_set_error
    - avro_malloc
    - AVRO_READ
    - read_long
    - check_prefix
    linkageType: ''
    returnType: int
    signature: int read_string(avro_reader_t reader, char **s, int64_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skip_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: skip_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - skip_bytes
    linkageType: ''
    returnType: int
    signature: int skip_string(avro_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:196,1
    - Dst: write_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - s
    argTypes:
    - avro_writer_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: write_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 1
    functionsReached:
    - strlen
    - write_bytes
    linkageType: ''
    returnType: int
    signature: int write_string(avro_writer_t writer, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:202,1
    - Dst: size_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - s
    argTypes:
    - avro_writer_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: size_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 2
    functionsReached:
    - size_bytes
    - strlen
    linkageType: ''
    returnType: int64_t
    signature: int64_t size_string(avro_writer_t writer, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:216,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - reader
    - f
    argTypes:
    - avro_reader_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 225
    functionName: read_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 2
    functionsReached:
    - AVRO_READ
    linkageType: ''
    returnType: int
    signature: int read_float(avro_reader_t reader, float *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_SKIP
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: skip_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - AVRO_SKIP
    linkageType: ''
    returnType: int
    signature: int skip_float(avro_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:249,1
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - writer
    - f
    argTypes:
    - avro_writer_t
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 254
    functionName: write_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - AVRO_WRITE
    linkageType: ''
    returnType: int
    signature: int write_float(avro_writer_t writer, const float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:258,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - writer
    - f
    argTypes:
    - avro_writer_t
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: size_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 1
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: int64_t size_float(avro_writer_t writer, const float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:275,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - reader
    - d
    argTypes:
    - avro_reader_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 288
    functionName: read_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 2
    functionsReached:
    - AVRO_READ
    linkageType: ''
    returnType: int
    signature: int read_double(avro_reader_t reader, double *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_SKIP
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: skip_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - AVRO_SKIP
    linkageType: ''
    returnType: int
    signature: int skip_double(avro_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:316,1
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - writer
    - d
    argTypes:
    - avro_writer_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 321
    functionName: write_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - AVRO_WRITE
    linkageType: ''
    returnType: int
    signature: int write_double(avro_writer_t writer, const double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:325,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - writer
    - d
    argTypes:
    - avro_writer_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: size_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 1
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: int64_t size_double(avro_writer_t writer, const double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - b
    argTypes:
    - avro_reader_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: read_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 2
    functionsReached:
    - AVRO_READ
    linkageType: ''
    returnType: int
    signature: int read_boolean(avro_reader_t reader, int8_t * b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_SKIP
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: skip_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - AVRO_SKIP
    linkageType: ''
    returnType: int
    signature: int skip_boolean(avro_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - writer
    - b
    argTypes:
    - avro_writer_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: write_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - AVRO_WRITE
    linkageType: ''
    returnType: int
    signature: int write_boolean(avro_writer_t writer, const int8_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:351,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - writer
    - b
    argTypes:
    - avro_writer_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: size_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 1
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: int64_t size_boolean(avro_writer_t writer, const int8_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: read_skip_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int read_skip_null(avro_reader_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: write_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int write_null(avro_writer_t writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: size_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: 1
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: int64_t size_null(avro_writer_t writer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:33,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:33,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:36,1
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:36,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:43,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:43,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:44,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:44,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:48,1
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - writer
    - src
    argTypes:
    - avro_writer_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: write_array_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - avro_value_get_by_index
    - check
    - avro_value_write
    - write_long
    - check_prefix
    linkageType: ''
    returnType: int
    signature: int write_array_value(avro_writer_t writer, avro_value_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:59,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:59,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:62,1
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:62,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:70,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:70,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:71,1
    - Dst: write_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:71,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:72,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:72,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:76,1
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - writer
    - src
    argTypes:
    - avro_writer_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: write_map_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - write_string
    - avro_value_get_by_index
    - check
    - avro_value_write
    - write_long
    - check_prefix
    linkageType: ''
    returnType: int
    signature: int write_map_value(avro_writer_t writer, avro_value_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:86,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:86,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:91,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:91,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:92,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - writer
    - src
    argTypes:
    - avro_writer_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: write_record_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_size
    - avro_value_get_by_index
    - avro_value_write
    linkageType: ''
    returnType: int
    signature: int write_record_value(avro_writer_t writer, avro_value_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:105,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:105,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:106,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:106,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:107,1
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:107,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - writer
    - src
    argTypes:
    - avro_writer_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: write_union_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_write
    - avro_value_get_discriminant
    - write_long
    - avro_value_get_current_branch
    linkageType: ''
    returnType: int
    signature: int write_union_value(avro_writer_t writer, avro_value_t *src)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:116,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:120,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:120,1
    - Dst: write_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:121,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:128,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:128,1
    - Dst: write_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:129,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:135,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:135,1
    - Dst: write_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:136,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:142,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:142,1
    - Dst: write_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:143,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:149,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:149,1
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:150,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:156,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:156,1
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:157,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:162,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:162,1
    - Dst: write_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:163,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:170,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:170,1
    - Dst: write_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:171,1
    - Dst: write_array_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:175,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:180,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:180,1
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:181,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:188,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:188,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:189,1
    - Dst: write_map_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:193,1
    - Dst: write_record_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:196,1
    - Dst: write_union_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:199,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - writer
    - src
    argTypes:
    - avro_writer_t
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 209
    functionName: avro_value_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c
    functionUses: 14
    functionsReached:
    - avro_set_error
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_value_get_double
    - write_union_value
    - write_map_value
    - avro_write
    - write_array_value
    - write_bytes
    - write_long
    - avro_value_get_string
    - avro_value_get_bytes
    - write_null
    - avro_value_get_enum
    - avro_value_get_type
    - write_double
    - avro_value_get_int
    - avro_value_get_null
    - avro_value_get_long
    - check
    - write_boolean
    - write_record_value
    - avro_value_get_boolean
    - write_float
    linkageType: ''
    returnType: int
    signature: int avro_value_write(avro_writer_t writer, avro_value_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - array
    - element_size
    argTypes:
    - avro_raw_array_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: avro_raw_array_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: 5
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void avro_raw_array_init(avro_raw_array_t *array, size_t element_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:38,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - array
    argTypes:
    - avro_raw_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: avro_raw_array_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: 5
    functionsReached:
    - memset
    - avro_free
    linkageType: ''
    returnType: void
    signature: void avro_raw_array_done(avro_raw_array_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - avro_raw_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: avro_raw_array_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_raw_array_clear(avro_raw_array_t *array)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:77,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - array
    - desired_count
    argTypes:
    - avro_raw_array_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: avro_raw_array_ensure_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - avro_realloc
    linkageType: ''
    returnType: int
    signature: int avro_raw_array_ensure_size(avro_raw_array_t *array, size_t desired_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:94,1
    - Dst: avro_raw_array_ensure_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:94,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - array
    - desired_count
    argTypes:
    - avro_raw_array_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: avro_raw_array_ensure_size0
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: 3
    functionsReached:
    - check
    - memset
    - avro_raw_array_ensure_size
    linkageType: ''
    returnType: int
    signature: int avro_raw_array_ensure_size0(avro_raw_array_t *array, size_t desired_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_ensure_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - array
    argTypes:
    - avro_raw_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: avro_raw_array_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: 3
    functionsReached:
    - avro_raw_array_ensure_size
    linkageType: ''
    returnType: void
    signature: void *avro_raw_array_append(avro_raw_array_t *array)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:43,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:43,1
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:46,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:51,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:51,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:52,1
    - Dst: sizeof_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:52,1
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: sizeof_array_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - avro_value_get_by_index
    - check
    - size_long
    - sizeof_value
    linkageType: ''
    returnType: int
    signature: int sizeof_array_value(avro_value_t *src, size_t *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:66,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:66,1
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:69,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:75,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:75,1
    - Dst: size_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:76,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:77,1
    - Dst: sizeof_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:77,1
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: sizeof_map_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: 0
    functionsReached:
    - size_string
    - avro_value_get_size
    - avro_value_get_by_index
    - check
    - size_long
    - sizeof_value
    linkageType: ''
    returnType: int
    signature: int sizeof_map_value(avro_value_t *src, size_t *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:90,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:90,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:95,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:95,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:96,1
    - Dst: sizeof_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: sizeof_record_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_get_size
    - sizeof_value
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: int sizeof_record_value(avro_value_t *src, size_t *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:109,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:109,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:110,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:110,1
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:111,1
    - Dst: sizeof_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: sizeof_union_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: 0
    functionsReached:
    - check
    - size_long
    - avro_value_get_discriminant
    - avro_value_get_current_branch
    - sizeof_value
    linkageType: ''
    returnType: int
    signature: int sizeof_union_value(avro_value_t *src, size_t *size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:120,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:124,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:124,1
    - Dst: size_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:125,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:133,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:133,1
    - Dst: size_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:134,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:141,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:141,1
    - Dst: size_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:142,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:149,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:149,1
    - Dst: size_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:150,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:157,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:157,1
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:158,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:165,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:165,1
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:166,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:172,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:172,1
    - Dst: size_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:173,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:181,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:181,1
    - Dst: size_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:182,1
    - Dst: sizeof_array_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:187,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:192,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:192,1
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:193,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:200,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:200,1
    - Dst: sizeof_map_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:206,1
    - Dst: sizeof_record_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:209,1
    - Dst: sizeof_union_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:212,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 66
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 222
    functionName: sizeof_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: 4
    functionsReached:
    - avro_set_error
    - avro_value_get_fixed
    - avro_value_get_float
    - sizeof_map_value
    - avro_value_get_double
    - size_long
    - size_bytes
    - avro_value_get_string
    - size_float
    - avro_value_get_bytes
    - sizeof_array_value
    - size_null
    - avro_value_get_enum
    - sizeof_record_value
    - avro_value_get_type
    - avro_value_get_int
    - avro_value_get_null
    - avro_value_get_long
    - check
    - size_boolean
    - sizeof_union_value
    - avro_value_get_boolean
    - size_double
    linkageType: ''
    returnType: int
    signature: int sizeof_value(avro_value_t *src, size_t *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:227,1
    - Dst: sizeof_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 6
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: avro_value_sizeof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: 1
    functionsReached:
    - sizeof_value
    - check_param
    linkageType: ''
    returnType: int
    signature: int avro_value_sizeof(avro_value_t *src, size_t *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:36,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - key
    - datum
    - vst
    argTypes:
    - char*
    - avro_datum_t
    - struct validate_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: schema_map_validate_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c
    functionUses: 0
    functionsReached:
    - avro_schema_datum_validate
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int schema_map_validate_foreach(char *key, avro_datum_t datum,\n\t\t\t
      \   struct validate_st *vst)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:48,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:49,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:49,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:54,1
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:56,1
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:59,1
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:62,1
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:65,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:68,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:69,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:70,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:71,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:74,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:74,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:77,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:77,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:78,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:81,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:81,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:82,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:82,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:85,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:86,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:87,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:90,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:91,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:93,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:100,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:102,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:109,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:110,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:111,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:121,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:123,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:133,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:135,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:137,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:143,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:148,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:154,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:156,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:163,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:166,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:174,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:186,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:186,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 2
    argNames:
    - expected_schema
    - datum
    argTypes:
    - avro_schema_t
    - avro_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 193
    functionName: avro_schema_datum_validate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c
    functionUses: 4
    functionsReached:
    - is_avro_record
    - is_avro_string
    - avro_schema_to_link
    - is_avro_boolean
    - is_avro_union
    - avro_datum_to_array
    - avro_schema_to_fixed
    - avro_datum_to_fixed
    - avro_schema_to_union
    - is_avro_null
    - is_avro_bytes
    - is_avro_fixed
    - avro_schema_to_array
    - avro_typeof
    - is_avro_double
    - avro_schema_to_record
    - avro_datum_to_union
    - is_avro_float
    - avro_record_get
    - avro_datum_to_int64
    - is_avro_map
    - check_param
    - is_avro_datum
    - is_avro_int32
    - is_avro_int64
    - avro_schema_to_enum
    - avro_datum_to_enum
    - st_lookup
    - is_avro_array
    - avro_schema_to_map
    - is_avro_enum
    - avro_schema_datum_validate
    linkageType: ''
    returnType: int
    signature: int avro_schema_datum_validate(avro_schema_t expected_schema, avro_datum_t
      datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - avro_memoize_key_t*
    - avro_memoize_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: avro_memoize_key_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int avro_memoize_key_cmp(avro_memoize_key_t *a, avro_memoize_key_t
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - avro_memoize_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: avro_memoize_key_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int avro_memoize_key_hash(avro_memoize_key_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:63,1
    - Dst: st_init_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - avro_memoize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: avro_memoize_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: 3
    functionsReached:
    - memset
    - st_init_table
    linkageType: ''
    returnType: void
    signature: void avro_memoize_init(avro_memoize_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:71,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:72,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - result
    - dummy
    argTypes:
    - avro_memoize_key_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: avro_memoize_free_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: 0
    functionsReached:
    - avro_freet
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_memoize_free_key(avro_memoize_key_t *key, void *result, void
      *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:81,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:82,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - avro_memoize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: avro_memoize_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: 3
    functionsReached:
    - st_foreach
    - memset
    - st_free_table
    linkageType: ''
    returnType: void
    signature: void avro_memoize_done(avro_memoize_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - mem
    - key1
    - key2
    - result
    argTypes:
    - avro_memoize_t*
    - void*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 109
    functionName: avro_memoize_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: 4
    functionsReached:
    - st_lookup
    linkageType: ''
    returnType: int
    signature: "int avro_memoize_get(avro_memoize_t *mem,\n\t\t void *key1, void *key2,\n\t\t
      void **result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:132,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:133,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:141,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - mem
    - key1
    - key2
    - result
    argTypes:
    - avro_memoize_t*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 146
    functionName: avro_memoize_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: 32
    functionsReached:
    - avro_new
    - st_lookup
    - st_insert
    linkageType: ''
    returnType: void
    signature: "void avro_memoize_set(avro_memoize_t *mem,\n\t\t void *key1, void
      *key2,\n\t\t void *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:162,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mem
    - key1
    - key2
    argTypes:
    - avro_memoize_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: avro_memoize_delete
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: 11
    functionsReached:
    - avro_freet
    - st_delete
    linkageType: ''
    returnType: void
    signature: void avro_memoize_delete(avro_memoize_t *mem, void *key1, void *key2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: DEBUG
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iface
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: avro_resolved_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_writer_calculate_size(iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iface
    - ','
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: avro_resolved_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_writer_init(iface, self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iface
    - ','
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: avro_resolved_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_writer_done(iface, self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iface
    - ','
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: avro_resolved_writer_reset_wrappers
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_writer_reset_wrappers(iface, self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:121,1
    - Dst: avro_value_copy_ref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - resolved
    - dest
    argTypes:
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: avro_resolved_writer_set_dest
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 3
    functionsReached:
    - avro_value_copy_ref
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: "void avro_resolved_writer_set_dest(avro_value_t *resolved,\n\t\t\t
      \     avro_value_t *dest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - resolved
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: avro_resolved_writer_clear_dest
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: void avro_resolved_writer_clear_dest(avro_value_t *resolved)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:143,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:144,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:151,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:155,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:157,1
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - viface
    - value
    argTypes:
    - avro_value_iface_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 167
    functionName: avro_resolved_writer_new_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 3
    functionsReached:
    - avro_malloc
    - memset
    - avro_free
    - avro_value_iface_incref
    - container_of
    - avro_resolved_writer_init
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_new_value(avro_value_iface_t *viface,\n\t\t\t
      \      avro_value_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:173,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:176,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:178,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: avro_resolved_writer_free_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_free
    - container_of
    - avro_resolved_writer_done
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: void avro_resolved_writer_free_value(const avro_value_iface_t *viface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: avro_resolved_writer_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: void
    signature: void avro_resolved_writer_incref(avro_value_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:204,1
    - Dst: avro_resolved_writer_free_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: avro_resolved_writer_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_resolved_writer_free_value
    - avro_refcount_dec
    linkageType: ''
    returnType: void
    signature: void avro_resolved_writer_decref(avro_value_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:214,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: avro_resolved_writer_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_resolved_writer_incref_iface(avro_value_iface_t *viface)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:223,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:224,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:229,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:230,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:231,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:232,1
    - Dst: avro_resolved_writer_t*::free_iface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: free_resolver
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 7
    functionsReached:
    - st_insert
    - avro_resolved_writer_t*::free_iface
    - st_lookup
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void free_resolver(avro_resolved_writer_t *iface, st_table *freeing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:243,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:244,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: avro_resolved_writer_calculate_size_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_writer_calculate_size_(avro_resolved_writer_t *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:252,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:253,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:254,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: avro_resolved_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: void avro_resolved_writer_free_iface(avro_resolved_writer_t *iface,
      st_table *freeing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:262,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:263,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:264,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:266,1
    - Dst: st_init_numtable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:268,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:269,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: avro_resolved_writer_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - free_resolver
    - avro_refcount_dec
    - st_init_numtable
    - st_free_table
    - DEBUG
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_resolved_writer_decref_iface(avro_value_iface_t *viface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:285,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:287,1
    - Dst: avro_resolved_writer_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:287,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 289
    functionName: avro_resolved_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - container_of
    - avro_resolved_writer_reset_wrappers
    - avro_value_reset
    linkageType: ''
    returnType: int
    signature: int avro_resolved_writer_reset(const avro_value_iface_t *viface, void
      *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:294,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:296,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: avro_resolved_writer_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_typeof
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_resolved_writer_get_type(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:303,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: avro_resolved_writer_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_resolved_writer_get_schema(const avro_value_iface_t
      *viface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:313,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:314,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:325,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 332
    functionName: avro_resolved_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_writer_t
    signature: 'avro_resolved_writer_t *

      avro_resolved_writer_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:348,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:350,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - iface
    - dest
    - real_dest
    argTypes:
    - avro_resolved_writer_t*
    - avro_value_t*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 353
    functionName: avro_resolved_writer_get_real_dest
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_branch
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_get_real_dest(const avro_resolved_writer_t
      *iface,\n\t\t\t\t   const avro_value_t *dest, avro_value_t *real_dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - schema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: skip_links
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: skip_links(schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - saved
    - ','
    - wschema
    - ','
    - rschema
    - ','
    - check_func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 415
    functionName: check_non_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_non_union(saved, wschema, rschema, check_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - saved
    - ','
    - wschema
    - ','
    - rschema
    - ','
    - check_func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 469
    functionName: check_reader_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_reader_union(saved, wschema, rschema, check_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - saved
    - ','
    - wschema
    - ','
    - rschema
    - ','
    - type_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 486
    functionName: check_simple_writer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_simple_writer(saved, wschema, rschema, type_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:525,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:526,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: avro_resolved_link_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_link_writer_calculate_size(avro_resolved_writer_t
      *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:535,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:537,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:539,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:540,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 542
    functionName: avro_resolved_link_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - container_of
    - free_resolver
    linkageType: ''
    returnType: void
    signature: void avro_resolved_link_writer_free_iface(avro_resolved_writer_t *iface,
      st_table *freeing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:549,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:554,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:558,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:563,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 568
    functionName: avro_resolved_link_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_malloc
    - avro_free
    - DEBUG
    - container_of
    - avro_resolved_writer_init
    linkageType: ''
    returnType: int
    signature: int avro_resolved_link_writer_init(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:574,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:577,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:578,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 582
    functionName: avro_resolved_link_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_free
    - container_of
    - avro_resolved_writer_done
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_link_writer_done(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:588,1
    - Dst: avro_resolved_writer_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 592
    functionName: avro_resolved_link_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_writer_reset_wrappers
    linkageType: ''
    returnType: int
    signature: int avro_resolved_link_writer_reset(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:597,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: avro_resolved_link_writer_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_type
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: avro_type_t avro_resolved_link_writer_get_type(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:607,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: avro_resolved_link_writer_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_schema
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: avro_schema_t avro_resolved_link_writer_get_schema(const avro_value_iface_t
      *iface, const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:618,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 623
    functionName: avro_resolved_link_writer_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_boolean(const avro_value_iface_t
      *iface,\n\t\t\t\t      const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:629,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 634
    functionName: avro_resolved_link_writer_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_bytes(const avro_value_iface_t *iface,\n\t\t\t\t
      \   const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:640,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 645
    functionName: avro_resolved_link_writer_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_grab_bytes(const avro_value_iface_t
      *iface,\n\t\t\t\t     const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:651,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 656
    functionName: avro_resolved_link_writer_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_double(const avro_value_iface_t
      *iface,\n\t\t\t\t     const void *vself, double *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:662,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 667
    functionName: avro_resolved_link_writer_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_float(const avro_value_iface_t *iface,\n\t\t\t\t
      \   const void *vself, float *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:673,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: avro_resolved_link_writer_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_int(const avro_value_iface_t *iface,\n\t\t\t\t
      \ const void *vself, int32_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:684,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 689
    functionName: avro_resolved_link_writer_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_long(const avro_value_iface_t *iface,\n\t\t\t\t
      \  const void *vself, int64_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:694,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 699
    functionName: avro_resolved_link_writer_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_resolved_link_writer_get_null(const avro_value_iface_t *iface,
      const void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:705,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 710
    functionName: avro_resolved_link_writer_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_string(const avro_value_iface_t
      *iface,\n\t\t\t\t     const void *vself, const char **str, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:716,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 721
    functionName: avro_resolved_link_writer_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_grab_string(const avro_value_iface_t
      *iface,\n\t\t\t\t      const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:727,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 732
    functionName: avro_resolved_link_writer_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_enum(const avro_value_iface_t *iface,\n\t\t\t\t
      \  const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:738,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 743
    functionName: avro_resolved_link_writer_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_fixed(const avro_value_iface_t *iface,\n\t\t\t\t
      \   const void *vself, const void **buf, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:749,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 754
    functionName: avro_resolved_link_writer_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_grab_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_grab_fixed(const avro_value_iface_t
      *iface,\n\t\t\t\t     const void *vself, avro_wrapped_buffer_t *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:760,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 765
    functionName: avro_resolved_link_writer_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_boolean(const avro_value_iface_t
      *iface,\n\t\t\t\t      void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:771,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 776
    functionName: avro_resolved_link_writer_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_bytes(const avro_value_iface_t *iface,\n\t\t\t\t
      \   void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:782,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 787
    functionName: avro_resolved_link_writer_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_give_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_give_bytes(const avro_value_iface_t
      *iface,\n\t\t\t\t     void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:793,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 798
    functionName: avro_resolved_link_writer_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_double(const avro_value_iface_t
      *iface,\n\t\t\t\t     void *vself, double val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:804,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 809
    functionName: avro_resolved_link_writer_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_float(const avro_value_iface_t *iface,\n\t\t\t\t
      \   void *vself, float val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:815,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 820
    functionName: avro_resolved_link_writer_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_int(const avro_value_iface_t *iface,\n\t\t\t\t
      \ void *vself, int32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:826,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 831
    functionName: avro_resolved_link_writer_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_long(const avro_value_iface_t *iface,\n\t\t\t\t
      \  void *vself, int64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:836,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 841
    functionName: avro_resolved_link_writer_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_resolved_link_writer_set_null(const avro_value_iface_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:847,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 852
    functionName: avro_resolved_link_writer_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_string(const avro_value_iface_t
      *iface,\n\t\t\t\t     void *vself, const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:858,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 863
    functionName: avro_resolved_link_writer_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_string_len(const avro_value_iface_t
      *iface,\n\t\t\t\t\t void *vself, const char *str, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:869,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 874
    functionName: avro_resolved_link_writer_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_give_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_give_string_len(const avro_value_iface_t
      *iface,\n\t\t\t\t\t  void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:880,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 885
    functionName: avro_resolved_link_writer_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_enum(const avro_value_iface_t *iface,\n\t\t\t\t
      \  void *vself, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:891,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 896
    functionName: avro_resolved_link_writer_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_fixed(const avro_value_iface_t *iface,\n\t\t\t\t
      \   void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:902,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 907
    functionName: avro_resolved_link_writer_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_give_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_give_fixed(const avro_value_iface_t
      *iface,\n\t\t\t\t     void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:913,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 918
    functionName: avro_resolved_link_writer_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_size(const avro_value_iface_t *iface,\n\t\t\t\t
      \  const void *vself, size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:925,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - iface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 930
    functionName: avro_resolved_link_writer_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_by_index(const avro_value_iface_t
      *iface,\n\t\t\t\t       const void *vself, size_t index,\n\t\t\t\t       avro_value_t
      *child, const char **name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:937,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - iface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: avro_resolved_link_writer_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_name
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_by_name(const avro_value_iface_t
      *iface,\n\t\t\t\t      const void *vself, const char *name,\n\t\t\t\t      avro_value_t
      *child, size_t *index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:948,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 953
    functionName: avro_resolved_link_writer_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_discriminant
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_discriminant(const avro_value_iface_t
      *iface,\n\t\t\t\t\t   const void *vself, int *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:959,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 964
    functionName: avro_resolved_link_writer_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_current_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_get_current_branch(const avro_value_iface_t
      *iface,\n\t\t\t\t\t     const void *vself, avro_value_t *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:971,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 976
    functionName: avro_resolved_link_writer_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_append
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_append(const avro_value_iface_t *iface,\n\t\t\t\t
      void *vself, avro_value_t *child_out,\n\t\t\t\t size_t *new_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:983,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - iface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 988
    functionName: avro_resolved_link_writer_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_add
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_add(const avro_value_iface_t *iface,\n\t\t\t
      \     void *vself, const char *key,\n\t\t\t      avro_value_t *child, size_t
      *index, int *is_new)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:995,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1000
    functionName: avro_resolved_link_writer_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_link_writer_set_branch(const avro_value_iface_t
      *iface,\n\t\t\t\t     void *vself, int discriminant,\n\t\t\t\t     avro_value_t
      *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1005,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1006,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1020,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1021,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1069
    functionName: avro_resolved_link_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_link_writer_t
    signature: 'avro_resolved_link_writer_t *

      avro_resolved_link_writer_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1076,1
    - Dst: avro_schema_link_target
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1085,1
    - Dst: avro_resolved_link_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1087,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1088,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1091,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1093,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1094,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1095,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1096,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1106
    functionName: try_link
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_strerror
    - avro_resolved_writer_new_memoized
    - avro_resolved_link_writer_create
    - avro_schema_link_target
    - avro_memoize_delete
    - avro_prefix_error
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int try_link(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      avro_schema_t wschema, avro_schema_t rschema,\n\t avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1119,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1122,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1122,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1123,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1113
    functionDepth: 4
    functionLinenumber: 1113
    functionLinenumberEnd: 1125
    functionName: avro_resolved_writer_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_set_boolean
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_boolean(const avro_value_iface_t *viface,\n\t\t\t\t
      void *vself, int val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1132,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1133,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1127
    functionDepth: 3
    functionLinenumber: 1127
    functionLinenumberEnd: 1138
    functionName: try_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_memoize_set
    - is_avro_boolean
    - avro_resolved_writer_create
    linkageType: ''
    returnType: int
    signature: "int try_boolean(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      \   avro_schema_t wschema, avro_schema_t rschema,\n\t    avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1151,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1154,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1154,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1155,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1145
    functionDepth: 4
    functionLinenumber: 1145
    functionLinenumberEnd: 1157
    functionName: avro_resolved_writer_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - avro_value_set_bytes
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_bytes(const avro_value_iface_t *viface,\n\t\t\t
      \      void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1165,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1168,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1168,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1169,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1159
    functionDepth: 4
    functionLinenumber: 1159
    functionLinenumberEnd: 1171
    functionName: avro_resolved_writer_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - avro_value_give_bytes
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_give_bytes(const avro_value_iface_t *viface,\n\t\t\t\tvoid
      *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1178,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1179,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1173
    functionDepth: 3
    functionLinenumber: 1173
    functionLinenumberEnd: 1185
    functionName: try_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_resolved_writer_create
    - avro_memoize_set
    - is_avro_bytes
    linkageType: ''
    returnType: int
    signature: "int try_bytes(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      \ avro_schema_t wschema, avro_schema_t rschema,\n\t  avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1198,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1201,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1201,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1202,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1192
    functionDepth: 4
    functionLinenumber: 1192
    functionLinenumberEnd: 1204
    functionName: avro_resolved_writer_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - avro_value_set_double
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_double(const avro_value_iface_t *viface,\n\t\t\t\tvoid
      *vself, double val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1211,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1212,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1206
    functionDepth: 3
    functionLinenumber: 1206
    functionLinenumberEnd: 1217
    functionName: try_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_memoize_set
    - is_avro_double
    - avro_resolved_writer_create
    linkageType: ''
    returnType: int
    signature: "int try_double(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      \  avro_schema_t wschema, avro_schema_t rschema,\n\t   avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1230,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1233,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1233,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1234,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1224
    functionDepth: 4
    functionLinenumber: 1224
    functionLinenumberEnd: 1236
    functionName: avro_resolved_writer_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    - avro_value_set_float
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_float(const avro_value_iface_t *viface,\n\t\t\t
      \      void *vself, float val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1244,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1247,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1247,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1248,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1238
    functionDepth: 4
    functionLinenumber: 1238
    functionLinenumberEnd: 1250
    functionName: avro_resolved_writer_set_float_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - avro_value_set_double
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_float_double(const avro_value_iface_t
      *viface,\n\t\t\t\t      void *vself, float val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1257,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1258,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1259,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1263,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1264,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1252
    functionDepth: 3
    functionLinenumber: 1252
    functionLinenumberEnd: 1270
    functionName: try_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - is_avro_float
    - avro_memoize_set
    - is_avro_double
    - avro_resolved_writer_create
    linkageType: ''
    returnType: int
    signature: "int try_float(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      \ avro_schema_t wschema, avro_schema_t rschema,\n\t  avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1283,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1286,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1286,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1287,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1277
    functionDepth: 4
    functionLinenumber: 1277
    functionLinenumberEnd: 1289
    functionName: avro_resolved_writer_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_set_int
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_int(const avro_value_iface_t *viface,\n\t\t\t
      \    void *vself, int32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1297,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1300,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1300,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1301,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1291
    functionDepth: 4
    functionLinenumber: 1291
    functionLinenumberEnd: 1303
    functionName: avro_resolved_writer_set_int_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - avro_value_set_double
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_int_double(const avro_value_iface_t *viface,\n\t\t\t\t
      \   void *vself, int32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1311,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1314,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1314,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1315,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1305
    functionDepth: 4
    functionLinenumber: 1305
    functionLinenumberEnd: 1317
    functionName: avro_resolved_writer_set_int_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    - avro_value_set_float
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_int_float(const avro_value_iface_t *viface,\n\t\t\t\t
      \  void *vself, int32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1325,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1328,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1328,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1329,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1319
    functionDepth: 4
    functionLinenumber: 1319
    functionLinenumberEnd: 1331
    functionName: avro_resolved_writer_set_int_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    - avro_value_set_long
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_int_long(const avro_value_iface_t *viface,\n\t\t\t\t
      \ void *vself, int32_t val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1338,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1339,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1340,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1344,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1345,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1346,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1350,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1351,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1352,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1356,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1357,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1333
    functionDepth: 3
    functionLinenumber: 1333
    functionLinenumberEnd: 1363
    functionName: try_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_memoize_set
    - is_avro_float
    - is_avro_int64
    - avro_resolved_writer_create
    - is_avro_int32
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: "int try_int(memoize_state_t *state, avro_resolved_writer_t **self,\n\tavro_schema_t
      wschema, avro_schema_t rschema,\n\tavro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1376,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1379,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1379,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1380,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1370
    functionDepth: 4
    functionLinenumber: 1370
    functionLinenumberEnd: 1382
    functionName: avro_resolved_writer_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    - avro_value_set_long
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_long(const avro_value_iface_t *viface,\n\t\t\t
      \     void *vself, int64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1390,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1393,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1393,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1394,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1384
    functionDepth: 4
    functionLinenumber: 1384
    functionLinenumberEnd: 1396
    functionName: avro_resolved_writer_set_long_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - avro_value_set_double
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_long_double(const avro_value_iface_t
      *viface,\n\t\t\t\t     void *vself, int64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1404,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1407,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1407,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1408,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1398
    functionDepth: 4
    functionLinenumber: 1398
    functionLinenumberEnd: 1410
    functionName: avro_resolved_writer_set_long_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    - avro_value_set_float
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_long_float(const avro_value_iface_t *viface,\n\t\t\t\t
      \   void *vself, int64_t val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1417,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1418,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1419,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1423,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1424,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1425,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1429,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1430,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1412
    functionDepth: 3
    functionLinenumber: 1412
    functionLinenumberEnd: 1436
    functionName: try_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_memoize_set
    - is_avro_float
    - is_avro_int64
    - avro_resolved_writer_create
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: "int try_long(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      avro_schema_t wschema, avro_schema_t rschema,\n\t avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1449,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1452,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1452,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1453,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1443
    functionDepth: 4
    functionLinenumber: 1443
    functionLinenumberEnd: 1455
    functionName: avro_resolved_writer_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_set_null
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_null(const avro_value_iface_t *viface,\n\t\t\t
      \     void *vself)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1462,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1463,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1457
    functionDepth: 3
    functionLinenumber: 1457
    functionLinenumberEnd: 1468
    functionName: try_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - is_avro_null
    - avro_memoize_set
    - avro_resolved_writer_create
    linkageType: ''
    returnType: int
    signature: "int try_null(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      avro_schema_t wschema, avro_schema_t rschema,\n\t avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1481,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1484,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1484,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1485,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1475
    functionDepth: 4
    functionLinenumber: 1475
    functionLinenumberEnd: 1487
    functionName: avro_resolved_writer_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - DEBUG
    - check
    - avro_resolved_writer_get_real_dest
    - avro_value_set_string
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_string(const avro_value_iface_t *viface,\n\t\t\t\tvoid
      *vself, const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1495,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1498,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1498,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1499,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1489
    functionDepth: 4
    functionLinenumber: 1489
    functionLinenumberEnd: 1501
    functionName: avro_resolved_writer_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_set_string_len
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_string_len(const avro_value_iface_t *viface,\n\t\t\t\t
      \   void *vself, const char *str, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1509,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1512,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1512,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1513,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1503
    functionDepth: 4
    functionLinenumber: 1503
    functionLinenumberEnd: 1515
    functionName: avro_resolved_writer_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_value_give_string_len
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_give_string_len(const avro_value_iface_t
      *viface,\n\t\t\t\t     void *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1522,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1523,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1530
    functionName: try_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - is_avro_string
    - avro_memoize_set
    - avro_resolved_writer_create
    linkageType: ''
    returnType: int
    signature: "int try_string(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      \  avro_schema_t wschema, avro_schema_t rschema,\n\t   avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1551,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1556,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1557,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1558,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1562
    functionName: avro_resolved_array_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_writer_calculate_size
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_array_writer_calculate_size(avro_resolved_writer_t
      *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1568,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1569,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1570,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1571,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1564
    functionDepth: 4
    functionLinenumber: 1564
    functionLinenumberEnd: 1573
    functionName: avro_resolved_array_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - container_of
    - free_resolver
    linkageType: ''
    returnType: void
    signature: void avro_resolved_array_writer_free_iface(avro_resolved_writer_t *iface,
      st_table *freeing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1579,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1582,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1585
    functionName: avro_resolved_array_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_raw_array_init
    - DEBUG
    linkageType: ''
    returnType: int
    signature: int avro_resolved_array_writer_init(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1592,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1593,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - child_iface
    - self
    argTypes:
    - avro_resolved_writer_t*
    - avro_resolved_array_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1596
    functionName: avro_resolved_array_writer_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_get_raw
    - avro_raw_array_size
    - avro_resolved_writer_done
    linkageType: ''
    returnType: void
    signature: "void avro_resolved_array_writer_free_elements(const avro_resolved_writer_t
      *child_iface,\n\t\t\t\t\t avro_resolved_array_value_t *self)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1602,1
    - Dst: avro_resolved_array_writer_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1604,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1598
    functionDepth: 2
    functionLinenumber: 1598
    functionLinenumberEnd: 1606
    functionName: avro_resolved_array_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_resolved_array_writer_free_elements
    - container_of
    - avro_raw_array_done
    linkageType: ''
    returnType: void
    signature: void avro_resolved_array_writer_done(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1612,1
    - Dst: avro_resolved_array_writer_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1616,1
    - Dst: avro_raw_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1619
    functionName: avro_resolved_array_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_clear
    - avro_resolved_array_writer_free_elements
    - container_of
    linkageType: ''
    returnType: int
    signature: int avro_resolved_array_writer_reset(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1627,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1630,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1630,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1621
    functionDepth: 4
    functionLinenumber: 1621
    functionLinenumberEnd: 1632
    functionName: avro_resolved_array_writer_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - container_of
    - avro_value_get_size
    - avro_resolved_writer_get_real_dest
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_array_writer_get_size(const avro_value_iface_t *viface,\n\t\t\t\t
      \   const void *vself, size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1641,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1643,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1646,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1646,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1649,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1651,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1655,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1656,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1656,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - viface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1634
    functionDepth: 4
    functionLinenumber: 1634
    functionLinenumberEnd: 1658
    functionName: avro_resolved_array_writer_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - check
    - avro_resolved_writer_get_real_dest
    - avro_value_append
    - DEBUG
    - container_of
    - avro_resolved_writer_init
    - avro_raw_array_append
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_array_writer_append(const avro_value_iface_t *viface,\n\t\t\t\t
      \ void *vself, avro_value_t *child_out,\n\t\t\t\t  size_t *new_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1663,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1664,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1677,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1678,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1686
    functionName: avro_resolved_array_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_array_writer_t
    signature: 'avro_resolved_array_writer_t *

      avro_resolved_array_writer_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1697,1
    - Dst: avro_resolved_array_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1708,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1709,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1711,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1712,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1715,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1717,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1718,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1688
    functionDepth: 3
    functionLinenumber: 1688
    functionLinenumberEnd: 1731
    functionName: try_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_resolved_writer_new_memoized
    - avro_memoize_delete
    - avro_resolved_array_writer_create
    - avro_prefix_error
    - avro_schema_array_items
    - is_avro_array
    linkageType: ''
    returnType: int
    signature: "int try_array(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      \ avro_schema_t wschema, avro_schema_t rschema,\n\t  avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1744,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1747,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1747,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1748,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1738
    functionDepth: 4
    functionLinenumber: 1738
    functionLinenumberEnd: 1750
    functionName: avro_resolved_writer_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - avro_value_set_enum
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_enum(const avro_value_iface_t *viface,\n\t\t\t
      \     void *vself, int val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1762,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1763,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1764,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1766,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1767,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1752
    functionDepth: 3
    functionLinenumber: 1752
    functionLinenumberEnd: 1773
    functionName: try_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_memoize_set
    - avro_schema_name
    - avro_resolved_writer_create
    - is_avro_enum
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int try_enum(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      avro_schema_t wschema, avro_schema_t rschema,\n\t avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1786,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1789,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1789,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1790,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1780
    functionDepth: 4
    functionLinenumber: 1780
    functionLinenumberEnd: 1792
    functionName: avro_resolved_writer_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - avro_resolved_writer_get_real_dest
    - avro_value_set_fixed
    - DEBUG
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_set_fixed(const avro_value_iface_t *viface,\n\t\t\t
      \      void *vself, void *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1800,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1803,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1803,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1804,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1794
    functionDepth: 4
    functionLinenumber: 1794
    functionLinenumberEnd: 1806
    functionName: avro_resolved_writer_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_give_fixed
    - check
    - avro_resolved_writer_get_real_dest
    - DEBUG
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_give_fixed(const avro_value_iface_t *viface,\n\t\t\t\tvoid
      *vself, avro_wrapped_buffer_t *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1817,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1818,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 1824
    functionName: try_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_schema_equal
    - avro_memoize_set
    - avro_resolved_writer_create
    linkageType: ''
    returnType: int
    signature: "int try_fixed(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      \ avro_schema_t wschema, avro_schema_t rschema,\n\t  avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1845,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1850,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1851,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1852,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1841
    functionDepth: 3
    functionLinenumber: 1841
    functionLinenumberEnd: 1856
    functionName: avro_resolved_map_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_writer_calculate_size
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_map_writer_calculate_size(avro_resolved_writer_t
      *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1862,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1863,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1864,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1865,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1858
    functionDepth: 4
    functionLinenumber: 1858
    functionLinenumberEnd: 1867
    functionName: avro_resolved_map_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - container_of
    - free_resolver
    linkageType: ''
    returnType: void
    signature: void avro_resolved_map_writer_free_iface(avro_resolved_writer_t *iface,
      st_table *freeing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1873,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1876,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1879
    functionName: avro_resolved_map_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_raw_array_init
    - DEBUG
    linkageType: ''
    returnType: int
    signature: int avro_resolved_map_writer_init(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1886,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1887,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - child_iface
    - self
    argTypes:
    - avro_resolved_writer_t*
    - avro_resolved_map_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1890
    functionName: avro_resolved_map_writer_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_raw_array_get_raw
    - avro_raw_array_size
    - avro_resolved_writer_done
    linkageType: ''
    returnType: void
    signature: "void avro_resolved_map_writer_free_elements(const avro_resolved_writer_t
      *child_iface,\n\t\t\t\t       avro_resolved_map_value_t *self)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1896,1
    - Dst: avro_resolved_map_writer_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1898,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1892
    functionDepth: 2
    functionLinenumber: 1892
    functionLinenumberEnd: 1900
    functionName: avro_resolved_map_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_map_writer_free_elements
    - avro_raw_array_done
    linkageType: ''
    returnType: void
    signature: void avro_resolved_map_writer_done(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1906,1
    - Dst: avro_resolved_map_writer_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1902
    functionDepth: 2
    functionLinenumber: 1902
    functionLinenumberEnd: 1912
    functionName: avro_resolved_map_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_map_writer_free_elements
    linkageType: ''
    returnType: int
    signature: int avro_resolved_map_writer_reset(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1920,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1923,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1923,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1914
    functionDepth: 4
    functionLinenumber: 1914
    functionLinenumberEnd: 1925
    functionName: avro_resolved_map_writer_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - container_of
    - avro_value_get_size
    - avro_resolved_writer_get_real_dest
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_map_writer_get_size(const avro_value_iface_t *viface,\n\t\t\t\t
      \ const void *vself, size_t *size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1934,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1936,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1939,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1939,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1953,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1954,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1954,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1958,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1959,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1961,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1964,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1964,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1967,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - viface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1927
    functionDepth: 4
    functionLinenumber: 1927
    functionLinenumberEnd: 1980
    functionName: avro_resolved_map_writer_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - check
    - avro_resolved_writer_get_real_dest
    - avro_value_add
    - DEBUG
    - avro_raw_array_get_raw
    - container_of
    - avro_resolved_writer_init
    - avro_raw_array_append
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_map_writer_add(const avro_value_iface_t *viface,\n\t\t\t
      \    void *vself, const char *key,\n\t\t\t     avro_value_t *child, size_t *index,
      int *is_new)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1985,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1986,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1999,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2000,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1982
    functionDepth: 2
    functionLinenumber: 1982
    functionLinenumberEnd: 2008
    functionName: avro_resolved_map_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_map_writer_t
    signature: 'avro_resolved_map_writer_t *

      avro_resolved_map_writer_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2019,1
    - Dst: avro_resolved_map_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2030,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2031,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2033,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2034,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2037,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2039,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2040,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2010
    functionDepth: 3
    functionLinenumber: 2010
    functionLinenumberEnd: 2053
    functionName: try_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_resolved_map_writer_create
    - avro_resolved_writer_new_memoized
    - avro_schema_map_values
    - avro_memoize_delete
    - is_avro_map
    - avro_prefix_error
    linkageType: ''
    returnType: int
    signature: "int try_map(memoize_state_t *state, avro_resolved_writer_t **self,\n\tavro_schema_t
      wschema, avro_schema_t rschema,\n\tavro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iface
    - ','
    - rec
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2077
    functionName: avro_resolved_record_field
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_record_field(iface, rec, index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2083,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2088,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2089,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2090,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2102,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2106,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2109,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2079
    functionDepth: 3
    functionLinenumber: 2079
    functionLinenumberEnd: 2115
    functionName: avro_resolved_record_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_writer_calculate_size
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_record_writer_calculate_size(avro_resolved_writer_t
      *iface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2121,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2124,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2132,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2134,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2137,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2142,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2146,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2147,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2117
    functionDepth: 4
    functionLinenumber: 2117
    functionLinenumberEnd: 2149
    functionName: avro_resolved_record_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - avro_freet
    - free_resolver
    - avro_free
    - DEBUG
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_resolved_record_writer_free_iface(avro_resolved_writer_t
      *iface, st_table *freeing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2156,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2163,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2163,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2151
    functionDepth: 1
    functionLinenumber: 2151
    functionLinenumberEnd: 2170
    functionName: avro_resolved_record_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - container_of
    - avro_resolved_writer_init
    - avro_resolved_record_field
    linkageType: ''
    returnType: int
    signature: int avro_resolved_record_writer_init(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2176,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2183,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2172
    functionDepth: 1
    functionLinenumber: 2172
    functionLinenumberEnd: 2188
    functionName: avro_resolved_record_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_writer_done
    - avro_resolved_record_field
    linkageType: ''
    returnType: void
    signature: void avro_resolved_record_writer_done(const avro_resolved_writer_t
      *iface, void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2195,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2202,1
    - Dst: avro_resolved_writer_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2202,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2190
    functionDepth: 1
    functionLinenumber: 2190
    functionLinenumberEnd: 2209
    functionName: avro_resolved_record_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - check
    - container_of
    - avro_resolved_writer_reset_wrappers
    - avro_resolved_record_field
    linkageType: ''
    returnType: int
    signature: int avro_resolved_record_writer_reset(const avro_resolved_writer_t
      *iface, void *vself)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2215,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2217,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2211
    functionDepth: 1
    functionLinenumber: 2211
    functionLinenumberEnd: 2222
    functionName: avro_resolved_record_writer_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_record_writer_get_size(const avro_value_iface_t
      *viface,\n\t\t\t\t     const void *vself, size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2231,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2233,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2237,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2239,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2245,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2245,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2247,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2249,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2224
    functionDepth: 4
    functionLinenumber: 2224
    functionLinenumberEnd: 2252
    functionName: avro_resolved_record_writer_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - DEBUG
    - check
    - avro_resolved_writer_get_real_dest
    - avro_resolved_record_field
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_record_writer_get_by_index(const avro_value_iface_t
      *viface,\n\t\t\t\t\t const void *vself, size_t index,\n\t\t\t\t\t avro_value_t
      *child, const char **name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2260,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2262,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2264,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2268,1
    - Dst: avro_resolved_record_writer_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2254
    functionDepth: 5
    functionLinenumber: 2254
    functionLinenumberEnd: 2273
    functionName: avro_resolved_record_writer_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_resolved_record_writer_get_by_index
    - avro_set_error
    - DEBUG
    - avro_schema_record_field_get_index
    - container_of
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_record_writer_get_by_name(const avro_value_iface_t
      *viface,\n\t\t\t\t\tconst void *vself, const char *name,\n\t\t\t\t\tavro_value_t
      *child, size_t *index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2278,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2279,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2293,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2294,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2302
    functionName: avro_resolved_record_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_record_writer_t
    signature: 'avro_resolved_record_writer_t *

      avro_resolved_record_writer_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2314,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2318,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2319,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2321,1
    - Dst: avro_resolved_record_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2345,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2346,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2348,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2349,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2351,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2354,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2355,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2356,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2361,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2363,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2365,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2371,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2380,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2394,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2406,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2408,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2411,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2419,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2442,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2443,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2449,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2454,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2455,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2456,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2304
    functionDepth: 3
    functionLinenumber: 2304
    functionLinenumberEnd: 2458
    functionName: try_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - is_avro_record
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_calloc
    - avro_schema_record_field_get_by_index
    - avro_schema_record_size
    - avro_resolved_writer_new_memoized
    - avro_resolved_record_writer_create
    - avro_memoize_delete
    - avro_schema_name
    - avro_prefix_error
    - avro_free
    - DEBUG
    - avro_schema_record_field_get_index
    - avro_schema_record_field_name
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int try_record(memoize_state_t *state, avro_resolved_writer_t **self,\n\t
      \  avro_schema_t wschema, avro_schema_t rschema,\n\t   avro_schema_t root_rschema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _union
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2485
    functionName: avro_resolved_union_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_resolved_union_branch(_union)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2491,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2496,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2497,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2498,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2504,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2506,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2510,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2517,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2487
    functionDepth: 3
    functionLinenumber: 2487
    functionLinenumberEnd: 2521
    functionName: avro_resolved_union_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_writer_calculate_size
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: void
    signature: void avro_resolved_union_writer_calculate_size(avro_resolved_writer_t
      *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2527,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2533,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2536,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2540,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2541,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2523
    functionDepth: 4
    functionLinenumber: 2523
    functionLinenumberEnd: 2543
    functionName: avro_resolved_union_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - free_resolver
    - avro_free
    - avro_freet
    - container_of
    linkageType: ''
    returnType: void
    signature: void avro_resolved_union_writer_free_iface(avro_resolved_writer_t *iface,
      st_table *freeing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2545
    functionDepth: 1
    functionLinenumber: 2545
    functionLinenumberEnd: 2552
    functionName: avro_resolved_union_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: int avro_resolved_union_writer_init(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2558,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2561,1
    - Dst: avro_resolved_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2554
    functionDepth: 1
    functionLinenumber: 2554
    functionLinenumberEnd: 2566
    functionName: avro_resolved_union_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_writer_done
    - avro_resolved_union_branch
    linkageType: ''
    returnType: void
    signature: void avro_resolved_union_writer_done(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2572,1
    - Dst: avro_resolved_writer_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2578,1
    - Dst: avro_resolved_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2568
    functionDepth: 1
    functionLinenumber: 2568
    functionLinenumberEnd: 2584
    functionName: avro_resolved_union_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - container_of
    - avro_resolved_writer_reset_wrappers
    - avro_resolved_union_branch
    linkageType: ''
    returnType: int
    signature: int avro_resolved_union_writer_reset(const avro_resolved_writer_t *iface,
      void *vself)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2593,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2595,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2598,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2602,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2603,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2605,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2610,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2613,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2614,1
    - Dst: avro_resolved_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2616,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2618,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2619,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2619,1
    - Dst: avro_resolved_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2621,1
    - Dst: avro_resolved_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - viface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2586
    functionDepth: 3
    functionLinenumber: 2586
    functionLinenumberEnd: 2630
    functionName: avro_resolved_union_writer_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - check
    - avro_resolved_writer_done
    - avro_schema_type_name
    - DEBUG
    - container_of
    - avro_resolved_writer_init
    - avro_resolved_union_branch
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_union_writer_set_branch(const avro_value_iface_t
      *viface,\n\t\t\t\t      void *vself, int discriminant,\n\t\t\t\t      avro_value_t
      *branch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2635,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2636,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2648,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2649,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2632
    functionDepth: 2
    functionLinenumber: 2632
    functionLinenumberEnd: 2657
    functionName: avro_resolved_union_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 0
    functionsReached:
    - memset
    - avro_new
    - container_of
    - avro_schema_incref
    linkageType: ''
    returnType: avro_resolved_union_writer_t
    signature: 'avro_resolved_union_writer_t *

      avro_resolved_union_writer_create(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2683,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2684,1
    - Dst: avro_resolved_union_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2687,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2688,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2691,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2697,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2699,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2700,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2711,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2713,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2715,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2727,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2728,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2730,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2743,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2744,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2750,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2755,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2659
    functionDepth: 3
    functionLinenumber: 2659
    functionLinenumberEnd: 2757
    functionName: try_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - avro_value_iface_decref
    - avro_calloc
    - avro_memoize_set
    - avro_schema_union_branch
    - avro_resolved_writer_new_memoized
    - avro_schema_union_size
    - avro_memoize_delete
    - avro_resolved_union_writer_create
    - avro_free
    - avro_schema_type_name
    - DEBUG
    linkageType: ''
    returnType: avro_resolved_writer_t
    signature: "avro_resolved_writer_t *\ntry_union(memoize_state_t *state,\n\t  avro_schema_t
      wschema, avro_schema_t rschema)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2768,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2768,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2769,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2769,1
    - Dst: skip_links
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2771,1
    - Dst: avro_memoize_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2779,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2780,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2781,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2782,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2783,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2784,1
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2785,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2788,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2789,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2790,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2791,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2792,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2799,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2802,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2806,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2810,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2814,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2818,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2822,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2826,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2830,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2834,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2838,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2842,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2846,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2850,1
    - Dst: try_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2854,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2857,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2764
    functionDepth: 3
    functionLinenumber: 2764
    functionLinenumberEnd: 2866
    functionName: avro_resolved_writer_new_memoized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 5
    functionsReached:
    - avro_set_error
    - skip_links
    - is_avro_link
    - check_simple_writer
    - check_param
    - is_avro_schema
    - DEBUG
    - avro_schema_type_name
    - try_union
    - avro_typeof
    - avro_value_iface_incref
    - avro_memoize_get
    linkageType: ''
    returnType: avro_resolved_writer_t
    signature: "avro_resolved_writer_t *\navro_resolved_writer_new_memoized(memoize_state_t
      *state,\n\t\t\t\t  avro_schema_t wschema, avro_schema_t rschema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_memoize_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2878,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2886,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2888,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2897,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2900,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2869
    functionDepth: 4
    functionLinenumber: 2869
    functionLinenumberEnd: 2911
    functionName: avro_resolved_writer_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: 4
    functionsReached:
    - avro_memoize_init
    - avro_resolved_writer_calculate_size
    - avro_memoize_done
    - avro_resolved_writer_new_memoized
    linkageType: ''
    returnType: avro_value_iface_t
    signature: 'avro_value_iface_t *

      avro_resolved_writer_new(avro_schema_t wschema, avro_schema_t rschema)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:34,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:34,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:40,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:40,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:45,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:45,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:49,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - reader
    - enc
    - writers_schema
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - struct avro_array_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: skip_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c
    functionUses: 0
    functionsReached:
    - avro_skip_data
    - avro_encoding_t*::read_long
    - check_prefix
    linkageType: ''
    returnType: int
    signature: "int skip_array(avro_reader_t reader, const avro_encoding_t * enc,\n\t\t
      \     struct avro_array_schema_t *writers_schema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:61,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:61,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:67,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:67,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:71,1
    - Dst: avro_encoding_t*::skip_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:71,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:73,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:74,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:75,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:79,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - reader
    - enc
    - writers_schema
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - struct avro_map_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 83
    functionName: skip_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c
    functionUses: 0
    functionsReached:
    - avro_skip_data
    - avro_encoding_t*::read_long
    - avro_encoding_t*::skip_string
    - avro_schema_to_map
    - check_prefix
    linkageType: ''
    returnType: int
    signature: "int skip_map(avro_reader_t reader, const avro_encoding_t * enc,\n\t\t
      \   struct avro_map_schema_t *writers_schema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:92,1
    - Dst: avro_encoding_t*::read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:92,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:94,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - reader
    - enc
    - writers_schema
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - struct avro_union_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: skip_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c
    functionUses: 0
    functionsReached:
    - avro_skip_data
    - avro_encoding_t*::read_long
    - check_prefix
    - avro_schema_union_branch
    linkageType: ''
    returnType: int
    signature: "int skip_union(avro_reader_t reader, const avro_encoding_t * enc,\n\t\t
      \     struct avro_union_schema_t *writers_schema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:107,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:112,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:114,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - reader
    - enc
    - writers_schema
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - struct avro_record_schema_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: skip_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c
    functionUses: 0
    functionsReached:
    - avro_skip_data
    - avro_schema_record_field_get_by_index
    - check_prefix
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int skip_record(avro_reader_t reader, const avro_encoding_t * enc,\n\t\t
      \      struct avro_record_schema_t *writers_schema)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:122,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:123,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:123,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:128,1
    - Dst: avro_encoding_t*::skip_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:130,1
    - Dst: avro_encoding_t*::skip_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:134,1
    - Dst: avro_encoding_t*::skip_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:138,1
    - Dst: avro_encoding_t*::skip_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:142,1
    - Dst: avro_encoding_t*::skip_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:146,1
    - Dst: avro_encoding_t*::skip_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:150,1
    - Dst: avro_encoding_t*::skip_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:154,1
    - Dst: avro_encoding_t*::skip_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:158,1
    - Dst: avro_skip
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:163,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:164,1
    - Dst: avro_encoding_t*::skip_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:168,1
    - Dst: skip_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:173,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:174,1
    - Dst: skip_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:179,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:179,1
    - Dst: skip_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:184,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:185,1
    - Dst: skip_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:190,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:191,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:196,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:197,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - reader
    - writers_schema
    argTypes:
    - avro_reader_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 120
    functionDepth: 6
    functionLinenumber: 120
    functionLinenumberEnd: 202
    functionName: avro_skip_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c
    functionUses: 7
    functionsReached:
    - avro_encoding_t*::skip_null
    - avro_schema_to_link
    - skip_record
    - avro_encoding_t*::skip_float
    - avro_schema_to_fixed
    - avro_schema_to_union
    - skip_union
    - avro_encoding_t*::skip_double
    - avro_encoding_t*::skip_boolean
    - avro_schema_to_array
    - skip_map
    - avro_encoding_t*::skip_string
    - avro_typeof
    - avro_skip_data
    - avro_schema_to_record
    - avro_encoding_t*::skip_bytes
    - skip_array
    - check_param
    - avro_skip
    - is_avro_schema
    - avro_encoding_t*::skip_int
    - avro_schema_to_map
    - avro_encoding_t*::skip_long
    linkageType: ''
    returnType: int
    signature: int avro_skip_data(avro_reader_t reader, avro_schema_t writers_schema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:36,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: avro_wrapped_copy_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: 0
    functionsReached:
    - avro_refcount_dec
    - avro_free
    linkageType: ''
    returnType: void
    signature: void avro_wrapped_copy_free(avro_wrapped_buffer_t *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - dest
    - src
    - offset
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - avro_wrapped_buffer_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: avro_wrapped_copy_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: 0
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: int
    signature: "int avro_wrapped_copy_copy(avro_wrapped_buffer_t *dest,\n\t\t       const
      avro_wrapped_buffer_t *src,\n\t\t       size_t offset, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:62,1
    - Dst: avro_refcount_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:74,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - dest
    - buf
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: avro_wrapped_buffer_new_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: 3
    functionsReached:
    - memcpy
    - avro_refcount_set
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: "int avro_wrapped_buffer_new_copy(avro_wrapped_buffer_t *dest,\n\t\t\t
      \    const void *buf, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - dest
    - buf
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: avro_wrapped_buffer_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int avro_wrapped_buffer_new(avro_wrapped_buffer_t *dest,\n\t\t\tconst
      void *buf, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:98,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - avro_wrapped_buffer_t*
    - avro_wrapped_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: avro_wrapped_buffer_move
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: 1
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void avro_wrapped_buffer_move(avro_wrapped_buffer_t *dest,\n\t\t\t
      avro_wrapped_buffer_t *src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:108,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:113,1
    - Dst: avro_wrapped_buffer_new_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:118,1
    - Dst: avro_wrapped_buffer_t*::copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - dest
    - src
    - offset
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - avro_wrapped_buffer_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: avro_wrapped_buffer_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: 1
    functionsReached:
    - avro_set_error
    - avro_wrapped_buffer_new_copy
    - avro_wrapped_buffer_t*::copy
    linkageType: ''
    returnType: int
    signature: "int avro_wrapped_buffer_copy(avro_wrapped_buffer_t *dest,\n\t\t\t
      const avro_wrapped_buffer_t *src,\n\t\t\t size_t offset, size_t length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:129,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:134,1
    - Dst: avro_wrapped_buffer_t*::slice
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - self
    - offset
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: avro_wrapped_buffer_slice
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: 0
    functionsReached:
    - avro_set_error
    - avro_wrapped_buffer_t*::slice
    linkageType: ''
    returnType: int
    signature: "int avro_wrapped_buffer_slice(avro_wrapped_buffer_t *self,\n\t\t\t
      \ size_t offset, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - rc
    - ','
    - rec
    - ','
    - typ
    - ','
    - fname
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: avro_record_get_field_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/legacy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_record_get_field_value(rc, rec, typ, fname, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - rc
    - ','
    - rec
    - ','
    - typ
    - ','
    - fname
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: avro_record_set_field_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/legacy.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_record_set_field_value(rc, rec, typ, fname, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: INT8_C
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/msstdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT8_C(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: INT16_C
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/msstdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT16_C(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: INT32_C
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/msstdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT32_C(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: INT64_C
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/msstdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT64_C(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: UINT8_C
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/msstdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT8_C(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: UINT16_C
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/msstdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT16_C(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: UINT32_C
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/msstdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT32_C(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: UINT64_C
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/msstdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT64_C(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - json
    - ','
    - schema
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: avro_schema_from_json_literal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/schema.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_schema_from_json_literal(json, schema)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - numer
    - denom
    argTypes:
    - intmax_t
    - intmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 304
    functionName: imaxdiv
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/msinttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _inline
    signature: _inline imaxdiv(intmax_t numer, intmax_t denom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: avro_raw_array_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_raw_array_size(array)
  - 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: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: avro_raw_array_get_raw
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_raw_array_get_raw(array, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - array
    - ','
    - element_type
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: avro_raw_array_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_raw_array_get(array, element_type, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - map
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: avro_raw_map_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_raw_map_size(map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - map
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: avro_raw_get_entry
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_raw_get_entry(map, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - map
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: avro_raw_map_get_raw
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_raw_map_get_raw(map, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - map
    - ','
    - element_type
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: avro_raw_map_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_raw_map_get_by_index(map, element_type, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - map
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: avro_raw_map_get_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_raw_map_get_key(map, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: avro_wrapped_buffer_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_wrapped_buffer_free(self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: avro_wrapped_buffer_new_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_wrapped_buffer_new_string(dest, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: avro_wrapped_buffer_new_string_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_wrapped_buffer_new_string_copy(dest, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: avro_raw_string_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_raw_string_length(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: avro_raw_string_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/data.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_raw_string_get(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - method
    - ','
    - dflt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: avro_value_call0
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_call0(value, method, dflt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - value
    - ','
    - method
    - ','
    - dflt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: avro_value_call
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_call(value, method, dflt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: avro_value_iface_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_iface_incref(cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: avro_value_iface_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_iface_decref(cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: avro_value_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_reset(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: avro_value_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_type(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: avro_value_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_schema(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: avro_value_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_boolean(value, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: avro_value_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_bytes(value, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - dest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: avro_value_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_grab_bytes(value, dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: avro_value_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_double(value, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: avro_value_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_float(value, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: avro_value_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_int(value, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: avro_value_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_long(value, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: avro_value_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_null(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - str
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: avro_value_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_string(value, str, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - dest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: avro_value_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_grab_string(value, dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: avro_value_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_enum(value, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: avro_value_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_fixed(value, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - dest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: avro_value_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_grab_fixed(value, dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: avro_value_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_boolean(value, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: avro_value_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_bytes(value, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: avro_value_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_give_bytes(value, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: avro_value_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_double(value, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: avro_value_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_float(value, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: avro_value_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_int(value, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: avro_value_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_long(value, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: avro_value_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_null(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: avro_value_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_string(value, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - str
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: avro_value_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_string_len(value, str, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: avro_value_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_give_string_len(value, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: avro_value_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_enum(value, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 476
    functionName: avro_value_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_fixed(value, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: avro_value_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_give_fixed(value, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: avro_value_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_size(value, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - value
    - ','
    - idx
    - ','
    - child
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: avro_value_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_by_index(value, idx, child, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - value
    - ','
    - name
    - ','
    - child
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: avro_value_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_by_name(value, name, child, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: avro_value_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_discriminant(value, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - branch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: avro_value_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_get_current_branch(value, branch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - child
    - ','
    - new_index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: avro_value_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_append(value, child, new_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - value
    - ','
    - key
    - ','
    - child
    - ','
    - index
    - ','
    - is_new
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: avro_value_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_add(value, key, child, index, is_new)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - discriminant
    - ','
    - branch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 496
    functionName: avro_value_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/value.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_value_set_branch(value, discriminant, branch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - osz
    - ','
    - nsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: avro_realloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/allocation.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_realloc(ptr, osz, nsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: avro_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/allocation.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_malloc(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - osz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: avro_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/allocation.h
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_free(ptr, osz)
  - 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: avro_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/allocation.h
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_new(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: avro_freet
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/allocation.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_freet(type, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - consumer
    - ','
    - callback
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: avro_consumer_call
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/consumer.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_consumer_call(consumer, callback, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_refcount_set(volatile int *refcount, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_refcount_inc(volatile int *refcount)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int avro_refcount_dec(volatile int *refcount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_refcount_set(volatile int *refcount, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSAtomicIncrement32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached:
    - OSAtomicIncrement32
    linkageType: ''
    returnType: void
    signature: void avro_refcount_inc(volatile int *refcount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSAtomicDecrement32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached:
    - OSAtomicDecrement32
    linkageType: ''
    returnType: int
    signature: int avro_refcount_dec(volatile int *refcount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_refcount_set(volatile int *refcount, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __sync_add_and_fetch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached:
    - __sync_add_and_fetch
    linkageType: ''
    returnType: void
    signature: void avro_refcount_inc(volatile int *refcount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __sync_sub_and_fetch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached:
    - __sync_sub_and_fetch
    linkageType: ''
    returnType: int
    signature: int avro_refcount_dec(volatile int *refcount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_refcount_set(volatile int *refcount, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_refcount_inc(volatile int *refcount)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int avro_refcount_dec(volatile int *refcount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: avro_refcount_LL_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int avro_refcount_LL_int(volatile int *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - val
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: avro_refcount_SC_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int avro_refcount_SC_int(volatile int *ptr, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_refcount_set(volatile int *refcount, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_LL_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:242,1
    - Dst: avro_refcount_SC_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached:
    - avro_refcount_SC_int
    - avro_refcount_LL_int
    linkageType: ''
    returnType: void
    signature: void avro_refcount_inc(volatile int *refcount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_LL_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:254,1
    - Dst: avro_refcount_SC_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached:
    - avro_refcount_SC_int
    - avro_refcount_LL_int
    linkageType: ''
    returnType: int
    signature: int avro_refcount_dec(volatile int *refcount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avro_refcount_set(volatile int *refcount, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedIncrement
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached:
    - _InterlockedIncrement
    linkageType: ''
    returnType: void
    signature: void avro_refcount_inc(volatile int *refcount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedDecrement
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: 15
    functionsReached:
    - _InterlockedDecrement
    linkageType: ''
    returnType: int
    signature: int avro_refcount_dec(volatile int *refcount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: avro_classof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_classof(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: is_avro_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_schema(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: is_avro_datum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_datum(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: avro_typeof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avro_typeof(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: is_avro_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_string(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: is_avro_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_bytes(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: is_avro_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_int32(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: is_avro_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_int64(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: is_avro_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_float(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: is_avro_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_double(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: is_avro_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_boolean(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: is_avro_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_null(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: is_avro_primitive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_primitive(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: is_avro_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_record(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: is_avro_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_enum(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: is_avro_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_fixed(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: is_avro_named_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_named_type(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: is_avro_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_map(obj)
  - 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: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: is_avro_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_array(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: is_avro_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_union(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: is_avro_complex_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_complex_type(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: is_avro_link
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/basics.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_avro_link(obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:45,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:46,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: init_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c
    functionUses: 2
    functionsReached:
    - avro_schema_from_json_literal
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void init_schema(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:57,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:60,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:68,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:69,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:71,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:72,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:74,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:75,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:77,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:78,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:80,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:81,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:84,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:85,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:86,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:87,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:91,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - db
    - first
    - last
    - phone
    - age
    argTypes:
    - avro_file_writer_t
    - char*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 93
    functionName: add_person
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c
    functionUses: 0
    functionsReached:
    - avro_generic_value_new
    - avro_value_decref
    - avro_value_iface_decref
    - avro_strerror
    - avro_value_set_int
    - avro_file_writer_append_value
    - fprintf
    - avro_value_get_by_name
    - avro_generic_class_from_schema
    - avro_value_set_string
    - avro_value_set_long
    - exit
    linkageType: ''
    returnType: void
    signature: "void add_person(avro_file_writer_t db, const char *first, const char
      *last,\n\t   const char *phone, int32_t age)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:99,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:102,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:106,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:118,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:119,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:120,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:122,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:123,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:124,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:126,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:127,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:128,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:130,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:131,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:132,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:134,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:135,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:136,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:138,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:141,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - db
    - reader_schema
    argTypes:
    - avro_file_reader_t
    - avro_schema_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 145
    functionName: print_person
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c
    functionUses: 0
    functionsReached:
    - avro_generic_value_new
    - avro_value_get_int
    - avro_value_decref
    - avro_value_iface_decref
    - avro_value_get_long
    - fprintf
    - avro_file_reader_read_value
    - avro_value_get_by_name
    - avro_value_get_string
    - avro_generic_class_from_schema
    linkageType: ''
    returnType: int
    signature: int print_person(avro_file_reader_t db, avro_schema_t reader_schema)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: init_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:158,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:161,1
    - Dst: avro_file_writer_create_with_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:163,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:166,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:167,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:167,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:168,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:174,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:175,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:176,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:177,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:178,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:179,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:180,1
    - Dst: avro_file_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:184,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:185,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:187,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:189,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:192,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:193,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:193,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:194,1
    - Dst: print_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:197,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:198,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:198,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:199,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:202,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:208,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:209,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:210,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:211,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:213,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:217,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:219,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:220,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:220,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:221,1
    - Dst: print_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:224,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:225,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:226,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:227,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:230,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:231,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:232,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:233,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c
    functionUses: 0
    functionsReached:
    - avro_file_reader_close
    - avro_schema_decref
    - avro_schema_string
    - avro_schema_record
    - remove
    - avro_strerror
    - sprintf
    - avro_file_writer_close
    - fprintf
    - print_person
    - add_person
    - avro_file_writer_flush
    - avro_file_reader
    - avro_schema_record_field_append
    - avro_file_writer_create_with_codec
    - init_schema
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - 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:
    - strlen
    - malloc
    - snprintf
    - printf
    - generate_table_list
    - free
    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
    - fprintf
    - dlclose
    - 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:
    - taos_free_result_func
    - printf
    - atomic_fetch_add
    - atomic_fetch_sub
    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:
    - usleep
    - atomic_load
    - atomic_init
    - taos_query_a_func
    - gettimeofday
    - 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:
    - load_taos_functions
    - malloc
    - fprintf
    - gettimeofday
    - taos_connect_func
    - printf
    - pthread_mutex_destroy
    - atoi
    - pthread_join
    - pthread_create
    - generate_sql_statements
    - free
    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: 10
    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:
    - idxFileCtxCreate
    - taosRemoveFile
    - c_str
    - fstBuilderCreate
    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
    - fstBuilderInsert
    - size
    - fstSliceCreate
    - c_str
    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:
    - fstBuilderDestroy
    - idxFileCtxDestroy
    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:
    - memset
    - idxFileCreate
    - idxFileCtxCreate
    - 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
    - fstCreate
    - taosMemoryCalloc
    - fstSliceCreate
    - taosMemoryFree
    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
    - size
    - fstSliceCreate
    - c_str
    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:
    - stmBuilderDestroy
    - fstSliceData
    - stmStNextWith
    - swsResultDestroy
    - std::string::c_str
    - printf
    - fstSearch
    - push_back
    - stmStDestroy
    - stmBuilderIntoStm
    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:
    - stmBuilderDestroy
    - fstSliceData
    - stmStNextWith
    - swsResultDestroy
    - fstSliceDestroy
    - std::string::c_str
    - stmBuilderSetRange
    - fstSearch
    - printf
    - push_back
    - size
    - stmStDestroy
    - fstSliceCreate
    - c_str
    - stmBuilderIntoStm
    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:
    - FstReadMemory::Search
    - taosGetTimestampUs
    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:
    - fstSliceDestroy
    - idxFileDestroy
    - fstDestroy
    - idxFileCtxDestroy
    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:
    - std::string::push_back
    - std::string::resize
    - std::string::c_str
    - printf
    - FstWriter*::Put
    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::push_back
    - FstReadMemory*::GetWithTimeCostUs
    - std::string::resize
    - std::string::c_str
    - 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*::init
    - FstWriter::FstWriter
    - FstReadMemory::FstReadMemory
    - printf
    - 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:
    - FstReadMemory*::init
    - FstWriter::FstWriter
    - FstReadMemory*::Get
    - FstReadMemory::FstReadMemory
    - FstWriter*::Put
    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:
    - FstReadMemory*::init
    - FstWriter::FstWriter
    - FstReadMemory*::Search
    - FstReadMemory::FstReadMemory
    - automCtxDestroy
    - std::vector::size
    - FstWriter*::Put
    - automCtxCreate
    - taosGetTimestampUs
    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:
    - FstReadMemory*::init
    - FstWriter::FstWriter
    - FstReadMemory*::Search
    - FstReadMemory::FstReadMemory
    - automCtxDestroy
    - std::vector::size
    - FstWriter*::Put
    - automCtxCreate
    - taosGetTimestampUs
    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:
    - FstReadMemory*::init
    - FstWriter::FstWriter
    - FstReadMemory*::Search
    - TD_ALWAYS_ASSERT
    - FstReadMemory::FstReadMemory
    - automCtxDestroy
    - std::vector::size
    - FstWriter*::Put
    - automCtxCreate
    - taosGetTimestampUs
    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:
    - FstReadMemory*::init
    - FstWriter::FstWriter
    - TD_ALWAYS_ASSERT
    - FstReadMemory::FstReadMemory
    - automCtxDestroy
    - std::vector::size
    - FstWriter*::Put
    - FstReadMemory*::SearchRange
    - automCtxCreate
    - taosGetTimestampUs
    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:
    - FstReadMemory*::init
    - FstWriter::FstWriter
    - TD_ALWAYS_ASSERT
    - FstReadMemory::FstReadMemory
    - automCtxDestroy
    - std::vector::size
    - FstWriter*::Put
    - FstReadMemory*::SearchRange
    - automCtxCreate
    - taosGetTimestampUs
    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:
    - FstReadMemory*::init
    - FstWriter::FstWriter
    - TD_ALWAYS_ASSERT
    - FstReadMemory::FstReadMemory
    - automCtxDestroy
    - std::vector::size
    - FstWriter*::Put
    - FstReadMemory*::SearchRange
    - automCtxCreate
    - taosGetTimestampUs
    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
    - fstSliceCreate
    - fstGet
    - 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:
    - tfileReaderOpen
    - join
    - taosMemoryCalloc
    - std::thread
    - 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:
    - tfileIteratorCreate
    - Iterate*::getValue
    - Iterate*::next
    - tfileReaderOpen
    - printf
    - taosArrayGetSize
    - atoi
    - tfileIteratorDestroy
    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:
    - sparSetGet
    - sparSetContains
    - EXPECT_EQ
    - sparSetLen
    - sparSetClear
    - sparSetAdd
    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:
    - idxFileCtxCreate
    - fstBuilderCreate
    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
    - fstBuilderInsert
    - size
    - fstSliceCreate
    - c_str
    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:
    - fstBuilderDestroy
    - idxFileCtxDestroy
    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:
    - memset
    - idxFileCreate
    - idxFileCtxCreate
    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
    - fstCreate
    - taosMemoryCalloc
    - fstSliceCreate
    - taosMemoryFree
    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
    - size
    - fstSliceCreate
    - c_str
    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:
    - stmStNextWith
    - fstSearch
    - push_back
    - stmBuilderIntoStm
    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:
    - FstReadMemory::Search
    - taosGetTimestampUs
    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:
    - fstSliceDestroy
    - idxFileDestroy
    - fstDestroy
    - idxFileCtxDestroy
    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:
    - std::string::push_back
    - std::string::resize
    - std::string::c_str
    - printf
    - FstWriter*::Put
    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::push_back
    - FstReadMemory*::GetWithTimeCostUs
    - std::string::resize
    - std::string::c_str
    - 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:
    - FstReadMemory*::init
    - FstWriter::FstWriter
    - FstReadMemory::FstReadMemory
    - printf
    - Performance_fstWriteRecords
    - Performance_fstReadRecords
    - taosGetTimestampUs
    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:
    - FstReadMemory*::init
    - FstWriter::FstWriter
    - taosMemoryFree
    - FstReadMemory*::Search
    - TD_ALWAYS_ASSERT
    - FstReadMemory::FstReadMemory
    - std::vector::size
    - FstWriter*::Put
    - automCtxCreate
    - taosGetTimestampUs
    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:
    - std::string::push_back
    - FstReadMemory*::init
    - FstWriter::FstWriter
    - TD_ALWAYS_ASSERT
    - FstReadMemory*::Get
    - FstReadMemory::FstReadMemory
    - std::string::c_str
    - printf
    - FstWriter*::Put
    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:
    - taosRemoveDir
    - taosMkDir
    - strcpy
    - printf
    - taosInitLog
    - c_str
    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
    - TD_ALWAYS_ASSERT
    - taosRemoveDir
    - initLog
    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:
    - memcpy
    - sprintf
    - taosLRUCacheInit
    - std::string::c_str
    - tfileWriterCreate
    - size
    - std::string::append
    - idxFileCtxCreate
    - c_str
    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:
    - idxFileCtxCreate
    - taosLRUCacheInit
    - tfileReaderCreate
    - 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:
    - tfileWriterDestroy
    - TFileObj::InitReader
    - idxTRsltCreate
    - idxTRsltMergeTo
    - tfileReaderSearch
    - idxTRsltDestroy
    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:
    - tfileWriterDestroy
    - tfileReaderDestroy
    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
    - TFileObj::TFileObj
    - taosRemoveDir
    - c_str
    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:
    - strlen
    - taosArrayPush
    - taosArrayInit
    - memcpy
    - 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:
    - Get
    - taosArrayPush
    - taosArrayDestroy
    - indexTermDestroy
    - taosArrayInit
    - genTFileValue
    - memcpy
    - taosArrayGetP
    - TD_ALWAYS_ASSERT
    - std::string::size
    - std::string::c_str
    - taosArrayGetSize
    - destroyTFileValue
    - indexTermCreate
    - Put
    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:
    - idxTRsltDestroy
    - idxTRsltMergeTo
    - idxTRsltCreate
    - idxCacheSearch
    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:
    - Get
    - taosArrayDestroy
    - indexTermDestroy
    - taosArrayInit
    - Debug
    - TD_ALWAYS_ASSERT
    - std::string::size
    - std::string::c_str
    - taosArrayGetSize
    - indexTermCreateT
    - Put
    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:
    - taosMkDir
    - indexOpen
    - 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
    - indexMultiTermDestroy
    - indexMultiTermAdd
    - size
    - indexTermCreateT
    - IndexObj::Put
    - c_str
    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
    - indexMultiTermDestroy
    - indexMultiTermAdd
    - TD_ALWAYS_ASSERT
    - size
    - indexTermCreateT
    - IndexObj::Put
    - c_str
    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
    - indexMultiTermDestroy
    - indexMultiTermAdd
    - TD_ALWAYS_ASSERT
    - std::string::size
    - std::string::c_str
    - size
    - indexTermCreateT
    - IndexObj::Put
    - taosRand
    - c_str
    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:
    - IndexObj::SearchOne
    - std::string::size
    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:
    - taosArrayDestroy
    - indexTermCreateT
    - taosArrayInit
    - indexMultiTermQueryDestroy
    - taosArrayGetSize
    - size
    - indexMultiTermQueryAdd
    - indexMultiTermQueryCreate
    - taosGetTimestampUs
    - c_str
    - 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:
    - taosArrayDestroy
    - indexTermCreateT
    - taosArrayInit
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - indexMultiTermQueryDestroy
    - taosArrayGetSize
    - size
    - indexMultiTermQueryAdd
    - indexMultiTermQueryCreate
    - taosGetTimestampUs
    - c_str
    - 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
    - indexMultiTermDestroy
    - indexMultiTermAdd
    - size
    - indexTermCreateT
    - IndexObj::Put
    - c_str
    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
    - indexMultiTermDestroy
    - indexMultiTermAdd
    - size
    - indexTermCreateT
    - IndexObj::Put
    - c_str
    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:
    - IndexObj::IndexObj
    - initLog
    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:
    - indexMultiTermCreate
    - taosArrayDestroy
    - taosArrayInit
    - exit
    - std::string::c_str
    - size
    - indexMultiTermQueryCreate
    - indexMultiTermDestroy
    - TD_ALWAYS_ASSERT
    - EXPECT_EQ
    - taosArrayGetSize
    - indexMultiTermQueryAdd
    - indexMultiTermAdd
    - std::string::size
    - indexMultiTermQueryDestroy
    - Init
    - indexTermCreateT
    - Put
    - c_str
    - Search
    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:
    - indexMultiTermCreate
    - indexMultiTermDestroy
    - indexMultiTermAdd
    - TD_ALWAYS_ASSERT
    - std::string::size
    - std::string::c_str
    - Init
    - size
    - indexTermCreateT
    - Put
    - c_str
    - exit
    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:
    - TD_ALWAYS_ASSERT
    - Init
    - SearchOne
    - WriteMillonData
    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*::WriteMultiMillonData
    - IndexObj*::SearchOne
    - IndexObj*::PutOne
    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:
    - WriteMultiMillonData
    - std::thread
    - join
    - Init
    - PutOne
    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:
    - join
    - std::thread
    - Init
    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
    - taosGetTimestampUs
    - WriteMultiMillonData
    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:
    - SearchOne
    - EXPECT_EQ
    - ReadMultiMillonData
    - Init
    - PutOneTarge
    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:
    - SearchOne
    - EXPECT_EQ
    - ReadMultiMillonData
    - Init
    - PutOneTarge
    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:
    - SearchOne
    - EXPECT_EQ
    - ReadMultiMillonData
    - Init
    - PutOneTarge
    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:
    - SearchOne
    - EXPECT_EQ
    - ReadMultiMillonData
    - Init
    - PutOneTarge
    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:
    - SearchOne
    - EXPECT_EQ
    - Init
    - PutOneTarge
    - Del
    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:
    - SearchOne
    - WriteMultiMillonData
    - EXPECT_EQ
    - Init
    - PutOneTarge
    - Del
    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:
    - taosRemoveDir
    - taosMkDir
    - strcpy
    - printf
    - taosInitLog
    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
    - taosArrayInit
    - taosArrayGetSize
    - taosArrayGetLast
    - taosMemoryCalloc
    - blockDataEnsureCapacity
    - colInfoDataEnsureCapacity
    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:
    - taosMemoryMalloc
    - nodesGetValueFromNode
    - IS_STR_DATA_BLOB
    - blobDataCopy
    - varDataTLen
    - assignVal
    - IS_VAR_DATA_TYPE
    - varDataCopy
    - nodesMakeNode
    - blobDataTLen
    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:
    - memcpy
    - strlen
    - nodesMakeNode
    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:
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    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**
    - int16_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, int16_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:
    - taosRemoveDir
    - taosMkDir
    - strcpy
    - printf
    - taosInitLog
    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
    - taosArrayInit
    - taosArrayGetSize
    - taosArrayGetLast
    - taosMemoryCalloc
    - blockDataEnsureCapacity
    - colInfoDataEnsureCapacity
    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:
    - taosMemoryMalloc
    - nodesGetValueFromNode
    - IS_STR_DATA_BLOB
    - blobDataCopy
    - varDataTLen
    - assignVal
    - IS_VAR_DATA_TYPE
    - varDataCopy
    - nodesMakeNode
    - blobDataTLen
    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:
    - memcpy
    - strlen
    - nodesMakeNode
    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:
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    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**
    - int16_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, int16_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:
    - doFilterTag
    - taosArrayDestroy
    - taosArrayInit
    - EXPECT_EQ
    - sifMakeColumnNode
    - taosArrayGetSize
    - sifMakeValueNode
    - nodesDestroyNode
    - sifMakeOpNode
    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:
    - EXPECT_EQ
    - sifMakeColumnNode
    - idxGetFltStatus
    - sifMakeValueNode
    - nodesDestroyNode
    - sifMakeOpNode
    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:
    - taosRemoveDir
    - taosMkDir
    - strcpy
    - printf
    - taosInitLog
    - c_str
    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:
    - taosRemoveDir
    - indexOptsCreate
    - taosMkDir
    - indexJsonOpen
    - TD_ALWAYS_ASSERT
    - printf
    - initLog
    - c_str
    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:
    - indexOptsDestroy
    - printf
    - indexJsonClose
    - taosMsleep
    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
    - indexMultiTermDestroy
    - indexMultiTermAdd
    - size
    - indexTermCreateT
    - indexJsonPut
    - c_str
    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
    - indexMultiTermDestroy
    - indexMultiTermAdd
    - size
    - indexTermCreateT
    - indexJsonPut
    - c_str
    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:
    - indexJsonSearch
    - taosArrayInit
    - std::string::size
    - std::string::c_str
    - indexMultiTermQueryDestroy
    - indexMultiTermQueryAdd
    - indexTermCreateT
    - 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:
    - indexMultiTermCreate
    - indexMultiTermDestroy
    - indexJsonSearch
    - taosArrayDestroy
    - taosArrayInit
    - indexMultiTermAdd
    - std::string::size
    - EXPECT_EQ
    - std::string::c_str
    - indexMultiTermQueryDestroy
    - taosArrayGetSize
    - indexMultiTermQueryAdd
    - indexTermCreateT
    - indexJsonPut
    - 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:
    - indexMultiTermCreate
    - indexMultiTermDestroy
    - indexJsonSearch
    - taosArrayDestroy
    - taosArrayInit
    - indexMultiTermAdd
    - std::string::size
    - EXPECT_EQ
    - std::string::c_str
    - indexMultiTermQueryDestroy
    - taosArrayGetSize
    - indexMultiTermQueryAdd
    - indexTermCreateT
    - indexJsonPut
    - 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:
    - indexMultiTermCreate
    - indexMultiTermDestroy
    - strlen
    - indexJsonSearch
    - taosArrayDestroy
    - taosArrayInit
    - indexMultiTermAdd
    - std::string::size
    - EXPECT_EQ
    - std::string::c_str
    - indexMultiTermQueryDestroy
    - taosArrayGetSize
    - indexMultiTermQueryAdd
    - indexTermCreateT
    - indexJsonPut
    - 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:
    - indexMultiTermCreate
    - indexMultiTermDestroy
    - indexJsonSearch
    - taosArrayDestroy
    - taosArrayInit
    - indexMultiTermAdd
    - std::string::size
    - EXPECT_EQ
    - std::string::c_str
    - indexMultiTermQueryDestroy
    - taosArrayGetSize
    - indexMultiTermQueryAdd
    - indexTermCreateT
    - indexJsonPut
    - 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:
    - taosArrayDestroy
    - WriteData
    - std::string::size
    - EXPECT_EQ
    - std::string::c_str
    - taosArrayGetSize
    - Search
    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:
    - taosArrayDestroy
    - WriteData
    - EXPECT_EQ
    - taosArrayGetSize
    - Search
    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:
    - taosArrayDestroy
    - WriteData
    - EXPECT_EQ
    - taosArrayGetSize
    - Search
    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:
    - tstrncpy
    - taosRemoveDir
    - taosMkDir
    - memset
    - snprintf
    - std::string::c_str
    - printf
    - taosInitLog
    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:
    - idxFileCtxCreate
    - fstBuilderCreate
    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
    - fstBuilderInsert
    - size
    - fstSliceCreate
    - c_str
    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:
    - fstBuilderDestroy
    - idxFileCtxDestroy
    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:
    - memset
    - idxFileCreate
    - idxFileCtxCreate
    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:
    - idxFileRead
    - taosMemoryFreeClear
    - fstCreate
    - taosMemoryCalloc
    - fstSliceCreate
    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
    - size
    - fstSliceCreate
    - c_str
    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:
    - fstSliceData
    - stmStNextWith
    - swsResultDestroy
    - std::string::c_str
    - printf
    - fstSearch
    - stmBuilderIntoStm
    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:
    - FstReadMemory::Search
    - taosGetTimestampUs
    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:
    - fstSliceDestroy
    - idxFileDestroy
    - fstDestroy
    - idxFileCtxDestroy
    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:
    - FstReadMemory::FstReadMemory
    - init
    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:
    - Get
    - CreateReader
    - std::string::resize
    - TD_ALWAYS_ASSERT
    - DestroyWriter
    - CreateWriter
    - automCtxCreate
    - Put
    - Search
    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:
    - Get
    - CreateReader
    - TD_ALWAYS_ASSERT
    - DestroyWriter
    - CreateWriter
    - Put
    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:
    - taosRemoveDir
    - taosMkDir
    - strcpy
    - printf
    - taosInitLog
    - c_str
    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
    - taosRemoveDir
    - initLog
    - 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
    - indexMultiTermAdd
    - std::string::size
    - std::string::c_str
    - indexTermCreateT
    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:
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayGetP
    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
    - taosArrayGetSize
    - taosArrayGetP
    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
    - iIntersection
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    - clearFinalArray
    - taosArrayGetSize
    - clearSourceArray
    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
    - iIntersection
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    - clearFinalArray
    - taosArrayGetSize
    - clearSourceArray
    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:
    - iIntersection
    - TD_ALWAYS_ASSERT
    - clearFinalArray
    - taosArrayGetSize
    - clearSourceArray
    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
    - iIntersection
    - taosArrayGetP
    - TD_ALWAYS_ASSERT
    - clearFinalArray
    - taosArrayGetSize
    - clearSourceArray
    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
    - iIntersection
    - taosArrayGetP
    - TD_ALWAYS_ASSERT
    - clearFinalArray
    - taosArrayGetSize
    - clearSourceArray
    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:
    - EXPECT_EQ
    - idxInt2str
    - 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
    - taosArrayInit
    - idxTRsltCreate
    - EXPECT_EQ
    - taosArrayGetSize
    - idxTRsltMergeTo
    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
    - taosArrayInit
    - idxTRsltCreate
    - EXPECT_EQ
    - taosArrayGetSize
    - idxTRsltMergeTo
    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:
    - idxGetCompare
    - cmpFunc
    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
    - taosArrayInit
    - dfaBuilderBuild
    - dfaBuilderCreate
    - ASSERT_TRUE
    - dfaBuilderDestroy
    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:
    - taosStr2int32
    - toUInteger
    - strlen
    - taosStr2Float
    - CHECKCOMERROR
    - tDoCompare
    - taosStr2int64
    - taosStr2Double
    - taosStr2int8
    - taosStr2int16
    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:
    - taosMemoryCalloc
    - IDX_TYPE_GET_TYPE
    - memcpy
    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:
    - taosMemoryCalloc
    - IDX_TYPE_GET_TYPE
    - memcpy
    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:
    - taosMemoryCalloc
    - IDX_TYPE_GET_TYPE
    - memcpy
    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: sprintf
      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: sprintf
      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: sprintf
      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:
    - strlen
    - taosEncodeBinary
    - varDataVal
    - varDataLen
    - sprintf
    - idxInt2str
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosStrndup
    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:
    - fstRegistryCellSwap
    - taosArrayGetSize
    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:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayInit
    - fstBuilderNodeDefault
    - fstRegistryDestroy
    - taosMemoryFree
    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:
    - taosArrayDestroy
    - taosArrayGet
    - fstBuilderNodeDestroy
    - taosArrayGetSize
    - taosMemoryFree
    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
    - fstBuilderNodeEqual
    - taosArrayGet
    - fstBuilderNodeCloneFrom
    - fstRegistryCellPromote
    - fstRegistryCellSwap
    - taosArrayGetSize
    - TAOS_UNUSED
    - 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:
    - taosMemoryMalloc
    - taosMemoryCalloc
    - sparSetInitBuf
    - 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
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArrayGetP
    - taosArrayGetSize
    - taosMemoryCalloc
    - iBinarySearch
    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
    - taosArrayAddAll
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArrayGetP
    - taosArrayGetSize
    - taosArrayGetLast
    - taosMemoryCalloc
    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:
    - taosArrayGet
    - taosArraySet
    - taosArrayGetSize
    - taosArrayPopTailBatch
    - iBinarySearch
    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:
    - compareUint64Val
    - compareUint32Val
    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
    - taosArrayAddAll
    - taosArrayDestroy
    - taosArrayInit
    - iExcept
    - taosArrayGetSize
    - taosArraySort
    - iUnion
    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
    - memcpy
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - fstSliceData
    - 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:
    - atomic_sub_fetch_32
    - taosMemoryFree
    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
    - taosHashCleanup
    - taosMemoryFree
    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:
    - nodesGetValueFromNode
    - IS_STR_DATA_BLOB
    - varDataTLen
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosMemoryCalloc
    - blobDataTLen
    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:
    - nodesGetValueFromNode
    - IS_STR_DATA_BLOB
    - nodeType
    - varDataTLen
    - taosHashInit
    - memcpy
    - indexError
    - taosGetDefaultEqualFunction
    - IS_VAR_DATA_TYPE
    - taosHashSetEqualFp
    - blobDataTLen
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - taosHashCleanup
    - taosMemoryFree
    - LIST_LENGTH
    - FOREACH
    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:
    - memcpy
    - strlen
    - nodeType
    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:
    - IS_VAR_DATA_TYPE
    - nodeType
    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:
    - nodesGetValueFromNode
    - strlen
    - varDataTLen
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosMemoryCalloc
    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:
    - sifGetValueFromNode
    - strlen
    - sifCreateHashFromNodeList
    - taosHashGet
    - nodeType
    - SIF_ERR_RET
    - memcpy
    - indexError
    - sifValidColumn
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifInitParam(SNode *node, SIFParam *param, SIFCtx *ctx)
  - BBCount: 9
    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:441,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:442,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:445,1
    - Dst: taosMemoryCalloc
      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: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:455,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:458,1
    - Dst: sifInitJsonParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:458,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:460,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:460,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:466,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:466,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:469,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:469,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:475,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:476,1
    - Dst: SIF_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:477,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - params
    - node
    - ctx
    argTypes:
    - SIFParam**
    - SOperatorNode*
    - SIFCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 478
    functionName: sifInitOperParams
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifFreeParam
    - nodeType
    - SIF_ERR_RET
    - indexError
    - SIF_RET
    - sifInitJsonParam
    - sifInitParam
    - sifGetOperParamNum
    - taosMemoryCalloc
    - SIF_ERR_JRET
    - taosMemoryFree
    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:481,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:483,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:484,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:490,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:492,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:492,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:499,1
    - Dst: SIF_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - params
    - nodeList
    - ctx
    argTypes:
    - SIFParam**
    - SNodeList*
    - SIFCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 501
    functionName: sifInitParamList
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - SIF_ERR_RET
    - indexError
    - SIF_RET
    - sifInitParam
    - taosMemoryCalloc
    - SIF_ERR_JRET
    - taosMemoryFree
    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:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SFunctionNode*
    - SIFCtx*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 505
    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:510,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: sifGreaterThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - tDoCompare
    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: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: sifGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - tDoCompare
    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: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: sifLessEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - tDoCompare
    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: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: sifLessThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - tDoCompare
    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:538,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 544
    functionName: sifEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - tDoCompare
    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: 565
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 565
    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:568,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:570,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:582,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:584,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:586,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:588,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:590,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: 606
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 606
    functionName: sifStr2Num
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - taosStr2Float
    - toUInteger
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - toInteger
    - IS_UNSIGNED_NUMERIC_TYPE
    - taosStr2Double
    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:614,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:625,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:626,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:628,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:628,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:628,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:628,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:634,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:635,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:637,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:637,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:637,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:637,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:643,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:644,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:646,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:646,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:646,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:646,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:652,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:653,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:655,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:655,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:655,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:655,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:661,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:662,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:664,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:665,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:665,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:665,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:672,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:673,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:675,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:675,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:675,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:675,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:681,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:682,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:684,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:684,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:684,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:684,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:690,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:691,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:693,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:693,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:693,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:693,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:699,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:700,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:702,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:703,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:703,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:703,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:709,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:710,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:712,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:712,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:712,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:712,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 99
    argCount: 4
    argNames:
    - left
    - right
    - typedata
    - param
    argTypes:
    - SIFParam*
    - SIFParam*
    - SDataTypeBuf*
    - SMetaFltParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 718
    functionName: sifSetFltParam
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - SIF_DATA_CONVERT
    - varDataLen
    - SIF_ERR_RET
    - IS_NUMERIC_TYPE
    - IS_VAR_DATA_TYPE
    - sifStr2Num
    - varDataVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifSetFltParam(SIFParam *left, SIFParam *right, SDataTypeBuf
      *typedata, SMetaFltParam *param)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:729,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:730,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:731,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:732,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:732,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 743
    functionName: sifShouldUseIndexBasedOnType
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - IS_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:759,1
    - Dst: IS_VAR_DATA_TYPE
      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:772,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:775,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:778,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:782,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:790,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 794
    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:800,1
    - Dst: sifGetFuncFromSql
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:800,1
    - Dst: sifShouldUseIndexForInOperator
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:804,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:811,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:814,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:831,1
    - Dst: SIFParam*::api::metaFilterTableIds
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:836,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:839,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:840,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:845,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:846,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:850,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:851,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:852,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:859,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:859,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:860,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:865,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:867,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:871,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:872,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:876,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:877,1
    - Dst: sifShouldUseIndexBasedOnType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:879,1
    - Dst: sifGetFilterFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:886,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:899,1
    - Dst: sifSetFltParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:901,1
    - Dst: SIFParam*::api::metaFilterTableIds
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:906,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:908,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:909,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: 913
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 913
    functionName: sifDoIndex
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayAddAll
    - taosArrayInit
    - taosHashIterate
    - taosArrayRemoveDuplicate
    - indexTermDestroy
    - sifShouldUseIndexBasedOnType
    - sifGetFilterFunc
    - indexMultiTermQueryCreate
    - strlen
    - indexJsonSearch
    - SIF_ERR_RET
    - memset
    - SIFParam*::api::metaFilterTableIds
    - taosArrayGetSize
    - taosArraySort
    - indexMultiTermQueryAdd
    - sifSetFltParam
    - indexMultiTermQueryDestroy
    - sifShouldUseIndexForInOperator
    - sifGetFuncFromSql
    - indexTermCreate
    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:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 4
    functionLinenumber: 915
    functionLinenumberEnd: 918
    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:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 4
    functionLinenumber: 919
    functionLinenumberEnd: 922
    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:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 924
    functionDepth: 4
    functionLinenumber: 924
    functionLinenumberEnd: 927
    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:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 928
    functionDepth: 4
    functionLinenumber: 928
    functionLinenumberEnd: 931
    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:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 4
    functionLinenumber: 933
    functionLinenumberEnd: 936
    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:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    functionLinenumberEnd: 940
    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:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 4
    functionLinenumber: 941
    functionLinenumberEnd: 944
    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: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: 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: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: 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: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: 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:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 958
    functionDepth: 4
    functionLinenumber: 958
    functionLinenumberEnd: 961
    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:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 962
    functionDepth: 4
    functionLinenumber: 962
    functionLinenumberEnd: 965
    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:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 4
    functionLinenumber: 966
    functionLinenumberEnd: 969
    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: 973
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 973
    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: 978
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 978
    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: 1041
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1041
    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:1045,1
    - Dst: sifGetOperParamNum
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1052,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1062,1
    - Dst: sifInitOperParams
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1062,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1075,1
    - Dst: sifGetOperFn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1075,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1076,1
    - Dst: operFn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1076,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1084,1
    - Dst: sifGetOperFn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1084,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1087,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1088,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SOperatorNode*
    - SIFCtx*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1043
    functionDepth: 4
    functionLinenumber: 1043
    functionLinenumberEnd: 1095
    functionName: sifExecOper
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifFreeParam
    - SIF_ERR_RET
    - sifGetOperFn
    - sifValidOp
    - sifInitOperParams
    - sifGetOperParamNum
    - SIF_ERR_JRET
    - taosMemoryFree
    - 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:1099,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1106,1
    - Dst: sifInitParamList
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1106,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1111,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1113,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1116,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1117,1
    - Dst: sifMergeCond
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1121,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1125,1
    - Dst: SIF_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SLogicConditionNode*
    - SIFCtx*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1097
    functionDepth: 4
    functionLinenumber: 1097
    functionLinenumberEnd: 1127
    functionName: sifExecLogic
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - taosArrayAddAll
    - SIF_ERR_RET
    - indexError
    - SIF_RET
    - sifInitParamList
    - taosArrayRemoveDuplicate
    - taosArraySort
    - taosMemoryFree
    - sifMergeCond
    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:1132,1
    - Dst: sifExecFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1137,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1139,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - context
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1148
    functionName: sifWalkFunction
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifExecFunction
    - sifFreeParam
    - taosArrayInit
    - taosHashPut
    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:1153,1
    - Dst: sifExecLogic
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1159,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1161,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - context
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1149
    functionDepth: 5
    functionLinenumber: 1149
    functionLinenumberEnd: 1170
    functionName: sifWalkLogic
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifFreeParam
    - taosArrayInit
    - sifExecLogic
    - taosHashPut
    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:1174,1
    - Dst: sifExecOper
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1180,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1182,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - context
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1171
    functionDepth: 5
    functionLinenumber: 1171
    functionLinenumberEnd: 1191
    functionName: sifWalkOper
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifFreeParam
    - taosHashPut
    - taosArrayInit
    - sifExecOper
    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:1194,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1194,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1195,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1199,1
    - Dst: sifWalkFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1200,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1202,1
    - Dst: sifWalkLogic
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1203,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1206,1
    - Dst: sifWalkOper
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - node
    - context
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1193
    functionDepth: 6
    functionLinenumber: 1193
    functionLinenumberEnd: 1214
    functionName: sifCalcWalker
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifWalkOper
    - sifWalkFunction
    - nodeType
    - sifWalkLogic
    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:1217,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1221,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1223,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - res
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1216
    functionDepth: 2
    functionLinenumber: 1216
    functionLinenumberEnd: 1226
    functionName: sifFreeRes
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifFreeParam
    - taosHashCleanup
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void sifFreeRes(SHashObj *res)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1234,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1234,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1237,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1241,1
    - Dst: sifFreeRes
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1244,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1249,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1251,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1251,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1252,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1255,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1256,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1261,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1262,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1262,1
    - Dst: sifFreeRes
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pNode
    - pDst
    argTypes:
    - SNode*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1227
    functionDepth: 3
    functionLinenumber: 1227
    functionLinenumberEnd: 1266
    functionName: sifCalculate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - taosArrayAddAll
    - nodeType
    - SIF_ERR_RET
    - TAOS_UNUSED
    - taosHashInit
    - indexError
    - taosHashRemove
    - sifFreeRes
    - sifFreeParam
    - taosGetDefaultHashFunction
    - nodesWalkExprPostOrder
    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:1275,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1275,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1277,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1281,1
    - Dst: sifFreeRes
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1283,1
    - Dst: taosHashGet
      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: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1289,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1290,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1293,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1294,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1294,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1296,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1299,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1300,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pNode
    - status
    - pAPI
    argTypes:
    - SNode*
    - SIdxFltStatus*
    - SMetaDataFilterAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1268
    functionDepth: 3
    functionLinenumber: 1268
    functionLinenumberEnd: 1304
    functionName: sifGetFltHint
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - nodeType
    - SIF_ERR_RET
    - TAOS_UNUSED
    - taosHashInit
    - indexError
    - taosHashRemove
    - taosHashIterate
    - sifFreeRes
    - sifFreeParam
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - nodesWalkExprPostOrder
    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:1308,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1316,1
    - Dst: sifCalculate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1322,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1324,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1333,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1334,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1338,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: 1340
      start: 1306
    functionDepth: 4
    functionLinenumber: 1306
    functionLinenumberEnd: 1340
    functionName: doFilterTag
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 1
    functionsReached:
    - taosArrayAddAll
    - taosArrayInit
    - sifFreeParam
    - sifCalculate
    - 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:1348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pFilterNode
    - pAPI
    argTypes:
    - SNode*
    - SMetaDataFilterAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1342
    functionDepth: 4
    functionLinenumber: 1342
    functionLinenumberEnd: 1352
    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:
    - taosMemoryFreeClear
    - taosCleanUpScheduler
    - taosCloseRef
    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:
    - tsem_wait
    - TAOS_UNUSED
    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:
    - indexDestroy
    - taosLRUCacheInit
    - taosThreadMutexInit
    - idxAcquireRef
    - tsem_init
    - taosLRUCacheSetStrictCapacity
    - idxTFileCreate
    - idxAddRef
    - TAOS_UNUSED
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosMemoryCalloc
    - taosThreadOnce
    - taosStrdup
    - TAOS_CHECK_GOTO
    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:
    - tsem_destroy
    - taosLRUCacheEraseUnrefEntries
    - idxTFileDestroy
    - taosThreadMutexDestroy
    - taosLRUCacheCleanup
    - TAOS_UNUSED
    - taosMemoryFree
    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:
    - idxRemoveRef
    - taosHashIterate
    - indexWait
    - idxCacheUnRef
    - idxReleaseRef
    - TAOS_UNUSED
    - idxCacheForceToMerge
    - taosHashCleanup
    - indexInfo
    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:
    - idxCacheDestroy
    - strlen
    - taosHashGet
    - taosThreadMutexUnlock
    - idxCachePut
    - indexError
    - taosArrayGetP
    - indexDebug
    - taosArrayGetSize
    - idxCacheCreate
    - taosHashPut
    - idxSerialCacheKey
    - taosThreadMutexLock
    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
    - idxTermSearch
    - taosArrayInit
    - taosArrayGet
    - taosArrayGetSize
    - idxInterRsltDestroy
    - 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:
    - taosArrayDestroy
    - indexTermDestroy
    - taosArrayGet
    - taosArrayGetSize
    - taosMemoryFree
    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:
    - strlen
    - IDX_TYPE_GET_TYPE
    - idxConvertDataToStr
    - memcpy
    - taosMemoryCalloc
    - taosStrndup
    - taosMemoryFree
    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
    - taosArrayGetSize
    - taosArrayGetP
    - 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:
    - idxReleaseRef
    - atomic_store_8
    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:
    - taosScheduleTask
    - idxAcquireRef
    - atomic_store_8
    - 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:
    - taosThreadMutexUnlock
    - strlen
    - taosHashGet
    - taosArrayInit
    - idxTFileSearch
    - indexError
    - idxTRsltCreate
    - idxTRsltDestroy
    - indexDebug
    - idxCacheSearch
    - TAOS_UNUSED
    - idxTRsltMergeTo
    - idxSerialCacheKey
    - taosThreadMutexLock
    - indexInfo
    - taosGetTimestampUs
    - TAOS_CHECK_GOTO
    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:
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayGetP
    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:
    - iIntersection
    - taosArrayGetP
    - taosArrayRemoveDuplicate
    - taosArraySort
    - taosArrayGetSize
    - iUnion
    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
    - tstrerror
    - taosArrayGetP
    - idxTRsltClear
    - tfileValueDestroy
    - taosArrayGetSize
    - idxTRsltMergeTo
    - indexFatal
    - 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:
    - taosArrayAddAll
    - tfileValueCreate
    - taosArrayGet
    - idxMayMergeTempToFinalRslt
    - INDEX_MERGE_ADD_DEL
    - tfileValueDestroy
    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:
    - tfileValueDestroy
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayGetP
    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:
    - tfileIteratorCreate
    - idxCacheIteratorCreate
    - taosArrayInit
    - tstrerror
    - indexError
    - tfileReaderUnRef
    - idxReleaseRef
    - taosGetTimestampUs
    - idxPost
    - strcmp
    - Iterate*::getValue
    - atomic_store_32
    - idxTRsltCreate
    - Iterate*::next
    - idxCacheUnRef
    - tfileGetReaderByCol
    - idxCacheDestroyImm
    - idxDestroyFinalRslt
    - idxMergeCacheAndTFile
    - tfileIteratorDestroy
    - indexWarn
    - idxCacheIteratorDestroy
    - idxTRsltDestroy
    - indexInfo
    - TAOS_CHECK_GOTO
    - idxMayMergeTempToFinalRslt
    - idxGenTFile
    - atomic_load_32
    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:
    - taosArrayDestroy
    - taosArrayClear
    - 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:
    - taosThreadMutexUnlock
    - strlen
    - indexError
    - tfileReaderUnRef
    - tfileCacheGet
    - taosThreadMutexLock
    - TAOS_UNUSED
    - CACHE_VERSION
    - indexInfo
    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:
    - tfileWriterPut
    - strlen
    - idxGetAvailableVer
    - tstrerror
    - taosMemoryFree
    - tfileWriterOpen
    - indexError
    - tfileReaderOpen
    - tfileCachePut
    - idxFileCtxDestroy
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tfileWriterClose
    - indexInfo
    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:
    - strlen
    - SERIALIZE_STR_VAR_TO_BUF
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - idxInt2str
    - SERIALIZE_VAR_TO_BUF
    - TAOS_UNUSED
    - 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:
    - taosMemoryFree
    - taosMemoryCalloc
    - strlen
    - 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:
    - taosMemoryFree
    - taosMemoryCalloc
    - strlen
    - 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:
    - taosStrdup
    - startWithStateValueCreate
    - taosMemoryCalloc
    - startWithStateValueDestroy
    - taosMemoryFree
    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:
    - startWithStateValueDestroy
    - taosMemoryFree
    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:
    - strlen
    - tSkipListIterGet
    - tSkipListDestroyIter
    - taosMemoryFree
    - INDEX_MERGE_ADD_DEL
    - atomic_load_64
    - tSkipListCreateIterFromVal
    - SL_GET_NODE_DATA
    - TAOS_UNUSED
    - taosMemoryCalloc
    - idxCacheTermGet
    - tSkipListIterNext
    - strcmp
    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:
    - tSkipListIterGet
    - tSkipListDestroyIter
    - taosMemoryFree
    - INDEX_MERGE_ADD_DEL
    - cmpFn
    - atomic_load_64
    - idxGetCompare
    - tSkipListCreateIter
    - SL_GET_NODE_DATA
    - TAOS_UNUSED
    - taosMemoryCalloc
    - idxCacheTermGet
    - tSkipListIterNext
    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:
    - tSkipListIterGet
    - tSkipListDestroyIter
    - taosMemoryFree
    - idxPackJsonData
    - INDEX_MERGE_ADD_DEL
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - atomic_load_64
    - tSkipListCreateIterFromVal
    - SL_GET_NODE_DATA
    - TAOS_UNUSED
    - taosMemoryCalloc
    - idxCacheTermGet
    - tSkipListIterNext
    - strcmp
    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:
    - tSkipListDestroyIter
    - INDEX_MERGE_ADD_DEL
    - atomic_load_64
    - idxGetCompare
    - tSkipListCreateIterFromVal
    - idxCacheTermGet
    - cmpFn
    - strncmp
    - idxPackJsonDataPrefix
    - idxPackJsonDataPrefixNoType
    - taosMemoryCalloc
    - tSkipListIterNext
    - strlen
    - tSkipListIterGet
    - SL_GET_NODE_DATA
    - IDX_TYPE_GET_TYPE
    - memcpy
    - TAOS_UNUSED
    - taosMemoryFree
    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:
    - tstrerror
    - taosMemoryFree
    - idxCacheRef
    - indexError
    - taosThreadCondInit
    - taosThreadMutexInit
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - idxAcquireRef
    - taosMemoryCalloc
    - taosStrdup
    - idxInternalCacheCreate
    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:
    - tSkipListIterGet
    - idxMemUnRef
    - TAOS_UNUSED
    - tSkipListDestroyIter
    - indexError
    - idxMemRef
    - SL_GET_NODE_DATA
    - tSkipListCreateIter
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - indexInfo
    - tSkipListIterNext
    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:
    - tSkipListIterGet
    - tSkipListDestroyIter
    - taosMemoryFree
    - SL_GET_NODE_DATA
    - tSkipListCreateIter
    - tSkipListDestroy
    - TAOS_UNUSED
    - tSkipListIterNext
    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
    - TAOS_UNUSED
    - indexError
    - 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
    - TAOS_UNUSED
    - idxReleaseRef
    - taosThreadCondDestroy
    - taosMemoryFree
    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:
    - taosThreadMutexUnlock
    - taosArrayInit
    - indexError
    - idxMemRef
    - tSkipListCreateIter
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosThreadMutexLock
    - taosMemoryFree
    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
    - tSkipListDestroyIter
    - taosMemoryFree
    - TAOS_UNUSED
    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:
    - taosMemoryMalloc
    - indexError
    - taosScheduleTask
    - idxAcquireRef
    - TAOS_UNUSED
    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
    - atomic_store_32
    - idxCacheSchedToMerge
    - idxCacheWait
    - TAOS_UNUSED
    - idxInternalCacheCreate
    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:
    - taosThreadMutexUnlock
    - strlen
    - idxCacheMakeRoomForWrite
    - atomic_add_fetch_64
    - idxMemUnRef
    - idxCacheRef
    - idxPackJsonData
    - memcpy
    - indexError
    - idxMemRef
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - idxCacheUnRef
    - tSkipListPut
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosThreadMutexLock
    - taosMemoryFree
    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:
    - idxCacheMakeRoomForWrite
    - idxCacheRef
    - indexError
    - idxCacheUnRef
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - indexInfo
    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:
    - idxQueryMem
    - idxMemUnRef
    - indexError
    - idxMemRef
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - indexInfo
    - taosGetTimestampUs
    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:
    - T_REF_INC
    - UNUSED
    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:
    - idxCacheDestroy
    - T_REF_DEC
    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:
    - T_REF_INC
    - UNUSED
    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:
    - taosMemoryCalloc
    - idxMemRef
    - tSkipListCreate
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    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:
    - taosMemoryFree
    - idxFlushCacheToTFile
    - 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:
    - taosStrdup
    - taosArrayPush
    - tSkipListIterGet
    - taosMemoryFree
    - SL_GET_NODE_DATA
    - iterateValueDestroy
    - tSkipListIterNext
    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:42,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:43,1
    - Dst: taosMemoryFree
      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: dfaBuilderCreate
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:49,1
    - Dst: dfaBuilderBuild
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 52
    functionName: regexCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: 1
    functionsReached:
    - taosStrdup
    - strlen
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - dfaBuilderBuild
    - dfaBuilderCreate
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: FstRegex
    signature: FstRegex *regexCreate(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:56,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - regex
    argTypes:
    - FstRegex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    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: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    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:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - regex
    - state
    argTypes:
    - FstRegex*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    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: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:82,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: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    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:
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - taosArrayGet
    - taosArrayGetSize
    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:94,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:99,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:99,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:101,1
    - Dst: tfileGetFileList
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:108,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:110,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:114,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:115,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:117,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:119,1
    - Dst: tfileReaderCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:126,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:128,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:135,1
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:138,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:139,1
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:141,1
    - Dst: tfileReaderRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:144,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:146,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:149,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:150,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - idx
    - path
    argTypes:
    - SIndex*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 152
    functionName: tfileCacheCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - strlen
    - tfileReaderDestroy
    - tstrerror
    - tfileReaderRef
    - taosHashInit
    - tfileGetFileList
    - indexError
    - taosArrayGetP
    - taosArrayDestroyEx
    - tfileCacheDestroy
    - idxSerialCacheKey
    - taosArrayGetSize
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - idxFileCtxCreate
    - indexInfo
    - tfileReaderCreate
    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:158,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:161,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:163,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:164,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:166,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tcache
    argTypes:
    - TFileCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: tfileCacheDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    - tfileReaderUnRef
    - taosHashIterate
    - taosHashCleanup
    - indexInfo
    linkageType: ''
    returnType: void
    signature: void tfileCacheDestroy(TFileCache* tcache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:172,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:173,1
    - Dst: tfileReaderRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tcache
    - key
    argTypes:
    - TFileCache*
    - ICacheKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: tfileCacheGet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - idxSerialCacheKey
    - taosHashGet
    - tfileReaderRef
    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:186,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:188,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:191,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:192,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:195,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:197,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:201,1
    - Dst: tfileReaderRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - tcache
    - key
    - reader
    argTypes:
    - TFileCache*
    - ICacheKey*
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: tfileCachePut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - tstrerror
    - tfileReaderRef
    - indexError
    - tfileReaderUnRef
    - taosHashPut
    - taosHashRemove
    - idxSerialCacheKey
    - indexInfo
    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:207,1
    - Dst: tfileReaderVerify
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:214,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:215,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:216,1
    - Dst: tfileReaderLoadHeader
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:219,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:220,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:222,1
    - Dst: tfileReaderLoadFst
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:225,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:226,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:228,1
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - pReader
    argTypes:
    - IFileCtx*
    - TFileReader**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 236
    functionName: tfileReaderCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 2
    functionsReached:
    - tfileReaderLoadHeader
    - tfileReaderLoadFst
    - tfileReaderVerify
    - indexError
    - tfileReaderDestroy
    - taosMemoryCalloc
    - TAOS_CHECK_GOTO
    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:241,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:243,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:245,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:247,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: tfileReaderDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 4
    functionsReached:
    - taosMemoryFree
    - fstDestroy
    - idxFileCtxDestroy
    - indexInfo
    linkageType: ''
    returnType: void
    signature: void tfileReaderDestroy(TFileReader* reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:257,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:258,1
    - Dst: fstGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:260,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:261,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:263,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:266,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:268,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:269,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:269,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:272,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:273,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 278
    functionName: tfSearchTerm
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosGetTimestampUs
    - fstSliceDestroy
    - indexError
    - fstGet
    - tfileReaderLoadTableIds
    - fstSliceCreate
    - indexInfo
    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:286,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:291,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:293,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:297,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:298,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:300,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:301,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:302,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:304,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:306,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:307,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:310,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:311,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:312,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:313,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:315,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:318,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:319,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:320,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 323
    functionName: tfSearchPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - stmBuilderDestroy
    - taosArrayDestroy
    - stmStNextWith
    - taosArrayPush
    - taosArrayInit
    - TAOS_CHECK_GOTO
    - tstrerror
    - swsResultDestroy
    - taosArrayGet
    - indexError
    - fstSearch
    - taosArrayGetSize
    - stmStDestroy
    - tfileReaderLoadTableIds
    - automCtxCreate
    - stmBuilderIntoStm
    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:328,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:329,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 332
    functionName: tfSearchSuffix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - fstSliceCreate
    - taosGetTimestampUs
    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:334,1
    - Dst: idxPackJsonData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:340,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:341,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:343,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:344,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:348,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 352
    functionName: tfSearchRegex
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosMemoryFree
    - fstSliceDestroy
    - idxPackJsonData
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - fstSliceCreate
    - taosGetTimestampUs
    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:358,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:360,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:362,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:363,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:365,1
    - Dst: stmBuilderSetRange
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:366,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:367,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:369,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:371,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:373,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:375,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:377,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:382,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:382,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:385,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:388,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:391,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:392,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - reader
    - tem
    - tr
    - type
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - RangeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 395
    functionName: tfSearchCompareFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - stmBuilderDestroy
    - fstSliceData
    - taosArrayDestroy
    - stmStNextWith
    - taosArrayInit
    - swsResultDestroy
    - fstSliceDestroy
    - idxGetCompare
    - automCtxCreate
    - stmBuilderSetRange
    - fstSearch
    - tfileReaderLoadTableIds
    - stmStDestroy
    - TAOS_UNUSED
    - fstSliceCreate
    - cmpFn
    - stmBuilderIntoStm
    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:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 4
    functionLinenumber: 396
    functionLinenumberEnd: 398
    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:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 401
    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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 404
    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:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 4
    functionLinenumber: 405
    functionLinenumberEnd: 407
    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:412,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:413,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 416
    functionName: tfSearchRange
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - fstSliceCreate
    - taosGetTimestampUs
    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:419,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:420,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:422,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:423,1
    - Dst: fstGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:425,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:426,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:428,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:431,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:433,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:433,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:434,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:435,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:438,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:439,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:441,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:443,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 446
    functionName: tfSearchTerm_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrerror
    - taosMemoryFree
    - fstSliceDestroy
    - idxPackJsonData
    - indexError
    - fstGet
    - taosArrayGetSize
    - tfileReaderLoadTableIds
    - fstSliceCreate
    - indexInfo
    - taosGetTimestampUs
    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:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    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:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 452
    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: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    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: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    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:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 463
    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:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 466
    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:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 469
    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:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 472
    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: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    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:489,1
    - Dst: idxPackJsonDataPrefix
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:491,1
    - Dst: idxGetCompare
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:494,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:496,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:498,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:499,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:501,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:503,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:507,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:510,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:514,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:515,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:517,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:520,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:522,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:526,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:527,1
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:527,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:528,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:530,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:536,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:536,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:539,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:542,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:546,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:547,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:548,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:549,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - reader
    - tem
    - tr
    - ctype
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - RangeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 552
    functionName: tfSearchCompareFunc_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 6
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - idxGetCompare
    - fstSearch
    - automCtxCreate
    - cmpFn
    - strncmp
    - idxPackJsonDataPrefix
    - idxPackJsonDataPrefixNoType
    - taosMemoryCalloc
    - stmStNextWith
    - swsResultDestroy
    - tfileReaderLoadTableIds
    - stmBuilderDestroy
    - fstSliceData
    - IDX_TYPE_GET_TYPE
    - memcpy
    - stmStDestroy
    - TAOS_UNUSED
    - taosMemoryFree
    - stmBuilderIntoStm
    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:558,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - reader
    - query
    - tr
    argTypes:
    - TFileReader*
    - SIndexTermQuery*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 566
    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:572,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:574,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:583,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:584,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:584,1
    - Dst: tfileWriterCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:587,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:589,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: 592
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 592
    functionName: tfileWriterOpen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - strlen
    - memcpy
    - tfileWriterCreate
    - idxFileCtxDestroy
    - tfileGenFileFullName
    - idxFileCtxCreate
    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:597,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:599,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:601,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:602,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:602,1
    - Dst: indexTrace
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:606,1
    - Dst: tfileReaderCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:608,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: 609
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 609
    functionName: tfileReaderOpen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 3
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tstrerror
    - indexError
    - indexTrace
    - tfileGenFileFullName
    - idxFileCtxCreate
    - tfileReaderCreate
    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:613,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:616,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:616,1
    - Dst: tfileWriteHeader
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:621,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - header
    - pWriter
    argTypes:
    - IFileCtx*
    - TFileHeader*
    - TFileWriter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 629
    functionName: tfileWriterCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - indexError
    - tfileWriteHeader
    - taosMemoryCalloc
    - taosMemoryFree
    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:637,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:642,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:647,1
    - Dst: taosArraySortPWithExt
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:647,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:650,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:655,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:656,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:657,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:658,1
    - Dst: TF_TABLE_TATOAL_SIZE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:660,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:662,1
    - Dst: tfileWriteFstOffset
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:662,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:665,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:671,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:673,1
    - Dst: TF_TABLE_TATOAL_SIZE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:676,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:680,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:682,1
    - Dst: tfileSerialTableIdsToBuf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:689,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:690,1
    - Dst: TFileWriter*::ctx::write
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:690,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:693,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:695,1
    - Dst: fstBuilderCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:697,1
    - Dst: tfileWriterClose
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:699,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:706,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:708,1
    - Dst: tfileWriteData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:711,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:712,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:713,1
    - Dst: fstBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:717,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:718,1
    - Dst: tfileWriteFooter
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:718,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - tw
    - data
    - order
    argTypes:
    - TFileWriter*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 720
    functionName: tfileWriterPut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 2
    functionsReached:
    - taosMemoryRealloc
    - indexError
    - taosArrayRemoveDuplicate
    - tfileWriteFstOffset
    - taosArraySortPWithExt
    - tfileWriteData
    - fstBuilderCreate
    - tfileWriteFooter
    - taosMemoryCalloc
    - tfileWriterClose
    - TFileWriter*::ctx::write
    - memset
    - taosArrayGetSize
    - taosArraySort
    - tfileSerialTableIdsToBuf
    - getComparFunc
    - IDX_TYPE_GET_TYPE
    - TF_TABLE_TATOAL_SIZE
    - taosArrayGetP
    - TAOS_UNUSED
    - fstBuilderDestroy
    - taosMemoryFree
    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:725,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TFileWriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 727
    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:732,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TFileWriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 734
    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:737,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:742,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:744,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:747,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:748,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - idx
    - path
    argTypes:
    - SIndex*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 754
    functionName: idxTFileCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosMemoryCalloc
    - taosThreadMutexInit
    - tfileCacheDestroy
    - tfileCacheCreate
    - taosMemoryFree
    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:759,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:759,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:760,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tfile
    argTypes:
    - IndexTFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 762
    functionName: idxTFileDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    - taosThreadMutexDestroy
    - tfileCacheDestroy
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void idxTFileDestroy(IndexTFile* tfile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:770,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:776,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:777,1
    - Dst: tfileCacheGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:780,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:782,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:783,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:789,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:790,1
    - Dst: tfileReaderSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - tfile
    - query
    - result
    argTypes:
    - void*
    - SIndexTermQuery*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 793
    functionName: idxTFileSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - indexError
    - tfileCacheGet
    - taosThreadMutexUnlock
    - tfileReaderSearch
    - taosThreadMutexLock
    - indexInfo
    - taosGetTimestampUs
    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: 800
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 800
    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:804,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:810,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:816,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:817,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:822,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:825,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - iiter
    argTypes:
    - Iterate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 835
    functionName: tfileIteratorNext
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - stmStNextWith
    - swsResultDestroy
    - memcpy
    - tfileReaderLoadTableIds
    - iterateValueDestroy
    - taosMemoryCalloc
    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: 837
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 837
    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:840,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:845,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:846,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 850
    functionName: tfileFstIteratorCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - automCtxCreate
    - fstSearch
    - stmBuilderIntoStm
    linkageType: ''
    returnType: TFileFstIter
    signature: TFileFstIter * tfileFstIteratorCreate(TFileReader* reader)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:857,1
    - Dst: tfileFstIteratorCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:862,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:864,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:869,1
    - Dst: tfileIteratorDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 852
    functionDepth: 4
    functionLinenumber: 852
    functionLinenumberEnd: 877
    functionName: tfileIteratorCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 2
    functionsReached:
    - tfileFstIteratorCreate
    - taosArrayInit
    - tfileIteratorDestroy
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: Iterate
    signature: Iterate * tfileIteratorCreate(TFileReader* reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:884,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:887,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:888,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:889,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:890,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 878
    functionDepth: 3
    functionLinenumber: 878
    functionLinenumberEnd: 893
    functionName: tfileIteratorDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 3
    functionsReached:
    - stmBuilderDestroy
    - automCtxDestroy
    - stmStDestroy
    - iterateValueDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tfileIteratorDestroy(Iterate* iter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:900,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:902,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:903,1
    - Dst: tfileCacheGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:905,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:906,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tf
    - suid
    - colName
    argTypes:
    - IndexTFile*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 895
    functionDepth: 3
    functionLinenumber: 895
    functionLinenumberEnd: 910
    functionName: tfileGetReaderByCol
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - strlen
    - indexError
    - tfileCacheGet
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    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:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 918
    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:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 927
    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:930,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:934,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:936,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:938,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:940,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 945
    functionName: tfileValueCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosStrdup
    - taosArrayInit
    linkageType: ''
    returnType: TFileValue
    signature: TFileValue * tfileValueCreate(char* val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tf
    - val
    argTypes:
    - TFileValue*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 954
    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:956,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:957,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tf
    argTypes:
    - TFileValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 959
    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:961,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:964,1
    - Dst: SERIALIZE_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - ids
    argTypes:
    - char*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 967
    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:973,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:976,1
    - Dst: TFileWriter*::ctx::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tw
    - offset
    argTypes:
    - TFileWriter*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 979
    functionName: tfileWriteFstOffset
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - TFileWriter*::ctx::size
    - indexInfo
    - TFileWriter*::ctx::write
    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:985,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:987,1
    - Dst: TFileWriter*::ctx::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:987,1
    - Dst: TFileWriter*::ctx::write
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:988,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:990,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:991,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:995,1
    - Dst: TFileWriter*::ctx::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - writer
    argTypes:
    - TFileWriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 998
    functionName: tfileWriteHeader
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - TFileWriter*::ctx::write
    - memcpy
    - TFileWriter*::ctx::size
    - indexError
    - indexInfo
    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:1003,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1004,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1004,1
    - Dst: fstBuilderInsert
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1005,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - write
    - tval
    argTypes:
    - TFileWriter*
    - TFileValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1010
    functionName: tfileWriteData
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - strlen
    - IDX_TYPE_GET_TYPE
    - fstSliceDestroy
    - fstBuilderInsert
    - fstSliceCreate
    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:1014,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1014,1
    - Dst: TFileWriter*::ctx::write
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1015,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1015,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1017,1
    - Dst: TFileWriter*::ctx::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1017,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - write
    argTypes:
    - TFileWriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1023
    functionName: tfileWriteFooter
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosEncodeFixedU64
    - strlen
    - TAOS_SYSTEM_ERROR
    - TFileWriter*::ctx::write
    - TFileWriter*::ctx::size
    - TAOS_UNUSED
    - indexInfo
    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:1028,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1031,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1034,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1039
    functionName: tfileReaderLoadHeader
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - memcpy
    - indexError
    - indexInfo
    - TFileReader*::ctx::readFrom
    linkageType: ''
    returnType: int
    signature: int tfileReaderLoadHeader(TFileReader* reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IFileCtx*::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1042,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1046,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1051,1
    - Dst: IFileCtx*::readFrom
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1052,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1053,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1054,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1061,1
    - Dst: fstCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1062,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1063,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1067
    functionName: tfileReaderLoadFst
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosGetTimestampUs
    - IFileCtx*::readFrom
    - taosMemoryFree
    - fstSliceDestroy
    - fstCreate
    - IFileCtx*::size
    - taosMemoryCalloc
    - fstSliceCreate
    - indexInfo
    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:1075,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1087,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1093,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1095,1
    - Dst: IFileCtx*::readFrom
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1097,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1098,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - reader
    - offset
    - result
    argTypes:
    - TFileReader*
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1108
    functionName: tfileReaderLoadTableIds
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 6
    functionsReached:
    - IFileCtx*::readFrom
    - taosArrayPush
    - memset
    - memcpy
    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:1115,1
    - Dst: IFileCtx*::readFrom
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1119,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1124,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1126
    functionName: tfileReaderVerify
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - IFileCtx*::readFrom
    - IFileCtx*::size
    - taosDecodeFixedU64
    - TAOS_UNUSED
    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:1132,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rd
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1134
    functionName: tfileReaderRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 3
    functionsReached:
    - T_REF_INC
    - UNUSED
    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:1140,1
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rd
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1136
    functionDepth: 2
    functionLinenumber: 1136
    functionLinenumberEnd: 1145
    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:1152,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1157,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1159,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1162,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1163,1
    - Dst: tfileParseFileName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1164,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1168,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1168,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1169,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1171,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1174,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1175,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1176,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1179,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1179,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1181,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1182,1
    - Dst: tfileRmExpireFile
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1182,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1187,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1187,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - path
    - ppResult
    argTypes:
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1192
    functionName: tfileGetFileList
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosArrayPush
    - taosReadDir
    - taosArrayInit
    - tfileRmExpireFile
    - sprintf
    - taosArrayDestroyEx
    - taosGetDirEntryName
    - taosCloseDir
    - taosArraySort
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosOpenDir
    - tfileParseFileName
    - TAOS_CHECK_GOTO
    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: 1196
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1196
    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:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1200
    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:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1205
    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:1208,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: 1213
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1213
    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:1216,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - filename
    - suid
    - col
    - version
    argTypes:
    - char*
    - uint64_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1218
    functionName: tfileGenFileName
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - sprintf
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void tfileGenFileName(char* filename, uint64_t suid, const char* col,
      int64_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfileGenFileName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1222,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1223,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - fullname
    - path
    - suid
    - col
    - version
    argTypes:
    - char*
    - char*
    - uint64_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1224
    functionName: FORCE_INLINE::tfileGenFileFullName
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfileGenFileName
    - sprintf
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FORCE_INLINE tfileGenFileFullName(char* fullname, const char*
      path, uint64_t suid, const char* col,\n                                              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:
    - taosArrayInit
    - taosHashInit
    - taosHashSetEqualFp
    - dfaCreate
    - 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:
    - taosMemoryFree
    - taosArrayDestroy
    - taosHashCleanup
    - taosHashIterate
    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
    - taosHashGet
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - indexError
    - dfaAdd
    - dfaBuilderCacheState
    - taosArrayGetSize
    - taosHashCleanup
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - sparSetCreate
    - taosArrayPop
    - dfaBuilderRunState
    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
    - sparSetClear
    - dfaBuilderCacheState
    - taosArrayGetSize
    - TAOS_UNUSED
    - dfaRun
    - 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
    - taosArrayDestroy
    - taosHashGet
    - taosArrayInit
    - sparSetGet
    - taosArrayGet
    - indexError
    - sparSetLen
    - taosArrayGetSize
    - 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
    - taosArrayGet
    - sparSetAdd
    - dfaAdd
    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:
    - sparSetGet
    - taosArrayGet
    - dfaAdd
    - sparSetClear
    - sparSetLen
    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:
    - strlen
    - SERIALIZE_STR_VAR_TO_BUF
    - idxInt2str
    - SERIALIZE_VAR_TO_BUF
    - TAOS_UNUSED
    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
    - taosWriteFile
    - TAOS_UNUSED
    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:
    - taosReadFile
    - memcpy
    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:
    - strlen
    - taosLRUCacheLookup
    - taosLRUCacheRelease
    - memcpy
    - taosLRUCacheInsert
    - idxGenLRUKey
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosLRUCacheValue
    - TMIN
    - taosMemoryFree
    - taosPReadFile
    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
    - taosWriteFile
    - UNUSED
    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:
    - strlen
    - taosFtruncateFile
    - memcpy
    - indexError
    - taosStatFile
    - tfMmapReadOnly
    - UNUSED
    - taosFStatFile
    - taosOpenFile
    - taosMemoryCalloc
    - taosMemoryFree
    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:
    - munmap
    - taosWriteFile
    - taosCloseFile
    - taosMemoryFreeClear
    - IFileCtx*::flush
    - unlink
    - TAOS_UNUSED
    - taosMemoryFree
    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:
    - taosMemoryFree
    - idxFileFlush
    - 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:
    - TAOS_SYSTEM_ERROR
    - IFileCtx*::write
    - taosCalcChecksum
    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: 1
    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
    - TAOS_UNUSED
    - taosMemoryCalloc
    - idxFileWrite
    - taosMemoryFree
    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:
    - packSize
    - idxFilePackUintIn
    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:
    - packDeltaSize
    - fstPackDeltaIn
    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:
    - taosMemoryMalloc
    - fstUnFinishedNodesPushEmpty
    - 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:
    - taosMemoryFree
    - taosArrayDestroyEx
    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:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayInit
    - fstBuilderNodeDestroy
    - taosMemoryFree
    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:
    - taosArrayPop
    - fstBuilderNodeUnfinishedLastCompiled
    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:
    - taosArrayGet
    - taosArrayGetSize
    - fstBuilderNodeUnfinishedLastCompiled
    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:
    - taosMemoryMalloc
    - fstSliceData
    - taosArrayPush
    - taosArrayInit
    - taosArrayGet
    - fstLastTransitionCreate
    - fstUnFinishedNodesPushEmpty
    - fstBuilderNodeDestroy
    - taosArrayGetSize
    - fstSliceIsEmpty
    - taosMemoryFree
    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:
    - fstSliceData
    - taosArrayGet
    - taosArrayGetSize
    - fstBuilderNodeUnfinishedAddOutputPrefix
    - TMIN
    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:
    - fstStateCommInput
    - fstStateSetCommInput
    - TAOS_UNUSED
    - fstStateCreate
    - idxFileWrite
    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:
    - fstStateCommInput
    - fstStateSetCommInput
    - idxFilePackUint
    - FST_SET_OUTPUT_PACK_SIZE
    - FST_SET_TRANSITION_PACK_SIZE
    - fstPackDelta
    - TAOS_UNUSED
    - fstStateCreate
    - idxFileWrite
    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:
    - taosMemoryMalloc
    - fstPackDeltaIn
    - idxFilePackUintIn
    - fstStateSetStateNtrans
    - taosArrayGet
    - FST_SET_OUTPUT_PACK_SIZE
    - FST_SET_TRANSITION_PACK_SIZE
    - FST_BUILDER_NODE_IS_FINAL
    - memset
    - fstStateSetFinalState
    - packDeltaSize
    - taosArrayGetSize
    - fstStateStateNtrans
    - packSize
    - TMAX
    - TAOS_UNUSED
    - fstStateCreate
    - idxFileWrite
    - taosMemoryFree
    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
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateInputLen
    - 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:
    - fstStateNtransLen
    - fstStateIsFinalState
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateTotalTransSize
    - FST_SLICE_LEN
    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:
    - fstStateCommInput
    - fstSliceData
    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:
    - fstStateNtransLen
    - fstSliceData
    - fstStateTransIndexSize
    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:
    - fstSliceData
    - fstStateInputLen
    - unpackDelta
    - FST_GET_TRANSITION_PACK_SIZE
    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
    - unpackDelta
    - fstStateTransIndexSize
    - FST_GET_TRANSITION_PACK_SIZE
    - 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:
    - fstStateNtransLen
    - fstStateInputLen
    - fstSliceData
    - 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
    - FST_GET_TRANSITION_PACK_SIZE
    - unpackUint64
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateInputLen
    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
    - fstStateNtransLen
    - unpackUint64
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateTotalTransSize
    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:
    - fstSliceData
    - fstStateNtransLen
    - unpackUint64
    - fstStateIsFinalState
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateTotalTransSize
    - FST_SLICE_LEN
    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:
    - fstSliceData
    - fstStateTransIndexSize
    - fstStateNtransLen
    - fstSliceDestroy
    - fstSliceCopy
    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:
    - taosMemoryMalloc
    - fstStateNtrans
    - fstStateEndAddrForOneTransNext
    - fstStateIsFinalState
    - fstSliceCopy
    - fstStateCreateFrom
    - fstStateEndAddrForAnyTrans
    - fstStateEndAddrForOneTrans
    - fstStateFinalOutput
    - fstStateSizes
    - fstSliceCreate
    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:
    - fstStateOutput
    - fstStateInputForAnyTrans
    - fstStateInput
    - fstStateTransAddrForAnyTrans
    - fstStateTransAddr
    - 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:
    - fstStateTransAddr
    - FST_STATE_EMPTY_FINAL
    - fstStateTransAddrForAnyTrans
    - 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:
    - fstStateFindInput
    - fstStateInput
    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:
    - fstStateCompileForOneTransNext
    - fstStateCompileForOneTrans
    - taosArrayGet
    - fstStateCompileForAnyTrans
    - taosArrayGetSize
    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:
    - taosMemoryMalloc
    - taosEncodeFixedU64
    - fstUnFinishedNodesCreate
    - memset
    - fstRegistryCreate
    - idxFileCreate
    - TAOS_UNUSED
    - fstSliceCreate
    - idxFileWrite
    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
    - idxFileDestroy
    - fstRegistryDestroy
    - fstUnFinishedNodesDestroy
    - taosMemoryFree
    - fstBuilderFinish
    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
    - fstBuilderCheckLastKey
    - indexInfo
    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
    - fstUnFinishedNodesSetRootOutput
    - fstUnFinishedNodesFindCommPrefixAndSetOutput
    - fstSliceCopy
    - fstBuilderCompileFrom
    - fstUnFinishedNodesAddSuffix
    - fstSliceIsEmpty
    - FST_SLICE_LEN
    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:
    - fstSliceCompare
    - fstSliceDestroy
    - fstSliceDeepCopy
    - 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:
    - fstBuilderCompile
    - fstUnFinishedNodesTopLastFreeze
    - FST_UNFINISHED_NODES_LEN
    - fstBuilderNodeDestroy
    - fstUnFinishedNodesPopEmpty
    - fstUnFinishedNodesPopFreeze
    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:
    - fstRegistryEntryDestroy
    - FST_BUILDER_NODE_TRANS_ISEMPTY
    - fstRegistryGetEntry
    - FST_WRITER_COUNT
    - TAOS_UNUSED
    - FST_BUILDER_NODE_FINALOUTPUT_ISZERO
    - fstBuilderNodeCompileTo
    - FST_REGISTRY_CELL_INSERT
    - FST_BUILDER_NODE_IS_FINAL
    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:
    - fstBuilderCompile
    - taosEncodeFixedU64
    - idxFileFlush
    - fstUnFinishedNodesPopRoot
    - idxFileMaskedCheckSum
    - fstBuilderNodeDestroy
    - fstBuilderCompileFrom
    - taosEncodeFixedU32
    - TAOS_UNUSED
    - idxFileWrite
    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
    - taosArrayGetSize
    - FST_BUILDER_NODE_IS_FINAL
    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:
    - taosMemoryMalloc
    - fstSliceData
    - taosDecodeFixedU32
    - indexError
    - taosThreadMutexInit
    - fstSliceCopy
    - taosCheckChecksum
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosDecodeFixedU64
    - taosMemoryFree
    - FST_SLICE_LEN
    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:
    - fstSliceData
    - taosArrayPush
    - FST_NODE_FINAL_OUTPUT
    - fstNodeGetTransitionAt
    - taosArrayInit
    - fstNodeDestroy
    - taosArrayDestroy
    - taosArrayGet
    - fstGetNode
    - taosArrayGetSize
    - TAOS_UNUSED
    - fstNodeFindInput
    - fstGetRoot
    - FST_NODE_IS_FINAL
    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:
    - FST_NODE_FINAL_OUTPUT
    - fstNodeDestroy
    - fstGetRoot
    - FST_NODE_IS_FINAL
    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:
    - taosArrayDestroy
    - taosArrayInit
    - stmStSeekMin
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosMemoryFree
    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
    - taosMemoryFree
    - taosArrayDestroyEx
    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:
    - fstSliceData
    - taosArrayPush
    - fstNodeDestroy
    - start
    - fstNodeGetTransitionAt
    - fstBoundWithDataIsIncluded
    - fstEmptyFinalOutput
    - accept
    - fstNodeTransitions
    - taosArrayGet
    - fstGetNode
    - fstNodeFindInput
    - taosArrayGetSize
    - TAOS_UNUSED
    - fstBoundWithDataIsEmpty
    - taosArrayPop
    - fstGetRoot
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - fstGetRootAddr
    - taosArrayPush
    - taosArrayDestroy
    - fstNodeGetTransitionAt
    - taosArrayInit
    - FST_NODE_FINAL_OUTPUT
    - fstGetNode
    - fstSliceCreate
    - callback
    - taosArrayGet
    - fstSliceDestroy
    - FST_NODE_LEN
    - FST_NODE_ADDR
    - fstStreamStateDestroy
    - taosArrayPop
    - accept
    - taosMemoryFreeClear
    - taosArrayGetSize
    - acceptEof
    - canMatch
    - FST_NODE_IS_FINAL
    - swsResultCreate
    - start
    - taosArrayDestroyEx
    - isMatch
    - TAOS_UNUSED
    - fstBoundWithDataExceededBy
    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:
    - taosMemoryCalloc
    - FST_SLICE_LEN
    - 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
    - startWithStateValueDestroy
    - taosMemoryFree
    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:
    - stmBuilderDestroy
    - taosMemoryCalloc
    - fstBoundStateCreate
    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:
    - taosMemoryFreeClear
    - fstSliceDestroy
    - 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:
    - fstSliceDestroy
    - fstSliceDeepCopy
    - 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:
    - indexPut
    - taosArrayGetSize
    - taosArrayGetP
    - IDX_TYPE_ADD_EXTERN_TYPE
    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:
    - indexSearch
    - taosArrayGetSize
    - taosArrayGetP
    - IDX_TYPE_ADD_EXTERN_TYPE
    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:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: CBC_Encrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached:
    - CBC_EncryptImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t CBC_Encrypt(SCryptOpts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBC_DecryptImpl
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: CBC_Decrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached:
    - CBC_DecryptImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t CBC_Decrypt(SCryptOpts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: CBC_EncryptImpl
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 1
    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:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: CBC_DecryptImpl
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t CBC_DecryptImpl(SCryptOpts *opts)
  - 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_STRCPY
    - getenv
    - tstrncpy
    - TAOS_STRCAT
    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:
    - taosReadFile
    - azPutObjectFromFileOffset
    - snprintf
    - taosOpenFile
    - azGetObjectsByPrefix
    - strncmp
    - azEnd
    - taosWriteFile
    - taosCloseFile
    - GTEST_ASSERT_EQ
    - azGetObjectToFile
    - azPutObjectFromFile2
    - strlen
    - tstrncpy
    - azInitEnv
    - GTEST_ASSERT_NE
    - memset
    - azDeleteObjects
    - azDeleteObjectsByPrefix
    - azBegin
    - azGetObjectBlock
    - azCheckCfg
    - taosMemoryFree
    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:
    - taosReadFile
    - azPutObjectFromFileOffset
    - snprintf
    - taosOpenFile
    - azGetObjectsByPrefix
    - strncmp
    - azEnd
    - taosWriteFile
    - taosCloseFile
    - GTEST_ASSERT_EQ
    - azGetObjectToFile
    - azPutObjectFromFile2
    - taosMemoryCalloc
    - strlen
    - tstrncpy
    - azInitEnv
    - GTEST_ASSERT_NE
    - memset
    - azDeleteObjects
    - azDeleteObjectsByPrefix
    - azBegin
    - azGetObjectBlock
    - azCheckCfg
    - taosMemoryFree
    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_STRCPY
    - getenv
    - tstrncpy
    - TAOS_STRCAT
    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:
    - taosReadFile
    - azPutObjectFromFileOffset
    - snprintf
    - taosOpenFile
    - std::getenv
    - azGetObjectsByPrefix
    - strncmp
    - azEnd
    - taosWriteFile
    - taosCloseFile
    - GTEST_ASSERT_EQ
    - azGetObjectToFile
    - azPutObjectFromFile2
    - strlen
    - tstrncpy
    - azInitEnv
    - std::string
    - GTEST_ASSERT_NE
    - memset
    - azDeleteObjects
    - azDeleteObjectsByPrefix
    - Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
    - azBegin
    - azGetObjectBlock
    - azCheckCfg
    - taosMemoryFree
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - std::map::end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - std::map::find
    - std::runtime_error
    - count
    - group_parse
    - is_string
    - parseSchemaFromJsonObject
    - std::vector::push_back
    - AZURE_UNREACHABLE_CODE
    - std::map::insert
    - get
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_object
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - begin
    - std::make_pair
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    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:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    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_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    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:
    - Read
    - resize
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - data
    - 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:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::memmove
    - 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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - std::move
    - std::make_shared<SharedStatus>
    - AvroSchema::m_status::m_schemas::push_back
    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:
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - Advance
    - ParseInt
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Size
    - ItemSchema
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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:
    - parseInt
    - Size
    - Type
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    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:
    - std::string
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - std::vector<uint8_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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:
    - static_cast<int32_t>
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    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
    - FieldNames
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - AvroRecord::m_values::push_back
    - 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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - ItemSchema
    - auto::Value
    - auto::Fill
    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:
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - Type
    - auto::Fill
    - static_cast<size_t>
    - AZURE_UNREACHABLE_CODE
    - FieldSchemas
    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: 2
    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:
    - std::move
    - Value
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Preload
    - AvroMap::count
    - TryPreload
    - std::runtime_error
    - AZURE_ASSERT_FALSE
    - std::vector::push_back
    - ParseSchemaFromJsonString
    - auto::Value
    - auto::Fill
    - std::make_unique<AvroSchema>
    - auto::Field
    - get
    - AvroDatum
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - Discard
    - std::make_pair
    - ParseInt
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - static_cast<size_t>
    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:
    - End
    - std::move
    - std::memcpy
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - auto::Value
    - m_progressCallback
    - auto::Schema
    - auto::Field
    - 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_start
    - vfprintf
    - va_end
    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:
    - auto::ListBlobs
    - TAOS_SYSTEM_ERROR
    - auto::HasPage
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - ReasonPhrase::c_str
    - checkPrint
    - static_cast<int>
    - auto::MoveToNextPage
    - Name::c_str
    - std::make_shared<StorageSharedKeyCredential>
    - TAOS_RETURN
    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:
    - azListBucket
    - strlen
    - taosWriteFile
    - taosCloseFile
    - azGetObjectBlock
    - azPutObjectFromFileOffset
    - memcpy
    - azDumpCfgByEp
    - azDeleteObjectsByPrefix
    - snprintf
    - taosFsyncFile
    - TAOS_RETURN
    - checkPrint
    - taosOpenFile
    - taosMemoryFree
    - strncmp
    - TAOS_CHECK_GOTO
    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
    - tstrerror
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - ReasonPhrase::c_str
    - TDBlockBlobClient::UploadFrom
    - static_cast<int>
    - auto::GetBlobClient
    - std::make_shared<StorageSharedKeyCredential>
    - TAOS_RETURN
    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
    - tstrerror
    - azPutObjectFromFileOffsetImpl
    - what
    - azError
    - TAOS_RETURN
    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
    - TDBlockBlobClient::DownloadTo
    - auto::Value::ContentRange::Length::Value
    - tstrerror
    - Blobs::DownloadBlobToOptions::Range::Value
    - taosMemoryFree
    - Azure::Core::Http::HttpRange
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - ReasonPhrase::c_str
    - static_cast<int>
    - auto::GetBlobClient
    - taosMemoryCalloc
    - std::make_shared<StorageSharedKeyCredential>
    - TAOS_RETURN
    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:
    - tstrerror
    - uInfo
    - azGetObjectBlockImpl
    - taosMsleep
    - taosRand
    - TAOS_RETURN
    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
    - tstrerror
    - what
    - azError
    - azGetObjectBlockRetry
    - TAOS_RETURN
    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::ListBlobs
    - auto::GetAppendBlobClient
    - auto::HasPage
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - ReasonPhrase::c_str
    - std::set::insert
    - auto::MoveToNextPage
    - static_cast<int>
    - auto::Delete
    - std::make_shared<StorageSharedKeyCredential>
    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:
    - azDeleteObjectsByPrefixImpl
    - azError
    - 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:
    - tstrerror
    - azPutObjectFromFileOffset
    - taosStatFile
    - azError
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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
    - TDBlockBlobClient::DownloadTo
    - auto::Value::ContentRange::Length::Value
    - tstrerror
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - ReasonPhrase::c_str
    - static_cast<int>
    - auto::GetBlobClient
    - std::make_shared<StorageSharedKeyCredential>
    - TAOS_RETURN
    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:
    - TAOS_SYSTEM_ERROR
    - azGetObjectToFileImpl
    - tstrerror
    - what
    - azError
    - TAOS_RETURN
    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::ListBlobs
    - strlen
    - azGetObjectToFile
    - auto::HasPage
    - strchr
    - snprintf
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - ReasonPhrase::c_str
    - std::set::insert
    - TAOS_RETURN
    - auto::MoveToNextPage
    - static_cast<int>
    - std::make_shared<StorageSharedKeyCredential>
    - c_str
    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
    - tstrerror
    - what
    - azError
    - azGetObjectsByPrefixImpl
    - TAOS_RETURN
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - std::string::length
    - std::vector<uint8_t>
    - static_cast<uint64_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - _internal::FileReader::GetFileSize
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - Azure::Core::IO::FileBodyStream::Length
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - TransactionalContentHash::HasValue
    - ToString
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - HasValue
    - Value
    - TransactionalContentHash::Value
    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:
    - std::to_string
    - TransactionalContentHash::HasValue
    - SourceRange::HasValue
    - ToString
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - HasValue
    - SourceRange::Value
    - Value
    - TransactionalContentHash::Value
    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::Value
    - ToString
    - Metadata::begin
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - std::string::length
    - std::vector<uint8_t>
    - static_cast<uint64_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - _internal::FileReader::GetFileSize
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - Azure::Core::IO::FileBodyStream::Length
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - TransactionalContentHash::HasValue
    - ToString
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - HasValue
    - Value
    - TransactionalContentHash::Value
    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:
    - std::to_string
    - TransactionalContentHash::HasValue
    - SourceRange::HasValue
    - ToString
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - HasValue
    - SourceRange::Value
    - Value
    - TransactionalContentHash::Value
    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::Value
    - ToString
    - Metadata::begin
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - std::string::length
    - std::vector<uint8_t>
    - static_cast<uint64_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - _internal::FileReader::GetFileSize
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - Azure::Core::IO::FileBodyStream::Length
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - TransactionalContentHash::HasValue
    - ToString
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - HasValue
    - Value
    - TransactionalContentHash::Value
    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:
    - std::to_string
    - TransactionalContentHash::HasValue
    - SourceRange::HasValue
    - ToString
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - HasValue
    - SourceRange::Value
    - Value
    - TransactionalContentHash::Value
    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::Value
    - ToString
    - Metadata::begin
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - std::string::length
    - std::vector<uint8_t>
    - static_cast<uint64_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - _internal::FileReader::GetFileSize
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - Azure::Core::IO::FileBodyStream::Length
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - TransactionalContentHash::HasValue
    - ToString
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - HasValue
    - Value
    - TransactionalContentHash::Value
    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:
    - std::to_string
    - TransactionalContentHash::HasValue
    - SourceRange::HasValue
    - ToString
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - HasValue
    - SourceRange::Value
    - Value
    - TransactionalContentHash::Value
    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::Value
    - ToString
    - Metadata::begin
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - std::string::length
    - std::vector<uint8_t>
    - static_cast<uint64_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - _internal::FileReader::GetFileSize
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - Azure::Core::IO::FileBodyStream::Length
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - TransactionalContentHash::HasValue
    - ToString
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - HasValue
    - Value
    - TransactionalContentHash::Value
    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:
    - std::to_string
    - TransactionalContentHash::HasValue
    - SourceRange::HasValue
    - ToString
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - HasValue
    - SourceRange::Value
    - Value
    - TransactionalContentHash::Value
    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::Value
    - ToString
    - Metadata::begin
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - std::string::length
    - std::vector<uint8_t>
    - static_cast<uint64_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - _internal::FileReader::GetFileSize
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - Azure::Core::IO::FileBodyStream::Length
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - TransactionalContentHash::HasValue
    - ToString
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - HasValue
    - Value
    - TransactionalContentHash::Value
    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:
    - std::to_string
    - TransactionalContentHash::HasValue
    - SourceRange::HasValue
    - ToString
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - HasValue
    - SourceRange::Value
    - Value
    - TransactionalContentHash::Value
    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::Value
    - ToString
    - Metadata::begin
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - std::string::length
    - std::vector<uint8_t>
    - static_cast<uint64_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - _internal::FileReader::GetFileSize
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - Azure::Core::IO::FileBodyStream::Length
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - TransactionalContentHash::HasValue
    - ToString
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - HasValue
    - Value
    - TransactionalContentHash::Value
    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:
    - std::to_string
    - TransactionalContentHash::HasValue
    - SourceRange::HasValue
    - ToString
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - HasValue
    - SourceRange::Value
    - Value
    - TransactionalContentHash::Value
    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::Value
    - ToString
    - Metadata::begin
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - empty
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - std::string::length
    - std::vector<uint8_t>
    - static_cast<uint64_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - _internal::FileReader::GetFileSize
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - Azure::Core::IO::FileBodyStream::Length
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - std::move
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - getBlockId
    - Azure::Core::Convert::Base64Encode
    - TransferOptions::ChunkSize::HasValue
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::vector<uint8_t>
    - _internal::ConcurrentTransfer
    - std::string::begin
    - std::to_string
    - std::string::end
    - std::vector::size
    - TransferOptions::ChunkSize::Value
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string
    - static_cast<int64_t>
    - Azure::Core::RequestFailedException
    - std::vector::resize
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - 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:
    - TransactionalContentHash::HasValue
    - ToString
    - Metadata::begin
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    - TransactionalContentHash::Value
    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:
    - TransactionalContentHash::HasValue
    - ToString
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - HasValue
    - Value
    - TransactionalContentHash::Value
    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:
    - std::to_string
    - TransactionalContentHash::HasValue
    - SourceRange::HasValue
    - ToString
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - HasValue
    - SourceRange::Value
    - Value
    - TransactionalContentHash::Value
    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::Value
    - ToString
    - Metadata::begin
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::HasValue
    - _detail::TagsToString
    - Metadata::end
    - Value
    - std::map<std::string, std::string>
    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:
    - decimalToStr
    - ASSERT_EQ
    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_TRUE
    - decimalToStr
    - ASSERT_STREQ
    - ASSERT_EQ
    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:
    - size
    - c_str
    - decimal128FromStr
    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
    - tstrerror
    - std::to_string
    - std::string
    - std::overflow_error
    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:
    - std::runtime_error
    - tstrerror
    - decimalGetRetType
    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:
    - tstrerror
    - Numeric::prec
    - Numeric::getRetType
    - dec
    - Numeric::scale
    - decimalOp
    - std::overflow_error
    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:
    - tstrerror
    - Numeric::getRetType
    - std::runtime_error
    - decimalOp
    - std::overflow_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:
    - tstrerror
    - std::string
    - Numeric::prec
    - decimalToStr
    - Numeric::scale
    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:
    - auto::resize
    - auto::rend
    - auto::rbegin
    - auto::size
    - Numeric::toString
    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:
    - std::string
    - tstrerror
    - std::string::size
    - decimal64FromStr
    - std::string::c_str
    - scale
    - prec
    - decimal128FromStr
    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:
    - tstrerror
    - std::runtime_error
    - scale
    - convertToDecimal
    - prec
    - std::overflow_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:
    - tstrerror
    - std::runtime_error
    - scale
    - convertToDecimal
    - prec
    - std::overflow_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:
    - tstrerror
    - std::runtime_error
    - type
    - dec
    - scale
    - convertToDecimal
    - prec
    - std::overflow_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:
    - ASSERT_EQ
    - Numeric::toStringTrimTailingZeros
    - auto::toStringTrimTailingZeros
    - Numeric<64>
    - auto::toString
    - Numeric::toString
    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:
    - Numeric::toString
    - ASSERT_EQ
    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_TRUE
    - ASSERT_FALSE
    - ASSERT_EQ
    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:
    - makeDecimal128
    - generate_big_int128
    - ASSERT_STREQ
    - 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:
    - auto::multiply
    - getDecimalOps
    - printDecimal
    - generate_big_int128
    - ASSERT_TRUE
    - auto::divide
    - std::min
    - makeDecimal128
    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:
    - strlen
    - ASSERT_TRUE
    - ASSERT_EQ
    - convertToDecimal
    - checkDecimal
    - decimal128FromStr
    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:
    - strlen
    - decimal64FromStr
    - decimal128ToInt128
    - ASSERT_EQ
    - DECIMAL64_GET_VALUE
    - decimal128FromStr
    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
    - decimalToStr
    - ASSERT_TRUE
    - ASSERT_EQ
    - makeDecimal128
    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:
    - decimalTypeFromPrecision
    - std::to_string
    - 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:
    - ASSERT_EQ
    - getDecimalType
    - auto::scale
    - decimalGetRetType
    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:
    - strlen
    - decimalGetRetType
    - decimal64FromStr
    - checkDecimal
    - ASSERT_EQ
    - getDecimalType
    - decimalOp
    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:
    - std::string::push_back
    - DecimalStringRandomGenerator::currentShouldGenerateCornerCase
    - DecimalStringRandomGenerator::possible
    - DecimalStringRandomGenerator::randomInt
    - DecimalStringRandomGenerator::generateCornerCase
    - DecimalStringRandomGenerator::generateSign
    - DecimalStringRandomGenerator::generateDigit
    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:
    - std::string
    - string::push_back
    - DecimalStringRandomGenerator::possible
    - DecimalStringRandomGenerator::randomInt
    - size
    - DecimalStringRandomGenerator::generateDigit
    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::DecimalStringRandomGenerator
    - DecimalStringRandomGenerator::generate
    - GTEST_SKIP
    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:
    - ASSERT_OVERFLOW
    - ASSERT_EQ
    - Numeric::toString
    - ff
    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:
    - ASSERT_RUNTIME_ERROR
    - ASSERT_OVERFLOW
    - Numeric::getRetType
    - auto::scale
    - string
    - Numeric::scale
    - auto::prec
    - Numeric::type
    - ASSERT_EQ
    - auto::toString
    - Numeric::toString
    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
    - c_str
    - getDecimalType
    - sscanf
    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: 220
    functionsReached:
    - ASSERT_EQ
    - Numeric::getRetType
    - get_op_str
    - 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: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1272
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - FAIL
    - DecimalRetTypeCheckContent::check
    - GTEST_SKIP
    - std::ifstream::getline
    - ASSERT_EQ
    - std::ifstream::is_open
    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_TRUE
    - ASSERT_FALSE
    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: 2
    functionLinenumber: 1286
    functionLinenumberEnd: 1352
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - std::log10
    - count_digits
    - std::floor
    - Numeric::getRetType
    - DecimalRetTypeCheckContent::check
    - IS_DECIMAL_TYPE
    - getDecimalType
    - std::vector::push_back
    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:
    - FAIL
    - DecimalTest::get_connection
    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:
    - fillBytesForDecimalType
    - getDecimalType
    - extractDecimalTypeInfoFromBytes
    - ASSERT_EQ
    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_close
    - FAIL
    - taos_errno
    - check_type_mod
    - taos_fetch_fields
    - taos_print_row
    - taos_query
    - GTEST_SKIP_
    - ASSERT_EQ
    - taos_fetch_fields_e
    - BitmapLen
    - std::string
    - taos_free_result
    - taos_fetch_raw_block
    - taos_errstr
    - taos_connect
    - taos_fetch_row
    - taos_field_count
    - c_str
    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_decimal128FromDecimal64
    - TEST_decimal128FromDecimal128
    - Numeric::dec
    - ASSERT_RUNTIME_ERROR
    - ASSERT_OVERFLOW
    - DECIMAL_WORD_NUM
    - decimal128AddCheckOverflow
    - ASSERT_TRUE
    - ASSERT_EQ
    - TEST_decimal64FromDecimal64
    - TEST_decimal64FromDecimal128
    - ASSERT_FALSE
    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: 1
    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_NULL_TYPE
    - IS_FLOAT_TYPE
    - IS_VAR_DATA_TYPE
    - IS_DECIMAL_TYPE
    - TMAX
    - TMIN
    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: atoi
      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:
    - SDecimalOps*::negate
    - maxPrecision
    - DECIMAL_WORD_NUM
    - SDecimalOps*::add
    - calcActualWeight
    - getDecimalOpsImp
    - DECIMAL64_SET_VALUE
    - atoi
    - calcCurPrec
    - isdigit
    - TMIN
    - SDecimalOps*::multiply
    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:
    - DECIMAL64_GET_VALUE
    - VALUE_SET_TRIVIAL_DATUM
    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:
    - memcpy
    - DECIMAL_WORD_NUM
    - taosMemCalloc
    - 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:
    - DECIMAL64_CLONE
    - SDecimalOps*::abs
    - getDecimalOps
    - SDecimalOps*::divide
    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:
    - DECIMAL64_CLONE
    - getDecimalOpsImp
    - SDecimalOps*::abs
    - SDecimalOps*::mod
    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:
    - DECIMAL_GET_INTERNAL_TYPE
    - getDecimalOpsImp
    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_GET_VALUE
    - DECIMAL64_SET_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_GET_VALUE
    - DECIMAL64_SET_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_GET_VALUE
    - DECIMAL64_SET_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:
    - SAFE_INT64_SUBTRACT
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SET_VALUE
    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_SIGN
    - decimal64Negate
    - DECIMAL64_SET_VALUE
    - DECIMAL64_GET_VALUE
    - decimal64Abs
    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_SIGN
    - decimal64Negate
    - DECIMAL64_SET_VALUE
    - DECIMAL64_GET_VALUE
    - decimal64Abs
    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:
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SET_VALUE
    - decimal64divide
    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: sprintf
      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_SIGN
    - decimal64GetWhole
    - sprintf
    - snprintf
    - decimal64GetFrac
    - TAOS_STRNCPY
    - DECIMAL64_GET_VALUE
    - TAOS_STRCAT
    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_SIGN
    - decimal64Negate
    - makeDecimal128
    - DECIMAL64_GET_VALUE
    - decimal128Negate
    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:
    - makeDecimal128
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - SAFE_INT64_ADD
    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:
    - decimal128Negate
    - DECIMAL128_SIGN
    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
    - SAFE_INT64_ADD
    - DECIMAL128_LOW_WORD
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - makeDecimal128
    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
    - DECIMAL128_LOW_WORD
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - makeDecimal128
    - 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:
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - uInt128Hi
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - makeUInt128
    - decimal128Negate
    - DECIMAL128_SIGN
    - makeDecimal128
    - uInt128Lo
    - decimal128Abs
    - uInt128Multiply
    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_LOW_WORD
    - DECIMAL128_HIGH_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:
    - uInt128Mod
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - uInt128Hi
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - makeUInt128
    - DECIMAL128_SIGN
    - makeDecimal128
    - uInt128Lo
    - uInt128Divide
    - decimal128Abs
    - decimal128Negate
    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
    - DECIMAL_WORD_NUM
    - decimal128Divide
    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_LOW_WORD
    - DECIMAL128_HIGH_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:
    - uInt128Mod
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - uInt128Hi
    - uInt128Eq
    - makeUInt128
    - uInt128Lo
    - uInt128Divide
    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:
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - snprintf
    - TMAX
    - extractDecimal128Digits
    - DECIMAL128_SIGN
    - makeDecimal128
    - TAOS_STRNCAT
    - TAOS_STRNCPY
    - TABS
    - 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:
    - decimal64ToStr
    - DECIMAL_GET_INTERNAL_TYPE
    - decimal128ToStr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimalToStr(const DecimalType* pDec, int8_t dataType, int8_t
      precision, int8_t scale, char* pBuf,\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:
    - decimal128Subtract
    - decimal128Divide
    - DECIMAL_WORD_NUM
    - decimal128AddCheckOverflow
    - decimal128Multiply
    - TMAX
    - makeDecimal128
    - decimal128ScaleUp
    - decimal128Add
    - decimal128Gt
    - decimal128ScaleDown
    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:
    - decimal128Subtract
    - decimal128Divide
    - DECIMAL_WORD_NUM
    - decimal128Multiply
    - TMAX
    - DECIMAL128_SIGN
    - decimal128ScaleUp
    - decimal128Add
    - decimal128Gt
    - decimal128ScaleDown
    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
    - DECIMAL_WORD_NUM
    - decimal128ScaleTo
    - TMAX
    - DECIMAL128_SIGN
    - decimal128Add
    - decimalAddLargePositive
    - decimal128Negate
    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:
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - int256Negate
    - makeInt256
    - DECIMAL128_SIGN
    - 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:
    - int256Mod
    - int256Gt
    - int256Add
    - int256Abs
    - int256Multiply
    - int256RightShift
    - makeInt256FromDecimal128
    - int256Divide
    - int256Subtract
    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:
    - int256Gt
    - uInt128Hi
    - int256Lo
    - int256Abs
    - DECIMAL_WORD_NUM
    - int256RightShift
    - int256Lt
    - makeDecimal128
    - uInt128Lo
    - decimal128Gt
    - decimal128Negate
    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:
    - decimal128Divide
    - int256Multiply
    - DECIMAL_WORD_NUM
    - int256ScaleBy
    - decimal128Eq
    - makeInt256FromDecimal128
    - decimal128ScaleDown
    - makeDecimal128
    - decimal128Multiply
    - convertInt256ToDecimal128
    - decimal128Abs
    - decimal128Gt
    - decimal128CountLeadingBinaryZeros
    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:
    - int256Multiply
    - convertInt256ToDecimal128
    - decimal128CountLeadingBinaryZeros
    - decimal128Abs
    - int256Add
    - decimal128Eq
    - int256Lt
    - makeInt256FromDecimal128
    - decimal128Lt
    - int256Abs
    - int256ScaleBy
    - decimal128Multiply
    - decimal128ScaleUp
    - int256Subtract
    - int256Mod
    - decimal128Divide
    - DECIMAL_WORD_NUM
    - DECIMAL128_SIGN
    - int256Divide
    - decimal128Add
    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:
    - int256Mod
    - DECIMAL_WORD_NUM
    - decimal128ScaleTo
    - int256ScaleBy
    - decimal128Eq
    - TMAX
    - makeInt256FromDecimal128
    - decimal128Mod
    - convertInt256ToDecimal128
    - TMIN
    - decimal128Abs
    - decimal128CountLeadingBinaryZeros
    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:
    - decimalAdd
    - decimalDivide
    - decimalMod
    - convertToDecimal
    - decimalMultiply
    - decimal128ToStr
    - decimal128Negate
    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:
    - DECIMAL_WORD_NUM
    - decimal128Lt
    - decimal128Gt
    - 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:
    - decimalFromTypeMod
    - decimal64Eq
    - decimal64Lt
    - doCompareDecimal128
    - DECIMAL_WORD_NUM
    - decimal64Gt
    - makeDecimal128FromDecimal64
    - decimal64ScaleUp
    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:
    - decimalFromTypeMod
    - int256Gt
    - doCompareDecimal128
    - decimal64Compare
    - int256Lt
    - decimalCompare
    - decimalCalcTypeMod
    - int256Eq
    - makeInt256FromDecimal128
    - int256ScaleBy
    - decimal128ScaleUp
    - makeDecimal128FromDecimal64
    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:
    - DECIMAL64_GET_VALUE
    - decimal64RoundWithPositiveScale
    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:
    - DECIMAL64_GET_VALUE
    - decimal64RoundWithPositiveScale
    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_SET_VALUE
    - DECIMAL64_GET_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_SET_VALUE
    - DECIMAL64_GET_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:
    - isnan
    - DECIMAL64_GET_MAX
    - decimal64Negate
    - round
    - makeDecimal64
    - DECIMAL_WORD_NUM
    - decimal64Gt
    - getDoubleScaleMultiplier
    - TABS
    - ldexp
    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:
    - DECIMAL128_LOW_WORD
    - decimal64Lt
    - DECIMAL64_GET_MAX
    - decimal64Negate
    - DECIMAL_WORD_NUM
    - decimal128ScaleTo
    - decimal128Negate
    - DECIMAL64_SET_VALUE
    - DECIMAL128_SIGN
    - decimal128Gt
    - decimal128ScaleDown
    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:
    - decimal64Lt
    - DECIMAL64_GET_MAX
    - DECIMAL64_SIGN
    - decimal64ScaleDown
    - decimal64Negate
    - DECIMAL_WORD_NUM
    - decimal64ScaleTo
    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:
    - decimal128FromInt64
    - DECIMAL128_LOW_WORD
    - decimal128RoundWithPositiveScale
    - DECIMAL_WORD_NUM
    - decimal128Lt
    - decimal128Gt
    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:
    - DECIMAL128_LOW_WORD
    - decimal128RoundWithPositiveScale
    - DECIMAL_WORD_NUM
    - decimal128FromUint64
    - decimal128Lt
    - decimal128Gt
    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:
    - DECIMAL64_GET_MAX
    - ABS_INT64
    - makeDecimal128
    - decimal128ScaleUp
    - DECIMAL64_GET_VALUE
    - decimal128Negate
    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:
    - DECIMAL_WORD_NUM
    - makeDecimal128
    - decimal128ScaleUp
    - 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:
    - isnan
    - round
    - DECIMAL_WORD_NUM
    - getDoubleScaleMultiplier
    - TABS
    - makeDecimal128
    - decimal128Gt
    - DECIMAL128_GET_MAX
    - ldexp
    - decimal128Negate
    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:
    - DECIMAL64_SIGN
    - DECIMAL64_GET_VALUE
    - decimal64ScaleDown
    - decimal64Negate
    - DECIMAL_WORD_NUM
    - decimal128ScaleTo
    - makeDecimal128
    - DECIMAL128_GET_MAX
    - decimal128Lt
    - decimal128Negate
    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:
    - DECIMAL_WORD_NUM
    - decimal128ScaleTo
    - decimal128Negate
    - DECIMAL128_SIGN
    - DECIMAL128_GET_MAX
    - decimal128Lt
    - 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:
    - decimal64Lt
    - decimal64Add
    - DECIMAL64_SIGN
    - decimal64divide
    - DECIMAL_WORD_NUM
    - decimal64Abs
    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:
    - decimal64ScaleDown
    - decimal64ScaleUp
    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:
    - DECIMAL64_GET_MAX
    - decimal64ScaleDown
    - DECIMAL_WORD_NUM
    - decimal64Gt
    - decimal64ScaleUp
    - 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:
    - decimal64Eq
    - decimal64Lt
    - decimal64divide
    - DECIMAL64_SIGN
    - decimal64Mod
    - DECIMAL_WORD_NUM
    - decimal64Abs
    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
    - DECIMAL64_GET_MAX
    - decimal64ScaleAndCheckOverflow
    - DECIMAL_WORD_NUM
    - decimal64CountRoundingDelta
    - decimal64Gt
    - decimal64Abs
    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:
    - decimalVarFromStr
    - decimal64RoundWithPositiveScale
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal64FromStr(const char* str, int32_t len, uint8_t expectPrecision,
      uint8_t expectScale, Decimal64* pRes)
  - BBCount: 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:
    - decimal128Divide
    - decimal128Lt
    - DECIMAL_WORD_NUM
    - decimal128Add
    - DECIMAL128_SIGN
    - 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:
    - decimal128Multiply
    - DECIMAL_WORD_NUM
    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:
    - decimalVarFromStr
    - decimal128RoundWithPositiveScale
    - DECIMAL128_SET_HIGH_WORD
    - DECIMAL128_SET_LOW_WORD
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimal128FromStr(const char* str, int32_t len, uint8_t expectPrecision,
      uint8_t expectScale,\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
    - DECIMAL128_LOW_WORD
    - countLeadingZeros
    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
    - DECIMAL64_SIGN
    - decimal64Abs
    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:
    - decimal64Eq
    - DECIMAL_WORD_NUM
    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
    - DECIMAL128_LOW_WORD
    - getDoubleScaleMultiplier
    - DECIMAL128_SIGN
    - decimal128Abs
    - ldexp
    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
    - decimal128CountRoundingDelta
    - DECIMAL128_GET_MAX
    - decimal128Add
    - decimal128Gt
    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:
    - DECIMAL_WORD_NUM
    - decimal128ScaleUp
    - DECIMAL128_GET_MAX
    - decimal128Abs
    - decimal128Gt
    - decimal128ScaleDown
    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:
    - decimal128Divide
    - decimal128Lt
    - DECIMAL_WORD_NUM
    - decimal128Eq
    - DECIMAL128_SIGN
    - decimal128Mod
    - 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:
    - decimal128Subtract
    - DECIMAL_WORD_NUM
    - DECIMAL128_SIGN
    - decimal128Lt
    - decimal128Gt
    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:
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - DECIMAL64_GET_VALUE
    - htobe64
    linkageType: ''
    returnType: void
    signature: void encodeDecimal(const DecimalType* pDec, int8_t type, void* pBuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: 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_HIGH_WORD
    - be64toh
    - DECIMAL64_SET_VALUE
    - DECIMAL128_SET_LOW_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:
    - int128Negate
    - int128Lt
    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:
    - int256Negate
    - int256Lt
    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:
    - int256Negate
    - int256Abs
    - int256Lt
    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:
    - int256Negate
    - int256Abs
    - int256Lt
    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:
    - int256Lo
    - uInt128Lt
    - int256Hi
    - int128Eq
    - int128Lt
    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:
    - unsigned
    - __builtin_clz
    - intx::clz_generic
    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:
    - unsigned
    - __builtin_clzll
    - intx::clz_generic
    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:
    - __builtin_bswap64
    - _byteswap_uint64
    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::umul
    - INTX_REQUIRE
    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::umul
    - intx::fast_add
    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::umul
    - intx::fast_add
    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::reciprocal_2by1
    - intx::clz
    - intx::udivrem_2by1
    - intx::udivrem_3by2
    - intx::reciprocal_3by2
    - INTX_REQUIRE
    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:
    - unsigned
    - __builtin_clz
    - intx::clz_generic
    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:
    - unsigned
    - __builtin_clzll
    - intx::clz_generic
    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:
    - __builtin_bswap64
    - _byteswap_uint64
    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::umul
    - INTX_REQUIRE
    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::umul
    - intx::fast_add
    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::umul
    - intx::fast_add
    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::reciprocal_2by1
    - intx::clz
    - intx::udivrem_2by1
    - intx::udivrem_3by2
    - intx::reciprocal_3by2
    - INTX_REQUIRE
    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: 773
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 773
    functionName: std::min
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 10
    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:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 774
    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: 775
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 775
    functionName: std::max
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    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: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    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: 777
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 777
    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: 778
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 778
    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: 779
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 779
    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: 780
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 780
    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: 781
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 781
    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: 773
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 773
    functionName: std::min
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 11
    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:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 774
    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: 775
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 775
    functionName: std::max
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    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: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    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: 777
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 777
    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: 778
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 778
    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: 779
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 779
    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: 780
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 780
    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: 781
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 781
    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:793,1
    - Dst: std::abort
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - what
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 796
    functionName: intx::throw_
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - std::fputs
    - std::abort
    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:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 803
    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:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 812
    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:827,1
    - Dst: intx::from_hex_digit
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:828,1
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:836,1
    - Dst: intx::from_dec_digit
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:838,1
    - Dst: intx::constexpr_mul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:839,1
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 844
    functionName: intx::from_string
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::from_dec_digit
    - intx::from_hex_digit
    - intx::constexpr_mul
    - intx::throw_
    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:849,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 850
    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:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 852
    functionDepth: 4
    functionLinenumber: 852
    functionLinenumberEnd: 855
    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:870,1
    - Dst: auto::push_back
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:873,1
    - Dst: std::reverse
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:876,1
    - Dst: auto::begin
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:876,1
    - Dst: auto::end
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 878
    functionName: intx::to_string
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem
    - std::reverse
    - auto::begin
    - auto::push_back
    - 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:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 884
    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:793,1
    - Dst: std::abort
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - what
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 796
    functionName: intx::throw_
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached:
    - std::fputs
    - std::abort
    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:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 803
    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:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 812
    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:827,1
    - Dst: intx::from_hex_digit
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:828,1
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:836,1
    - Dst: intx::from_dec_digit
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:838,1
    - Dst: intx::constexpr_mul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:839,1
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 844
    functionName: intx::from_string
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached:
    - intx::from_dec_digit
    - intx::from_hex_digit
    - intx::constexpr_mul
    - intx::throw_
    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:849,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 850
    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:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 855
    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:870,1
    - Dst: auto::push_back
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:873,1
    - Dst: std::reverse
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:876,1
    - Dst: auto::begin
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:876,1
    - Dst: auto::end
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 878
    functionName: intx::to_string
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::udivrem
    - std::reverse
    - auto::begin
    - auto::push_back
    - 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:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 884
    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::umul
    - intx::num_bits
    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::constexpr_umul
    - intx::num_bits
    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::clz
    - intx::num_bits
    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:
    - auto::size
    - intx::to_words
    - 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
    - intx::lo_half
    - static_cast<unsigned>
    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:
    - udivrem_2by1
    - reciprocal_2by1
    - INTX_REQUIRE
    - std::tie
    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:
    - udivrem_3by2
    - reciprocal_3by2
    - INTX_REQUIRE
    - 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:
    - add_with_carry
    - INTX_REQUIRE
    - std::tie
    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:
    - umul
    - INTX_REQUIRE
    - 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:
    - std::tie
    - reciprocal_3by2
    - intx::internal::submul
    - uint128
    - udivrem_3by2
    - intx::internal::add
    - INTX_UNLIKELY
    - INTX_REQUIRE
    - sub_with_carry
    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:
    - udivrem_2by1
    - reciprocal_2by1
    - INTX_REQUIRE
    - std::tie
    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:
    - udivrem_3by2
    - reciprocal_3by2
    - INTX_REQUIRE
    - 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:
    - add_with_carry
    - INTX_REQUIRE
    - std::tie
    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:
    - umul
    - INTX_REQUIRE
    - 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:
    - std::tie
    - reciprocal_3by2
    - intx::internal::submul
    - uint128
    - udivrem_3by2
    - intx::internal::add
    - INTX_UNLIKELY
    - INTX_REQUIRE
    - sub_with_carry
    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: gzip_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::udivrem_by2
    - intx::internal::udivrem_by1
    - gzip_normalize
    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: 0
    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:
    - std::memcpy
    - bswap
    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:
    - std::memcpy
    - bswap
    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: 0
    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:
    - std::memcpy
    - bswap
    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:
    - std::memcpy
    - bswap
    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::umul
    - intx::num_bits
    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::constexpr_umul
    - intx::num_bits
    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::clz
    - intx::num_bits
    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:
    - auto::size
    - intx::to_words
    - 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
    - intx::lo_half
    - static_cast<unsigned>
    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: 1
    functionsReached:
    - udivrem_2by1
    - reciprocal_2by1
    - INTX_REQUIRE
    - std::tie
    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:
    - udivrem_3by2
    - reciprocal_3by2
    - INTX_REQUIRE
    - 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:
    - add_with_carry
    - INTX_REQUIRE
    - std::tie
    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:
    - umul
    - INTX_REQUIRE
    - 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:
    - std::tie
    - reciprocal_3by2
    - intx::internal::submul
    - uint128
    - udivrem_3by2
    - intx::internal::add
    - INTX_UNLIKELY
    - INTX_REQUIRE
    - sub_with_carry
    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: 1
    functionsReached:
    - udivrem_2by1
    - reciprocal_2by1
    - INTX_REQUIRE
    - std::tie
    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:
    - udivrem_3by2
    - reciprocal_3by2
    - INTX_REQUIRE
    - 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:
    - add_with_carry
    - INTX_REQUIRE
    - std::tie
    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:
    - umul
    - INTX_REQUIRE
    - 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:
    - std::tie
    - reciprocal_3by2
    - intx::internal::submul
    - uint128
    - udivrem_3by2
    - intx::internal::add
    - INTX_UNLIKELY
    - INTX_REQUIRE
    - sub_with_carry
    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: gzip_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::udivrem_by2
    - intx::internal::udivrem_by1
    - gzip_normalize
    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: 0
    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:
    - std::memcpy
    - bswap
    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:
    - std::memcpy
    - bswap
    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: 0
    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:
    - std::memcpy
    - bswap
    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:
    - std::memcpy
    - bswap
    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: 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_malloc
    - taos_string_builder_init
    - taos_string_builder_destroy
    linkageType: ''
    returnType: taos_string_builder_t
    signature: taos_string_builder_t *taos_string_builder_new(void)
  - BBCount: 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_malloc
    - TAOS_TEST_PARA
    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_TEST_PARA
    - taos_realloc
    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_malloc
    - memcpy
    - TAOS_TEST_PARA_NULL
    linkageType: ''
    returnType: char
    signature: char *taos_string_builder_dump(taos_string_builder_t *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c: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_malloc
    - TAOS_TEST_PARA
    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_malloc
    - TAOS_TEST_PARA
    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: sprintf
      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: sprintf
      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: sprintf
      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
    - sprintf
    - 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
    - strlen
    - memset
    - memcpy
    - 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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:89,1
    - Dst: tjsonGetStringValue
      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:
    - tjsonGetArrayItem
    - tjsonGetArraySize
    - tjsonGetStringValue
    - strcmp
    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_add
    - taos_metric_sample_from_labels
    - TAOS_TEST_PARA
    - 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_add
    - taos_metric_sample_from_labels
    - TAOS_TEST_PARA
    - 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:
    - pthread_rwlock_rdlock
    - taos_malloc
    - TAOS_TEST_PARA
    - taos_metric_formatter_get_vgroup_id
    - pthread_rwlock_unlock
    - 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_malloc
    - taos_strdup
    linkageType: ''
    returnType: taos_metric_sample_t
    signature: taos_metric_sample_t *taos_metric_sample_new(taos_metric_type_t type,
      const char *l_value, double r_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_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
    - TAOS_TEST_PARA
    - atomic_fetch_add_64
    - atomic_fetch_add_double
    - ATOMIC_VAR_INIT
    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_exchange_64
    - atomic_compare_exchange_weak
    - atomic_exchange_double
    - ATOMIC_VAR_INIT
    - TAOS_LOG
    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_malloc
    - taos_metric_formatter_destroy
    - taos_string_builder_new
    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_TEST_PARA_VOID
    - taos_string_builder_destroy
    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: strncpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:165,1
    - Dst: strtol
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: taos_metric_formatter_get_vgroup_id
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: 1
    functionsReached:
    - strlen
    - strchr
    - strtol
    - strstr
    - strncpy
    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:203,1
    - Dst: taos_string_builder_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_formatter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 205
    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:208,1
    - Dst: taos_string_builder_dump
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:211,1
    - Dst: taos_string_builder_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:213,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_formatter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: taos_metric_formatter_dump
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: 0
    functionsReached:
    - taos_free
    - taos_string_builder_clear
    - taos_string_builder_dump
    - TAOS_TEST_PARA_NULL
    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_malloc
    - taos_collector_destroy
    - memset
    - taos_map_new
    - taos_strdup
    - taos_map_set_free_value_fn
    - taos_string_builder_new
    - TAOS_LOG
    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_string_builder_destroy
    - TAOS_TEST_PARA
    - taos_map_destroy
    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_collector_destroy
    - TAOS_LOG
    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_LOG
    - taos_map_set
    - TAOS_TEST_PARA
    - 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_LOG
    - taos_free
    - taos_map_set
    - taos_malloc
    - taos_map_new
    - taos_strdup
    - taos_map_set_free_value_fn
    - pthread_rwlock_init
    - taos_metric_formatter_new
    - taos_collector_new
    - taos_string_builder_new
    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_free
    - taos_map_destroy
    - taos_metric_formatter_destroy
    - pthread_rwlock_destroy
    - taos_string_builder_destroy
    linkageType: ''
    returnType: int
    signature: int taos_collector_registry_destroy(taos_collector_registry_t *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c: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_collector_add_metric
    - TAOS_TEST_PARA
    - 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:
    - taos_map_set
    - pthread_rwlock_unlock
    - pthread_rwlock_wrlock
    - TAOS_TEST_PARA
    - taos_map_get
    - TAOS_LOG
    linkageType: ''
    returnType: int
    signature: int taos_collector_registry_register_collector(taos_collector_registry_t
      *self, taos_collector_t *collector)
  - BBCount: 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:
    - regcomp
    - regfree
    - regexec
    - 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:
    - tjsonToString
    - taos_free
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddStringToObject
    - TAOS_LOG
    - tjsonAddItemToArray
    - tjsonCreateObject
    - taos_string_builder_dump
    - taos_metric_formatter_dump
    - taos_string_builder_destroy
    - taos_metric_formatter_load_metrics_new
    - tjsonCreateArray
    - taos_string_builder_new
    - taos_string_builder_str
    - tjsonGetArraySize
    - taos_metric_formatter_clear
    - taos_string_builder_add_str
    - tjsonAddItemToObject
    - taos_string_builder_clear
    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:
    - taosMemoryMalloc
    - tjsonAddDoubleToObject
    - tjsonAddStringToObject
    - taos_monitor_split_str
    - taos_monitor_strip
    - taos_metric_sample_exchange
    - taos_metric_sample_set
    - taos_monitor_is_match
    - tjsonAddItemToArray
    - tjsonCreateObject
    - strstr
    - taosMemoryFreeClear
    - memset
    - TAOS_TEST_PARA
    - tjsonCreateArray
    - tjsonGetArraySize
    - tjsonGetArrayItem
    - memcpy
    - tjsonAddItemToObject
    - tjsonGetObjectItem
    - taos_monitor_count_occurrences
    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: tjsonGetStringValue
      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:
    - taosMemoryMalloc
    - tjsonDelete
    - tjsonAddStringToObject
    - taos_monitor_split_str
    - strcmp
    - tjsonAddItemToArray
    - tjsonCreateObject
    - strlen
    - taosMemoryFreeClear
    - memset
    - TAOS_TEST_PARA
    - tjsonCreateArray
    - taos_map_get
    - tjsonGetArraySize
    - tjsonGetArrayItem
    - memcpy
    - tjsonGetStringValue
    - tjsonAddItemToObject
    - taos_metric_formatter_load_sample_new
    - tjsonGetObjectItem
    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: sprintf
      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: sprintf
      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_withoutlock
    - pthread_rwlock_unlock
    - taos_metric_formatter_load_metric_new
    - pthread_rwlock_wrlock
    - TAOS_TEST_PARA
    - sprintf
    - taos_collector_t*::collect_fn
    - taos_map_get
    - TAOS_LOG
    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_set
    - taos_metric_sample_from_labels
    - TAOS_TEST_PARA
    - 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: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:42,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:43,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:47,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:50,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:51,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:52,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:55,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:56,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:57,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:60,1
    - Dst: taos_map_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:64,1
    - Dst: taos_map_set_free_value_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:69,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:71,1
    - Dst: taos_metric_formatter_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:76,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:78,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:81,1
    - Dst: pthread_rwlock_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:82,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:84,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:85,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    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: 89
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: taos_metric_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: 2
    functionsReached:
    - TAOS_LOG
    - taos_free
    - strlen
    - taos_malloc
    - memset
    - strcpy
    - taos_map_new
    - taos_metric_destroy
    - taos_strdup
    - taos_map_set_free_value_fn
    - pthread_rwlock_init
    - taos_metric_formatter_new
    - 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:92,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:99,1
    - Dst: taos_metric_formatter_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:104,1
    - Dst: pthread_rwlock_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:107,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:109,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:113,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:117,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:120,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:123,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 130
    functionName: taos_metric_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: 3
    functionsReached:
    - taos_free
    - taos_map_destroy
    - TAOS_TEST_PARA
    - taos_metric_formatter_destroy
    - pthread_rwlock_destroy
    - TAOS_LOG
    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:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 138
    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:142,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 145
    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:148,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:150,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:152,1
    - Dst: taos_metric_formatter_load_l_value
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:162,1
    - Dst: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:164,1
    - Dst: taos_metric_formatter_dump
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:168,1
    - Dst: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:170,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:174,1
    - Dst: taos_metric_sample_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:176,1
    - Dst: taos_map_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:177,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:179,1
    - Dst: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:180,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:183,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:184,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - self
    - label_values
    argTypes:
    - taos_metric_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 187
    functionName: taos_metric_sample_from_labels
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: 3
    functionsReached:
    - taos_free
    - TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
    - taos_map_set
    - pthread_rwlock_unlock
    - pthread_rwlock_wrlock
    - TAOS_TEST_PARA_NULL
    - taos_metric_sample_new
    - taos_map_get
    - taos_metric_formatter_dump
    - taos_metric_formatter_load_l_value
    - TAOS_LOG
    linkageType: ''
    returnType: taos_metric_sample_t
    signature: taos_metric_sample_t *taos_metric_sample_from_labels(taos_metric_t
      *self, const char **label_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    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_malloc
    - taos_strdup
    linkageType: ''
    returnType: taos_map_node_t
    signature: taos_map_node_t *taos_map_node_new(const char *key, void *value, taos_map_node_free_value_fn
      free_value_fn)
  - BBCount: 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_map_destroy
    - taos_malloc
    - taos_linked_list_set_compare_fn
    - taos_linked_list_new
    - pthread_rwlock_init
    - taos_linked_list_set_free_fn
    - TAOS_LOG
    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_free
    - taos_linked_list_destroy
    - TAOS_TEST_PARA
    - pthread_rwlock_destroy
    - TAOS_LOG
    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_get_index_internal
    - taos_map_node_destroy
    - taos_linked_list_compare
    - taos_map_node_new
    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:
    - taos_map_get_internal
    - pthread_rwlock_wrlock
    - TAOS_TEST_PARA_NULL
    - pthread_rwlock_unlock
    - TAOS_LOG
    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:
    - taos_free
    - free_value_fn
    - taos_linked_list_append
    - taos_linked_list_compare
    - taos_map_node_new
    - taos_map_get_index_internal
    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_free
    - taos_linked_list_destroy
    - taos_malloc
    - TAOS_TEST_PARA
    - taos_linked_list_set_compare_fn
    - taos_linked_list_new
    - taos_linked_list_set_free_fn
    - taos_map_set_internal
    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_TEST_PARA
    - taos_map_ensure_space
    - pthread_rwlock_unlock
    - taos_map_set_internal
    - TAOS_LOG
    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_linked_list_remove
    - taos_map_node_destroy
    - taos_linked_list_compare
    - taos_map_node_new
    - taos_map_get_index_internal
    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:
    - taos_map_delete_internal
    - pthread_rwlock_wrlock
    - TAOS_TEST_PARA
    - pthread_rwlock_unlock
    - 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
    - taosArrayGet
    - static_cast<SColumnInfoData *>
    - SCL_RET
    - taosArrayGetSize
    - SCL_ERR_RET
    - sclError
    - blockDataAppendColInfo
    - taosArrayGetLast
    - createDataBlock
    - colInfoDataEnsureCapacity
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - nodesGetValueFromNode
    - IS_STR_DATA_BLOB
    - blobDataCopy
    - varDataTLen
    - assignVal
    - IS_VAR_DATA_TYPE
    - varDataCopy
    - SCL_RET
    - SCL_ERR_RET
    - nodesMakeNode
    - blobDataTLen
    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:
    - IS_STR_DATA_BLOB
    - blockDataFreeRes
    - blockDataAppendColInfo
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - colDataSetVal
    - SCL_RET
    - createColumnInfoData
    - SCL_ERR_RET
    - taosArrayGetLast
    - nodesMakeNode
    - blobDataTLen
    - taosArrayGetSize
    - createDataBlock
    - colInfoDataEnsureCapacity
    - taosMemoryFree
    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:
    - SCL_RET
    - SCL_ERR_RET
    - nodesMakeNode
    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:
    - SCL_RET
    - SCL_ERR_RET
    - nodesMakeNode
    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:
    - SCL_RET
    - SCL_ERR_RET
    - nodesMakeNode
    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
    - nodesListAppend
    - nodesMakeList
    - SCL_ERR_RET
    - nodesMakeNode
    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**
    - int16_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:
    - SCL_RET
    - SCL_ERR_RET
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeTargetNode(SNode **pNode, int16_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
    - taosArrayGet
    - static_cast<SColumnInfoData *>
    - SCL_RET
    - taosArrayGetSize
    - SCL_ERR_RET
    - sclError
    - blockDataAppendColInfo
    - taosArrayGetLast
    - createDataBlock
    - colInfoDataEnsureCapacity
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - nodesGetValueFromNode
    - IS_STR_DATA_BLOB
    - blobDataCopy
    - varDataTLen
    - assignVal
    - IS_VAR_DATA_TYPE
    - varDataCopy
    - SCL_RET
    - SCL_ERR_RET
    - nodesMakeNode
    - blobDataTLen
    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:
    - IS_STR_DATA_BLOB
    - blockDataFreeRes
    - blockDataAppendColInfo
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - colDataSetVal
    - SCL_RET
    - createColumnInfoData
    - SCL_ERR_RET
    - taosArrayGetLast
    - nodesMakeNode
    - blobDataTLen
    - taosArrayGetSize
    - createDataBlock
    - colInfoDataEnsureCapacity
    - taosMemoryFree
    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:
    - SCL_RET
    - SCL_ERR_RET
    - nodesMakeNode
    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:
    - SCL_RET
    - SCL_ERR_RET
    - nodesMakeNode
    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:
    - SCL_RET
    - SCL_ERR_RET
    - nodesMakeNode
    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
    - nodesListAppend
    - nodesMakeList
    - SCL_ERR_RET
    - nodesMakeNode
    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**
    - int16_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:
    - SCL_RET
    - SCL_ERR_RET
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeTargetNode(SNode **pNode, int16_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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - nodesDestroyNode
    - ASSERT_FLOAT_EQ
    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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - nodesDestroyNode
    - ASSERT_FLOAT_EQ
    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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - nodesDestroyNode
    - ASSERT_FLOAT_EQ
    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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - nodesListAppend
    - scltMakeListNode
    - nodesMakeList
    - ASSERT_NE
    - scltMakeValueNode
    - ASSERT_EQ
    - scltMakeOpNode
    - nodesDestroyNode
    - scltInitLogFile
    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
    - nodeType
    - ASSERT_TRUE
    - nodesListAppend
    - scltMakeListNode
    - nodesMakeList
    - ASSERT_NE
    - scltMakeValueNode
    - ASSERT_EQ
    - scltMakeOpNode
    - nodesDestroyNode
    - scltInitLogFile
    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
    - nodeType
    - ASSERT_TRUE
    - nodesListAppend
    - scltMakeListNode
    - nodesMakeList
    - ASSERT_NE
    - scltMakeValueNode
    - ASSERT_EQ
    - scltMakeOpNode
    - nodesDestroyNode
    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
    - nodeType
    - ASSERT_TRUE
    - nodesListAppend
    - scltMakeListNode
    - nodesMakeList
    - ASSERT_NE
    - scltMakeValueNode
    - ASSERT_EQ
    - scltMakeOpNode
    - nodesDestroyNode
    - scltInitLogFile
    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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - strlen
    - nodeType
    - sprintf
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - 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
    - nodeType
    - nodesDestroyNode
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - scltMakeLogicNode
    - scltInitLogFile
    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
    - scltMakeColumnNode
    - nodeType
    - nodesDestroyNode
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - scltMakeLogicNode
    - scltInitLogFile
    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
    - scltMakeColumnNode
    - nodeType
    - nodesDestroyNode
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - scltMakeLogicNode
    - scltInitLogFile
    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
    - scltMakeColumnNode
    - nodeType
    - nodesDestroyNode
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - scltMakeLogicNode
    - scltInitLogFile
    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
    - scltMakeColumnNode
    - nodeType
    - nodesDestroyNode
    - ASSERT_TRUE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - scltMakeLogicNode
    - scltInitLogFile
    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:
    - strlen
    - varDataLen
    - scltMakeColumnNode
    - memcpy
    - SCL_RET
    - SCL_ERR_RET
    - scltMakeValueNode
    - scltMakeOpNode
    - varDataVal
    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:
    - scltMakeTargetNode
    - scltAppendReservedSlot
    - SCL_RET
    - SCL_ERR_RET
    - scltMakeValueNode
    - scltMakeOpNode2
    - createColumnInfo
    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:
    - makeJsonArrow
    - taosArrayPush
    - taosArrayInit
    - scalarCalculate
    - fabs
    - taosArrayDestroyEx
    - makeOperator
    - colDataIsNull_f
    - colDataGetData
    - printf
    - SCL_RET
    - SCL_ERR_RET
    - taosArrayGetLast
    - operatorTypeStr
    - nodesDestroyNode
    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:
    - strlen
    - taosArrayDestroy
    - taosArrayInit
    - memcpy
    - printf
    - parseJsontoTagData
    - ASSERT_NE
    - ASSERT_EQ
    - makeCalculate
    - scltInitLogFile
    - taosMemoryFree
    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:
    - strlen
    - varDataVal
    - 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:1837,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1838,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1842,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1843,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1844,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1845,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1848,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1853,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1854,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1858,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1859,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1863,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1864,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1865,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1866,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1869,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1874,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1875,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1879,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1880,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1884,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1885,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1886,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1887,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1890,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1895,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1896,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1900,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1901,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1905,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1906,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1907,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1908,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1911,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1916,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1917,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1921,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1922,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1926,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1927,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1928,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1929,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1932,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1937,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1938,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1942,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1943,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1947,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1948,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1949,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1950,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1953,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1958,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1959,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1963,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1964,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1968,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1970,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1972,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1973,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1974,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1977,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1982,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1983,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1987,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1988,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1992,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1993,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1994,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1995,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1998,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1999,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 160
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1762
    functionDepth: 4
    functionLinenumber: 1762
    functionLinenumberEnd: 2000
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - taosArrayDestroy
    - taosArrayInit
    - memcpy
    - printf
    - parseJsontoTagData
    - ASSERT_NE
    - prepareNchar
    - ASSERT_EQ
    - makeCalculate
    - scltInitLogFile
    - taosMemoryFree
    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:2003,1
    - Dst: scltMakeValueNode
      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: scltMakeColumnNode
      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: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2016,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2017,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2019,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2020,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2021,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2021,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2022,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2026,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2027,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2029,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2030,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: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2034,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2035,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2036,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2038,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2038,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2041,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2002
    functionDepth: 2
    functionLinenumber: 2002
    functionLinenumberEnd: 2043
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - ASSERT_DOUBLE_EQ
    - scltAppendReservedSlot
    - colDataGetData
    - ASSERT_NE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - taosArrayGetLast
    - nodesDestroyNode
    - scltInitLogFile
    - createColumnInfo
    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:2052,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2058,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2059,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2060,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2062,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2063,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2064,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2064,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2066,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2070,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2071,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2073,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2074,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: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2078,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2079,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2080,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2082,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2082,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2084,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2045
    functionDepth: 2
    functionLinenumber: 2045
    functionLinenumberEnd: 2086
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - ASSERT_DOUBLE_EQ
    - scltAppendReservedSlot
    - colDataGetData
    - ASSERT_NE
    - scltMakeOpNode
    - taosArrayGetLast
    - ASSERT_EQ
    - nodesDestroyNode
    - createColumnInfo
    - 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:2095,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: scltMakeColumnNode
      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: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2105,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2106,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2108,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2109,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2110,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2110,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2111,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2115,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2116,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2118,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2119,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: taosArrayGetLast
      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:2124,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2125,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2127,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2127,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2129,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2088
    functionDepth: 2
    functionLinenumber: 2088
    functionLinenumberEnd: 2131
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - colDataGetData
    - scltAppendReservedSlot
    - ASSERT_NE
    - scltMakeOpNode
    - taosArrayGetLast
    - ASSERT_EQ
    - nodesDestroyNode
    - createColumnInfo
    - 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:2141,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2142,1
    - Dst: scltMakeColumnNode
      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: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2145,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2146,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2148,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2149,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2150,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2150,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2151,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2155,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2156,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2158,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2159,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: taosArrayGetLast
      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:2164,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2167,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2167,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2169,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2133
    functionDepth: 2
    functionLinenumber: 2133
    functionLinenumberEnd: 2171
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - colDataGetData
    - scltAppendReservedSlot
    - ASSERT_NE
    - scltMakeOpNode
    - taosArrayGetLast
    - ASSERT_EQ
    - nodesDestroyNode
    - createColumnInfo
    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:2181,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2182,1
    - Dst: scltMakeValueNode
      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: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2185,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2186,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2188,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2189,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2190,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2190,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2191,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2195,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2196,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2198,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2199,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: taosArrayGetLast
      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:2204,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2205,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2207,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2207,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2209,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2173
    functionDepth: 2
    functionLinenumber: 2173
    functionLinenumberEnd: 2211
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - colDataGetData
    - scltAppendReservedSlot
    - ASSERT_NE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - taosArrayGetLast
    - nodesDestroyNode
    - createColumnInfo
    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:2221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2222,1
    - Dst: scltMakeValueNode
      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: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2225,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2226,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2228,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2229,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2230,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2230,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2231,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2235,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2236,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2238,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2239,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: taosArrayGetLast
      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:2244,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2245,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2247,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2247,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2249,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2213
    functionDepth: 2
    functionLinenumber: 2213
    functionLinenumberEnd: 2251
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - colDataGetData
    - scltAppendReservedSlot
    - ASSERT_NE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - taosArrayGetLast
    - nodesDestroyNode
    - createColumnInfo
    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:2261,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2262,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2264,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2265,1
    - Dst: scltMakeValueNode
      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: nodesListAppend
      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: scltMakeValueNode
      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: nodesListAppend
      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: scltMakeValueNode
      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: nodesListAppend
      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: scltMakeListNode
      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: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2280,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2281,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2283,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2284,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2285,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2285,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2286,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2290,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2291,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2293,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2294,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: taosArrayGetLast
      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:2299,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2300,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2302,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2302,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2304,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2253
    functionDepth: 2
    functionLinenumber: 2253
    functionLinenumberEnd: 2306
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - colDataGetData
    - scltAppendReservedSlot
    - nodesListAppend
    - scltMakeListNode
    - nodesMakeList
    - ASSERT_NE
    - scltMakeValueNode
    - ASSERT_EQ
    - scltMakeOpNode
    - taosArrayGetLast
    - nodesDestroyNode
    - createColumnInfo
    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:2318,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2324,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2330,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2335,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2336,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2338,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2339,1
    - Dst: scltMakeValueNode
      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: nodesListAppend
      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: scltMakeValueNode
      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: nodesListAppend
      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: scltMakeValueNode
      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: nodesListAppend
      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: scltMakeListNode
      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: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2354,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2355,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2357,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2358,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2359,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2359,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2360,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2364,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2365,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2367,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2368,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: taosArrayGetLast
      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:2373,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2374,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2376,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2376,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2378,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2308
    functionDepth: 2
    functionLinenumber: 2308
    functionLinenumberEnd: 2380
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - nodesListAppend
    - scltMakeListNode
    - taosArrayGetLast
    - ASSERT_EQ
    - varDataSetLen
    - scltMakeColumnNode
    - scltMakeTargetNode
    - colDataGetData
    - scltAppendReservedSlot
    - scltMakeValueNode
    - scalarCalculate
    - taosArrayDestroyEx
    - nodesMakeList
    - ASSERT_NE
    - scltMakeOpNode
    - nodesDestroyNode
    - createColumnInfo
    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:2393,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2398,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2399,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2401,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2402,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2402,1
    - Dst: scltMakeValueNode
      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: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2405,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2406,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2408,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2409,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2410,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2410,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2411,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2415,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2416,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2418,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2419,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: taosArrayGetLast
      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:2424,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2425,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2427,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2427,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2430,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2382
    functionDepth: 2
    functionLinenumber: 2382
    functionLinenumberEnd: 2432
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - sprintf
    - taosArrayDestroyEx
    - colDataGetData
    - scltAppendReservedSlot
    - ASSERT_NE
    - scltMakeOpNode
    - scltMakeValueNode
    - ASSERT_EQ
    - taosArrayGetLast
    - nodesDestroyNode
    - createColumnInfo
    - 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:2444,1
    - Dst: scltMakeColumnNode
      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: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2451,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2452,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2454,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2455,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2456,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2456,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2457,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2459,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2460,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2462,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2463,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: taosArrayGetLast
      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:2468,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2469,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2471,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2471,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2473,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2434
    functionDepth: 2
    functionLinenumber: 2434
    functionLinenumberEnd: 2475
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - colDataGetData
    - scltAppendReservedSlot
    - ASSERT_NE
    - scltMakeOpNode
    - taosArrayGetLast
    - ASSERT_EQ
    - nodesDestroyNode
    - createColumnInfo
    - 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:2487,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2492,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2493,1
    - Dst: taosArrayGetLast
      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: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2498,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2499,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2501,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2502,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2504,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2505,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2506,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2506,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2507,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      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: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2513,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2514,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: taosArrayGetLast
      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:2519,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2520,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2522,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2522,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2524,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2477
    functionDepth: 2
    functionLinenumber: 2477
    functionLinenumberEnd: 2526
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - colDataGetData
    - colDataSetVal
    - scltAppendReservedSlot
    - ASSERT_NE
    - taosArrayGetLast
    - scltMakeOpNode
    - ASSERT_EQ
    - nodesDestroyNode
    - createColumnInfo
    - 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:2538,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2543,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2544,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2546,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2547,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2548,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2550,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2551,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2553,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2554,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2555,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2555,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2556,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2560,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2561,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2563,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2564,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: taosArrayGetLast
      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:2569,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2570,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2572,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2572,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2574,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2528
    functionDepth: 2
    functionLinenumber: 2528
    functionLinenumberEnd: 2576
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - colDataGetData
    - colDataSetVal
    - scltAppendReservedSlot
    - ASSERT_NE
    - taosArrayGetLast
    - scltMakeOpNode
    - ASSERT_EQ
    - nodesDestroyNode
    - createColumnInfo
    - 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:2589,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2590,1
    - Dst: scltMakeColumnNode
      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: scltMakeOpNode
      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: scltMakeColumnNode
      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: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2599,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2600,1
    - Dst: scltMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2603,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2604,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2606,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2607,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2608,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2608,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2609,1
    - Dst: scltAppendReservedSlot
      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: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2613,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2614,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2616,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2617,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: taosArrayGetLast
      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:2622,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2623,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2625,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2625,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2627,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2578
    functionDepth: 2
    functionLinenumber: 2578
    functionLinenumberEnd: 2629
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltMakeColumnNode
    - taosArrayInit
    - scalarCalculate
    - scltMakeTargetNode
    - taosArrayDestroyEx
    - colDataGetData
    - scltAppendReservedSlot
    - ASSERT_NE
    - scltMakeOpNode
    - taosArrayGetLast
    - ASSERT_EQ
    - scltMakeLogicNode
    - nodesDestroyNode
    - createColumnInfo
    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:2632,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2634,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2664,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2666,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2670,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2671,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2671,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2675,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2675,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2682,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: 2683
      start: 2631
    functionDepth: 1
    functionLinenumber: 2631
    functionLinenumberEnd: 2683
    functionName: scltMakeDataBlock
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataSetVal
    - SCL_RET
    - SCL_ERR_RET
    - taosMemoryCalloc
    - colInfoDataEnsureCapacity
    - createColumnInfo
    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:2686,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2687,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pInput
    argTypes:
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2685
    functionDepth: 1
    functionLinenumber: 2685
    functionLinenumberEnd: 2689
    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: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2700,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2701,1
    - Dst: scltMakeDataBlock
      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: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2705,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2706,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2708,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2708,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2710,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2711,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2714,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2715,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2716,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2717,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2719,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2720,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2722,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2722,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2724,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2725,1
    - 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: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2824,1
    - Dst: absFunction
      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:2827,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2829,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2829,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2830,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2830,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2832,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2833,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: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2838,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2839,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2840,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2842,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2843,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2845,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2845,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2846,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2846,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2848,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2849,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2854,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2855,1
    - Dst: scltMakeDataBlock
      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: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2859,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2860,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2862,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2862,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2864,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2865,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: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2870,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2871,1
    - Dst: absFunction
      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:2874,1
    - Dst: ASSERT_DOUBLE_EQ
      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
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 149
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2691
    functionDepth: 2
    functionLinenumber: 2691
    functionLinenumberEnd: 2880
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - absFunction
    - colDataGetData
    - ASSERT_DOUBLE_EQ
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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:2891,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2892,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2893,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2894,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2897,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2898,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2901,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2902,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2904,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2904,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2905,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2905,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2907,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2908,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2911,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2912,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2913,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2914,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2917,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2918,1
    - Dst: absFunction
      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: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2924,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2924,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2925,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2925,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2927,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2928,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2933,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2934,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2935,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2936,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2939,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2940,1
    - Dst: absFunction
      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: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2946,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2946,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2947,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2947,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2949,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2950,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2953,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2954,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2955,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2956,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2959,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2960,1
    - Dst: absFunction
      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: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2966,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2966,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2967,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2967,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2969,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2970,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2975,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2976,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2979,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2980,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2981,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2984,1
    - Dst: ASSERT_EQ
      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:2987,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2987,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2988,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2988,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2990,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2991,1
    - Dst: scltMakeDataBlock
      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:2995,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2996,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2997,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3000,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3001,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3002,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3005,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3006,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3008,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3008,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3009,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3009,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3011,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3012,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3017,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3018,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3019,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3020,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3023,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3024,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3025,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3028,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3029,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3031,1
    - Dst: colDataGetData
      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: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3032,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3034,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3035,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3038,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3039,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3040,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3041,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3044,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3045,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3046,1
    - Dst: absFunction
      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: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3052,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3052,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3053,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3053,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3055,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3056,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3061,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3062,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3063,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3064,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3067,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3068,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3069,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3072,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3073,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3075,1
    - Dst: colDataGetData
      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: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3076,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3078,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3079,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3082,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3083,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3084,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3085,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3088,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3089,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3090,1
    - Dst: absFunction
      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: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3096,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3096,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3097,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3097,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3100,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3101,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 175
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 2882
    functionDepth: 2
    functionLinenumber: 2882
    functionLinenumberEnd: 3102
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - absFunction
    - colDataGetData
    - colDataSetVal
    - ASSERT_DOUBLE_EQ
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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:3115,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3116,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3117,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3118,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3119,1
    - Dst: sinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3121,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3122,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3124,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3124,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3125,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3125,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3127,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3128,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3133,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3134,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3135,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3136,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3137,1
    - Dst: sinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3139,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3140,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3142,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3142,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3143,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3143,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3146,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3104
    functionDepth: 2
    functionLinenumber: 3104
    functionLinenumberEnd: 3148
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - colDataGetData
    - PRINTF
    - sinFunction
    - scltMakeDataBlock
    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:3161,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3162,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: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3166,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3167,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3168,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3168,1
    - Dst: sinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3171,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3172,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3174,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3174,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3175,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3175,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3177,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3178,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3183,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3184,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3185,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3186,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3188,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3189,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3190,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3190,1
    - Dst: sinFunction
      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: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3196,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3196,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3197,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3197,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3200,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3150
    functionDepth: 2
    functionLinenumber: 3150
    functionLinenumberEnd: 3202
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - colDataGetData
    - colDataSetVal
    - ASSERT_DOUBLE_EQ
    - PRINTF
    - ASSERT_EQ
    - sinFunction
    - scltMakeDataBlock
    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:3215,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3216,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3217,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3218,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3219,1
    - Dst: cosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3222,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3224,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3224,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3225,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3225,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3227,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3228,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3233,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3234,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3235,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3236,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3237,1
    - Dst: cosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3239,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3240,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3242,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3242,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3243,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3243,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3246,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3204
    functionDepth: 2
    functionLinenumber: 3204
    functionLinenumberEnd: 3248
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - ASSERT_DOUBLE_EQ
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - cosFunction
    - scltMakeDataBlock
    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:3261,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3262,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: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3266,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3267,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3268,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3268,1
    - Dst: cosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3271,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3272,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3274,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3274,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3275,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3275,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3277,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3278,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3283,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3284,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3285,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3286,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3288,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3289,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3290,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3290,1
    - Dst: cosFunction
      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: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3296,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3296,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3297,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3297,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3300,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3250
    functionDepth: 2
    functionLinenumber: 3250
    functionLinenumberEnd: 3302
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - colDataGetData
    - colDataSetVal
    - ASSERT_DOUBLE_EQ
    - PRINTF
    - ASSERT_EQ
    - cosFunction
    - scltMakeDataBlock
    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:3315,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3316,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3317,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3318,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3319,1
    - Dst: tanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3321,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3322,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3324,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3324,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3325,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3325,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3327,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3328,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3333,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3334,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3335,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3336,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3337,1
    - Dst: tanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3339,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3340,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3342,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3342,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3343,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3343,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3346,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3304
    functionDepth: 2
    functionLinenumber: 3304
    functionLinenumberEnd: 3348
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - tanFunction
    - ASSERT_DOUBLE_EQ
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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:3361,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3362,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: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3366,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3367,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3368,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3368,1
    - Dst: tanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3371,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3372,1
    - Dst: ASSERT_NEAR
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3374,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3374,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3375,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3375,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3377,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3378,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3383,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3384,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3385,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3386,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3388,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3389,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3390,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3390,1
    - Dst: tanFunction
      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: ASSERT_NEAR
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3396,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3396,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3397,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3397,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3400,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3402
      start: 3350
    functionDepth: 2
    functionLinenumber: 3350
    functionLinenumberEnd: 3402
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - tanFunction
    - colDataGetData
    - colDataSetVal
    - PRINTF
    - ASSERT_EQ
    - ASSERT_NEAR
    - scltMakeDataBlock
    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:3415,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3416,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3417,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3418,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3419,1
    - Dst: asinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3421,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3422,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3424,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3424,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3425,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3425,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3427,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3428,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3433,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3434,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3435,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3436,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3437,1
    - Dst: asinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3439,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3440,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3442,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3442,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3443,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3443,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3446,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3448
      start: 3404
    functionDepth: 2
    functionLinenumber: 3404
    functionLinenumberEnd: 3448
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - asinFunction
    - scltDestroyDataBlock
    - ASSERT_DOUBLE_EQ
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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:3461,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3462,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: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3466,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3467,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3468,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3468,1
    - Dst: asinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3471,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3472,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3474,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3474,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3475,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3475,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3477,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3478,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3483,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3484,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3485,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3486,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3488,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3489,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3489,1
    - Dst: asinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3492,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3493,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3495,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3495,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3496,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3496,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3499,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3450
    functionDepth: 2
    functionLinenumber: 3450
    functionLinenumberEnd: 3501
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - asinFunction
    - scltDestroyDataBlock
    - colDataGetData
    - colDataSetVal
    - ASSERT_DOUBLE_EQ
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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:3514,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3515,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3516,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3517,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3518,1
    - Dst: acosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3520,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3521,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3523,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3523,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3524,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3524,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3526,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3527,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3532,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3533,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3534,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3535,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3536,1
    - Dst: acosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3539,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3541,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3541,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3542,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3542,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3545,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3503
    functionDepth: 2
    functionLinenumber: 3503
    functionLinenumberEnd: 3547
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - colDataGetData
    - ASSERT_DOUBLE_EQ
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - 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:3560,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3561,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: colDataGetData
      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: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3566,1
    - Dst: acosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3569,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3570,1
    - Dst: ASSERT_DOUBLE_EQ
      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: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3573,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3573,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
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3581,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3582,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3583,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3584,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3586,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3587,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3587,1
    - Dst: acosFunction
      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: ASSERT_DOUBLE_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:3593,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3594,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3594,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3597,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3599
      start: 3549
    functionDepth: 2
    functionLinenumber: 3549
    functionLinenumberEnd: 3599
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - colDataGetData
    - ASSERT_DOUBLE_EQ
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - 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:3612,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3613,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3614,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3615,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3616,1
    - Dst: atanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3618,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3619,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3621,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3621,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3622,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3622,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3624,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3625,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3630,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3631,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3633,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3634,1
    - Dst: atanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3636,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3637,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3639,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3639,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3640,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3640,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3643,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3601
    functionDepth: 2
    functionLinenumber: 3601
    functionLinenumberEnd: 3645
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - atanFunction
    - ASSERT_DOUBLE_EQ
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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:3658,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3659,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: colDataGetData
      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: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3664,1
    - Dst: atanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3667,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3668,1
    - Dst: ASSERT_DOUBLE_EQ
      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: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3671,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3671,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
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3679,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3680,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3681,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3682,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3684,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3685,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3685,1
    - Dst: atanFunction
      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: ASSERT_DOUBLE_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:3691,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3692,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3692,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3695,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3697
      start: 3647
    functionDepth: 2
    functionLinenumber: 3647
    functionLinenumberEnd: 3697
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - atanFunction
    - colDataGetData
    - ASSERT_DOUBLE_EQ
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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: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: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3713,1
    - Dst: ceilFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3715,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3716,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3718,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3718,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3719,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3719,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3721,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3722,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3727,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3728,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3729,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3730,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3731,1
    - Dst: ceilFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3733,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3734,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3736,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3736,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3737,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3737,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3740,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3699
    functionDepth: 2
    functionLinenumber: 3699
    functionLinenumberEnd: 3742
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - ceilFunction
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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:3754,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3755,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3756,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3757,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3759,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3760,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3760,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:3769,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3770,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3775,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3776,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3777,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3778,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3780,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3781,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3781,1
    - Dst: ceilFunction
      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: 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:3787,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3788,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3788,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3791,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3793
      start: 3744
    functionDepth: 2
    functionLinenumber: 3744
    functionLinenumberEnd: 3793
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - ceilFunction
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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: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: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3809,1
    - Dst: floorFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3811,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3812,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3814,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3814,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3815,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3815,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3817,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3818,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3823,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3824,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3825,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3826,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3827,1
    - Dst: floorFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3829,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3830,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3832,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3832,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3833,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3833,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3836,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3795
    functionDepth: 2
    functionLinenumber: 3795
    functionLinenumberEnd: 3838
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - floorFunction
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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:3850,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3851,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3852,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3853,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3855,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3856,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3856,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:3865,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3866,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3871,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3872,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3873,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3874,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3876,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3877,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3877,1
    - Dst: floorFunction
      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: 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:3883,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3884,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3884,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3887,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3889
      start: 3840
    functionDepth: 2
    functionLinenumber: 3840
    functionLinenumberEnd: 3889
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - floorFunction
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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: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: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3905,1
    - Dst: roundFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3907,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3908,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3910,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3910,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3911,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3911,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3913,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3914,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3919,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3920,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3921,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3922,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3923,1
    - Dst: roundFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3925,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3926,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3928,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3928,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3929,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3929,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3932,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3934
      start: 3891
    functionDepth: 2
    functionLinenumber: 3891
    functionLinenumberEnd: 3934
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - roundFunction
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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:3946,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3947,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3948,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3949,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3951,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3952,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3952,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:3961,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3962,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3967,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3968,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3969,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3970,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3972,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3973,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3973,1
    - Dst: roundFunction
      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: 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:3979,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3980,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3980,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3983,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3985
      start: 3936
    functionDepth: 2
    functionLinenumber: 3936
    functionLinenumberEnd: 3985
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - roundFunction
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - scltMakeDataBlock
    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:3998,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3999,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4000,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4001,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4002,1
    - Dst: sqrtFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4004,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4005,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4007,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4007,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4008,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4008,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4010,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4011,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4016,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4017,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4018,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4019,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4020,1
    - Dst: sqrtFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4022,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4023,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4025,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4025,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4026,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4026,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4029,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4031
      start: 3987
    functionDepth: 2
    functionLinenumber: 3987
    functionLinenumberEnd: 4031
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - ASSERT_DOUBLE_EQ
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - sqrtFunction
    - scltMakeDataBlock
    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:4044,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4045,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: colDataGetData
      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: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4050,1
    - Dst: sqrtFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4053,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4054,1
    - Dst: ASSERT_DOUBLE_EQ
      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: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4057,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4057,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
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4065,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4066,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4067,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4068,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4070,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4071,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4071,1
    - Dst: sqrtFunction
      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: ASSERT_DOUBLE_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:4077,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4078,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4078,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4081,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4083
      start: 4033
    functionDepth: 2
    functionLinenumber: 4033
    functionLinenumberEnd: 4083
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - colDataGetData
    - ASSERT_DOUBLE_EQ
    - PRINTF
    - ASSERT_EQ
    - sqrtFunction
    - scltMakeDataBlock
    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:4093,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4099,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4100,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4103,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4104,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4105,1
    - Dst: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4107,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4108,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4110,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4110,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4111,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4111,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4113,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4114,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4115,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4121,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4122,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4125,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4126,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4127,1
    - Dst: logFunction
      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: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4132,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4132,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4133,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4133,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4135,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4136,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4137,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4142,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4143,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4145,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4146,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4148,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4149,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4150,1
    - Dst: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4152,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4153,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4155,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4155,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4156,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4156,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4159,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4160,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4163
      start: 4085
    functionDepth: 2
    functionLinenumber: 4085
    functionLinenumberEnd: 4163
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - ASSERT_DOUBLE_EQ
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - taosMemoryCalloc
    - logFunction
    - taosMemoryFree
    - scltMakeDataBlock
    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:4173,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4179,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4180,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4183,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4184,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4186,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4189,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4190,1
    - Dst: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4191,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4192,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4194,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4194,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4195,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4195,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4197,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4198,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4199,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4205,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4206,1
    - Dst: colDataSetVal
      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: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4212,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4212,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4213,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4213,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4215,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4216,1
    - Dst: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4217,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4218,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4220,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4220,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4221,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4221,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4223,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4224,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4225,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4230,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4231,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4234,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4235,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4237,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4238,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4241,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4242,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4244,1
    - Dst: scltMakeDataBlock
      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: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4249,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4250,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4252,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4252,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4253,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4253,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4256,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4257,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4258,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4260
      start: 4165
    functionDepth: 2
    functionLinenumber: 4165
    functionLinenumberEnd: 4260
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - ASSERT_DOUBLE_EQ
    - colDataSetVal
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - taosMemoryCalloc
    - logFunction
    - taosMemoryFree
    - scltMakeDataBlock
    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:4270,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4276,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4277,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4280,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4281,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4282,1
    - Dst: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4284,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4285,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4287,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4287,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4288,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4288,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4290,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4291,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4292,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4298,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4299,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4302,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4303,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4304,1
    - Dst: powFunction
      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: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4309,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4309,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4310,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4310,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4312,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4313,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4314,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4319,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4320,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4322,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4323,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4325,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4326,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4327,1
    - Dst: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4329,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4330,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4332,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4332,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4333,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4333,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4336,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4337,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4338,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4340
      start: 4262
    functionDepth: 2
    functionLinenumber: 4262
    functionLinenumberEnd: 4340
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - ASSERT_DOUBLE_EQ
    - powFunction
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - taosMemoryCalloc
    - taosMemoryFree
    - scltMakeDataBlock
    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:4350,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4356,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4357,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4360,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4361,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4363,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4366,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4367,1
    - Dst: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4368,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4369,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4371,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4371,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4372,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4372,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4375,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4376,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4377,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4383,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4384,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4387,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4388,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4390,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4393,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4394,1
    - Dst: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4395,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4396,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4398,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4398,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4399,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4399,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4401,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4402,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4403,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4408,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4409,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4412,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4413,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4415,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4416,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4419,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4420,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4422,1
    - Dst: scltMakeDataBlock
      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: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4427,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4428,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4430,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4430,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4431,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4431,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4434,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4435,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4436,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4437,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4438
      start: 4342
    functionDepth: 2
    functionLinenumber: 4342
    functionLinenumberEnd: 4438
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltDestroyDataBlock
    - ASSERT_DOUBLE_EQ
    - colDataSetVal
    - powFunction
    - colDataGetData
    - PRINTF
    - ASSERT_EQ
    - taosMemoryCalloc
    - taosMemoryFree
    - scltMakeDataBlock
    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:4441,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4441,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4442,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4444
      start: 4440
    functionDepth: 1
    functionLinenumber: 4440
    functionLinenumberEnd: 4444
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - RUN_ALL_TESTS
    - testing::InitGoogleTest
    - taosGetTimestampSec
    - 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:
    - taosMemoryMalloc
    - nodesGetValueFromNode
    - IS_STR_DATA_BLOB
    - FLT_RET
    - blobDataLen
    - varDataLen
    - blobDataCopy
    - varDataTLen
    - assignVal
    - FLT_ERR_RET
    - IS_VAR_DATA_TYPE
    - varDataCopy
    - nodesMakeNode
    - blobDataTLen
    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:
    - blockDataEnsureCapacity
    - FLT_RET
    - IS_STR_DATA_BLOB
    - blockDataAppendColInfo
    - varDataTLen
    - fltError
    - FLT_ERR_RET
    - IS_VAR_DATA_TYPE
    - snprintf
    - colDataSetVal
    - createColumnInfoData
    - taosArrayGetLast
    - taosArrayGetSize
    - nodesMakeNode
    - blobDataTLen
    - createDataBlock
    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:
    - FLT_RET
    - FLT_ERR_RET
    - nodesMakeNode
    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
    - FLT_ERR_RET
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    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:
    - FLT_RET
    - FLT_ERR_RET
    - nodesMakeNode
    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:
    - FLT_RET
    - FLT_ERR_RET
    - nodesMakeNode
    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:
    - taosMemoryMalloc
    - nodesGetValueFromNode
    - IS_STR_DATA_BLOB
    - FLT_RET
    - blobDataLen
    - varDataLen
    - blobDataCopy
    - varDataTLen
    - assignVal
    - FLT_ERR_RET
    - IS_VAR_DATA_TYPE
    - varDataCopy
    - nodesMakeNode
    - blobDataTLen
    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:
    - blockDataEnsureCapacity
    - FLT_RET
    - IS_STR_DATA_BLOB
    - blockDataAppendColInfo
    - varDataTLen
    - fltError
    - FLT_ERR_RET
    - IS_VAR_DATA_TYPE
    - snprintf
    - colDataSetVal
    - createColumnInfoData
    - taosArrayGetLast
    - taosArrayGetSize
    - nodesMakeNode
    - blobDataTLen
    - createDataBlock
    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:
    - FLT_RET
    - FLT_ERR_RET
    - nodesMakeNode
    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
    - FLT_ERR_RET
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    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:
    - FLT_RET
    - FLT_ERR_RET
    - nodesMakeNode
    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:
    - FLT_RET
    - FLT_ERR_RET
    - nodesMakeNode
    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:
    - flttMakeValueNode
    - initScalarParam
    - flttMakeOpNode
    - filterGetTimeRange
    - flttMakeColumnNode
    - 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:
    - flttMakeValueNode
    - initScalarParam
    - flttMakeOpNode
    - filterGetTimeRange
    - flttMakeColumnNode
    - ASSERT_EQ
    - nodesDestroyNode
    - flttMakeLogicNode
    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:
    - flttMakeValueNode
    - initScalarParam
    - flttMakeOpNode
    - filterGetTimeRange
    - flttMakeColumnNode
    - ASSERT_EQ
    - nodesDestroyNode
    - flttMakeLogicNode
    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:
    - flttMakeValueNode
    - initScalarParam
    - flttMakeOpNode
    - filterGetTimeRange
    - flttMakeColumnNode
    - ASSERT_EQ
    - nodesDestroyNode
    - flttMakeLogicNode
    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:
    - flttMakeValueNode
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - filterSetDataFromSlotId
    - filterFreeInfo
    - flttMakeColumnNode
    - taosArrayGetSize
    - filterRangeExecute
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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:
    - flttMakeValueNode
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - filterSetDataFromSlotId
    - filterFreeInfo
    - flttMakeColumnNode
    - taosArrayGetSize
    - filterRangeExecute
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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:
    - flttMakeListNode
    - flttMakeValueNode
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - filterSetDataFromSlotId
    - filterFreeInfo
    - nodesListAppend
    - flttMakeColumnNode
    - nodesMakeList
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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:
    - flttMakeListNode
    - flttMakeValueNode
    - initScalarParam
    - filterInitFromNode
    - taosMemoryFreeClear
    - flttMakeOpNode
    - filterSetDataFromSlotId
    - filterFreeInfo
    - nodesListAppend
    - flttMakeColumnNode
    - nodesMakeList
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - varDataSetLen
    - blockDataDestroy
    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:
    - strlen
    - initScalarParam
    - flttMakeValueNode
    - filterInitFromNode
    - taosMemoryFreeClear
    - flttMakeOpNode
    - filterSetDataFromSlotId
    - filterFreeInfo
    - snprintf
    - flttMakeColumnNode
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - varDataSetLen
    - blockDataDestroy
    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
    - filterInitFromNode
    - taosMemoryFreeClear
    - flttMakeOpNode
    - filterSetDataFromSlotId
    - filterFreeInfo
    - colDataSetVal
    - flttMakeColumnNode
    - taosArrayGetSize
    - taosArrayGetLast
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - varDataSetLen
    - blockDataDestroy
    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
    - filterInitFromNode
    - taosMemoryFreeClear
    - flttMakeOpNode
    - filterSetDataFromSlotId
    - filterFreeInfo
    - colDataSetVal
    - flttMakeColumnNode
    - taosArrayGetSize
    - taosArrayGetLast
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - varDataSetLen
    - blockDataDestroy
    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
    - filterSetDataFromSlotId
    - filterFreeInfo
    - flttMakeColumnNode
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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:
    - flttMakeValueNode
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - filterSetDataFromSlotId
    - filterFreeInfo
    - flttMakeColumnNode
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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
    - varDataSetLen
    - filterSetDataFromSlotId
    - filterFreeInfo
    - flttMakeColumnNode
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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
    - varDataSetLen
    - filterSetDataFromSlotId
    - filterFreeInfo
    - flttMakeColumnNode
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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
    - filterSetDataFromSlotId
    - filterFreeInfo
    - flttMakeColumnNode
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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:
    - flttMakeValueNode
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - filterSetDataFromSlotId
    - filterFreeInfo
    - flttMakeColumnNode
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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
    - varDataSetLen
    - filterSetDataFromSlotId
    - filterFreeInfo
    - flttMakeColumnNode
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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:
    - flttMakeValueNode
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeLogicNodeFromList
    - filterSetDataFromSlotId
    - filterFreeInfo
    - nodesListAppend
    - flttMakeColumnNode
    - nodesMakeList
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - flttInitLogFile
    - filterInitFromNode
    - blockDataDestroy
    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:
    - flttMakeValueNode
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeLogicNodeFromList
    - filterSetDataFromSlotId
    - filterFreeInfo
    - nodesListAppend
    - flttMakeColumnNode
    - nodesMakeList
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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:
    - flttMakeValueNode
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeLogicNodeFromList
    - filterSetDataFromSlotId
    - filterFreeInfo
    - nodesListAppend
    - flttMakeColumnNode
    - nodesMakeList
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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:
    - flttMakeValueNode
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeLogicNodeFromList
    - filterSetDataFromSlotId
    - filterFreeInfo
    - nodesListAppend
    - flttMakeColumnNode
    - nodesMakeList
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - filterInitFromNode
    - blockDataDestroy
    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
    - flttMakeLogicNodeFromList
    - filterSetDataFromSlotId
    - filterFreeInfo
    - nodesListAppend
    - flttMakeColumnNode
    - nodesMakeList
    - taosArrayGetSize
    - filterExecute
    - ASSERT_EQ
    - nodesDestroyNode
    - flttInitLogFile
    - filterInitFromNode
    - blockDataDestroy
    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:
    - compareSignedWithUnsigned
    - fp
    - ASSERT_EQ
    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:
    - fp
    - compareUnsignedWithSigned
    - ASSERT_EQ
    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:
    - FAIL
    - doCompareWithValueRange_SignedWithUnsigned
    - doCompareWithValueRange_UnsignedWithSigned
    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:
    - RUN_ALL_TESTS
    - testing::InitGoogleTest
    - taosGetTimestampSec
    - 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: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    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: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    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: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    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: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    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: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    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:
    - (
    - _opType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    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: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    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: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    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: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    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: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    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: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    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: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    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: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    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: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    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: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    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: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    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: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    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: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    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: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    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: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    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: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    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: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    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: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    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: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    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: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    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: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    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: 296
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 296
    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: 309
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 309
    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: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    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: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    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: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    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: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    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: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    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: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    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: 325
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 325
    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: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    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: 334
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 334
    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: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    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: 352
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 352
    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: 366
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 366
    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: 379
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 379
    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: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    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: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    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: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    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: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    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: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    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: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    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: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    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: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    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: 406
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 406
    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: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    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: 422
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 422
    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: 430
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 430
    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: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    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: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    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: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    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: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    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: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    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: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    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: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    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: 439
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 439
    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: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    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: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    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: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    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: 443
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 443
    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: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    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: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    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: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    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: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    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: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    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: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    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: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    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: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    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: 453
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 453
    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: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    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: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    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: 456
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 456
    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: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    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: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    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: 460
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 460
    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: 461
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 461
    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: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    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: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    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: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    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: 473
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 473
    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: 478
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 478
    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: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    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: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    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: 501
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 501
    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: 503
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 503
    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: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    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:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    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:28,1
    - Dst: log
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:29,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:30,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:30,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:32,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: tlog2
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - isnan
    - log
    - 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: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    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: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    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:49,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:56,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:57,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:69,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:70,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:82,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:83,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:95,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:96,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:108,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:109,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:121,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:122,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:132,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:138,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:138,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 144
    functionName: absFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - colDataAssign
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - 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:150,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:157,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:158,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:170,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:171,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:183,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:184,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:196,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:197,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:209,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:210,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:222,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:223,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:235,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:236,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:247,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:248,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:259,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:260,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:271,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:272,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:281,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:287,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 114
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 293
    functionName: signFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - GET_PARAM_TYPE
    - SCL_ERR_RET
    - colDataIsNull_s
    - colDataSetNULL
    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:296,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:302,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:302,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:307,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:307,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:308,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:312,1
    - Dst: getValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:312,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:313,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:314,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:314,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:315,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: 323
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 323
    functionName: doScalarFunctionUnique
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - isnan
    - valFn
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - isinf
    - SCL_ERR_RET
    - getVectorDoubleValueFn
    - getValueFn
    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:333,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:333,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:333,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:339,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:339,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:339,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:339,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:341,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:344,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:344,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:345,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:350,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:351,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:352,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:353,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:353,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:354,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:360,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:361,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:364,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:365,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:370,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:371,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:372,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:373,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:373,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:374,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:382,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:383,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:386,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:387,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:392,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:393,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:394,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:395,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:395,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:396,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: 407
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 407
    functionName: doScalarFunctionUnique2
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - isnan
    - valFn
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - isinf
    - TMAX
    - SCL_ERR_RET
    - getVectorDoubleValueFn
    - colDataSetNNULL
    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:411,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:422,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:423,1
    - Dst: f1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:426,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:436,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:437,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:440,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:447,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:453,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:453,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: 459
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 459
    functionName: doScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - d1
    - colDataAssign
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - f1
    - 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:463,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:464,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - input
    - type
    - len
    argTypes:
    - char*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: tlength
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - IS_STR_DATA_BLOB
    - blobDataLen
    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:472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 486
    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:491,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:494,1
    - Dst: getCharLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:496,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:501,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:502,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:504,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - input
    - type
    - len
    argTypes:
    - char*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 514
    functionName: tcharlength
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - blobDataLen
    - varDataLen
    - getCharLen
    - 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:520,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:520,1
    - Dst: iswspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:527,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:527,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:537,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:537,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:537,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: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:543,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: 544
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 544
    functionName: tltrimspace
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - iswspace
    - memcpy
    - varDataVal
    - varDataSetLen
    - isspace
    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:551,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:551,1
    - Dst: iswspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:558,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:558,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:567,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:567,1
    - Dst: iswspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:574,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:574,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:588,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:588,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:588,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:595,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:595,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:595,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:598,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: 599
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 599
    functionName: tlrtrimspace
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - iswspace
    - memcpy
    - varDataVal
    - varDataSetLen
    - isspace
    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:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    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:607,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:608,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:622,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:623,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: 635
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 635
    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:638,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:642,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:644,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: 648
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 648
    functionName: convVarcharToNchar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryCalloc
    - taosMbsToUcs4
    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:651,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:655,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:657,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: 661
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 661
    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:666,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:668,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: 670
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: convBetweenNcharAndVarchar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - convNcharToVarchar
    - convVarcharToNchar
    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:672,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:673,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:674,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:675,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:677,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:684,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:684,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:684,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:684,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:690,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:690,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:691,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:695,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:698,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:702,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:702,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:703,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: 705
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 705
    functionName: tltrim
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - taosMemoryFree
    - memcpy
    - SCL_ERR_RET
    - varDataVal
    - trimHelper
    - varDataSetLen
    - convBetweenNcharAndVarchar
    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:711,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:711,1
    - Dst: iswspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:718,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:718,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:731,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:731,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:731,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:733,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: 734
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 734
    functionName: trtrimspace
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - iswspace
    - memcpy
    - varDataVal
    - varDataSetLen
    - isspace
    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:737,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:738,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:739,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:740,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:742,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:749,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:749,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:749,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:749,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:755,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:755,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:756,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:760,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:763,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:766,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:766,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:767,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: 769
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 769
    functionName: trtrim
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - taosMemoryFree
    - memcpy
    - SCL_ERR_RET
    - varDataVal
    - trimHelper
    - varDataSetLen
    - convBetweenNcharAndVarchar
    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:773,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:774,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:775,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:776,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:778,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:785,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:785,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:785,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:785,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:791,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:791,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:792,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:794,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:799,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:800,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:803,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:807,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:810,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:810,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:811,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: 813
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 813
    functionName: tlrtrim
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - trimHelper
    - memcpy
    - SCL_ERR_RET
    - varDataVal
    - taosMemoryFree
    - varDataSetLen
    - convBetweenNcharAndVarchar
    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:816,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:824,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:825,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:829,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:830,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:831,1
    - Dst: lenFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:831,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:833,1
    - Dst: lenFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:833,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: 839
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 839
    functionName: doLengthFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNULL
    - lenFn
    - 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:844,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:844,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:848,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:850,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:850,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:850,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:852,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:855,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:855,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:857,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:859,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:859,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:859,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:859,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:860,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: 863
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 863
    functionName: concatCopyHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - varDataVal
    - memcpy
    - taosMbsToUcs4
    - taosMemoryCalloc
    - taosMemoryFree
    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: 876
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 876
    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:880,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:882,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:886,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:889,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:894,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:896,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:900,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:900,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:901,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:907,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:913,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:915,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:921,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:921,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:921,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:922,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:936,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:938,1
    - Dst: concatCopyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:939,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:939,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:941,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:942,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:942,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:948,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:949,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:950,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:952,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 953
    functionName: concatFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - TMAX
    - concatCopyHelper
    - colDataSetVal
    - SCL_RET
    - taosMemoryCalloc
    - colDataSetNNULL
    - SCL_ERR_JRET
    - taosMemoryFree
    - 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:957,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:962,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:967,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:969,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:973,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:973,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:974,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:980,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:992,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:994,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:998,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:998,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:998,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:999,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1007,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1007,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1007,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1014,1
    - Dst: concatCopyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1014,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1014,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1014,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1019,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1019,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1020,1
    - Dst: concatCopyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1020,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1020,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1025,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1026,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1028,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1029,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1029,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1036,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1037,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 1040
    functionName: concatWsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - memset
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - TMAX
    - concatCopyHelper
    - colDataSetVal
    - taosMemoryCalloc
    - colDataSetNNULL
    - SCL_ERR_JRET
    - taosMemoryFree
    - 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:1043,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1049,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1051,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1057,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1058,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1062,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1063,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1066,1
    - Dst: convFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1066,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1066,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1070,1
    - Dst: convFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1070,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1070,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1073,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1074,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1076,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1077,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1079,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1083,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: 1086
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1086
    functionName: doCaseConvFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - varDataVal
    - varDataTLen
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - colDataSetVal
    - SCL_ERR_RET
    - taosMemoryCalloc
    - convFn
    - taosMemoryFree
    - 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:1099,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1104,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1106,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1112,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1112,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1112,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1112,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1114,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1115,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1116,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1122,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1122,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1123,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1126,1
    - Dst: trimFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1126,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1126,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1126,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1127,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1127,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1128,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1128,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1132,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1133,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1136,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1137,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1138,1
    - Dst: trimSpaceFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1140,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1141,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1141,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1146,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: 1148
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1148
    functionName: doTrimFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - varDataLen
    - trimSpaceFn
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - TMAX
    - colDataSetVal
    - SCL_ERR_RET
    - trimFn
    - taosMemoryCalloc
    - colDataSetNNULL
    - SCL_ERR_JRET
    - taosMemoryFree
    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:1159,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1159,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1167,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1179,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1179,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1189,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: 1199
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1199
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1211,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1213,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1219,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1222,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1222,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1222,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1222,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1223,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1223,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1225,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1226,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1227,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1228,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1241,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1241,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1242,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1243,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1257,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1258,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1258,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1262,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1263,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1267,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1268,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1268,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1268,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1270,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1272,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1273,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1273,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1273,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1275,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1278,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1279,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1279,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1280,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1282,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1288,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1288,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1288,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1289,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1291,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1294,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1294,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1299,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1201
    functionDepth: 2
    functionLinenumber: 1201
    functionLinenumberEnd: 1302
    functionName: substrFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_NULL_TYPE
    - varDataLen
    - varDataVal
    - findPosBytes
    - memcpy
    - GET_PARAM_TYPE
    - TMIN
    - colDataIsNull_s
    - colDataSetNULL
    - colDataSetVal
    - TMAX
    - colDataGetData
    - qError
    - colDataSetNNULL
    - SCL_ERR_JRET
    - taosMemoryFree
    - varDataSetLen
    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:1318,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1318,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1320,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1322,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1322,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1323,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1324,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1325,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1326,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1333,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1333,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1334,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1334,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1335,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1336,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1336,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1342,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1342,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1343,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1343,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1349,1
    - Dst: convVarcharToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1349,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1354,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1359,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1359,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1360,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1360,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1361,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1362,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1362,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1367,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1374,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1375,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1378,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1378,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1379,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1379,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1383,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1384,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1388,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1391,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1391,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1392,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1392,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1393,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1394,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1394,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1401,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1404,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1408,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1408,1
    - Dst: varDataVal
      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: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1410,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1411,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1411,1
    - Dst: compare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1419,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1422,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1437,1
    - Dst: compare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1450,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1458,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1465,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1468,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 127
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1305
    functionDepth: 3
    functionLinenumber: 1305
    functionLinenumberEnd: 1472
    functionName: matchInSetFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - convVarcharToNchar
    - varDataLen
    - memcmp
    - strcasecmp
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNULL
    - TMAX
    - SCL_ERR_RET
    - colDataSetInt64
    - varDataVal
    - colDataSetNNULL
    - SCL_ERR_JRET
    - taosMemoryFree
    - compare
    - convBetweenNcharAndVarchar
    linkageType: ''
    returnType: int32_t
    signature: int32_t matchInSetFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, 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:1475,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: 1476
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1476
    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:1479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1478
    functionDepth: 4
    functionLinenumber: 1478
    functionLinenumberEnd: 1480
    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:1484,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: 1485
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1485
    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:1489,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: 1490
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    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:1493,1
    - Dst: matchInSetFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1494,1
    - Dst: matchInSetFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1492
    functionDepth: 4
    functionLinenumber: 1492
    functionLinenumberEnd: 1497
    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:1508,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1513,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1517,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1520,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1525,1
    - Dst: threadGetRegComp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1529,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1535,1
    - Dst: regerror
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1538,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1544,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1547,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: 1551
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1551
    functionName: regexpInSetCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - regexec
    - regerror
    - memcpy
    - qDebug
    - threadGetRegComp
    - taosMemoryFree
    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:1566,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1566,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1568,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1568,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1569,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1569,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1570,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1571,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1572,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1579,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1579,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1580,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1580,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1581,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1582,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1582,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1588,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1588,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1589,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1589,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1590,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1591,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1591,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1598,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1603,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1603,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1604,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1604,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1605,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1606,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1606,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1611,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1617,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1618,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1622,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1625,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1625,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1626,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1626,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1627,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1628,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1628,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1634,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1635,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1639,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1642,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1642,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1643,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1643,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1644,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1645,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1645,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1652,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1655,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1659,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1659,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1660,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1660,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1661,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1662,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1662,1
    - Dst: regexpInSetCompare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1670,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1673,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1688,1
    - Dst: regexpInSetCompare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1699,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1707,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1714,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1717,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1720,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 133
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1553
    functionDepth: 2
    functionLinenumber: 1553
    functionLinenumberEnd: 1724
    functionName: regexpInSetFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - convNcharToVarchar
    - varDataLen
    - memcmp
    - strcasecmp
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNULL
    - TMAX
    - SCL_ERR_RET
    - regexpInSetCompare
    - varDataVal
    - colDataSetNNULL
    - taosMemoryFree
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t regexpInSetFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1729,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1730,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1732,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1736,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1737,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1740,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1741,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1742,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1743,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1745,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1750,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1750,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1750,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1750,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1751,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1751,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1751,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1752,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1753,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1755,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1756,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1760,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1762
    functionName: md5Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - varDataLen
    - varDataVal
    - memcpy
    - taosMemoryRealloc
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - TMAX
    - colDataSetVal
    - taosCreateMD5Hash
    - SCL_ERR_RET
    - qError
    - taosMemoryFree
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t md5Function(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: 1832
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1832
    functionName: crc32
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 10
    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:1837,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1841,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1842,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1844,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1845,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1849,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1850,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1854,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1861,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1862,1
    - Dst: GET_PARAM_PRECISON
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1863,1
    - Dst: GET_PARAM_SCALE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1863,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1864,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1864,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1866,1
    - Dst: crc32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1868,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1868,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1873,1
    - Dst: taosTs2Char
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1873,1
    - Dst: crc32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1874,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1874,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1875,1
    - Dst: crc32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1877,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1877,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1877,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1882,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1834
    functionDepth: 6
    functionLinenumber: 1834
    functionLinenumberEnd: 1885
    functionName: crc32Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - varDataLen
    - IS_DECIMAL_TYPE
    - NUM_TO_STRING
    - taosTs2Char
    - IS_NUMERIC_TYPE
    - GET_PARAM_SCALE
    - crc32
    - qError
    - strlen
    - GET_PARAM_PRECISON
    - colDataSetNULL
    - colDataGetData
    - varDataVal
    - SCL_ERR_JRET
    - strnlen
    - GET_PARAM_TYPE
    - decimalToStr
    - colDataIsNull_s
    - TMAX
    - taosMemoryFree
    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:1889,1
    - Dst: INT3TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1891,1
    - Dst: INT2TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1893,1
    - Dst: INT1TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - num
    - output
    argTypes:
    - int32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1887
    functionDepth: 1
    functionLinenumber: 1887
    functionLinenumberEnd: 1897
    functionName: getAsciiChar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - INT2TOCHAR
    - INT4TOCHAR
    - INT1TOCHAR
    - INT3TOCHAR
    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:1901,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1903,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1907,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1910,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1914,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1916,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1916,1
    - Dst: getAsciiChar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1919,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1920,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1921,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1921,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1921,1
    - Dst: getAsciiChar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1922,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1923,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1924,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1924,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1926,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1929,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1929,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1929,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1930,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1930,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1932,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1937,1
    - Dst: getAsciiChar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1938,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1939,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1945,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1945,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1946,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1946,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1951,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1898
    functionDepth: 2
    functionLinenumber: 1898
    functionLinenumberEnd: 1953
    functionName: charFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - varDataLen
    - varDataVal
    - IS_NUMERIC_TYPE
    - taosStr2Int32
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataGetData
    - taosUcs4ToMbs
    - TMAX
    - colDataSetVal
    - SCL_ERR_RET
    - getAsciiChar
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - GET_PARAM_BYTES
    - taosMemoryFree
    - 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:1956,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1964,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1965,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1969,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1969,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1970,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1970,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1971,1
    - Dst: convBetweenNcharAndVarchar
      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: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1971,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1972,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1972,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1975,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1977,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1978,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1955
    functionDepth: 3
    functionLinenumber: 1955
    functionLinenumberEnd: 1984
    functionName: asciiFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNULL
    - SCL_ERR_RET
    - varDataVal
    - taosMemoryFree
    - convBetweenNcharAndVarchar
    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:1989,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1993,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: 2001
      start: 1986
    functionDepth: 1
    functionLinenumber: 1986
    functionLinenumberEnd: 2001
    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:2011,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2013,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2013,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2013,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2013,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2015,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2016,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2017,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2023,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2023,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2024,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2028,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2028,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2030,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2034,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2034,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2035,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2035,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2036,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2036,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2037,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2037,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2039,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2039,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2040,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2040,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2040,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2040,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2041,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2041,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2042,1
    - Dst: findPosChars
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2046,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2046,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2048,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2050,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2003
    functionDepth: 3
    functionLinenumber: 2003
    functionLinenumberEnd: 2055
    functionName: positionFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - varDataLen
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - TMAX
    - findPosChars
    - SCL_ERR_RET
    - varDataVal
    - colDataSetNNULL
    - taosMemoryFree
    - colDataSetInt64
    - convBetweenNcharAndVarchar
    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:2064,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2064,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2068,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2068,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2072,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2057
    functionDepth: 2
    functionLinenumber: 2057
    functionLinenumberEnd: 2077
    functionName: trimFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doTrimFunction
    - SCL_ERR_RET
    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:2064,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2064,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2068,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2068,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2072,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2060
    functionDepth: 2
    functionLinenumber: 2060
    functionLinenumberEnd: 2075
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doTrimFunction
    - SCL_ERR_RET
    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:2091,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2102,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2104,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2104,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2105,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2106,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2107,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2108,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2109,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2114,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2116,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2123,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2123,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2124,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2125,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2131,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2131,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2132,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2132,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2133,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2133,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2134,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2134,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2135,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2135,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2136,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2136,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2141,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2143,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2144,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2144,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2148,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2148,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2149,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2149,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2149,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2149,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2150,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2150,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2151,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2154,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2154,1
    - Dst: convBetweenNcharAndVarchar
      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: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2155,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2156,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2156,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2160,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2170,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2175,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2176,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2177,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2178,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2184,1
    - Dst: getCharLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2184,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2185,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2192,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2195,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2198,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2200,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2201,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2201,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2205,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 82
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2079
    functionDepth: 3
    functionLinenumber: 2079
    functionLinenumberEnd: 2207
    functionName: replaceFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - colDataSetNNULL
    - TMIN
    - getCharLen
    - taosMemoryCalloc
    - varDataSetLen
    - memcmp
    - colDataSetNULL
    - colDataGetData
    - SCL_ERR_RET
    - varDataVal
    - SCL_ERR_JRET
    - memcpy
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetVal
    - TMAX
    - convBetweenNcharAndVarchar
    - taosMemoryFree
    - isCharStart
    linkageType: ''
    returnType: int32_t
    signature: int32_t replaceFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2221,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2225,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2225,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2226,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2227,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2231,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2233,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2239,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2239,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2239,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2240,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2252,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2252,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2253,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2253,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2254,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2254,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2255,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2255,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2259,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2263,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2263,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2264,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2264,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2264,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2264,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2265,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2265,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2266,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2273,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2273,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2276,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2276,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2285,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2285,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2286,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2288,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2291,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2294,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2294,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2298,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2209
    functionDepth: 3
    functionLinenumber: 2209
    functionLinenumberEnd: 2300
    functionName: substrIdxFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - colDataSetNNULL
    - IS_NULL_TYPE
    - taosMemoryCalloc
    - varDataSetLen
    - typeGetTypeModFromColInfo
    - colDataSetNULL
    - colDataGetData
    - SCL_ERR_RET
    - varDataVal
    - SCL_ERR_JRET
    - memcpy
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetVal
    - TMAX
    - findPosBytes
    - taosMemoryFree
    - convBetweenNcharAndVarchar
    linkageType: ''
    returnType: int32_t
    signature: int32_t substrIdxFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - base64Out
    - inputBytes
    - inputLen
    - outputLen
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - VarDataLenT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2325
    functionName: base64Impl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base64Impl(uint8_t *base64Out, const uint8_t *inputBytes, size_t
      inputLen, VarDataLenT outputLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inputLenBytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2329
    functionName: base64BufSize
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t base64BufSize(size_t inputLenBytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2335,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2337,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2341,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2342,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2346,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2347,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2347,1
    - Dst: base64BufSize
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2349,1
    - Dst: base64Impl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2350,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2350,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2351,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2352,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2352,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2331
    functionDepth: 1
    functionLinenumber: 2331
    functionLinenumberEnd: 2359
    functionName: base64Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - base64Impl
    - varDataLen
    - base64BufSize
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNULL
    - colDataSetVal
    - SCL_ERR_RET
    - varDataVal
    - SCL_ERR_JRET
    - taosMemoryFree
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t base64Function(SScalarParam* pInput, int32_t inputNum, SScalarParam*
      pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2363,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: 2367
      start: 2361
    functionDepth: 0
    functionLinenumber: 2361
    functionLinenumberEnd: 2367
    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:2379,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2384,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2392,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2393,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2395,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2400,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2400,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2400,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2400,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2404,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2404,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2405,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2412,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2413,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2413,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2415,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2416,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2416,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2417,1
    - Dst: repeatStringHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2417,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2417,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2417,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2417,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2418,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2418,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2422,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2423,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2427,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2428,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2435,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2436,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2436,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2438,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2439,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2439,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2440,1
    - Dst: repeatStringHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2440,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2440,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2440,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2440,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2441,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2441,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2446,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2447,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2451,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2452,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2459,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2460,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2460,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2462,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2463,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2463,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2464,1
    - Dst: repeatStringHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2464,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2464,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2464,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2464,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2465,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2465,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2473,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2369
    functionDepth: 1
    functionLinenumber: 2369
    functionLinenumberEnd: 2475
    functionName: repeatFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - varDataLen
    - varDataVal
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataSetVal
    - TMAX
    - colDataGetData
    - SCL_ERR_RET
    - taosMemoryCalloc
    - colDataSetNNULL
    - SCL_ERR_JRET
    - taosMemoryFree
    - varDataSetLen
    - repeatStringHelper
    linkageType: ''
    returnType: int32_t
    signature: int32_t repeatFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2479,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2480,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2481,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2482,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2485,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2486,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2488,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2496,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2497,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2501,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2506,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2506,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2506,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2507,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2508,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2510,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2510,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2510,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2517,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2519,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2520,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2526,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2526,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2526,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2527,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2528,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2530,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2530,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2530,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2536,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2538,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2539,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2545,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2545,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2545,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2546,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2547,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2549,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2549,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2549,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2556,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2558,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2559,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2565,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2565,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2565,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2566,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2567,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2569,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2569,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2569,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2575,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2577,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2578,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2584,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2584,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2584,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2585,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2586,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2588,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2588,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2588,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2594,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2596,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2597,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2603,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2603,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2603,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2604,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2605,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2607,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2607,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2607,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2613,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2615,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2616,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2622,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2622,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2622,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2623,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2624,1
    - Dst: taosUcs4ToMbs
      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: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2626,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2632,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2634,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2635,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2641,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2641,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2641,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2642,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2643,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2645,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2645,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2645,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2652,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2654,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2655,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2661,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2661,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2661,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2662,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2663,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2665,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2665,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2665,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2671,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2673,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2674,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2680,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2680,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2680,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2681,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2682,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2684,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2684,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2684,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2690,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2692,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2693,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2699,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2699,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2699,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2700,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2701,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2703,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2703,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2703,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2709,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2711,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2712,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2722,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2729,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2730,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2738,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2738,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2740,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2742,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2742,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2743,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2743,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2743,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2744,1
    - Dst: taosUcs4ToMbs
      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: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2751,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2752,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2752,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2753,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2757,1
    - Dst: GET_PARAM_PRECISON
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2759,1
    - Dst: GET_PARAM_SCALE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2759,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2760,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2763,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2765,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2767,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2767,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2768,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2774,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2774,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2775,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2775,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2775,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2776,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2788,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2789,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2789,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2796,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2798,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2798,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2799,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2799,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2805,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2807,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2807,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2808,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2809,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2811,1
    - Dst: GET_PARAM_PRECISON
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2812,1
    - Dst: GET_PARAM_SCALE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2812,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2813,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2816,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2818,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2820,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2820,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2826,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2838,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2838,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2840,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2840,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2840,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2847,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2849,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2850,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2851,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2853,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2855,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2855,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2857,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2871,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2880,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2881,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2882,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 375
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2478
    functionDepth: 6
    functionLinenumber: 2478
    functionLinenumberEnd: 2884
    functionName: castFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - varDataLen
    - taosStr2Int8
    - IS_DECIMAL_TYPE
    - taosUcs4ToMbs
    - taosStr2UInt8
    - taosStr2Int16
    - taosStr2UInt32
    - convertToDecimal
    - NUM_TO_STRING
    - TMIN
    - IS_VAR_DATA_TYPE
    - convertStringToTimestamp
    - GET_PARAM_SCALE
    - taosMemoryCalloc
    - taosStr2UInt16
    - GET_PARAM_BYTES
    - taosStr2UInt64
    - taosStr2Int64
    - typeGetTypeModFromColInfo
    - varDataSetLen
    - strlen
    - GET_COL_DATA_TYPE
    - IS_STR_DATA_BLOB
    - GET_TYPED_DATA
    - GET_PARAM_PRECISON
    - blobDataLen
    - taosStr2Int32
    - colDataSetNULL
    - colDataGetData
    - tsnprintf
    - taosMbsToUcs4
    - varDataVal
    - taosStr2Float
    - taosMemoryFree
    - memcpy
    - GET_PARAM_TYPE
    - decimalToStr
    - colDataIsNull_s
    - colDataSetVal
    - taosStr2Double
    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:2887,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2893,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2894,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2894,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2898,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2899,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2903,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2906,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2943,1
    - Dst: offsetOfTimezone
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2952,1
    - Dst: taosGmTimeR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2958,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2962,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2964,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2968,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2972,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2973,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2976,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2976,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2982
      start: 2886
    functionDepth: 1
    functionLinenumber: 2886
    functionLinenumberEnd: 2982
    functionName: toISO8601Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - memcpy
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - snprintf
    - colDataSetVal
    - tsnprintf
    - SCL_ERR_RET
    - memmove
    - taosStrfTime
    - offsetOfTimezone
    - varDataVal
    - NUM_TO_STRING
    - taosGmTimeR
    - 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:2985,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2992,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2993,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2996,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2999,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3001,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3003,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3003,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3010
      start: 2984
    functionDepth: 1
    functionLinenumber: 2984
    functionLinenumberEnd: 3010
    functionName: toUnixtimestampFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNULL
    - convertStringToTimestamp
    - colDataSetVal
    - 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:3013,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3018,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3024,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3025,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3027,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3028,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3029,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3033,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3034,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3037,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3037,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3037,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3038,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3039,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3040,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3042,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3043,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3044,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3049,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3050,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3051,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3053,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3012
    functionDepth: 1
    functionLinenumber: 3012
    functionLinenumberEnd: 3059
    functionName: toJsonFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tTagNew
    - taosArrayInit
    - varDataLen
    - memcpy
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetVal
    - parseJsontoTagData
    - SCL_ERR_RET
    - varDataVal
    - 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:3064,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3065,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3070,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3073,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3073,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3074,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3078,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3079,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3080,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3080,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3081,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3081,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3083,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3083,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3085,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3085,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3088,1
    - Dst: taosChar2Ts
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3094,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3096,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3097,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3099,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3099,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3103,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3107
      start: 3062
    functionDepth: 1
    functionLinenumber: 3062
    functionLinenumberEnd: 3107
    functionName: toTimestampFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - varDataLen
    - TMIN
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNULL
    - colDataSetVal
    - qError
    - varDataVal
    - SCL_ERR_JRET
    - taosMemoryFree
    - strncpy
    - taosChar2Ts
    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:3112,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3115,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3122,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3123,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3127,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3128,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3130,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3131,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3133,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3140,1
    - Dst: taosTs2Char
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3140,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3140,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3141,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3141,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3141,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3142,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3142,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3147,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3149,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3150,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3109
    functionDepth: 1
    functionLinenumber: 3109
    functionLinenumberEnd: 3152
    functionName: dateFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosTs2Char
    - taosArrayDestroy
    - varDataVal
    - tstrerror
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - IS_VAR_DATA_TYPE
    - convertStringToTimestamp
    - colDataSetVal
    - qError
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - taosMemoryFree
    - 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:3155,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3156,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3162,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3165,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3165,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3166,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3170,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3171,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3172,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3172,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3174,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3174,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3177,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3182,1
    - Dst: taosTs2Char
      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: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3184,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3184,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3184,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3185,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3185,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3189,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3190,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3154
    functionDepth: 1
    functionLinenumber: 3154
    functionLinenumberEnd: 3193
    functionName: toCharFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosTs2Char
    - varDataLen
    - varDataVal
    - strlen
    - varDataSetLen
    - TMIN
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - colDataSetVal
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - taosMemoryFree
    - strncpy
    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:3198,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3199,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3199,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - timezoneStr
    - factor
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3196
    functionDepth: 1
    functionLinenumber: 3196
    functionLinenumberEnd: 3204
    functionName: offsetFromTz
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memset
    - strlen
    - taosStr2Int64
    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:3207,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3226,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3226,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3227,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3230,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3231,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3235,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3237,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3238,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3240,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3250,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3253,1
    - Dst: offsetFromTz
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3255,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3255,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3259,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3259,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3206
    functionDepth: 2
    functionLinenumber: 3206
    functionLinenumberEnd: 3265
    functionName: timeTruncateFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - offsetFromTz
    - varDataLen
    - memcpy
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - IS_VAR_DATA_TYPE
    - convertStringToTimestamp
    - colDataSetVal
    - SCL_ERR_RET
    - varDataVal
    - NUM_TO_STRING
    - TSDB_TICK_PER_SECOND
    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:3279,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3285,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3291,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3293,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3294,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3295,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3306,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3317,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3317,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3323
      start: 3267
    functionDepth: 1
    functionLinenumber: 3267
    functionLinenumberEnd: 3323
    functionName: timeDiffFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - GET_PARAM_TYPE
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - colDataGetData
    - TMAX
    - convertStringToTimestamp
    - colDataSetNULL
    - colDataSetVal
    - SCL_ERR_RET
    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:3330,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3336
      start: 3325
    functionDepth: 1
    functionLinenumber: 3325
    functionLinenumberEnd: 3336
    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:3343,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3338
    functionDepth: 1
    functionLinenumber: 3338
    functionLinenumberEnd: 3349
    functionName: todayFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetInt64
    - taosGetTimestampToday
    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:3355,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3355,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3357,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3361,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3361,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3361,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3364,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3364,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3364,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3366,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3351
    functionDepth: 1
    functionLinenumber: 3351
    functionLinenumberEnd: 3370
    functionName: timezoneFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - tstrncpy
    - strlen
    - memcpy
    - colDataSetVal
    - SCL_ERR_RET
    - varDataVal
    - varDataSetLen
    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:3373,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3381,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3382,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3386,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3388,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3389,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3391,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3400,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3400,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3402,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: 3408
      start: 3372
    functionDepth: 1
    functionLinenumber: 3372
    functionLinenumberEnd: 3408
    functionName: weekdayFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosTs2Tm
    - GET_PARAM_TYPE
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - colDataIsNull_s
    - colDataSetNULL
    - convertStringToTimestamp
    - colDataSetInt64
    - TAOS_CHECK_RETURN
    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:3411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3412
      start: 3410
    functionDepth: 2
    functionLinenumber: 3410
    functionLinenumberEnd: 3412
    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:3415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3414
    functionDepth: 2
    functionLinenumber: 3414
    functionLinenumberEnd: 3416
    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: 3435
      start: 3419
    functionDepth: 0
    functionLinenumber: 3419
    functionLinenumberEnd: 3435
    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: 3439
      start: 3437
    functionDepth: 0
    functionLinenumber: 3437
    functionLinenumberEnd: 3439
    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: 3441
      start: 3441
    functionDepth: 0
    functionLinenumber: 3441
    functionLinenumberEnd: 3441
    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:3448,1
    - Dst: getDayNum
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3449,1
    - Dst: getWeekday
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3454,1
    - Dst: getDaysInYear
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3460,1
    - Dst: getDaysInYear
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3471,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 2
    argNames:
    - date
    - weekFlag
    argTypes:
    - struct tm
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3443
    functionDepth: 1
    functionLinenumber: 3443
    functionLinenumberEnd: 3477
    functionName: calculateWeekNum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - getDayNum
    - getWeekday
    - getDaysInYear
    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: 3481
      start: 3479
    functionDepth: 0
    functionLinenumber: 3479
    functionLinenumberEnd: 3481
    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:3484,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3489,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3490,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3494,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3496,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3497,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3499,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3508,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3508,1
    - Dst: calculateWeekNum
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3509,1
    - Dst: weekMode
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3509,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3510,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: 3516
      start: 3483
    functionDepth: 2
    functionLinenumber: 3483
    functionLinenumberEnd: 3516
    functionName: weekFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosTs2Tm
    - weekMode
    - GET_PARAM_TYPE
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - colDataIsNull_s
    - colDataSetNULL
    - convertStringToTimestamp
    - SCL_ERR_RET
    - calculateWeekNum
    - 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:3524,1
    - Dst: weekFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3532
      start: 3518
    functionDepth: 3
    functionLinenumber: 3518
    functionLinenumberEnd: 3532
    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:3538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3539
      start: 3534
    functionDepth: 3
    functionLinenumber: 3534
    functionLinenumberEnd: 3539
    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:3542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3543
      start: 3541
    functionDepth: 3
    functionLinenumber: 3541
    functionLinenumberEnd: 3543
    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:3546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3545
    functionDepth: 3
    functionLinenumber: 3545
    functionLinenumberEnd: 3547
    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:3550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3551
      start: 3549
    functionDepth: 3
    functionLinenumber: 3549
    functionLinenumberEnd: 3551
    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:3554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3555
      start: 3553
    functionDepth: 3
    functionLinenumber: 3553
    functionLinenumberEnd: 3555
    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:3558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3559
      start: 3557
    functionDepth: 3
    functionLinenumber: 3557
    functionLinenumberEnd: 3559
    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:3562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3563
      start: 3561
    functionDepth: 3
    functionLinenumber: 3561
    functionLinenumberEnd: 3563
    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:3566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3565
    functionDepth: 3
    functionLinenumber: 3565
    functionLinenumberEnd: 3567
    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:3571,1
    - Dst: doScalarFunctionUnique2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3575
      start: 3569
    functionDepth: 3
    functionLinenumber: 3569
    functionLinenumberEnd: 3575
    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:3578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3579
      start: 3577
    functionDepth: 3
    functionLinenumber: 3577
    functionLinenumberEnd: 3579
    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:3582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3581
    functionDepth: 2
    functionLinenumber: 3581
    functionLinenumberEnd: 3583
    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:3586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3587
      start: 3585
    functionDepth: 2
    functionLinenumber: 3585
    functionLinenumberEnd: 3587
    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:3591,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3595,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3595,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3595,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3598,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3601,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3606
      start: 3589
    functionDepth: 1
    functionLinenumber: 3589
    functionLinenumberEnd: 3606
    functionName: randFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - taosSeedRand
    - colDataIsNull_s
    - colDataSetDouble
    - TMAX
    - taosRand
    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:3613,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3616,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - val1
    - val2
    - fn
    argTypes:
    - double
    - double
    - _double_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3626
      start: 3608
    functionDepth: 0
    functionLinenumber: 3608
    functionLinenumberEnd: 3626
    functionName: decimalFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - pow
    - fn
    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:3633,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3636,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - val1
    - val2
    - fn
    argTypes:
    - float
    - float
    - _float_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3646
      start: 3628
    functionDepth: 0
    functionLinenumber: 3628
    functionLinenumberEnd: 3646
    functionName: decimalfFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - powf
    - fn
    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:3648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3648
      start: 3648
    functionDepth: 1
    functionLinenumber: 3648
    functionLinenumberEnd: 3648
    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:3650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3650
    functionDepth: 1
    functionLinenumber: 3650
    functionLinenumberEnd: 3650
    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:3652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3652
      start: 3652
    functionDepth: 1
    functionLinenumber: 3652
    functionLinenumberEnd: 3652
    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:3654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3654
      start: 3654
    functionDepth: 1
    functionLinenumber: 3654
    functionLinenumberEnd: 3654
    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:3664,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3664,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3664,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3667,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3667,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3667,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3667,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3669,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3673,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3673,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3674,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3684,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3685,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3685,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3686,1
    - Dst: f1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3695,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3696,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3696,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3697,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3706,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3713,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3720,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3727,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3734,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3741,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3748,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3755,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: 3764
      start: 3656
    functionDepth: 2
    functionLinenumber: 3656
    functionLinenumberEnd: 3764
    functionName: doScalarFunction2
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - d1
    - isnan
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - isinf
    - TMAX
    - f1
    - SCL_ERR_RET
    - getVectorDoubleValueFn
    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:3684,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3685,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3685,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3686,1
    - Dst: f1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3695,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3696,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3696,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3697,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3706,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3713,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3720,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3727,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3734,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3741,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3748,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3755,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3759
      start: 3678
    functionDepth: 2
    functionLinenumber: 3678
    functionLinenumberEnd: 3759
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 1
    functionsReached:
    - isnan
    - d1
    - isinf
    - colDataSetNULL
    - f1
    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:3768,1
    - Dst: doScalarFunction2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3772
      start: 3766
    functionDepth: 3
    functionLinenumber: 3766
    functionLinenumberEnd: 3772
    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:3775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3776
      start: 3774
    functionDepth: 3
    functionLinenumber: 3774
    functionLinenumberEnd: 3776
    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:3781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3778
    functionDepth: 1
    functionLinenumber: 3778
    functionLinenumberEnd: 3785
    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:3788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3787
    functionDepth: 3
    functionLinenumber: 3787
    functionLinenumberEnd: 3789
    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:3792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3793
      start: 3791
    functionDepth: 3
    functionLinenumber: 3791
    functionLinenumberEnd: 3793
    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:3796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3797
      start: 3795
    functionDepth: 3
    functionLinenumber: 3795
    functionLinenumberEnd: 3797
    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:3800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3801
      start: 3799
    functionDepth: 3
    functionLinenumber: 3799
    functionLinenumberEnd: 3801
    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:3804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3805
      start: 3803
    functionDepth: 3
    functionLinenumber: 3803
    functionLinenumberEnd: 3805
    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:3809,1
    - Dst: doCaseConvFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3813
      start: 3807
    functionDepth: 2
    functionLinenumber: 3807
    functionLinenumberEnd: 3813
    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:3817,1
    - Dst: doCaseConvFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3821
      start: 3815
    functionDepth: 2
    functionLinenumber: 3815
    functionLinenumberEnd: 3821
    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:3824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3825
      start: 3823
    functionDepth: 2
    functionLinenumber: 3823
    functionLinenumberEnd: 3825
    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:3828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3829
      start: 3827
    functionDepth: 2
    functionLinenumber: 3827
    functionLinenumberEnd: 3829
    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:3832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3833
      start: 3831
    functionDepth: 2
    functionLinenumber: 3831
    functionLinenumberEnd: 3833
    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:3836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3837
      start: 3835
    functionDepth: 2
    functionLinenumber: 3835
    functionLinenumberEnd: 3837
    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: 3842
      start: 3839
    functionDepth: 0
    functionLinenumber: 3839
    functionLinenumberEnd: 3842
    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: 3847
      start: 3844
    functionDepth: 0
    functionLinenumber: 3844
    functionLinenumberEnd: 3847
    functionName: getMaskPseudoFuncEnv
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getMaskPseudoFuncEnv(SFunctionNode *UNUSED_PARAM(pFunc), SFuncExecEnv
      *pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3851,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3853
      start: 3850
    functionDepth: 1
    functionLinenumber: 3850
    functionLinenumberEnd: 3853
    functionName: qStartTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetInt64
    - colDataGetData
    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:3856,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3858
      start: 3855
    functionDepth: 1
    functionLinenumber: 3855
    functionLinenumberEnd: 3858
    functionName: qEndTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetInt64
    - colDataGetData
    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:3862,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3861
    functionDepth: 1
    functionLinenumber: 3861
    functionLinenumberEnd: 3864
    functionName: winDurFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetInt64
    - colDataGetData
    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:3867,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3866
    functionDepth: 1
    functionLinenumber: 3866
    functionLinenumberEnd: 3869
    functionName: winStartTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetInt64
    - colDataGetData
    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:3872,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3871
    functionDepth: 1
    functionLinenumber: 3871
    functionLinenumberEnd: 3874
    functionName: winEndTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetInt64
    - colDataGetData
    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:3877,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3880
      start: 3876
    functionDepth: 1
    functionLinenumber: 3876
    functionLinenumberEnd: 3880
    functionName: anomalyCheckMaskFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetInt32
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyCheckMaskFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3886
      start: 3882
    functionDepth: 1
    functionLinenumber: 3882
    functionLinenumberEnd: 3886
    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:3889,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3897
      start: 3888
    functionDepth: 1
    functionLinenumber: 3888
    functionLinenumberEnd: 3897
    functionName: qPseudoTagFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNItems
    - colDataGetData
    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:3907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3915
      start: 3900
    functionDepth: 1
    functionLinenumber: 3900
    functionLinenumberEnd: 3915
    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:3921,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3924,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3929,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3944,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3959,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3972,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3973,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3973,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3976,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3977,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3977,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3983,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3988
      start: 3917
    functionDepth: 2
    functionLinenumber: 3917
    functionLinenumberEnd: 3988
    functionName: sumScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_FLOAT_TYPE
    - getDecimalOps
    - IS_SIGNED_NUMERIC_TYPE
    - DECIMAL_WORD_NUM
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - SDecimalOps*::add
    - colDataSetNULL
    - IS_UNSIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sumScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3994,1
    - Dst: SET_TYPED_DATA_MAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3998,1
    - Dst: SET_TYPED_DATA_MIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4000,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4004,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4094,1
    - Dst: SDecimalOps*::gt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4095,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4095,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4103,1
    - Dst: SDecimalOps*::gt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4104,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4104,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4113,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - isMinFunc
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4118
      start: 3990
    functionDepth: 2
    functionLinenumber: 3990
    functionLinenumberEnd: 4118
    functionName: doMinMaxScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - getDecimalOps
    - DECIMAL_WORD_NUM
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - SDecimalOps*::gt
    - SET_TYPED_DATA_MIN
    - SET_TYPED_DATA_MAX
    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:4121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4122
      start: 4120
    functionDepth: 3
    functionLinenumber: 4120
    functionLinenumberEnd: 4122
    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:4125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4126
      start: 4124
    functionDepth: 3
    functionLinenumber: 4124
    functionLinenumberEnd: 4126
    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:4132,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4137,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4216,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4218,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4218,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4224,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4226,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4226,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4233,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4235,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4238,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4241,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4244,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4256,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 88
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4263
      start: 4128
    functionDepth: 8
    functionLinenumber: 4128
    functionLinenumberEnd: 4263
    functionName: avgScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - getDecimalOps
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - DECIMAL_WORD_NUM
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - SDecimalOps*::add
    - colDataSetNULL
    - IS_DECIMAL_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - decimalOp
    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:4269,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4273,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4288
      start: 4265
    functionDepth: 1
    functionLinenumber: 4265
    functionLinenumberEnd: 4288
    functionName: stdScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    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:4295,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4299,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4299,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4314
      start: 4290
    functionDepth: 1
    functionLinenumber: 4290
    functionLinenumberEnd: 4314
    functionName: corrScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_f
    - GET_PARAM_TYPE
    - colDataSetNULL
    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: 4325
      start: 4317
    functionDepth: 0
    functionLinenumber: 4317
    functionLinenumberEnd: 4325
    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:4337,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4344,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4349,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4356,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4361,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4368,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4373,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4380,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4385,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4392,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4397,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4404,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4409,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4416,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4421,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4428,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4433,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4440,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4445,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4452,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4457,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4464,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4479,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4481,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4483,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4485,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4496,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4496,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4499,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4499,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4504,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4504,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4505,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4506,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4506,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 130
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4511
      start: 4326
    functionDepth: 2
    functionLinenumber: 4326
    functionLinenumberEnd: 4511
    functionName: leastSQRScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - isnan
    - LEASTSQR_CAL
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - snprintf
    - isinf
    - colDataSetVal
    - tsnprintf
    - SCL_ERR_RET
    - varDataVal
    - varDataSetLen
    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:4517,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4522,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4531,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4533,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4538
      start: 4513
    functionDepth: 1
    functionLinenumber: 4513
    functionLinenumberEnd: 4538
    functionName: percentileScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataSetVal
    - 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:4541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4542
      start: 4540
    functionDepth: 2
    functionLinenumber: 4540
    functionLinenumberEnd: 4542
    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:4548,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4551,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4552,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4556,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4566,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4567,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4570,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4571,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4576,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4579,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4584
      start: 4544
    functionDepth: 1
    functionLinenumber: 4544
    functionLinenumberEnd: 4584
    functionName: spreadScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - GET_DOUBLE_VAL
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataSetVal
    - SET_DOUBLE_VAL
    - 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:4590,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4594,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4609
      start: 4586
    functionDepth: 1
    functionLinenumber: 4586
    functionLinenumberEnd: 4609
    functionName: nonCalcScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    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:4612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4613
      start: 4611
    functionDepth: 2
    functionLinenumber: 4611
    functionLinenumberEnd: 4613
    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:4616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4617
      start: 4615
    functionDepth: 2
    functionLinenumber: 4615
    functionLinenumberEnd: 4617
    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:4620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4621
      start: 4619
    functionDepth: 2
    functionLinenumber: 4619
    functionLinenumberEnd: 4621
    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:4624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4625
      start: 4623
    functionDepth: 2
    functionLinenumber: 4623
    functionLinenumberEnd: 4625
    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:4628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4629
      start: 4627
    functionDepth: 9
    functionLinenumber: 4627
    functionLinenumberEnd: 4629
    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:4632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4633
      start: 4631
    functionDepth: 9
    functionLinenumber: 4631
    functionLinenumberEnd: 4633
    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:4636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4637
      start: 4635
    functionDepth: 2
    functionLinenumber: 4635
    functionLinenumberEnd: 4637
    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:4640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4716
      start: 4639
    functionDepth: 3
    functionLinenumber: 4639
    functionLinenumberEnd: 4716
    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: 4729
      start: 4728
    functionDepth: 0
    functionLinenumber: 4728
    functionLinenumberEnd: 4729
    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: 4731
      start: 4730
    functionDepth: 0
    functionLinenumber: 4730
    functionLinenumberEnd: 4731
    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: 4757
      start: 4732
    functionDepth: 0
    functionLinenumber: 4732
    functionLinenumberEnd: 4757
    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:4760,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4762,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4764,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4766,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4768,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - opStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4777
      start: 4758
    functionDepth: 0
    functionLinenumber: 4758
    functionLinenumberEnd: 4777
    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:4780,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4782,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4786,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4791,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4796,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4801,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4806,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4811,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4816,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4821,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4826,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4831,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: 4839
      start: 4779
    functionDepth: 1
    functionLinenumber: 4779
    functionLinenumberEnd: 4839
    functionName: checkStateOp
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - STATE_COMP
    - GET_PARAM_TYPE
    - colDataGetData
    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:4845,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4845,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4849,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4850,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4854,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4861,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4866
      start: 4841
    functionDepth: 1
    functionLinenumber: 4841
    functionLinenumberEnd: 4866
    functionName: stateCountScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_s
    - colDataSetNULL
    - colDataSetVal
    - checkStateOp
    - SCL_ERR_RET
    - varDataVal
    - getStateOpType
    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:4872,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4872,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4875,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4876,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4880,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4885,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4885,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4890
      start: 4868
    functionDepth: 1
    functionLinenumber: 4868
    functionLinenumberEnd: 4890
    functionName: stateDurationScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_s
    - colDataSetNULL
    - colDataSetVal
    - checkStateOp
    - SCL_ERR_RET
    - varDataVal
    - getStateOpType
    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:4896,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4898,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - binTypeStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4907
      start: 4894
    functionDepth: 0
    functionLinenumber: 4894
    functionLinenumberEnd: 4907
    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:4918,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4921,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4922,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4925,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4926,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4929,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4930,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4931,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4932,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4933,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4935,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4935,1
    - Dst: cJSON_IsBool
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4935,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4936,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4937,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4941,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4942,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4945,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4945,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4946,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4946,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4947,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4948,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4960,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4962,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4963,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4965,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4968,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4969,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4970,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4974,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4975,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4976,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4977,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4981,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4984,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4985,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4986,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4989,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4990,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4991,1
    - Dst: pow
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4994,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4995,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4996,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4997,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4998,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5003,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5004,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5005,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5013,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5016,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5019,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5021,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5022,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5024,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5025,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5027,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5028,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5032,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5033,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5034,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5039,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5040,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5041,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5042,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5045,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5046,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5047,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5053,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5054,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5058,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5060,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5068,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5069,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5071,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: 5072
      start: 4916
    functionDepth: 2
    functionLinenumber: 4916
    functionLinenumberEnd: 5072
    functionName: getHistogramBinDesc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - taosMemoryCalloc
    - cJSON_IsObject
    - pow
    - cJSON_IsNumber
    - TSWAP
    - isinf
    - cJSON_GetArraySize
    - SCL_RET
    - SCL_ERR_RET
    - cJSON_IsArray
    - cJSON_IsBool
    - cJSON_GetObjectItem
    - taosMemoryFree
    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:5082,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5082,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5082,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5084,1
    - Dst: getHistogramBinType
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5086,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5087,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5089,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5089,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5089,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5091,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5095,1
    - Dst: getHistogramBinDesc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5096,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5098,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5101,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5104,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5108,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5131,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5131,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5137,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5137,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5141,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5141,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5145,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5146,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5151,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5153
      start: 5074
    functionDepth: 1
    functionLinenumber: 5074
    functionLinenumberEnd: 5153
    functionName: histogramScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - getHistogramBinDesc
    - colDataGetData
    - colDataSetVal
    - colInfoDataEnsureCapacity
    - tsnprintf
    - SCL_ERR_RET
    - getHistogramBinType
    - varDataVal
    - SCL_ERR_JRET
    - taosStrndup
    - taosMemoryFree
    - varDataSetLen
    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:5159,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5162,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5163,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5167,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5168,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5173
      start: 5155
    functionDepth: 1
    functionLinenumber: 5155
    functionLinenumberEnd: 5173
    functionName: selectScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNULL
    - colDataSetVal
    - 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:5176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5177
      start: 5175
    functionDepth: 2
    functionLinenumber: 5175
    functionLinenumberEnd: 5177
    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:5180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5181
      start: 5179
    functionDepth: 2
    functionLinenumber: 5179
    functionLinenumberEnd: 5181
    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:5184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5185
      start: 5183
    functionDepth: 2
    functionLinenumber: 5183
    functionLinenumberEnd: 5185
    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:5188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5189
      start: 5187
    functionDepth: 2
    functionLinenumber: 5187
    functionLinenumberEnd: 5189
    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:5192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5193
      start: 5191
    functionDepth: 2
    functionLinenumber: 5191
    functionLinenumberEnd: 5193
    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:5196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5197
      start: 5195
    functionDepth: 2
    functionLinenumber: 5195
    functionLinenumberEnd: 5197
    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:5211,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCovertParams
    - num
    argTypes:
    - SCovertScarlarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5215
      start: 5205
    functionDepth: 1
    functionLinenumber: 5205
    functionLinenumberEnd: 5215
    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:5220,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5223,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5225,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5231,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5236,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5242,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5243,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5244,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: 5254
      start: 5217
    functionDepth: 1
    functionLinenumber: 5217
    functionLinenumberEnd: 5254
    functionName: vectorCompareAndSelect
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - filterGetCompFunc
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataGetData
    - filterDoCompare
    - qError
    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:5259,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5260,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5273,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5277,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5278,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5278,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5282,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5286,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5289,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5292,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5293,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5293,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5302,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5303,1
    - Dst: vectorCompareAndSelect
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5303,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5308,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5312,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5313,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5313,1
    - Dst: freeSCovertScarlarParams
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5319,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5320,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: 5322
      start: 5256
    functionDepth: 2
    functionLinenumber: 5256
    functionLinenumberEnd: 5322
    functionName: greatestLeastImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - taosMemoryMalloc
    - setTzCharset
    - SCL_ERR_JRET
    - taosMemoryCalloc
    - vectorCompareAndSelect
    - freeSCovertScarlarParams
    - GET_PARAM_TYPE
    - colDataSetNULL
    - colDataGetData
    - TMAX
    - colDataSetVal
    - qError
    - colDataSetNNULL
    - GET_PARAM_BYTES
    - taosMemoryFree
    - vectorConvertSingleCol
    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:5325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5326
      start: 5324
    functionDepth: 3
    functionLinenumber: 5324
    functionLinenumberEnd: 5326
    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:5329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5330
      start: 5328
    functionDepth: 3
    functionLinenumber: 5328
    functionLinenumberEnd: 5330
    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:5333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5335
      start: 5332
    functionDepth: 1
    functionLinenumber: 5332
    functionLinenumberEnd: 5335
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5342,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5342,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5351,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5358,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5358,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5365,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5366,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5372,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5378,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5378,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - node
    - pStRtFuncInfo
    - pWinRange
    - winRangeValid
    - type
    argTypes:
    - STimeRangeNode*
    - void*
    - STimeWindow*
    - bool*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5382
      start: 5337
    functionDepth: 1
    functionLinenumber: 5337
    functionLinenumberEnd: 5382
    functionName: streamCalcCurrWinTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - scalarCalculate
    - qDebug
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamCalcCurrWinTimeRange(STimeRangeNode *node, void *pStRtFuncInfo,
      STimeWindow *pWinRange, 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: 71
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 189
    argCount: 4
    argNames:
    - type
    - optr
    - comparFn
    - scalarMode
    argTypes:
    - int32_t
    - int32_t
    - int8_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 376
    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:380,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: 383
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 383
    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:392,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:392,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:400,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:400,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:408,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:408,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:416,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:416,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:424,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:424,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:432,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:432,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:440,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:440,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:448,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:448,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:456,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:456,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:464,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:464,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: 475
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 475
    functionName: filterGetCompFuncEx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - IS_FLOAT_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: 482
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 482
    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:486,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:493,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 505
    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:514,1
    - Dst: FILTER_COPY_RA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - ra
    - r
    argTypes:
    - SFilterRangeCtx*
    - SFilterRange*
    - SFilterRangeNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 523
    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:528,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:532,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:538,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:540,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - type
    - options
    - ctx
    argTypes:
    - int32_t
    - int32_t
    - SFilterRangeCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 545
    functionName: filterInitRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - qError
    - taosMemoryCalloc
    - taosMemoryFree
    - getComparFunc
    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: 569
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 569
    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:572,1
    - Dst: filterResetRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:572,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - type
    - options
    argTypes:
    - SFilterRangeCtx*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 582
    functionName: filterReuseRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_ERR_RET
    - getComparFunc
    - filterResetRangeCtx
    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:587,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:588,1
    - Dst: getDataMin
      Src: /src/tdengine/source/libs/scalar/src/filter.c:588,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:590,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:594,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:595,1
    - Dst: getDataMax
      Src: /src/tdengine/source/libs/scalar/src/filter.c:595,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:597,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:601,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - cur
    - ra
    - notNull
    argTypes:
    - SFilterRangeCtx*
    - SFilterRange*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 608
    functionName: filterConvertRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - getDataMin
    - getDataMax
    - FILTER_SET_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:614,1
    - Dst: CHK_AND_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:615,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:616,1
    - Dst: SET_OR_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:620,1
    - Dst: CHK_OR_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:621,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:622,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: 628
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 628
    functionName: filterAddRangeOptr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - SET_OR_OPTR
    - SET_AND_OPTR
    - FILTER_SET_FLAG
    - CHK_AND_OPTR
    - CHK_OR_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:634,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:635,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:636,1
    - Dst: APPEND_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:637,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:638,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:650,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:651,1
    - Dst: FREE_FROM_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:652,1
    - Dst: 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_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:659,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:664,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:665,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:666,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:689,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:690,1
    - Dst: INSERT_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:692,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:699,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:700,1
    - Dst: APPEND_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:706,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:710,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:711,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:712,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:720,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:721,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:722,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:737,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:738,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:740,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:745,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:747,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:755,1
    - Dst: filterConvertRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:755,1
    - Dst: FREE_FROM_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:758,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:759,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:759,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:761,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 101
    argCount: 3
    argNames:
    - h
    - ra
    - optr
    argTypes:
    - void*
    - SFilterRange*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 767
    functionName: filterAddRangeImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - INSERT_RANGE
    - FREE_FROM_RANGE
    - FILTER_GREATER
    - FREE_RANGE
    - SIMPLE_COPY_VALUES
    - FLT_ERR_RET
    - APPEND_RANGE
    - FILTER_SET_FLAG
    - filterConvertRange
    - filterAddRangeOptr
    - SFilterRangeCtx*::pCompareFunc
    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:773,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:774,1
    - Dst: getDataMin
      Src: /src/tdengine/source/libs/scalar/src/filter.c:774,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:778,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:779,1
    - Dst: getDataMax
      Src: /src/tdengine/source/libs/scalar/src/filter.c:779,1
    - Dst: filterAddRangeImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - h
    - ra
    - optr
    argTypes:
    - void*
    - SFilterRange*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: filterAddRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - filterAddRangeImpl
    - getDataMin
    - SIMPLE_COPY_VALUES
    - getDataMax
    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:791,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:802,1
    - Dst: filterAddRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - dst
    - src
    - optr
    argTypes:
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 786
    functionDepth: 4
    functionLinenumber: 786
    functionLinenumberEnd: 807
    functionName: filterAddRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltError
    - filterAddRange
    - 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:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 833
    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:838,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:842,1
    - Dst: operateVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:848,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:852,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:854,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:855,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:865,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 868
    functionName: filterFinishRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - operateVal
    - FREE_RANGE
    - SIMPLE_COPY_VALUES
    - FILTER_SET_FLAG
    - SFilterRangeCtx*::pCompareFunc
    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:871,1
    - Dst: filterFinishRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - h
    - num
    argTypes:
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 885
    functionName: filterGetRangeNum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterFinishRange
    - FLT_ERR_RET
    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:888,1
    - Dst: filterFinishRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:888,1
    - Dst: FILTER_COPY_RA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:899,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - h
    - ra
    argTypes:
    - void*
    - SFilterRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 912
    functionName: filterGetRangeRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - qError
    - filterFinishRange
    - FILTER_COPY_RA
    - FLT_ERR_RET
    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:918,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:918,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:919,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:925,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:925,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:926,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:932,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:932,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:935,1
    - Dst: filterAddRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:935,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:938,1
    CyclomaticComplexity: 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: 944
      start: 914
    functionDepth: 5
    functionLinenumber: 914
    functionLinenumberEnd: 944
    functionName: filterSourceRangeFromCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterAddRangeCtx
    - FILTER_GET_FLAG
    - FLT_ERR_RET
    - filterAddRangeOptr
    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:957,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:964,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 971
    functionName: filterFreeRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 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:977,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:979,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:981,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:982,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:986,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:987,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - gp1
    - gp2
    - group
    argTypes:
    - SFilterGroup*
    - SFilterGroup*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 992
    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:995,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:996,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:998,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:999,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1000,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1005,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1006,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1007,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1014,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1016,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1017,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1018,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1026,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1028,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1032,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1034,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1037,1
    - Dst: filterDetachCnfGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1037,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - group
    - left
    - right
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1042
    functionName: filterDetachCnfGroups
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - FLT_ERR_RET
    - taosArrayGetSize
    - taosArrayPop
    - filterDetachCnfGroup
    - fltDebug
    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:1046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fields
    - type
    - v
    argTypes:
    - SFilterFields*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1052
    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:1057,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1061,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: 1069
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1069
    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:1083,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1084,1
    - Dst: filterGetFiledByData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1085,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1094,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1097,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1098,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1107,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1112,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1114,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1115,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1117,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1119,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1121,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1126,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1127,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1129,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1131,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1134,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1139,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1141,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: 1149
      start: 1073
    functionDepth: 2
    functionLinenumber: 1073
    functionLinenumberEnd: 1149
    functionName: filterAddField
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - filterGetFiledByDesc
    - fltError
    - taosMemoryFreeClear
    - taosMemoryRealloc
    - FLT_ERR_RET
    - FILTER_SET_FLAG
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - filterGetFiledByData
    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:1152,1
    - Dst: FILTER_GET_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1152,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - field
    - fid
    argTypes:
    - SFilterInfo*
    - SFilterField*
    - SFilterFieldId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1151
    functionDepth: 3
    functionLinenumber: 1151
    functionLinenumberEnd: 1157
    functionName: filterAddColFieldFromField
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterAddField
    - FILTER_SET_FLAG
    - 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:1161,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1165,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1165,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1166,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1173,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1181,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - info
    - node
    - fid
    argTypes:
    - SFilterInfo*
    - SNode*
    - SFilterFieldId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1159
    functionDepth: 3
    functionLinenumber: 1159
    functionLinenumberEnd: 1185
    functionName: filterAddFieldFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterAddField
    - FLT_ERR_RET
    - nodeType
    - fltDebug
    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:1189,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1191,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1192,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1194,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1195,1
    - Dst: FLT_PACKAGE_UNIT_HASH_KEY
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1199,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1200,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1212,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1217,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1233,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1234,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1235,1
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1239,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1241,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1241,1
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1246,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1247,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1248,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1252,1
    - Dst: FILTER_GET_COL_FIELD_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1253,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1257,1
    - Dst: FLT_PACKAGE_UNIT_HASH_KEY
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1259,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1260,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1261,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1262,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: 1269
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1269
    functionName: filterAddUnitImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - taosHashGet
    - FILTER_UNIT_RIGHT_FIELD
    - operatorTypeStr
    - FILTER_GET_COL_FIELD_PRECISION
    - fltError
    - FILTER_GET_COL_FIELD_TYPE
    - memset
    - taosMemoryRealloc
    - FLT_ERR_RET
    - FILTER_UNIT_LEFT_FIELD
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - FLT_PACKAGE_UNIT_HASH_KEY
    - scalarGetOperatorParamNum
    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:1272,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: 1273
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1273
    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:1279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - group
    - unitIdx
    argTypes:
    - SFilterGroup*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1289
    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:1297,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1299
    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:1306,1
    - Dst: filterAddFieldFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1306,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1307,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1307,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1312,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1315,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1324,1
    - Dst: sclConvertValueToSclParam
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1328,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1341,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1347,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1352,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1352,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1353,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1358,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1363,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1365,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1368,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1369,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1377,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1378,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1379,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1381,1
    - Dst: filterAddFieldFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1381,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1383,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1383,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1385,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1385,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1387,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1388,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 4
    argNames:
    - pContext
    - info
    - tree
    - group
    argTypes:
    - void*
    - SFilterInfo*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1301
    functionDepth: 4
    functionLinenumber: 1301
    functionLinenumberEnd: 1393
    functionName: fltAddGroupUnitFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodesGetValueFromNode
    - taosArrayPush
    - filterAddFieldFromNode
    - filterAddUnit
    - sclConvertValueToSclParam
    - filterAddUnitToGroup
    - FILTER_GET_COL_FIELD_TYPE
    - memcpy
    - filterFreeGroup
    - FLT_ERR_RET
    - IS_VAR_DATA_TYPE
    - colDataDestroy
    - FILTER_GET_FIELD
    - taosMemoryCalloc
    - taosMemoryFree
    - filterAddField
    - FOREACH
    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:1397,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1400,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1400,1
    - Dst: FILTER_UNIT_COL_DESC
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1400,1
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1401,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1404,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1405,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1407,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1408,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1409,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1409,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1412,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1413,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: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1415,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1418,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1419,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1425,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1425,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: 1426
      start: 1395
    functionDepth: 3
    functionLinenumber: 1395
    functionLinenumberEnd: 1426
    functionName: filterAddUnitFromUnit
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_UNIT_COL_DESC
    - FILTER_UNIT_VAL_DATA
    - FILTER_UNIT_RIGHT_FIELD
    - varDataTLen
    - filterAddUnit
    - FLT_ERR_RET
    - FILTER_UNIT_LEFT_FIELD
    - IS_VAR_DATA_TYPE
    - FILTER_GET_FIELD
    - FILTER_SET_FLAG
    - FILTER_UNIT_DATA_TYPE
    - filterAddField
    - FILTER_UNIT_OPTR
    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: 1434
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1434
    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:1441,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1443,1
    - Dst: filterAddColFieldFromField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1443,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1445,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1445,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1450,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1452,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1454,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1454,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1455,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1455,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1461,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1463,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1465,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1465,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1466,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1466,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1472,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1474,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1480,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1481,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1486,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1486,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1487,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1488,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1488,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1489,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1492,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1492,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1493,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1495,1
    - Dst: func
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1497,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1498,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1500,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1502,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1503,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1503,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1504,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1504,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1505,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1505,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1508,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1510,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1512,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1513,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1513,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: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1521,1
    - Dst: filterAddUnitImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1521,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1522,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1523,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1525,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1525,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1530,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1531,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1533,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1535,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1536,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1536,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1537,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1537,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1538,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1540,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1540,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1543,1
    - Dst: taosMemoryMalloc
      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: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1548,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1549,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1549,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1550,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1551,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1551,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1553,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1553,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1565,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1567,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1571,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1571,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1572,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1572,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1573,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1574,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1580,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1582,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1584,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1586,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1586,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1587,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1587,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1588,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1589,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1595,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1597,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1606,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1608,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1608,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1609,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1611,1
    - Dst: func
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1613,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1614,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1616,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1618,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1619,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1619,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1620,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1620,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1621,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1621,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1623,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1625,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1627,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1628,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1628,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: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1636,1
    - Dst: filterAddUnitImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1636,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1637,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1638,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1640,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1640,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1643,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1644,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1652,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1653,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1655,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1657,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1658,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1658,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1659,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1659,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1660,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1662,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1662,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1665,1
    - Dst: taosMemoryMalloc
      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: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1670,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1671,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1671,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1672,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1673,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1673,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1675,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1675,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1679,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1680,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1683,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1684,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: 1693
      start: 1436
    functionDepth: 4
    functionLinenumber: 1436
    functionLinenumberEnd: 1693
    functionName: filterAddGroupUnitFromCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_COL_FIELD
    - FILTER_GET_FLAG
    - taosMemoryMalloc
    - taosArrayPush
    - filterAddUnit
    - filterAddUnitToGroup
    - fltError
    - FILTER_GET_COL_FIELD_TYPE
    - memset
    - FLT_ERR_RET
    - SIMPLE_COPY_VALUES
    - filterAddUnitImpl
    - func
    - FILTER_GET_FIELD
    - filterAddField
    - getComparFunc
    - filterAddColFieldFromField
    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:1700,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1703,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1708,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1710,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1712,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1714,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1718,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1719,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1722,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1724,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1728,1
    - Dst: filterDetachCnfGroups
      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: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1732,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1740,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1741,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1745,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1753,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1757,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1765,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1767,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1771,1
    - Dst: fltAddGroupUnitFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1771,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1778,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1780,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1785,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1785,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1791,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1792,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1793,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1695
    functionDepth: 5
    functionLinenumber: 1695
    functionLinenumberEnd: 1798
    functionName: fltTreeToGroup
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltAddGroupUnitFromNode
    - taosArrayDestroy
    - taosArrayAddAll
    - taosArrayInit
    - nodeType
    - nodesWalkExpr
    - FLT_ERR_JRET
    - fltError
    - FLT_ERR_RET
    - taosArrayDestroyEx
    - FILTER_SET_FLAG
    - filterDetachCnfGroups
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes fltTreeToGroup(SNode *pNode, void *pContext)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1805,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1809,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1813,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1817,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1821,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1826,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1830,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1830,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1834,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1834,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1847,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1853,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1857,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1861,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1865,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: 1876
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1876
    functionName: fltConverToStr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - GET_DOUBLE_VAL
    - tsnprintf
    - memcpy
    - 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:1881,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1886,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1887,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1891,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1894,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1898,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1899,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:1907,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1911,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1914,1
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1919,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1922,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1923,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1926,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1927,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1929,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1930,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1931,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1934,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1939,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1939,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1943,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1946,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1950,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1953,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1954,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1957,1
    - Dst: FILTER_UNIT_RIGHT2_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1958,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1960,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1961,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1962,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1966,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1970,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1970,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1973,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1976,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1980,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1983,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1984,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1987,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1990,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1998,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2000,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2003,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2011,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2012,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2015,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2015,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2016,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2018,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2019,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: strncat
      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:2028,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2031,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2031,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2032,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2034,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2035,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: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2041,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2051,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2053,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2054,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2056,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: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2063,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
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 145
    argCount: 3
    argNames:
    - info
    - msg
    - options
    argTypes:
    - SFilterInfo*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 1878
    functionDepth: 2
    functionLinenumber: 1878
    functionLinenumberEnd: 2074
    functionName: filterDumpInfoToString
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltConverToStr
    - FILTER_UNIT_RIGHT_FIELD
    - varDataLen
    - FILTER_UNIT_RIGHT2_FIELD
    - FILTER_UNIT_OPTR
    - TMIN
    - FILTER_GET_FLAG
    - FILTER_UNIT_LEFT_FIELD
    - IS_VAR_DATA_TYPE
    - operatorTypeStr
    - FILTER_UNIT_DATA_TYPE
    - IS_STR_DATA_BLOB
    - blobDataLen
    - strncat
    - tsnprintf
    - nodeType
    - qDebug
    - FLT_ERR_RET
    - fltDebug
    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:2086,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2076
    functionDepth: 1
    functionLinenumber: 2076
    functionLinenumberEnd: 2095
    functionName: filterFreeColInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterFreeRangeCtx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void filterFreeColInfo(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2097
    functionDepth: 1
    functionLinenumber: 2097
    functionLinenumberEnd: 2103
    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:2110,1
    - Dst: filterFreeColInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2116,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2123,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - gRes
    argTypes:
    - SFilterGroupCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2105
    functionDepth: 2
    functionLinenumber: 2105
    functionLinenumberEnd: 2125
    functionName: filterFreeGroupCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterFreeColInfo
    - taosMemoryFreeClear
    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:2132,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2133,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2134,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - field
    - type
    argTypes:
    - SFilterField*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2127
    functionDepth: 1
    functionLinenumber: 2127
    functionLinenumberEnd: 2139
    functionName: filterFreeField
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - FILTER_GET_FLAG
    - 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:2142,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - SFilterPCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2141
    functionDepth: 1
    functionLinenumber: 2141
    functionLinenumberEnd: 2144
    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:2151,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2152,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2153,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2154,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2156,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2158,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2159,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2160,1
    - Dst: filterFreeField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2164,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2167,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2171,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2174,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2176,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2178,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2180,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2183,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2186,1
    - Dst: filterFreePCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2188,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2190,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2146
    functionDepth: 2
    functionLinenumber: 2146
    functionLinenumberEnd: 2193
    functionName: filterFreeInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 19
    functionsReached:
    - FILTER_GET_FLAG
    - taosArrayDestroy
    - filterFreeGroup
    - taosMemoryFreeClear
    - taosArrayGet
    - filterFreePCtx
    - taosArrayGetSize
    - nodesDestroyNode
    - filterFreeRangeCtx
    - filterFreeField
    linkageType: ''
    returnType: void
    signature: void filterFreeInfo(SFilterInfo *info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2197,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2201,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - unit
    - extInfo
    argTypes:
    - SFilterUnit*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2195
    functionDepth: 1
    functionLinenumber: 2195
    functionLinenumberEnd: 2220
    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:2226,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2227,1
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2228,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2234,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2236,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2237,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2241,1
    - Dst: FILTER_UNIT_DATA_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2242,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2247,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2255,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2255,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2257,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2258,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2261,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2266,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2267,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2267,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2272,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2278,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2279,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2281,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2283,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2283,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: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2291,1
    - Dst: sclConvertValueToSclParam
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2296,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2298,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2299,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2300,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2305,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2306,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2306,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2306,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2308,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2311,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2313,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2317,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2318,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2318,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2318,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2323,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2325,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2326,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2332,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2332,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2332,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2332,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2334,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2337,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2338,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2343
    functionName: fltInitValFieldData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_UNIT_RIGHT_FIELD
    - varDataLen
    - sclConvertValueToSclParam
    - taosUcs4ToMbs
    - FILTER_SET_FLAG
    - FILTER_GET_FLAG
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - FILTER_UNIT_DATA_TYPE
    - qError
    - taosMemoryCalloc
    - scalarGetOperatorParamNum
    - varDataSetLen
    - IS_STR_DATA_BLOB
    - assignVal
    - FILTER_UNIT_DATA_PRECISION
    - varDataVal
    - blobDataTLen
    - varDataCopy
    - nodesGetValueFromNode
    - nodeType
    - fltError
    - memcpy
    - FLT_ERR_RET
    - TMAX
    - scalarGenerateSetFromList
    - colDataDestroy
    - taosMemoryFree
    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:2346,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2387,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: 2392
      start: 2345
    functionDepth: 1
    functionLinenumber: 2345
    functionLinenumberEnd: 2392
    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:2395,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2396,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2397,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2403,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2404,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2405,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2408,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2409,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2412,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2413,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2414,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2417,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2418,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2422,1
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2425,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2426,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2427,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2430,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2431,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2435,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2436,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2439,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2443,1
    - Dst: filterAddRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2443,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: 2446
      start: 2394
    functionDepth: 4
    functionLinenumber: 2394
    functionLinenumberEnd: 2446
    functionName: filterAddUnitRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - GET_INT8_VAL
    - FILTER_UNIT_VAL_DATA
    - fltError
    - filterAddRange
    - SIMPLE_COPY_VALUES
    - FLT_ERR_RET
    - FILTER_SET_FLAG
    - FILTER_UNIT_DATA_TYPE
    - FILTER_UNIT_OPTR
    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:2449,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2450,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2451,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2452,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:2459,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2460,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2461,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - ctx1
    - ctx2
    - equal
    argTypes:
    - SFilterRangeCtx*
    - SFilterRangeCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2448
    functionDepth: 1
    functionLinenumber: 2448
    functionLinenumberEnd: 2476
    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:2480,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2484,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2484,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2487,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2489,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2491,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2493,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2493,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2494,1
    - Dst: FILTER_NO_MERGE_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2496,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2497,1
    - Dst: filterAddUnitRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2497,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2498,1
    - Dst: MR_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2498,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2500,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2500,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2500,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2502,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2502,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2506,1
    - Dst: FILTER_PUSH_CTX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2508,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2516,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: 2519
      start: 2478
    functionDepth: 5
    functionLinenumber: 2478
    functionLinenumberEnd: 2519
    functionName: filterMergeUnits
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - FILTER_PUSH_CTX
    - taosArrayDestroy
    - FILTER_UNIT_VAL_DATA
    - filterAddUnitRange
    - MR_EMPTY_RES
    - FLT_ERR_JRET
    - FLT_ERR_RET
    - taosArrayGetP
    - FILTER_NO_MERGE_DATA_TYPE
    - SIMPLE_COPY_VALUES
    - filterInitRangeCtx
    - FILTER_NO_MERGE_OPTR
    - taosArrayGetSize
    - FILTER_UNIT_DATA_TYPE
    - filterFreeRangeCtx
    - FILTER_UNIT_OPTR
    - filterAddRangeOptr
    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:2526,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2528,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2533,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2535,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2537,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2539,1
    - Dst: FILTER_GROUP_UNIT
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2545,1
    - Dst: FILTER_UNIT_COL_IDX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2546,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2549,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2551,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2556,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2556,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2557,1
    - Dst: FILTER_PUSH_UNIT
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2561,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2565,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2567,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2569,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2575,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2578,1
    - Dst: filterMergeUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2578,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2586,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2587,1
    - Dst: FILTER_COPY_IDX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2594,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2600,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2605,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2607,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2608,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2609
      start: 2521
    functionDepth: 6
    functionLinenumber: 2521
    functionLinenumberEnd: 2609
    functionName: filterMergeGroupUnits
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - filterFreeGroupCtx
    - taosArrayInit
    - taosSort
    - FILTER_SET_FLAG
    - FILTER_GROUP_UNIT
    - FILTER_UNIT_COL_IDX
    - FLT_ERR_JRET
    - FILTER_UNIT_DATA_TYPE
    - taosMemoryCalloc
    - FILTER_NO_MERGE_DATA_TYPE
    - FLT_RET
    - taosMemoryFreeClear
    - SCL_ERR_JRET
    - getComparFunc
    - FILTER_COPY_IDX
    - FLT_ERR_RET
    - FILTER_PUSH_UNIT
    - filterMergeUnits
    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: 2647
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2647
    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:2669,1
    - Dst: filterIsSameUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2674,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2682,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - gRes1
    - gRes2
    - conflict
    argTypes:
    - SFilterGroupCtx*
    - SFilterGroupCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2649
    functionDepth: 1
    functionLinenumber: 2649
    functionLinenumberEnd: 2701
    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:2705,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2706,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2709,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2709,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2711,1
    - Dst: filterReuseRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2711,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2715,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2720,1
    - Dst: filterCopyRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2720,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2721,1
    - Dst: filterSourceRangeFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2721,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: 2724
      start: 2703
    functionDepth: 6
    functionLinenumber: 2703
    functionLinenumberEnd: 2724
    functionName: filterMergeTwoGroupsImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_COL_FIELD
    - filterCopyRangeCtx
    - fltError
    - FILTER_GET_COL_FIELD_TYPE
    - FLT_ERR_RET
    - filterInitRangeCtx
    - filterSourceRangeFromCtx
    - filterReuseRangeCtx
    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:2729,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2734,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2743,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2745,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2759,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2760,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2765,1
    - Dst: filterMergeTwoGroupsImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2765,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2767,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2774,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2775,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2779,1
    - Dst: filterCompareRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2779,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2784,1
    - Dst: filterCompareRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2784,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2789,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2793,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2794,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2798,1
    - Dst: filterCompareRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2798,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2803,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2807,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2808,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2818,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2819,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2822,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2825,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2826,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2826,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2827,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2830,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2834,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2836,1
    - Dst: filterFreeColInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2840,1
    - Dst: FILTER_PUSH_CTX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2841,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2844,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2851,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2852,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2854,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2858,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 4
    argNames:
    - info
    - gRes1
    - gRes2
    - all
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - SFilterGroupCtx**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2726
    functionDepth: 7
    functionLinenumber: 2726
    functionLinenumberEnd: 2861
    functionName: filterMergeTwoGroups
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterCheckColConflict
    - FLT_CHK_JMP
    - taosArrayPush
    - filterFreeGroupCtx
    - FILTER_PUSH_CTX
    - taosArrayInit
    - filterMergeTwoGroupsImpl
    - taosArrayDestroy
    - fltError
    - FLT_ERR_JRET
    - filterCompareRangeCtx
    - taosArrayGet
    - taosArrayDestroyEx
    - FILTER_SET_FLAG
    - taosArrayGetSize
    - filterFreeColInfo
    - filterFreeRangeCtx
    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:2868,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2890,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2891,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2893,1
    - Dst: filterMergeTwoGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2893,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2895,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2899,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2914,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2915,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2917,1
    - Dst: filterMergeTwoGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2917,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2919,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2923,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2951,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2863
    functionDepth: 8
    functionLinenumber: 2863
    functionLinenumberEnd: 2954
    functionName: filterMergeGroups
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - fltError
    - FLT_ERR_JRET
    - filterMergeTwoGroups
    - taosSort
    - FILTER_SET_FLAG
    - memmove
    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:2957,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2963,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2965,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2970,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2972,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2974,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - info
    - group
    argTypes:
    - SFilterInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2956
    functionDepth: 1
    functionLinenumber: 2956
    functionLinenumberEnd: 2986
    functionName: filterConvertGroupFromArray
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_ERR_JRET
    - taosMemoryCalloc
    - taosArrayGet
    - taosArrayGetSize
    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:2989,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2990,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2996,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2998,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3005,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3009,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3017,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3019,1
    - Dst: filterInitUnitsFields
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3019,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3027,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3029,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3030,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3032,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3035,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3037,1
    - Dst: filterAddUnitFromUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3039,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3040,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3041,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3042,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3049,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3050,1
    - Dst: filterAddGroupUnitFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3053,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3054,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3058,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3059,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3064,1
    - Dst: filterConvertGroupFromArray
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3064,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3066,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3068,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3072,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3074,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3076,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3078,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 2988
    functionDepth: 5
    functionLinenumber: 2988
    functionLinenumberEnd: 3079
    functionName: filterRewrite
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - FILTER_SET_FLAG
    - FILTER_GET_FLAG
    - filterFreeGroup
    - FLT_ERR_JRET
    - filterInitUnitsFields
    - FILTER_NO_MERGE_DATA_TYPE
    - FLT_RET
    - filterAddGroupUnitFromCtx
    - memset
    - filterAddUnitFromUnit
    - taosArrayGetSize
    - filterConvertGroupFromArray
    - filterAddUnitToGroup
    - fltError
    - qDebug
    - taosArrayGetP
    - filterFreeInfo
    - taosArrayDestroyEx
    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:3086,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3088,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3093,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3107,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3108,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3112,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3114,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3121,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3124,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3127,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3141,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3142,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3147,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3147,1
    - Dst: FILTER_GET_COL_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3148,1
    - Dst: FILTER_GET_COL_FIELD_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3149,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3153,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3154,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3158,1
    - Dst: filterSourceRangeFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3158,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3160,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3163,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3164,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3170,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3180,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3181,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3081
    functionDepth: 6
    functionLinenumber: 3081
    functionLinenumberEnd: 3184
    functionName: filterGenerateColRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - FILTER_GET_COL_FIELD
    - FILTER_GET_COL_FIELD_ID
    - fltError
    - FLT_ERR_JRET
    - taosMemoryFreeClear
    - filterFreeRangeCtx
    - filterInitRangeCtx
    - filterSourceRangeFromCtx
    - memmove
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - FILTER_NO_MERGE_DATA_TYPE
    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:3191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3197
      start: 3186
    functionDepth: 2
    functionLinenumber: 3186
    functionLinenumberEnd: 3197
    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:3200,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3201,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3202,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3210,1
    - Dst: filterGetCompFuncIdx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3210,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3210,1
    - Dst: filterGetRangeCompFuncFromOptrs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3211,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3212,1
    - Dst: FILTER_UNIT_COL_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3214,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3217,1
    - Dst: FILTER_GET_VAL_FIELD_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3222,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3222,1
    - Dst: FILTER_UNIT_COL_SIZE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3227,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3199
    functionDepth: 1
    functionLinenumber: 3199
    functionLinenumberEnd: 3232
    functionName: filterGenerateComInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - FILTER_UNIT_COL_SIZE
    - filterGetRangeCompFuncFromOptrs
    - FILTER_UNIT_VAL_DATA
    - FILTER_GET_VAL_FIELD_DATA
    - filterGetCompFuncIdx
    - FLT_ERR_RET
    - FILTER_GET_FIELD
    - FILTER_UNIT_COL_ID
    - FILTER_UNIT_DATA_TYPE
    - FILTER_UNIT_OPTR
    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:3238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3234
    functionDepth: 1
    functionLinenumber: 3234
    functionLinenumberEnd: 3243
    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:3248,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3254,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3328,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3329,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3339,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3340,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3347,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3348,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3364,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3365,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3406,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3407,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3411,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3413,1
    - Dst: FILTER_CLR_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3425,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3426,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3431,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3431,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: 3434
      start: 3245
    functionDepth: 3
    functionLinenumber: 3245
    functionLinenumberEnd: 3434
    functionName: filterRmUnitByRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterDumpInfoToString
    - FLT_RET
    - fltError
    - memset
    - FLT_ERR_RET
    - filterDoCompare
    - FILTER_SET_FLAG
    - FILTER_CLR_FLAG
    - FILTER_NO_MERGE_DATA_TYPE
    - fltDebug
    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:3453,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3460,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3471,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: 3496
      start: 3436
    functionDepth: 2
    functionLinenumber: 3436
    functionLinenumberEnd: 3496
    functionName: filterExecuteBasedOnStatisImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterDoCompare
    - colDataIsNull
    - colDataGetData
    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:3505,1
    - Dst: filterRmUnitByRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3505,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3508,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3511,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3517,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3518,1
    - Dst: filterExecuteBasedOnStatisImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3521,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3527,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3532,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: 3533
      start: 3498
    functionDepth: 4
    functionLinenumber: 3498
    functionLinenumberEnd: 3533
    functionName: filterExecuteBasedOnStatis
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - FLT_RET
    - fltError
    - FLT_ERR_JRET
    - 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:3539,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: 3540
      start: 3535
    functionDepth: 1
    functionLinenumber: 3535
    functionLinenumberEnd: 3540
    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:3546,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: 3547
      start: 3542
    functionDepth: 1
    functionLinenumber: 3542
    functionLinenumberEnd: 3547
    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:3557,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3557,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3559,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3565,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3573,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: 3574
      start: 3549
    functionDepth: 5
    functionLinenumber: 3549
    functionLinenumberEnd: 3574
    functionName: filterExecuteImplIsNull
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_RET
    - FLT_ERR_RET
    - colDataIsNull
    - 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:3583,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3583,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3585,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3593,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3601,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: 3602
      start: 3576
    functionDepth: 5
    functionLinenumber: 3576
    functionLinenumberEnd: 3602
    functionName: filterExecuteImplNotNull
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_RET
    - FLT_ERR_RET
    - colDataIsNull
    - 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:3615,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3615,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3617,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3625,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3631,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    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: 3642
      start: 3604
    functionDepth: 5
    functionLinenumber: 3604
    functionLinenumberEnd: 3642
    functionName: filterExecuteImplRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_RET
    - filterExecuteBasedOnStatis
    - FLT_ERR_RET
    - colDataIsNull_s
    - colDataGetData
    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:3650,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3650,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3652,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3659,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3665,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3669,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3671,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3673,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3673,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3673,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3673,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3675,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3676,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3677,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3679,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3680,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3683,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3685,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3696,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    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: 3697
      start: 3644
    functionDepth: 5
    functionLinenumber: 3644
    functionLinenumberEnd: 3697
    functionName: filterExecuteImplMisc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_RET
    - varDataLen
    - varDataVal
    - filterExecuteBasedOnStatis
    - taosMemoryFreeClear
    - FLT_ERR_RET
    - colDataIsNull_s
    - colDataGetData
    - taosUcs4ToMbs
    - filterDoCompare
    - qError
    - 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: 13
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3705,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3705,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3707,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3721,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3728,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3744,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3746,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3749,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3749,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3749,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3749,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3751,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3752,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3753,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3755,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3756,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3758,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3760,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3785,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    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: 3786
      start: 3699
    functionDepth: 5
    functionLinenumber: 3699
    functionLinenumberEnd: 3786
    functionName: filterExecuteImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_RET
    - varDataLen
    - varDataVal
    - filterExecuteBasedOnStatis
    - taosMemoryFreeClear
    - FLT_ERR_RET
    - colDataGetData
    - taosUcs4ToMbs
    - filterDoCompare
    - colDataIsNull
    - qError
    - 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:3789,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3794,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3821
      start: 3788
    functionDepth: 1
    functionLinenumber: 3788
    functionLinenumberEnd: 3821
    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:3826,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3828,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3831,1
    - Dst: filterMergeGroupUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3831,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3833,1
    - Dst: filterMergeGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3833,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3835,1
    - Dst: fltInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3836,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3840,1
    - Dst: fltInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3841,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3845,1
    - Dst: filterGenerateColRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3845,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3847,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3847,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3849,1
    - Dst: filterPostProcessRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3849,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3851,1
    - Dst: filterRewrite
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3851,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3853,1
    - Dst: filterGenerateComInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3853,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3856,1
    - Dst: filterSetExecFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3856,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3860,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3866
      start: 3823
    functionDepth: 9
    functionLinenumber: 3823
    functionLinenumberEnd: 3866
    functionName: filterPreprocess
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - filterDumpInfoToString
    - filterFreeGroupCtx
    - filterMergeGroups
    - FLT_ERR_JRET
    - filterRewrite
    - filterSetExecFunc
    - taosMemoryFreeClear
    - filterMergeGroupUnits
    - filterGenerateColRange
    - fltInfo
    - filterPostProcessRange
    - filterGenerateComInfo
    - taosMemoryCalloc
    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:3869,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3869,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3877,1
    - Dst: FILTER_GET_COL_FIELD_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3877,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3879,1
    - Dst: FILTER_GET_COL_FIELD_SLOT_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3879,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3883,1
    - Dst: filterUpdateComUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3883,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: 3886
      start: 3868
    functionDepth: 2
    functionLinenumber: 3868
    functionLinenumberEnd: 3886
    functionName: fltSetColFieldDataImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_COL_FIELD_ID
    - FILTER_ALL_RES
    - FILTER_EMPTY_RES
    - FLT_ERR_RET
    - FILTER_GET_COL_FIELD_SLOT_ID
    - filterUpdateComUnits
    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:3891,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3893,1
    - Dst: filterInitUnitsFields
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3896,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3898,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3903,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3905,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3910,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3912,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3914,1
    - Dst: filterConvertGroupFromArray
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3917,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3919,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3922,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3923,1
    - Dst: fltInitValFieldData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3923,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3925,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3926,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3926,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3928,1
    - Dst: filterPreprocess
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3928,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3930,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3930,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3932,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3937,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3939,1
    - Dst: taosMemoryMalloc
      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: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3945,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3945,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3950,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3950,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 3
    argNames:
    - tree
    - info
    - options
    argTypes:
    - SNode*
    - SFilterInfo*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3953
      start: 3888
    functionDepth: 10
    functionLinenumber: 3888
    functionLinenumberEnd: 3953
    functionName: fltInitFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - FILTER_GET_FLAG
    - taosArrayDestroy
    - filterConvertGroupFromArray
    - filterDumpInfoToString
    - taosArrayInit
    - FILTER_EMPTY_RES
    - taosMemoryMalloc
    - nodesWalkExpr
    - FLT_ERR_JRET
    - tstrerror
    - taosArrayDestroyEx
    - FILTER_SET_FLAG
    - qInfo
    - fltInitValFieldData
    - filterInitUnitsFields
    - filterPreprocess
    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:3991,1
    - Dst: compareInt64Double
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3995,1
    - Dst: compareDoubleVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3997,1
    - Dst: doubleFromDecimal64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4000,1
    - Dst: compareDoubleVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4001,1
    - Dst: doubleFromDecimal128
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4004,1
    - Dst: compareDoubleVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4005,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 3987
    functionDepth: 5
    functionLinenumber: 3987
    functionLinenumberEnd: 4011
    functionName: fltSclCompareWithFloat64
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - doubleFromDecimal128
    - compareInt64Double
    - compareDoubleVal
    - compareUint64Double
    - qError
    - doubleFromDecimal64
    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:4017,1
    - Dst: compareInt64Val
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4021,1
    - Dst: compareDoubleInt64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4023,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4029
      start: 4013
    functionDepth: 1
    functionLinenumber: 4013
    functionLinenumberEnd: 4029
    functionName: fltSclCompareWithInt64
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - compareUint64Int64
    - qError
    - compareInt64Val
    - compareDoubleInt64
    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:4035,1
    - Dst: compareInt64Uint64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4039,1
    - Dst: compareDoubleUint64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4041,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4047
      start: 4031
    functionDepth: 1
    functionLinenumber: 4031
    functionLinenumberEnd: 4047
    functionName: fltSclCompareWithUInt64
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - compareInt64Uint64
    - qError
    - compareUint64Val
    - compareDoubleUint64
    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:4052,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4055,1
    - Dst: decimalCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4056,1
    - Dst: decimalCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pData1
    - pType1
    - pData2
    - pType2
    argTypes:
    - void*
    - SDataType*
    - void*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4059
      start: 4049
    functionDepth: 7
    functionLinenumber: 4049
    functionLinenumberEnd: 4059
    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:4074,1
    - Dst: fltSclCompareWithInt64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4079,1
    - Dst: fltSclCompareWithFloat64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4082,1
    - Dst: fltSclCompareWithDecimal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4086,1
    - Dst: fltSclCompareWithDecimal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4090,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4093,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4098
      start: 4061
    functionDepth: 8
    functionLinenumber: 4061
    functionLinenumberEnd: 4098
    functionName: fltSclCompareDatum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltSclCompareWithInt64
    - fltSclCompareWithFloat64
    - fltSclCompareWithDecimal
    - qError
    - fltSclCompareWithUInt64
    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:4102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pt1
    - pt2
    argTypes:
    - SFltSclPoint*
    - SFltSclPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4115
      start: 4100
    functionDepth: 9
    functionLinenumber: 4100
    functionLinenumberEnd: 4115
    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:4118,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4119,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4123,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4124,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4126,1
    - Dst: fltSclLessPoint
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4128,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4130,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4131,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4135,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4136,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4143,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4145,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4147,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4148,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4154,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4156,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4158,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4159,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - pts1
    - pts2
    - result
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4164
      start: 4117
    functionDepth: 10
    functionLinenumber: 4117
    functionLinenumberEnd: 4164
    functionName: fltSclMergeSort
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - FLT_ERR_RET
    - taosArrayGetSize
    - 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:4167,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4168,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4170,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4172,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4174,1
    - Dst: fltSclMergeSort
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4174,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4177,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4178,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4180,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4185,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4186,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4191,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4192,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - pts1
    - pts2
    - isUnion
    - merged
    argTypes:
    - SArray*
    - SArray*
    - bool
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4200
      start: 4166
    functionDepth: 11
    functionLinenumber: 4166
    functionLinenumberEnd: 4200
    functionName: fltSclMerge
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGet
    - fltSclMergeSort
    - FLT_ERR_RET
    - taosArrayGetSize
    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:4202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pts1
    - pts2
    - merged
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4202
      start: 4202
    functionDepth: 12
    functionLinenumber: 4202
    functionLinenumberEnd: 4202
    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:4204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pts1
    - pts2
    - merged
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4204
    functionDepth: 12
    functionLinenumber: 4204
    functionLinenumberEnd: 4204
    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:4213,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4214,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4218,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4225,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4226,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4227,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4229,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4231,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4232,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - colNode
    - colRangeList
    - colRange
    argTypes:
    - SColumnNode*
    - SArray*
    - SFltSclColumnRange**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4212
    functionDepth: 1
    functionLinenumber: 4212
    functionLinenumberEnd: 4236
    functionName: fltSclGetOrCreateColumnRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosArrayGet
    - FLT_ERR_RET
    - taosArrayGetSize
    - taosArrayGetLast
    - nodesEqualNode
    - 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:4248,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4270,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4275,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4276,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4281,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4286,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4288,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4301,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 3
    argNames:
    - datum
    - pColNode
    - valNode
    argTypes:
    - SFltSclDatum*
    - SColumnNode*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4306
      start: 4238
    functionDepth: 2
    functionLinenumber: 4238
    functionLinenumberEnd: 4306
    functionName: fltSclBuildDecimalDatumFromValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - convertToDecimal
    - qError
    - FLT_RET
    - taosStr2Double
    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:4309,1
    - Dst: fltSclBuildDecimalDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4310,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4352,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4357,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 3
    argNames:
    - datum
    - pColNode
    - valNode
    argTypes:
    - SFltSclDatum*
    - SColumnNode*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4367
      start: 4308
    functionDepth: 3
    functionLinenumber: 4308
    functionLinenumberEnd: 4367
    functionName: fltSclBuildDatumFromValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltSclBuildDecimalDatumFromValueNode
    - qDebug
    - taosStr2Int64
    - IS_DECIMAL_TYPE
    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:4415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 3
    argNames:
    - datum
    - type
    - val
    argTypes:
    - SFltSclDatum*
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4421
      start: 4369
    functionDepth: 1
    functionLinenumber: 4369
    functionLinenumberEnd: 4421
    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:4429,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4430,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4432,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4433,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4441,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4442,1
    - 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: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4451,1
    - Dst: fltSclBuildDatumFromBlockSmaValue
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4451,1
    - Dst: COL_AGG_GET_MIN_PTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4451,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4455,1
    - Dst: fltSclBuildDatumFromBlockSmaValue
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4455,1
    - Dst: COL_AGG_GET_MAX_PTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4455,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4457,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4458,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4460,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4461,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: 4464
      start: 4423
    functionDepth: 2
    functionLinenumber: 4423
    functionLinenumberEnd: 4464
    functionName: fltSclBuildRangeFromBlockSma
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - fltSclBuildDatumFromBlockSmaValue
    - FLT_ERR_RET
    - COL_AGG_GET_MAX_PTR
    - COL_AGG_GET_MIN_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:4470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4471,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4473,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4485,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4487,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4489,1
    - Dst: fltSclBuildRangeFromBlockSma
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4489,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4490,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4493,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4495,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4497,1
    - Dst: fltSclIntersect
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4497,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4498,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4499,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4502,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4503,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4506,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4511,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4514,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4516,1
    - Dst: FILTER_ALL_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4519,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4521,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4543,1
    - Dst: SFilterRangeNode*::rc::func
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4585,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4594,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4599,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: 4600
      start: 4466
    functionDepth: 13
    functionLinenumber: 4466
    functionLinenumberEnd: 4600
    functionName: filterRangeExecute
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - FLT_RET
    - FILTER_ALL_RES
    - taosArrayInit
    - FILTER_EMPTY_RES
    - taosArrayGet
    - qDebug
    - FLT_ERR_RET
    - fltSclBuildRangeFromBlockSma
    - SFilterRangeNode*::rc::func
    - taosArrayGetSize
    - fltSclIntersect
    - FILTER_NO_MERGE_DATA_TYPE
    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:4613,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4613,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4614,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4614,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4630,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4632,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4632,1
    - Dst: FILTER_NO_MERGE_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4637,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4641,1
    - Dst: filterAddUnitRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4641,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4654,1
    - Dst: filterSourceRangeFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4654,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4655,1
    - Dst: filterResetRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4655,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4662,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4665,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4667,1
    - Dst: filterGetRangeNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4667,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4669,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4673,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4677,1
    - Dst: filterGetRangeRes
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4677,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4678,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4679,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4680,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4683,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4688,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4689,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4691,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4691,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4692,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4697,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4699,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4700,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4702,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4702,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4703,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 3
    argNames:
    - info
    - win
    - isStrict
    argTypes:
    - SFilterInfo*
    - STimeWindow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4706
      start: 4602
    functionDepth: 6
    functionLinenumber: 4602
    functionLinenumberEnd: 4706
    functionName: filterGetTimeRangeImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - taosSetInt64Aligned
    - FILTER_GET_FLAG
    - filterAddUnitRange
    - FLT_ERR_JRET
    - qDebug
    - taosGetInt64Aligned
    - filterInitRangeCtx
    - FILTER_NO_MERGE_OPTR
    - filterSourceRangeFromCtx
    - TAOS_SET_OBJ_ALIGNED
    - filterFreeRangeCtx
    - FILTER_UNIT_OPTR
    - filterAddRangeOptr
    - filterGetRangeRes
    - filterResetRangeCtx
    - filterGetRangeNum
    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:4713,1
    - Dst: getDataMin
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4715,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4747,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - point
    - d
    argTypes:
    - SFltSclPoint*
    - SFltSclDatum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4751
      start: 4708
    functionDepth: 1
    functionLinenumber: 4708
    functionLinenumberEnd: 4751
    functionName: fltSclGetTimeStampDatum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - qError
    - getDataMin
    - getDataMax
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclGetTimeStampDatum(SFltSclPoint *point, SFltSclDatum *d)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4759,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4759,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4764,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4765,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4767,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4770,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4771,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4772,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4773,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4775,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4779,1
    - Dst: fltSclGetTimeStampDatum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4779,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4780,1
    - Dst: fltSclGetTimeStampDatum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4780,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4781,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4782,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4785,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4786,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4790,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4795,1
    - Dst: filterGetTimeRangeImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4795,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4799,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4801,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - pNode
    - win
    - isStrict
    argTypes:
    - SNode*
    - STimeWindow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4802
      start: 4753
    functionDepth: 7
    functionLinenumber: 4753
    functionLinenumberEnd: 4802
    functionName: filterGetTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 4
    functionsReached:
    - taosSetInt64Aligned
    - FLT_RET
    - FLT_ERR_JRET
    - taosArrayGet
    - filterFreeInfo
    - taosArrayGetSize
    - TAOS_SET_OBJ_ALIGNED
    - filterGetTimeRangeImpl
    - fltSclGetTimeStampDatum
    - filterInitFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGetTimeRange(SNode *pNode, STimeWindow *win, bool *isStrict)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4805,1
    - Dst: FILTER_ALL_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4805,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4811,1
    - Dst: FILTER_GET_COL_FIELD_SIZE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4815,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4816,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4818,1
    - Dst: FILTER_GET_COL_FIELD_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4822,1
    - Dst: FILTER_GET_COL_FIELD_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4823,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4825,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4826,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4831,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4832,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4835,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4835,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4835,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4835,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4837,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4840,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4850,1
    - Dst: filterUpdateComUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4850,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - info
    - rows
    - gotNchar
    argTypes:
    - SFilterInfo*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4854
      start: 4804
    functionDepth: 2
    functionLinenumber: 4804
    functionLinenumberEnd: 4854
    functionName: filterConverNcharColumns
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - FILTER_GET_COL_FIELD_SIZE
    - FILTER_ALL_RES
    - FILTER_EMPTY_RES
    - varDataLen
    - FILTER_GET_COL_FIELD_TYPE
    - FLT_ERR_RET
    - FILTER_GET_COL_FIELD_DATA
    - taosMbsToUcs4
    - qError
    - varDataVal
    - varDataCopy
    - filterUpdateComUnits
    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:4859,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4866
      start: 4856
    functionDepth: 1
    functionLinenumber: 4856
    functionLinenumberEnd: 4866
    functionName: filterFreeNcharColumns
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - FILTER_GET_COL_FIELD_TYPE
    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:4870,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4872,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4876,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - stat
    - pNode
    argTypes:
    - SFltTreeStat*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4881
      start: 4868
    functionDepth: 1
    functionLinenumber: 4868
    functionLinenumberEnd: 4881
    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: 40
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4886,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4891,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4896,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4896,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4909,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4915,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4922,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4925,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4931,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4933,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4941,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4943,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4952,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4957,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4957,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4962,1
    - Dst: FLT_IS_COMPARISON_OPERATOR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4964,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4974,1
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4981,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4982,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4982,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: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: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5004,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5005,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5010,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5010,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5020,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5043,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5044,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5044,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5053,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5058,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5064,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5070,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5072,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5078,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5087,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5087,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 155
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5092
      start: 4883
    functionDepth: 1
    functionLinenumber: 4883
    functionLinenumberEnd: 5092
    functionName: fltReviseRewriter
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - nodeType
    - fltError
    - IS_NUMERIC_TYPE
    - FLT_IS_COMPARISON_OPERATOR
    - IS_DECIMAL_TYPE
    - LIST_LENGTH
    - scalarGetOperatorParamNum
    - vectorGetConvertType
    - FOREACH
    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:5096,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5098,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5102,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pInfo
    - pNode
    - pStat
    argTypes:
    - SFilterInfo*
    - SNode**
    - SFltTreeStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5104
      start: 5094
    functionDepth: 1
    functionLinenumber: 5094
    functionLinenumberEnd: 5104
    functionName: fltReviseNodes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_RET
    - FLT_ERR_JRET
    - taosArrayDestroy
    - 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:5111,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5114,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5114,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5118,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5119,1
    - Dst: doubleFromDecimal64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5121,1
    - Dst: doubleFromDecimal128
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5122,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5124,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5125,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5136,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5137,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5139,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5140,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5146,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5147,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5149,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5150,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5155,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5156,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5158,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5159,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - oper
    - points
    argTypes:
    - SFltSclOperator*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5162
      start: 5106
    functionDepth: 5
    functionLinenumber: 5106
    functionLinenumberEnd: 5162
    functionName: fltSclBuildRangePointsForInOper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - doubleFromDecimal128
    - taosArrayPush
    - FLT_RET
    - FLT_ERR_RET
    - fltSclBuildDatumFromValueNode
    - IS_DECIMAL_TYPE
    - TMAX
    - doubleFromDecimal64
    - TMIN
    - FOREACH
    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:5168,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5168,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5172,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5173,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5175,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5176,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5182,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5182,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5186,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5187,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5189,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5190,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5196,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5196,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: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5203,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5204,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c: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:5227,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5228,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5230,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5231,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5237,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5237,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: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5253,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5254,1
    - Dst: 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:5266,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5267,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:5279,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5280,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5282,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5283,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5288,1
    - Dst: fltSclBuildRangePointsForInOper
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5288,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5292,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 98
    argCount: 2
    argNames:
    - oper
    - points
    argTypes:
    - SFltSclOperator*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5297
      start: 5164
    functionDepth: 6
    functionLinenumber: 5164
    functionLinenumberEnd: 5297
    functionName: fltSclBuildRangePoints
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - FLT_ERR_RET
    - fltSclBuildDatumFromValueNode
    - fltSclBuildRangePointsForInOper
    - qError
    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:5302,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5304,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5306,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5310,1
    - Dst: fltSclGetOrCreateColumnRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5310,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5311,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5313,1
    - Dst: fltSclBuildRangePoints
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5315,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5317,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5318,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5320,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5321,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5323,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5325,1
    - Dst: fltSclIntersect
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5325,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5326,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5327,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - pInfo
    - sclOpListCNF
    - colRangeList
    argTypes:
    - SFilterInfo*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5341
      start: 5300
    functionDepth: 13
    functionLinenumber: 5300
    functionLinenumberEnd: 5341
    functionName: fltSclProcessCNF
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGet
    - FLT_ERR_RET
    - fltSclBuildRangePoints
    - fltSclGetOrCreateColumnRange
    - taosArrayGetSize
    - fltSclIntersect
    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:5344,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5359,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5359,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5360,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5360,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5364
      start: 5343
    functionDepth: 1
    functionLinenumber: 5343
    functionLinenumberEnd: 5364
    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:5367,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5374,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5376,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5378,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5380,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5382,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5383,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5386,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5387,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5388,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pNode
    - sclOpList
    argTypes:
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5394
      start: 5366
    functionDepth: 2
    functionLinenumber: 5366
    functionLinenumberEnd: 5394
    functionName: fltSclCollectOperatorFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - IS_NUMERIC_TYPE
    - FLT_ERR_RET
    - nodesDestroyNode
    - nodesCloneNode
    - 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:5397,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5406,1
    - Dst: fltSclIsCollectableNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5407,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5411,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5411,1
    - Dst: fltSclCollectOperatorFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - sclOpList
    argTypes:
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5396
    functionDepth: 3
    functionLinenumber: 5396
    functionLinenumberEnd: 5413
    functionName: fltSclCollectOperatorsFromLogicCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FLT_ERR_RET
    - fltSclCollectOperatorFromNode
    - fltSclIsCollectableNode
    - FOREACH
    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:5416,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5417,1
    - Dst: fltSclCollectOperatorFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5417,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5418,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5419,1
    - Dst: fltSclCollectOperatorsFromLogicCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - sclOpList
    argTypes:
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5422
      start: 5415
    functionDepth: 4
    functionLinenumber: 5415
    functionLinenumberEnd: 5422
    functionName: fltSclCollectOperators
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltSclCollectOperatorFromNode
    - FLT_ERR_RET
    - nodeType
    - fltSclCollectOperatorsFromLogicCond
    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:5425,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5428,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5430,1
    - Dst: fltSclCollectOperators
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5430,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5431,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5433,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5435,1
    - Dst: fltSclProcessCNF
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5435,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5440,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5441,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5446,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5447,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5450,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5451,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5452,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5453,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5455,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - pInfo
    - pNode
    argTypes:
    - SFilterInfo*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5458
      start: 5424
    functionDepth: 14
    functionLinenumber: 5424
    functionLinenumberEnd: 5458
    functionName: fltOptimizeNodes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - fltSclProcessCNF
    - taosArrayInit
    - FLT_ERR_JRET
    - taosArrayGet
    - FLT_ERR_RET
    - taosArrayGetSize
    - nodesDestroyNode
    - fltSclCollectOperators
    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:5465,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - param
    - id
    - data
    argTypes:
    - void*
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5476
      start: 5460
    functionDepth: 1
    functionLinenumber: 5460
    functionLinenumberEnd: 5476
    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:5481,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5482,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5483,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - param
    - id
    - data
    argTypes:
    - void*
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5494
      start: 5478
    functionDepth: 1
    functionLinenumber: 5478
    functionLinenumberEnd: 5494
    functionName: fltGetDataFromSlotId
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltError
    - taosArrayGet
    - taosArrayGetSize
    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:5501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - info
    - param
    argTypes:
    - SFilterInfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5502
      start: 5496
    functionDepth: 3
    functionLinenumber: 5496
    functionLinenumberEnd: 5502
    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:5505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - param
    argTypes:
    - SFilterInfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5506
      start: 5504
    functionDepth: 3
    functionLinenumber: 5504
    functionLinenumberEnd: 5506
    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:5516,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5517,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5521,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5523,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5524,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5534,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5540,1
    - Dst: fltReviseNodes
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5540,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5546,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5550,1
    - Dst: fltInitFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5550,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5553,1
    - Dst: fltOptimizeNodes
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5553,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5560,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5562,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: 5563
      start: 5508
    functionDepth: 15
    functionLinenumber: 5508
    functionLinenumberEnd: 5563
    functionName: filterInitFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 20
    functionsReached:
    - fltReviseNodes
    - fltOptimizeNodes
    - FLT_RET
    - fltError
    - FLT_ERR_JRET
    - FLT_ERR_RET
    - filterFreeInfo
    - fltInitFromNode
    - taosMemoryCalloc
    - fltDebug
    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:5575,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5575,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5578,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5580,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5582,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5583,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5584,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5587,1
    - Dst: taosArrayDestroy
      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: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5608,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5609,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5613,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5637,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 6
    argNames:
    - info
    - pSrc
    - p
    - statis
    - numOfCols
    - pResultStatus
    argTypes:
    - SFilterInfo*
    - SSDataBlock*
    - SColumnInfoData**
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5640
      start: 5565
    functionDepth: 1
    functionLinenumber: 5565
    functionLinenumberEnd: 5640
    functionName: filterExecute
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 19
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - scalarCalculate
    - fltError
    - FLT_ERR_JRET
    - sclFreeParam
    - sclCreateColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterExecute(SFilterInfo *info, SSDataBlock *pSrc, SColumnInfoData
      **p, SColumnDataAgg *statis,\n                      int16_t numOfCols, int32_t
      *pResultStatus)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5652,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5664,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5666,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5669,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5677
      start: 5650
    functionDepth: 1
    functionLinenumber: 5650
    functionLinenumberEnd: 5677
    functionName: classifyConditionImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fmIsPseudoColumnFunc
    - nodeType
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes classifyConditionImpl(SNode *pNode, void *pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5689
      start: 5679
    functionDepth: 1
    functionLinenumber: 5679
    functionLinenumberEnd: 5689
    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:5693,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5697,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5699,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5700,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5703,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5704,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5705,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCond
    - res
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5715
      start: 5691
    functionDepth: 1
    functionLinenumber: 5691
    functionLinenumberEnd: 5715
    functionName: filterIsMultiTableColsCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesDestroyList
    - nodesMakeList
    - nodesCollectColumnsFromNode
    - LIST_LENGTH
    - 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:5703,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5704,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5709
      start: 5702
    functionDepth: 1
    functionLinenumber: 5702
    functionLinenumberEnd: 5709
    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:5728,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5730,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5737,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5739,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5743,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5747,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5749,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5756,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5758,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5763,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5765,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5772,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5774,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5782,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5784,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5800,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5803,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5806,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5809,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5825,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5828,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5829,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5830,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5831,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5832,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5833,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5834,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5835,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: 5839
      start: 5717
    functionDepth: 2
    functionLinenumber: 5717
    functionLinenumberEnd: 5839
    functionName: partitionLogicCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterIsMultiTableColsCond
    - filterClassifyCondition
    - nodesListMakeAppend
    - nodesDestroyList
    - nodesMergeConds
    - nodesDestroyNode
    - nodesCloneNode
    - FOREACH
    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:5843,1
    - Dst: partitionLogicCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5845,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5850,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5850,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5857,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5873,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: 5902
      start: 5841
    functionDepth: 3
    functionLinenumber: 5841
    functionLinenumberEnd: 5902
    functionName: filterPartitionCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterIsMultiTableColsCond
    - nodeType
    - partitionLogicCond
    - FLT_ERR_RET
    - filterClassifyCondition
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterPartitionCond(SNode **pCondition, SNode **pPrimaryKeyCond,
      SNode **pTagIndexCond, SNode **pTagCond,\n                            SNode
      **pOtherCond)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 24
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:29,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - precision
    - valueNode
    argTypes:
    - int8_t
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 42
    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:45,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:55,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:57,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pType
    - numOfRows
    - pParam
    argTypes:
    - SDataType*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: sclCreateColumnInfoData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 1
    functionsReached:
    - taosMemoryCalloc
    - colInfoDataEnsureCapacity
    - 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:71,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:76,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:76,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:81,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:85,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:86,1
    - Dst: vectorConvertSingleColImpl
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:87,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pValueNode
    - out
    - overflow
    argTypes:
    - SValueNode*
    - SScalarParam*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: sclConvertValueToSclParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 2
    functionsReached:
    - nodesGetValueFromNode
    - setTzCharset
    - vectorConvertSingleColImpl
    - sclFreeParam
    - colDataSetVal
    - sclCreateColumnInfoData
    - colInfoDataEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclConvertValueToSclParam(SValueNode *pValueNode, SScalarParam
      *out, int32_t *overflow)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:97,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:99,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:101,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:104,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:105,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:114,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:114,1
    - Dst: getBinScalarOperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:119,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:120,1
    - Dst: OperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:120,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:122,1
    - Dst: vectorAssignRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:122,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:126,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:128,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: 129
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 129
    functionName: sclExtendResRowsRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - OperatorFn
    - getBinScalarOperatorFn
    - taosArrayGetP
    - SCL_RET
    - colInfoDataEnsureCapacity
    - SCL_ERR_RET
    - sclError
    - vectorAssignRange
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - taosMemoryFree
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pDst
    - pSrc
    - pBlockList
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:137,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:137,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:139,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:140,1
    - Dst: taosHashSetEqualFp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:143,1
    - Dst: taosGetDefaultEqualFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:143,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:147,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:149,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:155,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:157,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:158,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:159,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:165,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:166,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:173,1
    - Dst: sclConvertValueToSclParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:177,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:180,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:187,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:188,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:189,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:190,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:192,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:199,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:200,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:201,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:202,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:204,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:211,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:212,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:213,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:216,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:221,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:222,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:227,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:228,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:229,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:230,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 5
    argNames:
    - data
    - pNode
    - type
    - typeMod
    - processType
    argTypes:
    - void**
    - void*
    - uint32_t
    - STypeMod
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 231
    functionName: scalarGenerateSetFromList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 1
    functionsReached:
    - IS_FLOAT_TYPE
    - sclConvertValueToSclParam
    - colDataDestroy
    - taosGetDefaultEqualFunction
    - SCL_RET
    - colInfoDataCleanup
    - varDataTLen
    - extractTypeFromTypeMod
    - IS_VAR_DATA_TYPE
    - taosHashSetEqualFp
    - sclError
    - taosMemoryCalloc
    - colDataGetVarData
    - IS_STR_DATA_BLOB
    - taosMemoryFreeClear
    - SCL_ERR_RET
    - taosGetDefaultHashFunction
    - blobDataTLen
    - IS_INTEGER_TYPE
    - SCL_ERR_JRET
    - nodesGetValueFromNode
    - taosHashPut
    - taosHashInit
    - taosHashCleanup
    - FOREACH
    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:235,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:240,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:242,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - res
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: sclFreeRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - taosHashCleanup
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void sclFreeRes(SHashObj *res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:253,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:254,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:259,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - param
    argTypes:
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 267
    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:274,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:276,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:277,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:280,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - res
    argTypes:
    - SValueNode*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: sclCopyValueNodeValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - nodesGetValueFromNode
    - memcpy
    - SCL_ERR_RET
    - sclError
    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:291,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - param
    - paramNum
    argTypes:
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 295
    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:361,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 1
    argNames:
    - valueNode
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 371
    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: 30
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:374,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:376,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:378,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:387,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:388,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:391,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:391,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:393,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:395,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:395,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:395,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:401,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:402,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:402,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:403,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:409,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:411,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:416,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:424,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:425,1
    - Dst: getScaleFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:425,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:427,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:427,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:428,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:428,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:429,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:430,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:431,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:431,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:432,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:432,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:433,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:434,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:436,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:436,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:442,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:443,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:445,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:447,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:458,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:458,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:459,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:464,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:465,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:467,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:475,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:476,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:477,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:478,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:483,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:485,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:488,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:489,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:490,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:491,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:494,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:496,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:507,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:509,1
    - Dst: nodeType
      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: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:522,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:523,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 122
    argCount: 4
    argNames:
    - node
    - param
    - ctx
    - rowNum
    argTypes:
    - SNode*
    - SScalarParam*
    - SScalarCtx*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 531
    functionName: sclInitParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - IS_FLOAT_TYPE
    - IS_DECIMAL_TYPE
    - SCL_RET
    - taosArrayGet
    - IS_NUMERIC_TYPE
    - IS_VAR_DATA_TYPE
    - sclCreateColumnInfoData
    - decimalCalcTypeMod
    - sclError
    - taosHashGet
    - colDataSetNULL
    - taosArrayGetSize
    - SCL_ERR_RET
    - LIST_LENGTH
    - IS_INTEGER_TYPE
    - getScaleFromTypeMod
    - nodesGetValueFromNode
    - nodeType
    - qDebug
    - taosArrayGetP
    - colDataSetVal
    - scalarGenerateSetFromList
    - taosHashPut
    - taosHashCleanup
    - vectorGetConvertType
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclInitParam(SNode *node, SScalarParam *param, SScalarCtx *ctx,
      int32_t *rowNum)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncTypeFromId
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:538,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:541,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:542,1
    - Dst: uError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:543,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:543,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:547,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:547,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:549,1
    - Dst: uError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:550,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:550,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:555,1
    - Dst: uError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:591,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - funcId
    - pParamNodes
    - res
    - pCtx
    argTypes:
    - int32_t
    - SNodeList*
    - SScalarParam*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 597
    functionName: sclSetStreamExtWinParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - taosArrayGet
    - uError
    - sclCreateColumnInfoData
    - SCL_ERR_RET
    - fmGetFuncTypeFromId
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclSetStreamExtWinParam(int32_t funcId, SNodeList* pParamNodes,
      SScalarParam* res, SScalarCtx *pCtx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncTypeFromId
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:600,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:602,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:641,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:642,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:645,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:649,1
    - Dst: uError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:652,1
    - Dst: doCopyNItems
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:656,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 5
    argNames:
    - pResColData
    - offset
    - rows
    - funcId
    - pExtraParams
    argTypes:
    - SColumnInfoData*
    - int64_t
    - int64_t
    - int16_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 657
    functionName: scalarAssignPlaceHolderRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - doCopyNItems
    - taosArrayGet
    - memcpy
    - uError
    - taosArrayGetSize
    - fmGetFuncTypeFromId
    - colDataSetNItems
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarAssignPlaceHolderRes(SColumnInfoData* pResColData, int64_t
      offset, int64_t rows, int16_t funcId, const void* pExtraParams)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:663,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:665,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:669,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:671,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:672,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:678,1
    - Dst: sclSetStreamExtWinParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:678,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:679,1
    - Dst: fmSetStreamPseudoFuncParamVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:682,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:684,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:684,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:685,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:689,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:689,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:699,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: 701
      start: 659
    functionDepth: 5
    functionLinenumber: 659
    functionLinenumberEnd: 701
    functionName: sclInitStreamPseudoFuncParamList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - memcpy
    - sclFreeParamList
    - sclSetStreamExtWinParam
    - fmSetStreamPseudoFuncParamVal
    - SCL_ERR_RET
    - sclError
    - sclInitParam
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - LIST_LENGTH
    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:689,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 5
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 8
    functionsReached:
    - sclInitParam
    - SCL_ERR_JRET
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pParamNodes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:705,1
    - Dst: sclInitStreamPseudoFuncParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:706,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:711,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:713,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:725,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:727,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:728,1
    - Dst: SCL_IS_CONST_CALC
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:734,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:736,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:739,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:739,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:740,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:747,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:747,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:756,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:764,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:765,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: 766
      start: 703
    functionDepth: 6
    functionLinenumber: 703
    functionLinenumberEnd: 766
    functionName: sclInitParamList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_IS_CONST_NODE
    - SCL_IS_CONST_CALC
    - sclInitStreamPseudoFuncParamList
    - fmIsPlaceHolderFunc
    - sclFreeParamList
    - taosArrayGetP
    - ERASE_NODE
    - SCL_RET
    - SCL_ERR_RET
    - sclError
    - sclInitParam
    - taosMemoryCalloc
    - SCL_ERR_JRET
    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:736,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:739,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:739,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 735
    functionDepth: 5
    functionLinenumber: 735
    functionLinenumberEnd: 744
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclInitParam
    - SCL_IS_CONST_NODE
    - ERASE_NODE
    - SCL_ERR_JRET
    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:747,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 746
    functionDepth: 5
    functionLinenumber: 746
    functionLinenumberEnd: 749
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 8
    functionsReached:
    - sclInitParam
    - SCL_ERR_JRET
    linkageType: ''
    returnType: void
    signature: void FOREACH(tnode, pParamList)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:774,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:778,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:784,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:790,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:796,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:798,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:798,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:799,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 4
    argNames:
    - pNode
    - ctx
    - type
    - pTypeMod
    argTypes:
    - SNode*
    - SScalarCtx*
    - int32_t*
    - STypeMod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 810
    functionName: sclGetNodeType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - typeGetTypeModFromColInfo
    - taosHashGet
    - nodeType
    - SCL_ERR_RET
    - sclError
    - typeGetTypeModFromDataType
    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:814,1
    - Dst: sclGetNodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:814,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:815,1
    - Dst: sclGetNodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:815,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - SOperatorNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 817
    functionName: sclSetOperatorValueType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclGetNodeType
    - SCL_RET
    - 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:821,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:823,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:824,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:827,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:829,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:830,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:833,1
    - Dst: sclSetOperatorValueType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:833,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:835,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:835,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:836,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:838,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:838,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:839,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:846,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:847,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: 848
      start: 819
    functionDepth: 5
    functionLinenumber: 819
    functionLinenumberEnd: 848
    functionName: sclInitOperatorParams
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - setTzCharset
    - sclSetOperatorValueType
    - sclFreeParamList
    - SCL_RET
    - SCL_ERR_RET
    - sclError
    - sclInitParam
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - scalarGetOperatorParamNum
    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:856,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:858,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:861,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - node
    - ctx
    - res
    argTypes:
    - SNode*
    - SScalarCtx*
    - SScalarParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 850
    functionDepth: 5
    functionLinenumber: 850
    functionLinenumberEnd: 864
    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:879,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:879,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:880,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:880,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:882,1
    - Dst: vectorCompareImpl
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:882,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:884,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:886,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:887,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:888,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:888,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:891,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:891,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:897,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:898,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:899,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:900,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:904,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:905,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:906,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:906,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:909,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:909,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:916,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:916,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:919,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:919,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:925,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:926,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:927,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:928,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:930,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: 931
      start: 866
    functionDepth: 6
    functionLinenumber: 866
    functionLinenumberEnd: 931
    functionName: sclWalkCaseWhenList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - taosMemoryFreeClear
    - colDataIsNull_s
    - colDataGetData
    - colDataSetVal
    - vectorCompareImpl
    - SCL_RET
    - sclGetNodeRes
    - sclExtendResRows
    - SCL_ERR_JRET
    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:947,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:947,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:948,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:948,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:950,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:953,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:954,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:955,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:955,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:958,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:958,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:965,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:966,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:967,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:968,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:972,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:973,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:974,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:974,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:977,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:977,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:984,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:984,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:987,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:987,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:993,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:994,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:995,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:996,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:998,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: 999
      start: 933
    functionDepth: 6
    functionLinenumber: 933
    functionLinenumberEnd: 999
    functionName: sclWalkWhenList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - taosMemoryFreeClear
    - colDataIsNull_s
    - colDataGetData
    - colDataSetVal
    - SCL_RET
    - sclGetNodeRes
    - sclExtendResRows
    - SCL_ERR_JRET
    - taosMemoryFree
    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:1006,1
    - Dst: sclInitParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1006,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1007,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1009,1
    - Dst: callUdfScalarFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1010,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1012,1
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1017,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1019,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1019,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1020,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1023,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1025,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1034,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1034,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1035,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1041,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1042,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SFunctionNode*
    - SScalarCtx*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1001
    functionDepth: 7
    functionLinenumber: 1001
    functionLinenumberEnd: 1043
    functionName: sclExecFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - setTzCharset
    - sclInitParamList
    - tstrerror
    - sclFreeParamList
    - fmIsUserDefinedFunc
    - sclCreateColumnInfoData
    - callUdfScalarFunc
    - SCL_RET
    - SCL_ERR_RET
    - sclError
    - fmGetScalarFuncExecFuncs
    - SCL_ERR_JRET
    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:1047,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1049,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1053,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1054,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1058,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1059,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1066,1
    - Dst: sclInitParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1066,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1076,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1078,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1095,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1112,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1112,1
    - Dst: SCL_IS_CONST_CALC
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1119,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1120,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1127,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1128,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SLogicConditionNode*
    - SScalarCtx*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1045
    functionDepth: 7
    functionLinenumber: 1045
    functionLinenumberEnd: 1129
    functionName: sclExecLogic
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_IS_CONST_CALC
    - sclInitParamList
    - sclFreeParam
    - sclFreeParamList
    - colDataGetData
    - colDataSetVal
    - sclCreateColumnInfoData
    - SCL_RET
    - SCL_ERR_RET
    - sclError
    - SCL_ERR_JRET
    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:1136,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1137,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1138,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1138,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1140,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1140,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1140,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1141,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1141,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1141,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1151,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - param
    - ts
    argTypes:
    - SScalarParam*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1158
    functionName: sclGetFirstTsFromParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - strlen
    - varDataLen
    - varDataVal
    - varDataTLen
    - TAOS_CHECK_EXIT
    - taosParseTime
    - tstrerror
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - sclError
    - taosMemoryCalloc
    - taosMemoryFree
    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:1164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1171
    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:1178,1
    - Dst: sclIsPrimTimeStampCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1173
    functionDepth: 2
    functionLinenumber: 1173
    functionLinenumberEnd: 1183
    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:1187,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1187,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1188,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1190,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1190,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1194,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1198,1
    - Dst: sclGetFirstTsFromParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1198,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1200,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1203,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1205,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1205,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1208,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1212,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1212,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1219,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - ctx
    - pNode
    - tsValue
    argTypes:
    - SScalarCtx*
    - SNode*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1223
    functionName: sclGetExprTSValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - sclGetFirstTsFromParam
    - IS_TIMESTAMP_TYPE
    - TAOS_CHECK_EXIT
    - nodeType
    - tstrerror
    - sclError
    - IS_INTEGER_TYPE
    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:1230,1
    - Dst: sclGetExprTSValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1231,1
    - Dst: sclIsPrimTimeStampCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1232,1
    - Dst: sclGetExprTSValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1233,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1236,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1237,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1237,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - streamTsRange
    - node
    - params
    argTypes:
    - SScalarCtx*
    - SStreamTSRangeParas*
    - SOperatorNode*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1225
    functionDepth: 3
    functionLinenumber: 1225
    functionLinenumberEnd: 1251
    functionName: sclCalcStreamCurrWinTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclIsPrimTimeStampCol
    - nodeType
    - sclGetExprTSValue
    - sclError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sclCalcStreamCurrWinTimeRange(SScalarCtx *ctx, SStreamTSRangeParas
      *streamTsRange,\n                                                SOperatorNode
      *node, SScalarParam *params)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sclIsPrimTimeStampCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1258,1
    - Dst: sclIsPrimTimeStampCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1260,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1263,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1264,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1264,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1268,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1270,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1270,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1274,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1278,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1294,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1311,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - SScalarCtx*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1254
    functionDepth: 2
    functionLinenumber: 1254
    functionLinenumberEnd: 1333
    functionName: sclCalcStreamExtWinsTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - nodeType
    - sclIsPrimTimeStampCol
    - sclError
    - qError
    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:1340,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1343,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1347,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1351,1
    - Dst: sclInitOperatorParams
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1351,1
    - Dst: sclIsStreamRangeReq
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1353,1
    - Dst: sclCalcStreamCurrWinTimeRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1354,1
    - Dst: sclIsStreamRangeReq
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1358,1
    - Dst: sclCalcStreamExtWinsTimeRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1359,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1364,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1366,1
    - Dst: getBinScalarOperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1370,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1376,1
    - Dst: OperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1376,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1379,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1380,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SOperatorNode*
    - SScalarCtx*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1336
    functionDepth: 6
    functionLinenumber: 1336
    functionLinenumberEnd: 1381
    functionName: sclExecOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - OperatorFn
    - sclCalcStreamCurrWinTimeRange
    - nodeType
    - getBinScalarOperatorFn
    - sclFreeParamList
    - sclCalcStreamExtWinsTimeRange
    - SCL_RET
    - sclCreateColumnInfoData
    - sclInitOperatorParams
    - sclIsStreamRangeReq
    - SCL_ERR_JRET
    - scalarGetOperatorParamNum
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclExecOperator(SOperatorNode *node, SScalarCtx *ctx, SScalarParam
      *output)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1394,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1395,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1399,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1401,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1407,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1407,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1409,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1409,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1410,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1410,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1416,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1416,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1421,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1421,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1422,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1422,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1424,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1425,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1427,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1428,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1429,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1430,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1431,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1433,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1433,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1436,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1438,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1438,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1439,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1440,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1442,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1442,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1446,1
    - Dst: sclWalkCaseWhenList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1446,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1455,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1457,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1457,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1458,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1459,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1461,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1461,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1465,1
    - Dst: sclWalkWhenList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1465,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1474,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1475,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1476,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1477,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1478,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1479,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1480,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1481,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1482,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1488,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1489,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1490,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1491,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1492,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1493,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1494,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1495,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1496,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1497,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1499,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SCaseWhenNode*
    - SScalarCtx*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1383
    functionDepth: 7
    functionLinenumber: 1383
    functionLinenumberEnd: 1500
    functionName: sclExecCaseWhen
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - setTzCharset
    - sclWalkCaseWhenList
    - sclWalkWhenList
    - sclFreeParam
    - taosArrayGetP
    - colDataIsNull_s
    - colDataGetData
    - colDataSetVal
    - sclCreateColumnInfoData
    - SCL_RET
    - SCL_ERR_RET
    - sclError
    - sclGetNodeRes
    - vectorCompare
    - sclExtendResRows
    - SCL_ERR_JRET
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclExecCaseWhen(SCaseWhenNode *node, SScalarCtx *ctx, SScalarParam
      *output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1505,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1507,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1514,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1518,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1520,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - pNode
    - ctx
    - opType
    argTypes:
    - SNode**
    - SScalarCtx*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1533
    functionName: sclRewriteNullInOptr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - sclError
    - nodesMakeNode
    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:1536,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1545
    functionName: sclAggFuncWalker
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - fmIsAggFunc
    - nodeType
    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:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    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:1561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1569
    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:1576,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1578,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1581,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1581,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1587,1
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1588,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1589,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - node
    argTypes:
    - SCaseWhenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1571
    functionDepth: 2
    functionLinenumber: 1571
    functionLinenumberEnd: 1596
    functionName: sclConvertCaseWhenValueNodeTs
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclConvertToTsValueNode
    - SCL_IS_VAR_VALUE_NODE
    - SCL_ERR_RET
    - FOREACH
    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:1602,1
    - Dst: SCL_IS_NULL_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1604,1
    - Dst: sclContainsAggFuncNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1605,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1606,1
    - Dst: SCL_IS_COMPARISON_OPERATOR
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1609,1
    - Dst: SCL_DOWNGRADE_DATETYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1609,1
    - Dst: sclDowngradeValueType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1610,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1614,1
    - Dst: SCL_IS_NULL_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1616,1
    - Dst: sclContainsAggFuncNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1617,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1618,1
    - Dst: SCL_IS_COMPARISON_OPERATOR
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1621,1
    - Dst: SCL_DOWNGRADE_DATETYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1621,1
    - Dst: sclDowngradeValueType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1622,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1598
    functionDepth: 2
    functionLinenumber: 1598
    functionLinenumberEnd: 1627
    functionName: sclRewriteNonConstOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclContainsAggFuncNode
    - SCL_IS_COMPARISON_OPERATOR
    - nodeType
    - SCL_DOWNGRADE_DATETYPE
    - SCL_IS_NULL_VALUE_NODE
    - sclDowngradeValueType
    - sclRewriteNullInOptr
    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:1634,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1637,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1637,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1642,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pNode
    - ppSrcTable
    - multiTable
    argTypes:
    - SNode*
    - char**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1659
    functionName: sclGetValueNodeSrcTable
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 1
    functionsReached:
    - sclGetValueNodeSrcTable
    - strcmp
    - nodeType
    - FOREACH
    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:1664,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1664,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1670,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1671,1
    - Dst: SCL_NEED_SRC_TABLE_FUNC
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1675,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1676,1
    - Dst: sclExecFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1682,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1684,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1689,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1691,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1692,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1699,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1701,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1706,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1711,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1712,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1714,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1715,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1716,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1720,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1721,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1723,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1724,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1724,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1726,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1726,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1727,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1728,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1732,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1732,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1734,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1734,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1736,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1736,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1737,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1738,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1742,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1742,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1745,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1747,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1748,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1749,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1753,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1755,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1757,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1758,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1764,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1767,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1661
    functionDepth: 8
    functionLinenumber: 1661
    functionLinenumberEnd: 1769
    functionName: sclRewriteFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_IS_CONST_NODE
    - sclGetValueNodeSrcTable
    - SCL_NEED_SRC_TABLE_FUNC
    - varDataTLen
    - fmIsUserDefinedFunc
    - IS_VAR_DATA_TYPE
    - nodesSetValueNodeValue
    - sclError
    - nodesMakeNode
    - taosMemoryCalloc
    - IS_STR_DATA_BLOB
    - tstrncpy
    - sclExecFunction
    - sclFreeParam
    - fmIsScalarFunc
    - getJsonValueLen
    - blobDataTLen
    - memcpy
    - colDataIsNull_s
    - nodesDestroyNode
    - FOREACH
    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:1775,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1777,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1782,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1787,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1789,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1790,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1797,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1799,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1803,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1805,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1810,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1771
    functionDepth: 8
    functionLinenumber: 1771
    functionLinenumberEnd: 1815
    functionName: sclRewriteLogic
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - sclExecLogic
    - sclFreeParam
    - IS_VAR_DATA_TYPE
    - nodesSetValueNodeValue
    - sclError
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclRewriteLogic(SNode **pNode, SScalarCtx *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: scalarConvertOpValueNodeTs
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1820,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1825,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1828,1
    - Dst: SCL_IS_NULL_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1829,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1831,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1834,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1842,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1846,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1846,1
    - Dst: sclRewriteNonConstOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1847,1
    - Dst: sclExecOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1851,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1853,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1858,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1860,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1861,1
    - Dst: SCL_NEED_SRC_TABLE_OP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1867,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1868,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1869,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1875,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1877,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1879,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1884,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1888,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1890,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1896,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1899,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1817
    functionDepth: 7
    functionLinenumber: 1817
    functionLinenumberEnd: 1901
    functionName: sclRewriteOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_IS_CONST_NODE
    - sclRewriteNonConstOperator
    - WHERE_EACH
    - sclGetValueNodeSrcTable
    - SCL_NEED_SRC_TABLE_OP
    - IS_VAR_DATA_TYPE
    - nodesSetValueNodeValue
    - sclError
    - nodesMakeNode
    - sclExecOperator
    - tstrncpy
    - sclFreeParam
    - scalarConvertOpValueNodeTs
    - ERASE_NODE
    - sclRewriteNullInOptr
    - nodeType
    - SCL_IS_NULL_VALUE_NODE
    - colDataIsNull_s
    - nodesDestroyNode
    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:1906,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1911,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1911,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1916,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1918,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1918,1
    - Dst: sclExecCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1924,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1926,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1931,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1933,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1934,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1940,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1942,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1947,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1948,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1949,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1949,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1952,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1952,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1953,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1954,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1958,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1958,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1960,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1960,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1963,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1963,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1964,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1965,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1969,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1969,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1972,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1974,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1975,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1981,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1984,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1903
    functionDepth: 8
    functionLinenumber: 1903
    functionLinenumberEnd: 1986
    functionName: sclRewriteCaseWhen
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_IS_CONST_NODE
    - IS_STR_DATA_BLOB
    - tstrncpy
    - sclConvertCaseWhenValueNodeTs
    - varDataTLen
    - sclFreeParam
    - memcpy
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    - nodesSetValueNodeValue
    - sclExecCaseWhen
    - sclError
    - nodesMakeNode
    - nodesDestroyNode
    - taosMemoryCalloc
    - blobDataTLen
    - FOREACH
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclRewriteCaseWhen(SNode **pNode, SScalarCtx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1991,1
    - Dst: sclRewriteOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1992,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1995,1
    - Dst: sclRewriteFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1996,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1999,1
    - Dst: sclRewriteLogic
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2000,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2003,1
    - Dst: sclRewriteCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1988
    functionDepth: 9
    functionLinenumber: 1988
    functionLinenumberEnd: 2008
    functionName: sclConstantsRewriter
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclRewriteLogic
    - nodeType
    - sclRewriteOperator
    - sclRewriteCaseWhen
    - sclRewriteFunction
    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:2014,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2016,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2020,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2010
    functionDepth: 8
    functionLinenumber: 2010
    functionLinenumberEnd: 2027
    functionName: sclWalkFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - sclExecFunction
    - taosHashPut
    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:2033,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2035,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2039,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2029
    functionDepth: 8
    functionLinenumber: 2029
    functionLinenumberEnd: 2046
    functionName: sclWalkLogic
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - taosHashPut
    - sclExecLogic
    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:2052,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2054,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2058,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2048
    functionDepth: 7
    functionLinenumber: 2048
    functionLinenumberEnd: 2065
    functionName: sclWalkOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - sclExecOperator
    - taosHashPut
    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:2070,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2071,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2072,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2078,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2079,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2091,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2092,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2097,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2099,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2100,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2101,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2107,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2109,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2111,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2111,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2116,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2122,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2067
    functionDepth: 2
    functionLinenumber: 2067
    functionLinenumberEnd: 2128
    functionName: sclWalkTarget
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - nodeType
    - colDataAssign
    - sclFreeParam
    - taosArrayGet
    - taosArrayGetP
    - taosArrayGetSize
    - sclError
    - taosHashRemove
    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:2134,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2130
    functionDepth: 8
    functionLinenumber: 2130
    functionLinenumberEnd: 2145
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2148,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2148,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2150,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2155,1
    - Dst: sclWalkOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2156,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2159,1
    - Dst: sclWalkFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2160,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2163,1
    - Dst: sclWalkLogic
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2164,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2167,1
    - Dst: sclWalkTarget
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2168,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2171,1
    - Dst: sclWalkCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2172,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2175,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2147
    functionDepth: 9
    functionLinenumber: 2147
    functionLinenumberEnd: 2178
    functionName: sclCalcWalker
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclWalkLogic
    - sclWalkFunction
    - nodeType
    - sclWalkTarget
    - sclWalkCaseWhen
    - sclWalkOperator
    - sclError
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclCalcWalker(SNode *pNode, void *pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2182,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2188,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2188,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2190,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2191,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2194,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2195,1
    - Dst: sclFreeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pNode
    - dual
    - pRes
    argTypes:
    - SNode*
    - bool
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2180
    functionDepth: 2
    functionLinenumber: 2180
    functionLinenumberEnd: 2202
    functionName: sclCalcConstants
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExprPostOrder
    - taosHashInit
    - sclFreeRes
    - SCL_ERR_RET
    - sclError
    - taosGetDefaultHashFunction
    - SCL_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclCalcConstants(SNode *pNode, bool dual, SNode **pRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2206,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2204
    functionDepth: 1
    functionLinenumber: 2204
    functionLinenumberEnd: 2217
    functionName: sclGetMinusOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - IS_MATHABLE_TYPE
    - IS_DECIMAL_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:2226,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2226,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2230,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2231,1
    - Dst: checkOperatorRestypeIsTimestamp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2235,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2238,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2241,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2219
    functionDepth: 2
    functionLinenumber: 2219
    functionLinenumberEnd: 2248
    functionName: sclGetMathOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - checkOperatorRestypeIsTimestamp
    - decimalGetRetType
    - sclGetOpValueNodeTsPrecision
    - IS_VAR_DATA_TYPE
    - IS_DECIMAL_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:2262,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2267,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2268,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2269,1
    - Dst: nodesIsMatchRegularOp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2273,1
    - Dst: checkRegexPattern
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2274,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2250
    functionDepth: 1
    functionLinenumber: 2250
    functionLinenumberEnd: 2282
    functionName: sclGetCompOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - checkRegexPattern
    - nodeType
    - nodesIsRegularOp
    - nodesIsMatchRegularOp
    - IS_VAR_DATA_TYPE
    - IS_STR_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:2292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2302
    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:2313,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2304
    functionDepth: 1
    functionLinenumber: 2304
    functionLinenumberEnd: 2317
    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:2320,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2322,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2323,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2323,1
    - Dst: SCL_IS_NOTNULL_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2325,1
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2327,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2328,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2328,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2328,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2332,1
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2333,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2334,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2334,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2334,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - node
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2319
    functionDepth: 2
    functionLinenumber: 2319
    functionLinenumberEnd: 2341
    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
    - sclConvertToTsValueNode
    - SCL_ERR_RET
    - FOREACH
    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:2343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pRes
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2343
    functionDepth: 3
    functionLinenumber: 2343
    functionLinenumberEnd: 2343
    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:2345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pRes
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2345
    functionDepth: 3
    functionLinenumber: 2345
    functionLinenumberEnd: 2345
    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: scalarCalculateInRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pNode
    - pBlockList
    - pDst
    - pExtraParam
    - streamTsRange
    argTypes:
    - SNode*
    - SArray*
    - SScalarParam*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2350
    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, const void *pExtraParam,\n                        void *streamTsRange)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2355,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2364,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2364,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2366,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2367,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2370,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2371,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2374,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2376,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2376,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2377,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2380,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2382,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2385,1
    - Dst: sclExtendResRowsRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2385,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2387,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2387,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2388,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2388,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2393,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2394,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2394,1
    - Dst: sclFreeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 7
    argNames:
    - pNode
    - pBlockList
    - pDst
    - rowStartIdx
    - rowEndIdx
    - pExtraParam
    - pTsRange
    argTypes:
    - SNode*
    - SArray*
    - SScalarParam*
    - int32_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2352
    functionDepth: 2
    functionLinenumber: 2352
    functionLinenumberEnd: 2400
    functionName: scalarCalculateInRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - nodeType
    - sclExtendResRowsRange
    - colDataAssign
    - taosHashInit
    - sclFreeParam
    - taosArrayGetP
    - sclFreeRes
    - colInfoDataEnsureCapacity
    - SCL_ERR_RET
    - sclError
    - taosHashRemove
    - taosGetDefaultHashFunction
    - SCL_ERR_JRET
    - nodesWalkExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scalarCalculateInRange(SNode *pNode, SArray *pBlockList, SScalarParam
      *pDst, int32_t rowStartIdx,\n                               int32_t rowEndIdx,
      const void *pExtraParam, void *pTsRange)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2409,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2409,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2411,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2412,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2416,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2417,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2420,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2421,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2426,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2426,1
    - Dst: sclFreeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pNode
    - pExtraParam
    - pWins
    argTypes:
    - STimeRangeNode*
    - void*
    - SExtWinTimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2402
    functionDepth: 2
    functionLinenumber: 2402
    functionLinenumberEnd: 2431
    functionName: scalarCalculateExtWinsTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosHashInit
    - sclFreeRes
    - SCL_ERR_RET
    - sclError
    - taosGetDefaultHashFunction
    - qError
    - SCL_ERR_JRET
    - nodesWalkExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarCalculateExtWinsTimeRange(STimeRangeNode *pNode, const
      void *pExtraParam, SExtWinTimeWindow *pWins)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: sclGetMathOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2445,1
    - Dst: sclGetMinusOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2447,1
    - Dst: sclGetBitwiseOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2453,1
    - Dst: sclGetCompOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2474,1
    - Dst: sclGetJsonOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2433
    functionDepth: 3
    functionLinenumber: 2433
    functionLinenumberEnd: 2483
    functionName: scalarGetOperatorResultType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclGetJsonOperatorResType
    - sclGetMathOperatorResType
    - sclGetCompOperatorResType
    - sclGetBitwiseOperatorResType
    - sclGetMinusOperatorResType
    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:44,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:44,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:44,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - leftType
    - rightType
    - optr
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: noConvertBeforeCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - IS_NUMERIC_TYPE
    - IS_DECIMAL_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:62,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:66,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:70,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:74,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:79,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:83,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:87,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:91,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:95,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:99,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:103,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: 111
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 111
    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:115,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:115,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:117,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:119,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:119,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:119,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:121,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:122,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:127,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:132,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - inData
    - outData
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: convertNcharToDouble
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - varDataLen
    - varDataTLen
    - taosMemoryFreeClear
    - taosUcs4ToMbs
    - SCL_RET
    - SCL_ERR_RET
    - sclError
    - varDataVal
    - SCL_ERR_JRET
    - taosStr2Double
    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:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    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:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    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:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    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:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    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:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    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:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    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:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    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:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    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:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    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:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    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:184,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:185,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:186,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:188,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:192,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:194,1
    - Dst: convertNcharToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:194,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:195,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:197,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:199,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:199,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: getVectorBigintValue_JSON
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataGetVarData
    - convertNumberToNumber
    - convertNcharToDouble
    - SCL_RET
    - SCL_ERR_RET
    - sclError
    - colDataIsNull_var
    - 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:236,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - srcType
    - p
    argTypes:
    - int32_t
    - _getBigintValue_fn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 240
    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:245,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:245,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: 7
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: varToTimestamp
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - strlen
    - colDataSetInt64
    - taosParseTime
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToTimestamp(char *buf, SScalarParam *pOut, int32_t
      rowIndex, int32_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
    - int32_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:
    - SCL_RET
    - strlen
    - decimalFromStr
    - colDataGetData
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToDecimal(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int32_t *overflow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c: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
    - int32_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:
    - colDataSetInt32
    - colDataSetInt16
    - colDataSetInt8
    - taosStr2Int32
    - taosStr2Int8
    - SCL_RET
    - taosStr2Int16
    - colDataSetInt64
    - taosStr2Int64
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToSigned(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int32_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
    - int32_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:
    - colDataSetInt32
    - colDataSetInt16
    - colDataSetInt8
    - SCL_RET
    - taosStr2UInt8
    - colDataSetInt64
    - taosStr2UInt32
    - taosStr2UInt16
    - taosStr2UInt64
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToUnsigned(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int32_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
    - int32_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:
    - taosStr2Float
    - colDataSetDouble
    - SCL_RET
    - colDataSetFloat
    - taosStr2Double
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToFloat(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int32_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
    - int32_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:
    - SCL_RET
    - colDataSetInt8
    - taosStr2Int64
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToBool(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int32_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
    - int32_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:
    - varDataLen
    - taosMemoryCalloc
    - varDataTLen
    - memcpy
    - isHex
    - colDataSetVal
    - SCL_RET
    - SCL_ERR_RET
    - taosHex2Ascii
    - sclError
    - varDataVal
    - isValidateHex
    - taosMemoryFree
    - varDataSetLen
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToVarbinary(char *buf, SScalarParam *pOut, int32_t
      rowIndex, int32_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
    - int32_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:
    - blobDataLen
    - taosMemoryFree
    - memcpy
    - isHex
    - colDataSetVal
    - SCL_RET
    - blobDataSetLen
    - SCL_ERR_RET
    - taosHex2Ascii
    - sclError
    - taosMemoryCalloc
    - blobDataTLen
    - isValidateHex
    - blobDataVal
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToVarbinaryBlob(char *buf, SScalarParam *pOut, int32_t
      rowIndex, int32_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
    - int32_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:
    - varDataLen
    - varDataVal
    - colDataSetVal
    - SCL_RET
    - SCL_ERR_RET
    - sclError
    - taosMbsToUcs4
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - taosMemoryFree
    - varDataSetLen
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToNchar(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int32_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
    - int32_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:
    - varDataLen
    - varDataVal
    - taosUcs4ToMbs
    - colDataSetVal
    - SCL_RET
    - SCL_ERR_RET
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - taosMemoryFree
    - varDataSetLen
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE ncharToVar(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int32_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
    - int32_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:
    - initCtxGeomFromText
    - doGeomFromText
    - memcpy
    - varDataSetLen
    - sclInfo
    - geosFreeBuffer
    - colDataSetVal
    - SCL_RET
    - TAOS_RETURN
    - SCL_ERR_RET
    - sclError
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - taosMemoryFree
    - getGeosErrMsg
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToGeometry(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int32_t *overflow)
  - BBCount: 24
    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: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:599,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:601,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:602,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:607,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:607,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:610,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:610,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:610,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:611,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:614,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:615,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:616,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:619,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:619,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:619,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:621,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:622,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:629,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:634,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:636,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 93
    argCount: 2
    argNames:
    - pCtx
    - overflow
    argTypes:
    - SSclVectorConvCtx*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 637
    functionName: vectorConvertFromVarData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - varDataLen
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - IS_DECIMAL_TYPE
    - taosUcs4ToMbs
    - SCL_RET
    - IS_UNSIGNED_NUMERIC_TYPE
    - colDataGetNumData
    - varDataTLen
    - sclError
    - tTagIsJson
    - IS_STR_DATA_BLOB
    - colDataGetVarData
    - taosMemoryFreeClear
    - colDataSetNULL
    - SCL_ERR_RET
    - IS_HELPER_NULL
    - varDataVal
    - SCL_ERR_JRET
    - convertNumberToNumber
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorConvertFromVarData(SSclVectorConvCtx *pCtx, int32_t *overflow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:640,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:643,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:645,1
    - Dst: convertNcharToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:645,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:646,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:647,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:649,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:649,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 652
    functionName: getVectorDoubleValue_JSON
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataGetVarData
    - convertNumberToNumber
    - convertNcharToDouble
    - SCL_RET
    - 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:655,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:657,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:659,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:661,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:662,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:664,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:664,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:664,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:664,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:666,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:667,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:668,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:669,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:671,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - out
    - charsetCxt
    argTypes:
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 673
    functionName: ncharTobinary
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - varDataVal
    - varDataTLen
    - taosUcs4ToMbs
    - SCL_RET
    - SCL_ERR_RET
    - sclError
    - taosMemoryCalloc
    - taosMemoryFree
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t ncharTobinary(void *buf, void **out, void *charsetCxt)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:690,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:698,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:715,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:715,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:716,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:716,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:717,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:717,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:718,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:718,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:730,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:734,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:734,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:737,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:737,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:739,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:744,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:744,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:753,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:753,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:759,1
    - Dst: ncharTobinary
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:759,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:765,1
    - Dst: ncharTobinary
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:765,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 81
    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: 776
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 776
    functionName: convertJsonValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - filterGetCompFunc
    - convertNumberToNumber
    - IS_NUMERIC_TYPE
    - IS_VAR_DATA_TYPE
    - SCL_RET
    - ncharTobinary
    - SCL_ERR_RET
    - tTagIsJson
    - vectorGetConvertType
    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:783,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:786,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:787,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:794,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:794,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:795,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:797,1
    - Dst: varToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:797,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:799,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:799,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:802,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:804,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:805,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:812,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:812,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:813,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:815,1
    - Dst: varToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:815,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:817,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:817,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:820,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:822,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:823,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:830,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:830,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:831,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:833,1
    - Dst: varToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:833,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:835,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:835,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:839,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSclVectorConvCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 844
    functionName: vectorConvertToVarData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - colDataSetNULL
    - colDataIsNull_f
    - colDataSetVal
    - IS_UNSIGNED_NUMERIC_TYPE
    - tsnprintf
    - SCL_ERR_RET
    - sclError
    - varDataVal
    - varToNchar
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorConvertToVarData(SSclVectorConvCtx *pCtx)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:853,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:861,1
    - Dst: vectorConvertFromVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:862,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:867,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:873,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:890,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:914,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:915,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:922,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:928,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:929,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:936,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:942,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:943,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:950,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:956,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:957,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:964,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:971,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:972,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:979,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:985,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:986,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:993,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:999,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1000,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1007,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1013,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1014,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1021,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1027,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1028,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1035,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1041,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1042,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1049,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1055,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1056,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1063,1
    - Dst: vectorConvertToVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1071,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1075,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1076,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1081,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1081,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1082,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1082,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1084,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1090,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 190
    argCount: 5
    argNames:
    - pIn
    - pOut
    - overflow
    - startIndex
    - numOfRows
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - int32_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 847
    functionDepth: 3
    functionLinenumber: 847
    functionLinenumberEnd: 1095
    functionName: vectorConvertSingleColImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - colDataSetInt32
    - GET_COL_DATA_TYPE
    - colDataSetInt16
    - IS_SIGNED_NUMERIC_TYPE
    - colDataSetInt8
    - IS_VAR_DATA_TYPE
    - colDataSetNULL
    - colDataIsNull_f
    - vectorConvertFromVarData
    - colDataSetDouble
    - convertToDecimal
    - vectorConvertToVarData
    - colDataGetData
    - sclError
    - colDataSetVal
    - colDataSetFloat
    - IS_UNSIGNED_NUMERIC_TYPE
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorConvertSingleColImpl(const SScalarParam *pIn, SScalarParam
      *pOut, int32_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: 1159
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1159
    functionName: vectorGetConvertType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorGetConvertType(int32_t type1, int32_t type2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1162,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1163,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1163,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1164,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1164,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1165,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1165,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1166,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1166,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1167,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1167,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1168,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1168,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - type
    - pCol1
    - pCol2
    argTypes:
    - int32_t
    - SColumnInfo*
    - SColumnInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1174
    functionName: getConvertTypeMod
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - TMAX
    - decimalCalcTypeMod
    - GET_DEICMAL_MAX_PRECISION
    - IS_DECIMAL_TYPE
    linkageType: ''
    returnType: STypeMod
    signature: STypeMod getConvertTypeMod(int32_t type, const SColumnInfo *pCol1,
      const SColumnInfo *pCol2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1184,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1186,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1187,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1188,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1190,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1193,1
    - Dst: vectorConvertSingleColImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1198,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    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: 1204
      start: 1176
    functionDepth: 4
    functionLinenumber: 1176
    functionLinenumberEnd: 1204
    functionName: vectorConvertSingleCol
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - vectorConvertSingleColImpl
    - IS_TIMESTAMP_TYPE
    - extractTypeFromTypeMod
    - IS_VAR_DATA_TYPE
    - IS_DECIMAL_TYPE
    - sclCreateColumnInfoData
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1208,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1209,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1222,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1222,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1230,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1230,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1230,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1235,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1235,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1235,1
    - Dst: getConvertTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1240,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1243,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1244,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1244,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1247,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1248,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1248,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 6
    argNames:
    - pLeft
    - pRight
    - pLeftOut
    - pRightOut
    - startIndex
    - numOfRows
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1206
    functionDepth: 5
    functionLinenumber: 1206
    functionLinenumberEnd: 1252
    functionName: vectorConvertCols
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - getConvertTypeMod
    - GET_PARAM_TYPE
    - IS_VAR_DATA_TYPE
    - SCL_ERR_RET
    - sclError
    - vectorConvertSingleCol
    - vectorGetConvertType
    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:1264,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1264,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1265,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1265,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1269,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1270,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1273,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1274,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1279,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1279,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1280,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1280,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1284,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: 1285
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1285
    functionName: vectorMathAddHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - getVectorDoubleValueFnLeft
    - colDataSetNULL
    - SCL_RET
    - SCL_ERR_RET
    - getVectorDoubleValueFn
    - IS_HELPER_NULL
    - getVectorDoubleValueFnRight
    - colDataSetNNULL
    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:1291,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1291,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1292,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1292,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1295,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1296,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1299,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1300,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1305,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1305,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1306,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1306,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1307,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1310,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: 1311
      start: 1287
    functionDepth: 2
    functionLinenumber: 1287
    functionLinenumberEnd: 1311
    functionName: vectorMathTsAddHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    - getVectorBigintValueFn
    - getVectorBigintValueFnLeft
    - colDataSetNULL
    - getVectorBigintValueFnRight
    - SCL_RET
    - SCL_ERR_RET
    - IS_HELPER_NULL
    - colDataSetNNULL
    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:1318,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1319,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1320,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1321,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1321,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1324,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pInput
    - converted
    - pOutputCol
    argTypes:
    - SScalarParam*
    - int32_t*
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1313
    functionDepth: 5
    functionLinenumber: 1313
    functionLinenumberEnd: 1330
    functionName: vectorConvertVarToDouble
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - IS_VAR_DATA_TYPE
    - IS_DECIMAL_TYPE
    - SCL_RET
    - SCL_ERR_RET
    - vectorConvertSingleCol
    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:1334,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCol
    - type
    argTypes:
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1337
    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:1342,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1345,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1355,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1355,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1356,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1356,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1359,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1360,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1360,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1362,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1362,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1365,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1365,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1367,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1367,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1371,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1376,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1376,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1377,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1377,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1381,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1382,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1382,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1384,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1384,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1385,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1385,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1389,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1389,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1390,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1390,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1394,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1399,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1399,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1400,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1400,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1404,1
    - Dst: vectorMathAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1404,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1406,1
    - Dst: vectorMathAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1406,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1411,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1412,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1413,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: 1414
      start: 1339
    functionDepth: 6
    functionLinenumber: 1339
    functionLinenumberEnd: 1414
    functionName: vectorMathAdd
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - vectorMathAddHelper
    - doReleaseVec
    - getVectorBigintValueFn
    - GET_PARAM_TYPE
    - getVectorBigintValueFnLeft
    - colDataSetNULL
    - vectorMathTsAddHelper
    - TMAX
    - getVectorBigintValueFnRight
    - IS_DECIMAL_TYPE
    - vectorMathBinaryOpForDecimal
    - vectorConvertVarToDouble
    - getVectorDoubleValueFnLeft
    - getVectorDoubleValueFn
    - SCL_RET
    - getVectorDoubleValueFnRight
    - SCL_ERR_JRET
    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:1421,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1421,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1422,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1422,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1426,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1427,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1430,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1431,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1436,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1436,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1437,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1437,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1441,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: 1442
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1442
    functionName: vectorMathSubHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - getVectorDoubleValueFnLeft
    - colDataSetNULL
    - SCL_RET
    - SCL_ERR_RET
    - getVectorDoubleValueFn
    - IS_HELPER_NULL
    - getVectorDoubleValueFnRight
    - colDataSetNNULL
    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:1448,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1448,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1449,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1449,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1453,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1454,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1457,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1458,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1463,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1463,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1464,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1464,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1465,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1468,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: 1469
      start: 1444
    functionDepth: 2
    functionLinenumber: 1444
    functionLinenumberEnd: 1469
    functionName: vectorMathTsSubHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    - getVectorBigintValueFn
    - getVectorBigintValueFnLeft
    - colDataSetNULL
    - getVectorBigintValueFnRight
    - SCL_RET
    - SCL_ERR_RET
    - IS_HELPER_NULL
    - colDataSetNNULL
    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:1474,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1477,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1485,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1485,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1486,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1486,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1490,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1490,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1491,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1491,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1494,1
    - Dst: vectorMathTsSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1494,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1496,1
    - Dst: vectorMathTsSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1496,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1498,1
    - Dst: vectorMathTsSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1498,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1502,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1507,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1507,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1508,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1508,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1513,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1513,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1515,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1515,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1516,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1516,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1520,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1520,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1521,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1521,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1526,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1531,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1531,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1532,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1532,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1536,1
    - Dst: vectorMathSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1536,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1538,1
    - Dst: vectorMathSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1538,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1543,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1544,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1545,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: 1546
      start: 1471
    functionDepth: 6
    functionLinenumber: 1471
    functionLinenumberEnd: 1546
    functionName: vectorMathSub
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - vectorMathTsSubHelper
    - vectorMathSubHelper
    - getVectorBigintValueFn
    - getVectorBigintValueFnLeft
    - getVectorDoubleValueFnLeft
    - colDataSetNULL
    - getVectorBigintValueFnRight
    - TMAX
    - vectorMathBinaryOpForDecimal
    - doReleaseVec
    - vectorConvertVarToDouble
    - SCL_RET
    - getVectorDoubleValueFn
    - getVectorDoubleValueFnRight
    - SCL_ERR_JRET
    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:1553,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1553,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1554,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1554,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1558,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1559,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1562,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1563,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1568,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1568,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1569,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1569,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1573,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: 1574
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1574
    functionName: vectorMathMultiplyHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - getVectorDoubleValueFnLeft
    - colDataSetNULL
    - SCL_RET
    - SCL_ERR_RET
    - getVectorDoubleValueFn
    - IS_HELPER_NULL
    - getVectorDoubleValueFnRight
    - colDataSetNNULL
    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:1578,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1581,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1588,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1588,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1590,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1590,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1591,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1591,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1595,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1595,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1596,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1596,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1602,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1607,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1607,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1608,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1608,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1612,1
    - Dst: vectorMathMultiplyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1612,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1614,1
    - Dst: vectorMathMultiplyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1614,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1619,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1620,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1621,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: 1622
      start: 1576
    functionDepth: 6
    functionLinenumber: 1576
    functionLinenumberEnd: 1622
    functionName: vectorMathMultiply
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - getVectorDoubleValueFnLeft
    - vectorMathMultiplyHelper
    - vectorMathBinaryOpForDecimal
    - colDataSetNULL
    - TMAX
    - doReleaseVec
    - SCL_RET
    - vectorConvertVarToDouble
    - getVectorDoubleValueFn
    - getVectorDoubleValueFnRight
    - SCL_ERR_JRET
    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:1626,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1629,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1636,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1636,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1638,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1638,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:1643,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1643,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: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1650,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1654,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1654,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1656,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1660,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1660,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1664,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1665,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1668,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1669,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1673,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1673,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1675,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1679,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1679,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1684,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1685,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1688,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1688,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1690,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1693,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1694,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1698,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1698,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1707,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1708,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1709,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: 1710
      start: 1624
    functionDepth: 6
    functionLinenumber: 1624
    functionLinenumberEnd: 1710
    functionName: vectorMathDivide
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - getVectorDoubleValueFnLeft
    - doReleaseVec
    - vectorMathBinaryOpForDecimal
    - colDataSetNULL
    - TMAX
    - SCL_RET
    - vectorConvertVarToDouble
    - getVectorDoubleValueFn
    - IS_HELPER_NULL
    - getVectorDoubleValueFnRight
    - colDataSetNNULL
    - SCL_ERR_JRET
    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:1714,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1717,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1724,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1724,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1726,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1726,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1727,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1727,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1731,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1731,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1732,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1732,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1736,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1740,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1740,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1741,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: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1748,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1748,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1749,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1749,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1749,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1749,1
    - Dst: FLT_EQUAL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1749,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1750,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1758,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1759,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1760,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: 1761
      start: 1712
    functionDepth: 6
    functionLinenumber: 1712
    functionLinenumberEnd: 1761
    functionName: vectorMathRemainder
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - isnan
    - FLT_EQUAL
    - getVectorDoubleValueFnLeft
    - isinf
    - vectorMathBinaryOpForDecimal
    - colDataSetNULL
    - TMAX
    - doReleaseVec
    - SCL_RET
    - vectorConvertVarToDouble
    - getVectorDoubleValueFn
    - IS_HELPER_NULL
    - getVectorDoubleValueFnRight
    - SCL_ERR_JRET
    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:1774,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1775,1
    - Dst: vectorMathUnaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1775,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1777,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1777,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: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1784,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1785,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1789,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1789,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1795,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1796,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: 1797
      start: 1763
    functionDepth: 6
    functionLinenumber: 1763
    functionLinenumberEnd: 1797
    functionName: vectorMathMinus
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - getVectorDoubleValueFnLeft
    - doReleaseVec
    - IS_DECIMAL_TYPE
    - colDataSetNULL
    - SCL_RET
    - vectorConvertVarToDouble
    - getVectorDoubleValueFn
    - IS_HELPER_NULL
    - vectorMathUnaryOpForDecimal
    - SCL_ERR_JRET
    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:1803,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1804,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1806,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1808,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1808,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1813,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1814,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: 1818
      start: 1799
    functionDepth: 1
    functionLinenumber: 1799
    functionLinenumberEnd: 1818
    functionName: vectorAssign
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_s
    - colDataGetData
    - colDataSetVal
    - SCL_ERR_RET
    - sclError
    - colDataSetNNULL
    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:1824,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1825,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1827,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1829,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1829,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1834,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1835,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: 1839
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1839
    functionName: vectorAssignRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - colDataIsNull_s
    - colDataGetData
    - colDataSetVal
    - SCL_ERR_RET
    - sclError
    - colDataSetNNULL
    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:1843,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1846,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1852,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1852,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1853,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1853,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1857,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1857,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1858,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1858,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1861,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1865,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1865,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1866,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1871,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1871,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1872,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1872,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1877,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1878,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1879,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: 1880
      start: 1841
    functionDepth: 6
    functionLinenumber: 1841
    functionLinenumberEnd: 1880
    functionName: vectorBitAnd
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - getVectorBigintValueFn
    - getVectorBigintValueFnLeft
    - doReleaseVec
    - colDataSetNULL
    - getVectorBigintValueFnRight
    - TMAX
    - SCL_RET
    - vectorConvertVarToDouble
    - IS_HELPER_NULL
    - SCL_ERR_JRET
    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:1884,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1887,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1893,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1893,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1894,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1894,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1898,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1898,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1899,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1899,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1902,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1906,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1906,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1907,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1913,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1913,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1914,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1914,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1919,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1920,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1921,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: 1922
      start: 1882
    functionDepth: 6
    functionLinenumber: 1882
    functionLinenumberEnd: 1922
    functionName: vectorBitOr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - getVectorBigintValueFn
    - getVectorBigintValueFnLeft
    - doReleaseVec
    - colDataSetNULL
    - getVectorBigintValueFnRight
    - TMAX
    - SCL_RET
    - vectorConvertVarToDouble
    - IS_HELPER_NULL
    - SCL_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorBitOr(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1928,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1928,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1928,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1928,1
    - Dst: compareForType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1934,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1944,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1945,1
    - Dst: compareForType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1949,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1961,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1961,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1963,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1967,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1968,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1976,1
    - Dst: convertJsonValue
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1976,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1976,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1976,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1981,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1982,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1989,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1991,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1992,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1999,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2003,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 9
    argNames:
    - pLeft
    - pRight
    - pOut
    - startIndex
    - numOfRows
    - step
    - fp
    - optr
    - num
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - int32_t
    - __compar_fn_t
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1924
    functionDepth: 3
    functionLinenumber: 1924
    functionLinenumberEnd: 2009
    functionName: doVectorCompareImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - convertJsonValue
    - IS_MATHABLE_TYPE
    - taosMemoryFreeClear
    - compareForType
    - colDataSetInt8
    - GET_PARAM_TYPE
    - colDataGetData
    - colDataIsNull_f
    - filterDoCompare
    - SCL_ERR_RET
    - sclError
    - IS_HELPER_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doVectorCompareImpl(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t startIndex,\n                            int32_t
      numOfRows, int32_t step, __compar_fn_t fp, int32_t optr, int32_t *num)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2015,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2016,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2021,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2021,1
    - Dst: filterGetCompFuncEx
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2023,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2027,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2027,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2027,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2030,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2031,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2040,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2042,1
    - Dst: compareForTypeWithColAndHash
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2046,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2048,1
    - Dst: compareForTypeWithColAndHash
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2056,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2060,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2066,1
    - Dst: doVectorCompareImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2066,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 8
    argNames:
    - pLeft
    - pLeftVar
    - pRight
    - pOut
    - startIndex
    - numOfRows
    - _ord
    - optr
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2011
    functionDepth: 4
    functionLinenumber: 2011
    functionLinenumberEnd: 2069
    functionName: doVectorCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - doVectorCompareImpl
    - filterGetCompFuncEx
    - filterGetCompFunc
    - compareForTypeWithColAndHash
    - colDataSetInt8
    - GET_PARAM_TYPE
    - TMAX
    - SCL_ERR_RET
    - IS_HELPER_NULL
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doVectorCompare(SScalarParam *pLeft, SScalarParam *pLeftVar,
      SScalarParam *pRight, SScalarParam *pOut,\n                        int32_t startIndex,
      int32_t numOfRows, int32_t _ord, int32_t optr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2079,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2080,1
    - Dst: noConvertBeforeCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2081,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2081,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2081,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2085,1
    - Dst: vectorConvertCols
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2085,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2093,1
    - Dst: doVectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2093,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2096,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2097,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 7
    argNames:
    - pLeft
    - pRight
    - pOut
    - startIndex
    - numOfRows
    - _ord
    - optr
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2071
    functionDepth: 6
    functionLinenumber: 2071
    functionLinenumberEnd: 2099
    functionName: vectorCompareImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - setTzCharset
    - doVectorCompare
    - noConvertBeforeCompare
    - sclFreeParam
    - GET_PARAM_TYPE
    - SCL_RET
    - vectorConvertCols
    - SCL_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorCompareImpl(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t startIndex,\n                          int32_t numOfRows,
      int32_t _ord, int32_t optr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2102,1
    - Dst: vectorCompareImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2102,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: 2103
      start: 2101
    functionDepth: 7
    functionLinenumber: 2101
    functionLinenumberEnd: 2103
    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:2106,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2106,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: 2107
      start: 2105
    functionDepth: 8
    functionLinenumber: 2105
    functionLinenumberEnd: 2107
    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:2110,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2110,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: 2111
      start: 2109
    functionDepth: 8
    functionLinenumber: 2109
    functionLinenumberEnd: 2111
    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:2114,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2114,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: 2115
      start: 2113
    functionDepth: 8
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    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:2118,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2118,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: 2119
      start: 2117
    functionDepth: 8
    functionLinenumber: 2117
    functionLinenumberEnd: 2119
    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:2122,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2122,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: 2123
      start: 2121
    functionDepth: 8
    functionLinenumber: 2121
    functionLinenumberEnd: 2123
    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:2126,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2126,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: 2127
      start: 2125
    functionDepth: 8
    functionLinenumber: 2125
    functionLinenumberEnd: 2127
    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:2130,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2130,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: 2131
      start: 2129
    functionDepth: 8
    functionLinenumber: 2129
    functionLinenumberEnd: 2131
    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:2134,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2134,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: 2135
      start: 2133
    functionDepth: 8
    functionLinenumber: 2133
    functionLinenumberEnd: 2135
    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:2138,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2138,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: 2139
      start: 2137
    functionDepth: 8
    functionLinenumber: 2137
    functionLinenumberEnd: 2139
    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:2142,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2142,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: 2143
      start: 2141
    functionDepth: 8
    functionLinenumber: 2141
    functionLinenumberEnd: 2143
    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:2146,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2146,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: 2147
      start: 2145
    functionDepth: 8
    functionLinenumber: 2145
    functionLinenumberEnd: 2147
    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:2150,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2150,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: 2151
      start: 2149
    functionDepth: 8
    functionLinenumber: 2149
    functionLinenumberEnd: 2151
    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:2155,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2159,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2160,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: 2164
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2164
    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:2168,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2172,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2173,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: 2177
      start: 2166
    functionDepth: 1
    functionLinenumber: 2166
    functionLinenumberEnd: 2177
    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:2180,1
    - Dst: vectorConvertSingleColImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2180,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2182,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2184,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2179
    functionDepth: 4
    functionLinenumber: 2179
    functionLinenumberEnd: 2198
    functionName: vectorIsTrue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - vectorConvertSingleColImpl
    - colDataSetInt8
    - colDataIsNull_s
    - SCL_ERR_RET
    - colDataClearNull_f
    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: 2193
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2193
    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:2202,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2206,1
    - Dst: tTagGet
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2209,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - json
    - key
    - isExist
    - val
    argTypes:
    - char*
    - char*
    - bool*
    - STagVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2200
    functionDepth: 1
    functionLinenumber: 2200
    functionLinenumberEnd: 2214
    functionName: getJsonValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - tTagGet
    - 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:2220,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2223,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2225,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2226,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2226,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2228,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2230,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2230,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2230,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2234,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2235,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2237,1
    - Dst: getJsonValue
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2237,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2242,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2242,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2246,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2247,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: 2248
      start: 2216
    functionDepth: 2
    functionLinenumber: 2216
    functionLinenumberEnd: 2248
    functionName: vectorJsonContains
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataGetVarData
    - varDataLen
    - varDataVal
    - memcpy
    - colDataSetVal
    - TMAX
    - SCL_RET
    - SCL_ERR_RET
    - colDataIsNull_var
    - getJsonValue
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - taosMemoryFree
    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:2254,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2257,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2259,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2260,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2260,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2262,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2264,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2264,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2264,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2266,1
    - Dst: colDataSetNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2267,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2271,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2274,1
    - Dst: getJsonValue
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2274,1
    - Dst: tTagValToData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2275,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2276,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2277,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2278,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2280,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2284,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2285,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: 2286
      start: 2250
    functionDepth: 2
    functionLinenumber: 2250
    functionLinenumberEnd: 2286
    functionName: vectorJsonArrow
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataGetVarData
    - tTagValToData
    - varDataLen
    - varDataVal
    - memcpy
    - colDataSetNull_var
    - IS_VAR_DATA_TYPE
    - colDataSetVal
    - TMAX
    - SCL_RET
    - SCL_ERR_RET
    - colDataIsNull_var
    - getJsonValue
    - taosMemoryCalloc
    - SCL_ERR_JRET
    - taosMemoryFree
    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: 2345
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2345
    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:2351,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2352,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 3
    argNames:
    - opType
    - lType
    - rType
    argTypes:
    - EOperatorType
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2358
    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:2365,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2366,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2367,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2368,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2369,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2376,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2376,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2379,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2379,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2384,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2385,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2390,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2390,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2392,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2392,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: 2396
      start: 2360
    functionDepth: 8
    functionLinenumber: 2360
    functionLinenumberEnd: 2396
    functionName: vectorMathOpOneRowForDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - GET_COL_DATA_TYPE
    - colDataGetData
    - colDataSetNULL
    - IS_HELPER_NULL
    - convertToDecimal
    - colDataSetNNULL
    - decimalOp
    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:2404,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2405,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2408,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2408,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2410,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2410,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: 2413
      start: 2398
    functionDepth: 8
    functionLinenumber: 2398
    functionLinenumberEnd: 2413
    functionName: vectorMathUnaryOpForDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - GET_COL_DATA_TYPE
    - colDataGetData
    - colDataSetNULL
    - IS_HELPER_NULL
    - decimalOp
    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:2419,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2420,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2421,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2425,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2428,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2428,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2429,1
    - Dst: vectorMathOpOneRowForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2432,1
    - Dst: vectorMathOpOneRowForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2434,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: 2437
      start: 2415
    functionDepth: 9
    functionLinenumber: 2415
    functionLinenumberEnd: 2437
    functionName: vectorMathBinaryOpForDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 5
    functionsReached:
    - GET_COL_DATA_TYPE
    - colDataGetData
    - colDataSetNULL
    - vectorMathOpOneRowForDecimal
    - decimalOp
    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:2441,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2441,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2442,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2442,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2445,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2448,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2449,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2451,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: 2453
      start: 2439
    functionDepth: 2
    functionLinenumber: 2439
    functionLinenumberEnd: 2453
    functionName: compareForType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - typeGetTypeModFromColInfo
    - filterDoCompare
    - IS_DECIMAL_TYPE
    - 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:2457,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2458,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2458,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2461,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2463,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2465,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: 2467
      start: 2455
    functionDepth: 2
    functionLinenumber: 2455
    functionLinenumberEnd: 2467
    functionName: compareForTypeWithColAndHash
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - typeGetTypeModFromColInfo
    - filterDoCompare
    - IS_DECIMAL_TYPE
    - 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:
    - taosVersionStrToInt
    - strlen
    - memset
    - memcpy
    - tsem_init
    - rpcOpen
    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:
    - taosVersionStrToInt
    - rpcOpen
    - rpcClose
    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:
    - rpcSendRequest
    - addEpIntoEpSet
    - 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:
    - rpcSendRequest
    - addEpIntoEpSet
    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:
    - taosVersionStrToInt
    - memset
    - memcpy
    - strlen
    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:
    - rpcOpen
    - taosMsleep
    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::Stop
    - Server::Start
    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::Stop
    - Server::Start
    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::Stop
    - Server::Start
    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:
    - rpcFreeCont
    - rpcSendResponse
    - rpcMallocCont
    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:
    - rpcSendResponse
    - rpcMallocCont
    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:
    - rpcSendResponse
    - rpcMallocCont
    - rpcReleaseHandle
    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
    - rpcSendResponse
    - rpcRegisterBrokenLinkArg
    - rpcMallocCont
    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:
    - Client*::SemPost
    - tDebug
    - 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:
    - tstrncpy
    - taosMkDir
    - std::string::c_str
    - printf
    - taosInitLog
    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:
    - Client::Client
    - initEnv
    - Init
    - Server::Server
    - Start
    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:
    - RestartSrv
    - TD_ALWAYS_ASSERT
    - rpcMallocCont
    - cliSendAndRecv
    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:
    - rpcReleaseHandle
    - taosMsleep
    - rpcMallocCont
    - cliSendAndRecv
    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:
    - EXPECT_TRUE
    - memset
    - rpcMallocCont
    - SetSrvContinueSend
    - cliSendAndRecv
    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:
    - SetSrvContinueSend
    - taosMsleep
    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:
    - SetSrvContinueSend
    - taosMsleep
    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:
    - SetSrvContinueSend
    - taosMsleep
    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:
    - SetSrvContinueSend
    - taosMsleep
    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:
    - cliSendReq
    - memset
    - taosMsleep
    - rpcMallocCont
    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:
    - taosMemoryFree
    - printf
    - uv_err_name
    - fprintf
    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
    - uv_close
    - uv_write
    - fprintf
    - printf
    - uv_err_name
    - container_of
    - taosMemoryFree
    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_buf_init
    - uv_close
    - uv_write2
    - uv_accept
    - printf
    - uv_tcp_init
    - container_of
    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:
    - taosMemoryMalloc
    - uv_pipe_pending_count
    - uv_close
    - uv_timer_stop
    - uv_fileno
    - uv_accept
    - fprintf
    - uv_pipe_pending_type
    - TD_ALWAYS_ASSERT
    - uv_timer_start
    - printf
    - uv_err_name
    - uv_timer_init
    - uv_read_start
    - uv_tcp_init
    - container_of
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - uv_run
    - uv_pipe_open
    - uv_loop_init
    - uv_async_init
    - uv_read_start
    - uv_pipe_init
    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:
    - taosMemoryMalloc
    - uv_run
    - uv_ip4_addr
    - uv_listen
    - uv_pipe_open
    - uv_loop_init
    - uv_socketpair
    - taosThreadCreate
    - uv_tcp_init
    - fprintf
    - printf
    - uv_err_name
    - taosMemoryCalloc
    - uv_pipe_init
    - uv_tcp_bind
    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:
    - taosRemoveDir
    - taosMkDir
    - strcpy
    - printf
    - taosInitLog
    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:
    - taosMemoryFree
    - memset
    - taosUsleep
    - taosMemoryCalloc
    - taosSendHttpReport
    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
    - taosThreadCreate
    - taosMsleep
    - initLogEnv
    - 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:
    - taosRemoveDir
    - taosMkDir
    - strcpy
    - printf
    - taosInitLog
    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:
    - tDebug
    - tsem_post
    - 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:
    - rpcSendRequest
    - tDebug
    - tInfo
    - rpcMallocCont
    - tsem_wait
    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:
    - taosCloseLog
    - strcpy
    - printf
    - taosThreadJoin
    - taosGetTimestampUs
    - exit
    - strcmp
    - initLogEnv
    - tError
    - tInfo
    - taosMemoryCalloc
    - memset
    - taosVersionStrToInt
    - taosThreadCreate
    - taosUsleep
    - tsem_init
    - atoi
    - rpcOpen
    - taosMemoryFree
    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:
    - taosVersionStrToInt
    - strlen
    - memset
    - memcpy
    - rpcOpen
    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:
    - taosVersionStrToInt
    - rpcOpen
    - rpcClose
    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:
    - rpcSendRequest
    - addEpIntoEpSet
    - 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:
    - rpcSendRequest
    - addEpIntoEpSet
    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:
    - taosVersionStrToInt
    - memset
    - memcpy
    - strlen
    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:
    - rpcOpen
    - taosMsleep
    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::Stop
    - Server::Start
    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::Stop
    - Server::Start
    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::Stop
    - Server::Start
    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:
    - rpcFreeCont
    - rpcSendResponse
    - rpcMallocCont
    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:
    - rpcSendResponse
    - rpcMallocCont
    - rpcReleaseHandle
    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:
    - tGDebug
    - tstrerror
    - 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:
    - tstrncpy
    - taosMkDir
    - std::string::c_str
    - printf
    - taosInitLog
    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:
    - Client::Client
    - initEnv
    - Init
    - Server::Server
    - Start
    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:
    - cliSendReqWithId
    - memset
    - taosMsleep
    - cliFreeReqId
    - rpcMallocCont
    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:
    - cliSendReq
    - memset
    - taosMsleep
    - rpcMallocCont
    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: 75
    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:
    - tjsonToString
    - taosGetOsReleaseName
    - tjsonAddDoubleToObject
    - strlen
    - taosTelemetryDestroy
    - tjsonDelete
    - tjsonAddStringToObject
    - taosSendTelemReport
    - snprintf
    - taosMsleep
    - taosTelemetryMgtInit
    - printf
    - tjsonCreateObject
    - taosGetCpuInfo
    - TAOS_CHECK_GOTO
    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:
    - taosRemoveDir
    - taosMkDir
    - strcpy
    - printf
    - taosInitLog
    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:
    - rpcSendResponse
    - taosAllocateQall
    - taosReadAllQitemsFromQset
    - taosFreeQitem
    - memset
    - taosFreeQall
    - taosUpdateItemSize
    - tDebug
    - rpcMallocCont
    - taosGetQitem
    - rpcFreeCont
    - taosResetQitems
    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:
    - taosWriteQitem
    - memcpy
    - tDebug
    - taosAllocateQitem
    linkageType: ''
    returnType: void
    signature: void processRequestMsg(void *pParent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosBlockSIGPIPE
      Src: /src/tdengine/source/libs/transport/test/svrBench.c: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:
    - taosMemoryMalloc
    - printf
    - taosAddIntoQset
    - taosOpenFile
    - taosOpenQueue
    - exit
    - strcmp
    - taosCloseFile
    - strerror
    - initLogEnv
    - tError
    - tInfo
    - strlen
    - taosOpenQset
    - memset
    - taosBlockSIGPIPE
    - taosVersionStrToInt
    - memcpy
    - taosThreadCreate
    - UNUSED
    - atoi
    - getchar
    - rpcOpen
    - taosRemoveFile
    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:
    - QUEUE_DATA
    - QUEUE_HEAD
    - QueueObj::IsEmpty
    - QUEUE_REMOVE
    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:
    - std::vector<int>::push_back
    - QUEUE_DATA
    - QUEUE_FOREACH
    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
    - IsEmpty
    - Pop
    - TD_ALWAYS_ASSERT
    - Push
    - taosMemoryFree
    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
    - IsEmpty
    - TD_ALWAYS_ASSERT
    - std::vector::size
    - RmElem
    - Push
    - std::vector::push_back
    - taosMemoryFree
    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
    - IsEmpty
    - ForEach
    - TD_ALWAYS_ASSERT
    - std::vector::size
    - Push
    - std::vector::push_back
    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:
    - transCtxInit
    - taosMemoryCalloc
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    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: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    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: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    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: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    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: 168
    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: 591
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 591
    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: 36
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transComm.c:36,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:38,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:39,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:41,1
    - Dst: LZ4_compress_default
      Src: /src/tdengine/source/libs/transport/src/transComm.c:46,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:54,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:55,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:57,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:64,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:66,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 71
    functionName: transCompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosGetTimestampMs
    - memcpy
    - LZ4_compress_default
    - transHeadFromCont
    - tDebug
    - tWarn
    - taosMemoryFree
    - htonl
    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:76,1
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transComm.c:78,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:81,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:84,1
    - Dst: LZ4_decompress_safe
      Src: /src/tdengine/source/libs/transport/src/transComm.c:90,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:94,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:97,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:100,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:102,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:105,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 110
    functionName: transDecompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    - memcpy
    - transContFromHead
    - LZ4_decompress_safe
    - tWarn
    - taosMemoryCalloc
    - taosMemoryFree
    - htonl
    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:113,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:116,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:119,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:123,1
    - Dst: LZ4_decompress_safe
      Src: /src/tdengine/source/libs/transport/src/transComm.c:126,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:129,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:130,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:133,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:140,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:142,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: 145
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 145
    functionName: transDecompressMsgExt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    - memcpy
    - transContFromHead
    - tError
    - LZ4_decompress_safe
    - tWarn
    - taosMemoryCalloc
    - taosMemoryFree
    - htonl
    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:151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: transFreeMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - tTrace
    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:161,1
    - Dst: uError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:163,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:163,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:166,1
    - Dst: uv_ip6_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:170,1
    - Dst: uError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:172,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:172,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:174,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - sockname
    - dst
    argTypes:
    - struct sockaddr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: transSockInfo2Str
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - uv_ip4_name
    - uv_strerror
    - ntohs
    - sprintf
    - uError
    - uv_ip6_name
    linkageType: ''
    returnType: void
    signature: void transSockInfo2Str(struct sockaddr* sockname, char* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    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:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    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:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 210
    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:221,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:225,1
    - Dst: transResetBuffer
      Src: /src/tdengine/source/libs/transport/src/transComm.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - connBuf
    - buf
    - resetBuf
    argTypes:
    - SConnBuffer*
    - char**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: transDumpFromBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - transResetBuffer
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDumpFromBuffer(SConnBuffer* connBuf, char** buf, int8_t
      resetBuf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:240,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:251,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:258,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - connBuf
    - resetBuf
    argTypes:
    - SConnBuffer*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 262
    functionName: transResetBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - taosMemoryRealloc
    - tError
    - 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:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - connBuf
    - uvBuf
    argTypes:
    - SConnBuffer*
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 290
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:297,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:298,1
    - Dst: TRANS_NOVALID_PACKET
      Src: /src/tdengine/source/libs/transport/src/transComm.c:300,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - connBuf
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: transReadComplete
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TRANS_NOVALID_PACKET
    - htonl
    linkageType: ''
    returnType: bool
    signature: bool transReadComplete(SConnBuffer* connBuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:316,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - connBuf
    - buf
    - len
    argTypes:
    - SConnBuffer*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 327
    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:333,1
    - Dst: uv_tcp_nodelay
      Src: /src/tdengine/source/libs/transport/src/transComm.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - keepalive
    argTypes:
    - uv_tcp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: transSetConnOption
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - uv_tcp_keepalive
    - uv_tcp_nodelay
    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:341,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:349,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:351,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:359,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:365,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:366,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:368,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/transport/src/transComm.c:373,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:375,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:375,1
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:382,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: 389
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 389
    functionName: transAsyncPoolCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexInit
    - QUEUE_INIT
    - uv_async_init
    - uv_err_name
    - tError
    - taosMemoryCalloc
    - transAsyncPoolDestroy
    - taosMemoryFree
    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:399,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:399,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:400,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:402,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pool
    argTypes:
    - SAsyncPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: transAsyncPoolDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    - taosThreadMutexDestroy
    - 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:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - SAsyncPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 412
    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:414,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:426,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:427,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:427,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:431,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:432,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:432,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/transport/src/transComm.c:434,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:436,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pool
    - q
    argTypes:
    - SAsyncPool*
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 440
    functionName: transAsyncSend
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexUnlock
    - QUEUE_PUSH
    - tstrerror
    - uv_async_send
    - atomic_load_8
    - uv_err_name
    - tError
    - TAOS_UNUSED
    - taosThreadMutexLock
    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:444,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transComm.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 447
    functionName: transCtxInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: void
    signature: void transCtxInit(STransCtx* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:453,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transComm.c:455,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:456,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:456,1
    - Dst: STransCtx*::freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:457,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:458,1
    - Dst: STransCtx*::freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:460,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 463
    functionName: transCtxCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - taosHashGetKey
    - STransCtx*::freeFunc
    - taosHashIterate
    - TMSG_INFO
    - tDebug
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void transCtxCleanup(STransCtx* ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:487,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transComm.c:490,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:492,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:494,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:494,1
    - Dst: STransCtx*::freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:495,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:498,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:498,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transComm.c:501,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:503,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:503,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:504,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:504,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:508,1
    - Dst: freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:511,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:515,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - STransCtx*
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 518
    functionName: transCtxMerge
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - tstrerror
    - freeFunc
    - taosHashGetKey
    - STransCtx*::freeFunc
    - taosHashPut
    - taosHashIterate
    - TMSG_INFO
    - tDebug
    - tError
    - TAOS_UNUSED
    - taosHashRemove
    - taosHashCleanup
    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:523,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - STransCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 530
    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:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - msgType
    argTypes:
    - STransCtx*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 541
    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: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wq
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    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:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - arg
    argTypes:
    - STransQueue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 555
    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:559,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 563
    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: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    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:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - q
    - idx
    argTypes:
    - STransQueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 574
    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:579,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:581,1
    - Dst: filter
      Src: /src/tdengine/source/libs/transport/src/transComm.c:582,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:583,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:585,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: 592
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 592
    functionName: transQueueRemoveByFilter
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - filter
    - QUEUE_PUSH
    - QUEUE_REMOVE
    - QUEUE_NEXT
    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:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 599
    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: 612
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 612
    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:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - q
    - e
    argTypes:
    - STransQueue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 619
    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: 621
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 621
    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:625,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:626,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: transQueueClear
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_REMOVE
    - QUEUE_IS_EMPTY
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: void transQueueClear(STransQueue* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transQueueClear
      Src: /src/tdengine/source/libs/transport/src/transComm.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 632
    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:636,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HeapNode*
    - HeapNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 643
    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:647,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:649,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:651,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:653,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:655,1
    - Dst: SDelayTask*::func
      Src: /src/tdengine/source/libs/transport/src/transComm.c:656,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:657,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:665,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transComm.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - timer
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 667
    functionName: transDQTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    - tTrace
    - taosMemoryFree
    - uv_timer_start
    - TAOS_UNUSED
    - SDelayTask*::func
    - container_of
    - heapRemove
    - heapMin
    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:674,1
    - Dst: heapCreate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:679,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:681,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:684,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:686,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/src/transComm.c:693,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:695,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:702,1
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:703,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - loop
    - queue
    argTypes:
    - uv_loop_t*
    - SDelayQueue**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 706
    functionName: transDQCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - heapDestroy
    - heapCreate
    - uv_timer_init
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDQCreate(uv_loop_t* loop, SDelayQueue** queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:709,1
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:711,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:712,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:716,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:718,1
    - Dst: freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:721,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:724,1
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - queue
    argTypes:
    - SDelayQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 728
    functionName: transDQDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - heapDestroy
    - heapSize
    - freeFunc
    - taosMemoryFree
    - container_of
    - heapRemove
    - heapMin
    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:730,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/src/transComm.c:730,1
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:732,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:734,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:739,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:740,1
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:742,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:743,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:746,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:747,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:750,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transComm.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - queue
    - task
    argTypes:
    - SDelayQueue*
    - SDelayTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 752
    functionName: transDQCancel
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - heapSize
    - taosGetTimestampMs
    - uv_timer_stop
    - taosMemoryFree
    - uv_timer_start
    - TAOS_UNUSED
    - container_of
    - heapRemove
    - heapMin
    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:755,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:756,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:765,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:767,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:773,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/transport/src/transComm.c:774,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:775,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transComm.c:775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - queue
    - arg
    - timeoutMs
    argTypes:
    - SDelayQueue*
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 777
    functionName: transDQSched
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - heapInsert
    - tTrace
    - taosGetTimestampMs
    - uv_timer_start
    - TAOS_UNUSED
    - taosMemoryCalloc
    - container_of
    - heapMin
    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:782,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:786,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:789,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:791,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:794,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 796
    functionName: transPrintEpSet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    - tTrace
    linkageType: ''
    returnType: void
    signature: void transPrintEpSet(SEpSet* pEpSet)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transComm.c:808,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SReqEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 813
    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:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    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:828,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:829,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:830,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:831,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:832,1
    - Dst: uv_os_setenv
      Src: /src/tdengine/source/libs/transport/src/transComm.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 833
    functionName: transInitEnv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosOpenRef
    - uv_os_setenv
    - transOpenRefMgt
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void transInitEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:835,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:836,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:837,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 839
    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:843,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transComm.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 848
    functionName: transInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosThreadOnce
    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: 850
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 850
    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: 851
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 851
    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: 852
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 852
    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: 853
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 853
    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:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 858
    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:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 862
    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:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mgt
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 866
    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:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - p
    argTypes:
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 870
    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:873,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 877
    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:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 881
    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:885,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 889
    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:895,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 897
    functionName: transDestroyExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tDebug
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void transDestroyExHandle(void* handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:903,1
    - Dst: tsem2_destroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:903,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:904,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transComm.c:905,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:906,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 908
    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: 913
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 913
    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:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pUtils
    - pRange
    argTypes:
    - SubnetUtils*
    - SIpV4Range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 931
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pUtils
    - buf
    argTypes:
    - SubnetUtils*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: subnetDebugInfoToBuf
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t subnetDebugInfoToBuf(SubnetUtils* pUtils, char* buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subnetIpRang2Int
      Src: /src/tdengine/source/libs/transport/src/transComm.c:945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pUtils
    - ip
    argTypes:
    - SubnetUtils*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 948
    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:956,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:958,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:958,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transComm.c:962,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pRange
    - buf
    argTypes:
    - SIpV4Range*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 969
    functionName: transUtilSIpRangeToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - uv_strerror
    - strlen
    - sprintf
    - uv_inet_ntop
    - tError
    linkageType: ''
    returnType: int32_t
    signature: int32_t transUtilSIpRangeToStr(SIpV4Range* pRange, char* buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:977,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:980,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:982,1
    - Dst: tIpUintToStr
      Src: /src/tdengine/source/libs/transport/src/transComm.c:988,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:989,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:991,1
    - Dst: IP_ADDR_STR
      Src: /src/tdengine/source/libs/transport/src/transComm.c:991,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - pList
    - ppBuf
    argTypes:
    - SIpWhiteListDual*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1005
    functionName: transUtilSWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - sprintf
    - TSDB_CHECK_CODE
    - IP_ADDR_STR
    - taosMemoryCalloc
    - tIpUintToStr
    - taosMemoryFree
    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: 1028
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1028
    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:1032,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1034,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1036,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1040,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1041,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - wq
    argTypes:
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1047
    functionName: initWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_PUSH
    - destroyWQ
    - QUEUE_INIT
    - taosMemoryCalloc
    - TAOS_CHECK_GOTO
    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:1049,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1050,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1051,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1052,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wq
    argTypes:
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1055
    functionName: destroyWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - QUEUE_HEAD
    - QUEUE_DATA
    - QUEUE_REMOVE
    - QUEUE_IS_EMPTY
    - taosMemoryFree
    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:1058,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1059,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1060,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1061,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1063,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1067,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - wq
    - arg
    argTypes:
    - queue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1076
    functionName: allocWReqFromWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_HEAD
    - QUEUE_INIT
    - QUEUE_DATA
    - taosMemoryCalloc
    - QUEUE_REMOVE
    - 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:1079,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wq
    - w
    argTypes:
    - queue*
    - SWReqsWrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    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:1086,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1088,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1088,1
    - Dst: taosSetSockOpt2
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1093
    functionName: transSetReadOption
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosSetSockOpt2
    - uv_fileno
    - uv_err_name
    - tWarn
    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:1105,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1109,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1111,1
    - Dst: transValidReqEpset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1113,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pEpset
    - pReqEpSet
    argTypes:
    - SEpSet*
    - SReqEpSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1120
    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:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pReqEpSet
    - pEpSet
    argTypes:
    - SReqEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1128
    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: 1138
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1138
    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:1173,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1175,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1177,1
    - Dst: LZ4_compress_default
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1182,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1190,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1191,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1193,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1202
    functionName: transCompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - LZ4_compress_default
    - transHeadFromCont
    - tDebug
    - tWarn
    - taosMemoryFree
    - htonl
    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: 1203
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1203
    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:1209,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1211
    functionName: transFreeMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    - tTrace
    linkageType: ''
    returnType: void
    signature: void transFreeMsg(void* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1215,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1216
    functionName: transCtxInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: void
    signature: void transCtxInit(STransCtx* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1222,1
    - Dst: STransCtx*::freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1224,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1225,1
    - Dst: STransCtx*::freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1227,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1230
    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:1245,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1248,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1250,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1252,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1252,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1254,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - STransCtx*
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1257
    functionName: transCtxMerge
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosHashGetKey
    - taosHashIterate
    - tError
    - taosHashPut
    - taosHashCleanup
    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:1262,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - STransCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1269
    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:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - msgType
    argTypes:
    - STransCtx*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1280
    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:1287,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1288,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1289,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1292,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1293,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1294,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1296,1
    - Dst: transCtxDumpVal
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1300,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1301,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1301,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1303,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1304,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1305,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pTrans
    - pMsg
    argTypes:
    - STrans*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1282
    functionDepth: 2
    functionLinenumber: 1282
    functionLinenumberEnd: 1309
    functionName: cliMayGetAhandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - taosHashRemove
    - TMSG_INFO
    - transCtxDumpVal
    - tError
    - taosThreadMutexUnlock
    - transCtxCleanup
    - taosThreadMutexLock
    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:1321,1
    - Dst: taosReadAllQitemsFromQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1324,1
    - Dst: taosResetQitems
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1326,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1328,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1329,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1333,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1333,1
    - Dst: transGetCb
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1335,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1337,1
    - Dst: cliMayGetAhandle
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1340,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1345,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1346,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1349,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1349,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1352,1
    - Dst: taosUpdateItemSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1354,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1311
    functionDepth: 3
    functionLinenumber: 1311
    functionLinenumberEnd: 1359
    functionName: processSvrMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - cliMayGetAhandle
    - taosThreadMutexUnlock
    - taosAllocateQall
    - tsem_post
    - taosReadAllQitemsFromQset
    - taosFreeQitem
    - tGDebug
    - memcpy
    - TMSG_INFO
    - taosFreeQall
    - taosUpdateItemSize
    - tDebug
    - transGetCb
    - taosThreadMutexLock
    - taosGetQitem
    - taosResetQitems
    linkageType: ''
    returnType: void
    signature: void * processSvrMsg(void* arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1370,1
    - Dst: taosReadAllQitemsFromQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1373,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1374,1
    - Dst: taosResetQitems
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1376,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1378,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1381,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1381,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1385,1
    - Dst: transGetCb
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1387,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1389,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1393,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1393,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1395,1
    - Dst: taosUpdateItemSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1397,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1402
    functionName: procClientMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexUnlock
    - taosAllocateQall
    - taosReadAllQitemsFromQset
    - taosFreeQitem
    - TMSG_INFO
    - taosUpdateItemSize
    - tDebug
    - tError
    - taosThreadMutexLock
    - transGetCb
    - taosGetQitem
    - taosFreeQall
    - taosResetQitems
    linkageType: ''
    returnType: void
    signature: void * procClientMsg(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1404,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1405,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1406,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1407,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1409,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1410,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1410,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1414,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1416,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1417,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1419,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1422,1
    - Dst: taosOpenQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1423,1
    - Dst: taosAddIntoQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1424,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1427,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1430,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1434,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1436,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1437,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1438,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1441,1
    - Dst: taosOpenQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1442,1
    - Dst: taosAddIntoQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1443,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1446,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1452
    functionName: transInitEnv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosOpenQset
    - taosGetDefaultHashFunction
    - taosThreadMutexInit
    - transOpenRefMgt
    - taosThreadCreate
    - taosAddIntoQset
    - taosOpenRef
    - taosHashInit
    - taosOpenQueue
    linkageType: ''
    returnType: void
    signature: void transInitEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1454,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1453
    functionDepth: 2
    functionLinenumber: 1453
    functionLinenumberEnd: 1456
    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:1465,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1468,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - type
    - pTransport
    argTypes:
    - RPC_TYPE
    - STrans*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1471
    functionName: transUpdateCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosHashPut
    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:1473,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1474,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1476,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - type
    - ppTransport
    argTypes:
    - RPC_TYPE
    - STrans**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1485
    functionName: transGetCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 2
    functionsReached:
    - taosHashGet
    - taosThreadMutexLock
    - 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:1490,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1491,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: taosWriteQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pTransport
    - pMsg
    - pEpSet
    argTypes:
    - STrans*
    - SRpcMsg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1498
    functionName: transSendReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosWriteQitem
    - taosAllocateQitem
    - memcpy
    - TMSG_INFO
    - tDebug
    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:1502,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1503,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1507,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1507,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1510
    functionName: transSendResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosWriteQitem
    - taosAllocateQitem
    - memcpy
    - TMSG_INFO
    - tDebug
    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:1514,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1519
    functionName: transInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosThreadOnce
    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: 1521
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1521
    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: 1522
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1522
    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: 1523
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1523
    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: 1524
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1524
    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:1528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1526
    functionDepth: 2
    functionLinenumber: 1526
    functionLinenumberEnd: 1530
    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:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1534
    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:1537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgt
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1539
    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:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - p
    argTypes:
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1543
    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:1546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1548
    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:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1550
    functionDepth: 1
    functionLinenumber: 1550
    functionLinenumberEnd: 1553
    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:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1559
    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:1565,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1566,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1568,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1571
    functionName: transDestroyExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tDebug
    - QUEUE_IS_EMPTY
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void transDestroyExHandle(void* handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1577,1
    - Dst: tsem2_destroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1577,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1578,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1579,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1580,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1573
    functionDepth: 2
    functionLinenumber: 1573
    functionLinenumberEnd: 1583
    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: 1585
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1585
    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: 1586
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1586
    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
    - buf
    argTypes:
    - SubnetUtils*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1587
    functionName: subnetDebugInfoToBuf
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t subnetDebugInfoToBuf(SubnetUtils* pUtils, char* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pUtils
    - ip
    argTypes:
    - SubnetUtils*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1588
    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: 1590
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1590
    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: 1592
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1592
    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:1595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1606
    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:1608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1610
    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:1616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1626
    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:1637,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1641,1
    - Dst: transResetBuffer
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - connBuf
    - buf
    - resetBuf
    argTypes:
    - SConnBuffer*
    - char**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1628
    functionDepth: 2
    functionLinenumber: 1628
    functionLinenumberEnd: 1650
    functionName: transDumpFromBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - transResetBuffer
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDumpFromBuffer(SConnBuffer* connBuf, char** buf, int8_t
      resetBuf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1656,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1667,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1674,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - connBuf
    - resetBuf
    argTypes:
    - SConnBuffer*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1678
    functionName: transResetBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - taosMemoryRealloc
    - tError
    - 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:1690,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1694,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1696,1
    - Dst: transValidReqEpset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1698,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pEpset
    - pReqEpSet
    argTypes:
    - SEpSet*
    - SReqEpSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1680
    functionDepth: 1
    functionLinenumber: 1680
    functionLinenumberEnd: 1705
    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:1711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pReqEpSet
    - pEpSet
    argTypes:
    - SReqEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1713
    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: 1723
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1723
    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:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wq
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1733
    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:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - arg
    argTypes:
    - STransQueue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1734
    functionDepth: 1
    functionLinenumber: 1734
    functionLinenumberEnd: 1738
    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:1742,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1746
    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: 1747
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1747
    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:1753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - q
    - idx
    argTypes:
    - STransQueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1757
    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:1761,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1763,1
    - Dst: filter
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1764,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1765,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1767,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: 1774
      start: 1759
    functionDepth: 1
    functionLinenumber: 1759
    functionLinenumberEnd: 1774
    functionName: transQueueRemoveByFilter
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - filter
    - QUEUE_PUSH
    - QUEUE_REMOVE
    - QUEUE_NEXT
    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:1779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1781
    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: 1794
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1794
    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:1799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - q
    - e
    argTypes:
    - STransQueue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1801
    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: 1803
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1803
    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:1807,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1808,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1813
    functionName: transQueueClear
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - QUEUE_REMOVE
    - QUEUE_IS_EMPTY
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: void transQueueClear(STransQueue* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transQueueClear
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1814
    functionDepth: 2
    functionLinenumber: 1814
    functionLinenumberEnd: 1814
    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:1818,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1822,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1825,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1827,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1830,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1832
    functionName: transPrintEpSet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    - tTrace
    linkageType: ''
    returnType: void
    signature: void transPrintEpSet(SEpSet* pEpSet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1844,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1845,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1847,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1851,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SReqEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1856
    functionName: transReqEpsetIsEqual
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    - tWarn
    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:1862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1867
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - conn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - loop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    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: 336
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 336
    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: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    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: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    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: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    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: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    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: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    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: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    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: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    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: 353
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 353
    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: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    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:363,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:363,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:365,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:369,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:370,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:372,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pThrd
    - pConn
    argTypes:
    - SCliThrd*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 379
    functionName: cliGetConnTimer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - uv_err_name
    - uv_timer_init
    - taosArrayGetSize
    - tDebug
    - tError
    - taosMemoryCalloc
    - taosArrayPop
    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:383,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:384,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:384,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:385,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:385,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:387,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:388,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:388,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: cliResetConnTimer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - tTrace
    - uv_timer_stop
    - tError
    - TAOS_UNUSED
    - uv_is_active
    - CONN_GET_INST_LABEL
    linkageType: ''
    returnType: void
    signature: void cliResetConnTimer(SCliConn* conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:405,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:407,1
    - Dst: cliGetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:414,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transCli.c:417,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:419,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:419,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - conn
    - timeout
    argTypes:
    - SCliConn*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 422
    functionName: cliConnMayUpdateTimer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliGetConnTimer
    - uv_timer_start
    - uv_err_name
    - tError
    - transQueueSize
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    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:427,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transCli.c:429,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:431,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:432,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:434,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:434,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:436,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:436,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:437,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:437,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 441
    functionName: destroyCliConnQTable
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transReleaseExHandle
    - transRemoveExHandle
    - taosHashGetKey
    - taosHashRemove
    - taosHashIterate
    - transGetRefMgt
    - TAOS_UNUSED
    - transCtxCleanup
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void destroyCliConnQTable(SCliConn* conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:445,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: filteBySeq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - removeReqFromSendQ
    - QUEUE_DATA
    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:459,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:461,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:465,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:466,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: 470
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 470
    functionName: cliGetReqBySeq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transQueueRemoveByFilter
    - QUEUE_DATA
    - QUEUE_IS_EMPTY
    - QUEUE_HEAD
    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:477,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:478,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:478,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:478,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:479,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:481,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:481,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:482,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:483,1
    - Dst: delConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:485,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:487,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:487,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:488,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:490,1
    - Dst: transHeapMayBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:490,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:494,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:495,1
    - Dst: addConnToPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:499,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:501,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:501,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:502,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:503,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:503,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:504,1
    - Dst: transHeapMayBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:504,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:506,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:506,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:507,1
    - Dst: transHeapMayBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 510
    functionName: cliMayRecycleConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - addConnToPool
    - tstrerror
    - transHeapMayBalance
    - tTrace
    - delConnFromHeapCache
    - tDebug
    - TAOS_UNUSED
    - transQueueSize
    - taosHashGetSize
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    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:514,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: filterByQid
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - removeReqFromSendQ
    - QUEUE_DATA
    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:524,1
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:525,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:533,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:534,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pReq
    - pResp
    - pHead
    argTypes:
    - SCliReq*
    - STransMsg*
    - STransMsgHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 539
    functionName: cliBuildRespFromCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transContLenFromMsg
    - transContFromHead
    - htonl
    - taosHton64
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliBuildRespFromCont(SCliReq* pReq, STransMsg* pResp, STransMsgHead*
      pHead)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:553,1
    - Dst: cliBuildExceptResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:555,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:557,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:557,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:558,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:560,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:562,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:562,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:563,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - conn
    - pHead
    - pReq
    argTypes:
    - SCliConn*
    - STransMsgHead*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 568
    functionName: cliMayNotifyUserOnRecvReleaseExcept
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - destroyReq
    - tstrerror
    - CONN_GET_INST_LABEL
    - cliNotifyCb
    - cliBuildExceptResp
    - tGWarn
    - taosHton64
    linkageType: ''
    returnType: int8_t
    signature: int8_t cliMayNotifyUserOnRecvReleaseExcept(SCliConn* conn, STransMsgHead*
      pHead, SCliReq* pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:574,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:576,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:577,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:578,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:578,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:581,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:582,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:584,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:586,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:586,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:589,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:591,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:591,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:594,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:594,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:594,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:595,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:598,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:599,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:600,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:602,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:602,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:603,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:603,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:605,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:606,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:607,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:608,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:609,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:611,1
    - Dst: cliMayNotifyUserOnRecvReleaseExcept
      Src: /src/tdengine/source/libs/transport/src/transCli.c:613,1
    - Dst: destroyReqWrapper
      Src: /src/tdengine/source/libs/transport/src/transCli.c:615,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - conn
    - pHead
    argTypes:
    - SCliConn*
    - STransMsgHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 622
    functionName: cliHandleState_mayHandleReleaseResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transRemoveExHandle
    - removeReqFromSendQ
    - transGetRefMgt
    - transCtxCleanup
    - CONN_GET_INST_LABEL
    - QUEUE_IS_EMPTY
    - tGDebug
    - TMSG_INFO
    - destroyReqWrapper
    - tDebug
    - taosHashGet
    - QUEUE_DATA
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - transReleaseExHandle
    - transQueueRemoveByFilter
    - QUEUE_INIT
    - transQueueSize
    - taosHashRemove
    - taosHton64
    - cliMayNotifyUserOnRecvReleaseExcept
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliHandleState_mayHandleReleaseResp(SCliConn* conn, STransMsgHead*
      pHead)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:625,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:630,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:634,1
    - Dst: transCtxDumpVal
      Src: /src/tdengine/source/libs/transport/src/transCli.c:636,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:637,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:638,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:638,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - conn
    - pHead
    - pResp
    argTypes:
    - SCliConn*
    - STransMsgHead*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 641
    functionName: cliHandleState_mayCreateAhandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - CONN_GET_INST_LABEL
    - tGDebug
    - TMSG_INFO
    - transCtxDumpVal
    - taosHton64
    - taosGetTimestampUs
    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:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 648
    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:654,1
    - Dst: transDumpFromBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:658,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:660,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:661,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:661,1
    - Dst: SCliThrd*::notifyExceptCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:663,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:665,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:665,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:665,1
    - Dst: transDecompressMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:670,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:671,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:671,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:675,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:676,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:677,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:678,1
    - Dst: cliHandleState_mayHandleReleaseResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:681,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:682,1
    - Dst: cliGetReqBySeq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:687,1
    - Dst: cliHandleState_mayCreateAhandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:689,1
    - Dst: cliBuildRespFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:691,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:692,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:696,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:698,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:698,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:698,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:700,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:701,1
    - Dst: cliHandleState_mayUpdateStateTime
      Src: /src/tdengine/source/libs/transport/src/transCli.c:707,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:709,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:709,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:710,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:713,1
    - Dst: cliBuildRespFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:715,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:717,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:718,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:718,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:719,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:720,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:722,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:722,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:724,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:726,1
    - Dst: cliConnMayUpdateTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:730,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 731
    functionName: cliHandleResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - cliConnClearInitUserMsg
    - cliHandleState_mayCreateAhandle
    - removeReqFromSendQ
    - cliBuildRespFromCont
    - CONN_GET_INST_LABEL
    - destroyReq
    - cliNotifyCb
    - tGDebug
    - TMSG_INFO
    - tDebug
    - tError
    - tWarn
    - transDecompressMsg
    - cliHandleState_mayUpdateStateTime
    - cliHandleState_mayHandleReleaseResp
    - transDumpFromBuffer
    - cliConnMayUpdateTimer
    - cliMayRecycleConn
    - cliGetReqBySeq
    - taosHton64
    - taosMemoryFree
    - htonl
    - SCliThrd*::notifyExceptCb
    linkageType: ''
    returnType: void
    signature: void cliHandleResp(SCliConn* conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:736,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:738,1
    - Dst: cliMayUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:742,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:743,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:743,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:744,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 745
    functionName: cliConnTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tTrace
    - cliMayUpdateFqdnCache
    - TAOS_UNUSED
    - transUnrefCliHandle
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    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:749,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:750,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:751,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 759
    functionName: filterToRmTimoutReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - REQUEST_NO_RESP
    - QUEUE_DATA
    - taosGetTimestampUs
    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:763,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:764,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:765,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:767,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 773
    functionName: filterToDebug_timeoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - REQUEST_NO_RESP
    - QUEUE_DATA
    - tWarn
    - taosGetTimestampUs
    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:778,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:788,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:791,1
    - Dst: cliConnRemoveTimeoutMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:791,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:792,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 793
    functionName: cliConnCheckTimoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliConnRemoveTimeoutMsg
    - cliMayRecycleConn
    - QUEUE_INIT
    - TAOS_UNUSED
    - transQueueSize
    linkageType: ''
    returnType: void
    signature: void cliConnCheckTimoutMsg(SCliConn* conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cliConnCheckTimoutMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 4
    functionLinenumber: 794
    functionLinenumberEnd: 797
    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:801,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: createConnPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: void
    signature: void * createConnPool(int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:809,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:811,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:812,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:813,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:814,1
    - Dst: cliDestroyConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:815,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:817,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 822
    functionName: destroyConnPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_HEAD
    - taosHashIterate
    - cliDestroyConn
    - QUEUE_DATA
    - taosHashCleanup
    - QUEUE_REMOVE
    - 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:827,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:828,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:831,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:832,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:841,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pThrd
    - key
    - ppList
    argTypes:
    - SCliThrd*
    - char*
    - SConnList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 848
    functionName: getOrCreateConnList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosHashGet
    - tTrace
    - QUEUE_INIT
    - 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:855,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:860,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:867,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:869,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:871,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:873,1
    - Dst: transDQCancel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:879,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - pThrd
    - key
    - ppConn
    argTypes:
    - SCliThrd*
    - char*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 886
    functionName: cliGetConnFromPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transDQCancel
    - QUEUE_HEAD
    - tTrace
    - QUEUE_INIT
    - QUEUE_DATA
    - QUEUE_REMOVE
    - QUEUE_IS_EMPTY
    - getOrCreateConnList
    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:891,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:892,1
    - Dst: CONN_CONSTRUCT_HASH_KEY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:894,1
    - Dst: cliGetConnFromPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:896,1
    - Dst: cliCreateConn2
      Src: /src/tdengine/source/libs/transport/src/transCli.c:900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - pConn
    argTypes:
    - SCliThrd*
    - SCliReq*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 889
    functionDepth: 3
    functionLinenumber: 889
    functionLinenumberEnd: 904
    functionName: cliGetOrCreateConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - EPSET_GET_INUSE_PORT
    - CONN_CONSTRUCT_HASH_KEY
    - cliGetConnFromPool
    - cliCreateConn2
    - EPSET_GET_INUSE_IP
    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:915,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:917,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:917,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:921,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transCli.c:922,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:924,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:929,1
    - Dst: transDQSched
      Src: /src/tdengine/source/libs/transport/src/transCli.c:935,1
    - Dst: CONN_PERSIST_TIME
      Src: /src/tdengine/source/libs/transport/src/transCli.c:935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pool
    - conn
    argTypes:
    - void*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 937
    functionName: addConnToPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - QUEUE_PUSH
    - strlen
    - tTrace
    - CONN_PERSIST_TIME
    - QUEUE_INIT
    - transDQSched
    - taosMemoryCalloc
    - cliResetConnTimer
    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:942,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:944,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:944,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: 946
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 946
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:950,1
    - Dst: transSetReadOption
      Src: /src/tdengine/source/libs/transport/src/transCli.c:957,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:959,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:959,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:959,1
    - Dst: transReadComplete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:965,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:966,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:966,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:969,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:969,1
    - Dst: cliHandleResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:973,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:983,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:983,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:987,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:987,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:987,1
    - Dst: transGetRefCount
      Src: /src/tdengine/source/libs/transport/src/transCli.c:988,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:990,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:990,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - handle
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 948
    functionDepth: 4
    functionLinenumber: 948
    functionLinenumberEnd: 992
    functionName: cliRecvCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - tTrace
    - TAOS_UNUSED
    - transSetReadOption
    - transReadComplete
    - cliHandleResp
    - transGetRefCount
    - uv_err_name
    - tDebug
    - tWarn
    - transUnrefCliHandle
    - CONN_GET_INST_LABEL
    - 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:1000,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1002,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1002,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: 1004
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1004
    functionName: cliAllocRecvBufferCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - tError
    - sslBufferRealloc
    linkageType: ''
    returnType: void
    signature: void cliAllocRecvBufferCbSSL(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/transCli.c:1008,1
    - Dst: transSetReadOption
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1015,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1017,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1017,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1017,1
    - Dst: sslRead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1021,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1022,1
    - Dst: transReadComplete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1024,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: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1028,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1028,1
    - Dst: cliHandleResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1032,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1042,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1042,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1048,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1048,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1048,1
    - Dst: transGetRefCount
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1049,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1049,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1051,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1051,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - handle
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1005
    functionDepth: 4
    functionLinenumber: 1005
    functionLinenumberEnd: 1053
    functionName: cliRecvCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - sslRead
    - tTrace
    - TAOS_UNUSED
    - transSetReadOption
    - transReadComplete
    - cliHandleResp
    - transGetRefCount
    - uv_err_name
    - tDebug
    - tWarn
    - transUnrefCliHandle
    - CONN_GET_INST_LABEL
    - STUB_RAND_NETWORK_ERR
    - TAOS_CHECK_GOTO
    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:1058,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1059,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1061,1
    - Dst: cliCreateConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1061,1
    - Dst: cliHandleState_mayUpdateState
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1063,1
    - Dst: addConnToHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1065,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1069,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1071,1
    - Dst: cliDoConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - ppConn
    argTypes:
    - SCliThrd*
    - SCliReq*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1055
    functionDepth: 2
    functionLinenumber: 1055
    functionLinenumberEnd: 1076
    functionName: cliCreateConn2
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - EPSET_GET_INUSE_PORT
    - cliDoConn
    - addConnToHeapCache
    - transQueuePush
    - cliHandleState_mayUpdateState
    - EPSET_GET_INUSE_IP
    - cliCreateConn
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliCreateConn2(SCliThrd* pThrd, SCliReq* pReq, SCliConn** ppConn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1079,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1084
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1090,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1092,1
    - Dst: CONN_CONSTRUCT_HASH_KEY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1096,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1098,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1099,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1102,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1107,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1109,1
    - Dst: transQueueInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1109,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1110,1
    - Dst: transQueueInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1110,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1112,1
    - Dst: transInitBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1112,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1117,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1117,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1119,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1122,1
    - Dst: cliGetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1122,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1125,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1128,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1131,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1133,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1133,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1135,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1139,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1141,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1144,1
    - Dst: initWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1144,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1156,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1157,1
    - Dst: destroyCliConnQTable
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1158,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1159,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1160,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1161,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1163,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1164,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1166,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 63
    argCount: 4
    argNames:
    - pThrd
    - pCliConn
    - ip
    - port
    argTypes:
    - SCliThrd*
    - SCliConn**
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1085
    functionDepth: 3
    functionLinenumber: 1085
    functionLinenumberEnd: 1169
    functionName: cliCreateConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - CONN_CONSTRUCT_HASH_KEY
    - uv_strerror
    - tError
    - taosMemoryCalloc
    - initWQ
    - cliGetConnTimer
    - transQueueDestroy
    - transInitBuffer
    - transDestroyBuffer
    - taosGetDefaultHashFunction
    - uv_tcp_init
    - taosStrdup
    - TAOS_CHECK_GOTO
    - destroyCliConnQTable
    - QUEUE_INIT
    - transQueueInit
    - taosHashInit
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliCreateConn(SCliThrd* pThrd, SCliConn** pCliConn, char* ip,
      int32_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1175,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1177,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1179,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1181,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1181,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1182,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1184,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1184,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1188,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1190,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1190,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1191,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1191,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1193,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1171
    functionDepth: 2
    functionLinenumber: 1171
    functionLinenumberEnd: 1197
    functionName: cliDestroyAllQidFromThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transReleaseExHandle
    - tstrerror
    - transRemoveExHandle
    - taosHashGetKey
    - taosHashIterate
    - transGetRefMgt
    - tDebug
    - taosHashRemove
    - CONN_GET_INST_LABEL
    - taosHashCleanup
    - transCtxCleanup
    linkageType: ''
    returnType: void
    signature: void cliDestroyAllQidFromThrd(SCliConn* conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cliHandleException
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - clear
    argTypes:
    - SCliConn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1198
    functionName: cliDestroyConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - cliHandleException
    linkageType: ''
    returnType: void
    signature: void cliDestroyConn(SCliConn* conn, bool clear)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_type
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1201,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1206,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1208,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1208,1
    - Dst: destroyAllReqs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1210,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1212,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1212,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1212,1
    - Dst: delConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1216,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1218,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1218,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1221,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1222,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1223,1
    - Dst: cliDestroyAllQidFromThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1224,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1227,1
    - Dst: sslDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1231,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1233,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1234,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1236,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1238,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1241
    functionName: cliDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - sslDestroy
    - tstrerror
    - destroyWQ
    - tTrace
    - uv_handle_get_type
    - destroyAllReqs
    - delConnFromHeapCache
    - tDebug
    - transDestroyBuffer
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    - taosMemoryFree
    - cliDestroyAllQidFromThrd
    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: 1243
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1243
    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:1265,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1265,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1266,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1266,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1269,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1270,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1270,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1271,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1272,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1277,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pConn
    - pReq
    - code
    argTypes:
    - SCliConn*
    - SCliReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1284
    functionName: notifyAndDestroyReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - destroyReq
    - tstrerror
    - cliNotifyCb
    - TMSG_INFO
    - REQUEST_NO_RESP
    - tDebug
    - CONN_GET_INST_LABEL
    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:1287,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1288,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1289,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1291,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1292,1
    - Dst: notifyAndDestroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - set
    - code
    argTypes:
    - SCliConn*
    - queue*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1286
    functionDepth: 2
    functionLinenumber: 1286
    functionLinenumberEnd: 1295
    functionName: destroyReqInQueue
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_HEAD
    - removeReqFromSendQ
    - notifyAndDestroyReq
    - QUEUE_DATA
    - QUEUE_REMOVE
    - 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:1301,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1305,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1306,1
    - Dst: destroyReqInQueue
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1296
    functionDepth: 3
    functionLinenumber: 1296
    functionLinenumberEnd: 1310
    functionName: destroyAllReqs
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - transQueueRemoveByFilter
    - destroyReqInQueue
    - QUEUE_INIT
    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:1316,1
    - Dst: destroyAllReqs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1317,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1319,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1319,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1319,1
    - Dst: cliDestroyAllQidFromThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1322,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1324,1
    - Dst: transDQCancel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1330,1
    - Dst: delConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1334,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1336,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1336,1
    - Dst: transGetRefCount
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1340,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1341,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1311
    functionDepth: 4
    functionLinenumber: 1311
    functionLinenumberEnd: 1347
    functionName: cliHandleException
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - uv_close
    - transDQCancel
    - tstrerror
    - destroyAllReqs
    - delConnFromHeapCache
    - QUEUE_REMOVE
    - transGetRefCount
    - uv_is_closing
    - tError
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    - cliDestroyAllQidFromThrd
    linkageType: ''
    returnType: void
    signature: void cliHandleException(SCliConn* conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1351,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1352,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - h
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1357
    functionName: filterToRmReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - REQUEST_NO_RESP
    - removeReqFromSendQ
    - QUEUE_DATA
    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:1360,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1362,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1363,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1364,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1365,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1366,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1358
    functionDepth: 2
    functionLinenumber: 1358
    functionLinenumberEnd: 1370
    functionName: cliConnRmReqs
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - destroyReq
    - QUEUE_HEAD
    - transQueueRemoveByFilter
    - QUEUE_INIT
    - QUEUE_DATA
    - QUEUE_REMOVE
    - 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:1380,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1380,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1380,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1382,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1385,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1385,1
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1386,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1387,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1387,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1395,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1396,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1400,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1400,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1400,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1401,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1401,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1406
    functionName: cliSendCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - cliBatchSend
    - uv_err_name
    - tDebug
    - sslIsInited
    - TAOS_UNUSED
    - transUnrefCliHandle
    - taosMemFree
    - CONN_GET_INST_LABEL
    - TAOS_CHECK_GOTO
    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:1424,1
    - Dst: tDebug
      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
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1432
    functionName: cliConnStartRead
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - CONN_GET_INST_LABEL
    - tDebug
    - tstrerror
    - uv_read_start
    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:1442,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1444,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1445,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1446,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1447,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1449,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1451,1
    - Dst: cliConnRmReqs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1456,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1458,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1458,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1458,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1459,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1459,1
    - Dst: cliConnMayUpdateTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1463,1
    - Dst: cliConnStartRead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1464,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1466,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1466,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1466,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1467,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1467,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1470,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1471,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1473,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1473,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1473,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1474,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1433
    functionDepth: 3
    functionLinenumber: 1433
    functionLinenumberEnd: 1477
    functionName: cliBatchSendCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliConnMayUpdateTimer
    - freeWReqToWQ
    - sslBufferUnref
    - tstrerror
    - QUEUE_HEAD
    - cliMayRecycleConn
    - removeReqFromSendQ
    - cliConnRmReqs
    - cliConnStartRead
    - cliBatchSend
    - QUEUE_DATA
    - tDebug
    - uv_err_name
    - TAOS_UNUSED
    - transUnrefCliHandle
    - CONN_GET_INST_LABEL
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void cliBatchSendCb(uv_write_t* req, int status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1491,1
    - Dst: transDecompressMsgExt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1492,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1494,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1497,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1503,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1507,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1508,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1510,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - pConn
    - ppHead
    - msgLen
    argTypes:
    - SCliConn*
    - STransMsgHead**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1478
    functionDepth: 2
    functionLinenumber: 1478
    functionLinenumberEnd: 1523
    functionName: cliConnMayAddUserInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - transDecompressMsgExt
    - memcpy
    - tDebug
    - tError
    - taosMemoryCalloc
    - taosMemoryFree
    - htonl
    linkageType: ''
    returnType: bool
    signature: bool cliConnMayAddUserInfo(SCliConn* pConn, STransMsgHead** ppHead,
      int32_t* msgLen)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1539,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1541,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1541,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1550,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1552,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1556,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1560,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1565,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1579,1
    - Dst: transQueueEmpty
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1581,1
    - Dst: transQueuePop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1582,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1583,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1589,1
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1596,1
    - Dst: transMsgLenFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1597,1
    - Dst: cliConnMayAddUserInfo
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1601,1
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1602,1
    - Dst: transContLenFromMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1603,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1610,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1612,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1614,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1616,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1618,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1619,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1620,1
    - Dst: transCompressMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1624,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1625,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1628,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1630,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1637,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1637,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1638,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1640,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1641,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1642,1
    - Dst: transRefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1649,1
    - Dst: allocWReqFromWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1650,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1653,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1653,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1653,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1654,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1655,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1656,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1657,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1660,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1660,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1666,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1667,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1667,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1670,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1672,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1672,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1672,1
    - Dst: sslWrite
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1676,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1680,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1681,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1682,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1683,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1686,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1687,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1687,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 113
    argCount: 2
    argNames:
    - pConn
    - direct
    argTypes:
    - SCliConn*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1525
    functionDepth: 3
    functionLinenumber: 1525
    functionLinenumberEnd: 1691
    functionName: cliBatchSend
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - removeReqFromSendQ
    - taosMemoryRealloc
    - REQUEST_NO_RESP
    - cliConnMayAddUserInfo
    - CONN_GET_INST_LABEL
    - QUEUE_IS_EMPTY
    - transQueuePop
    - ntohl
    - QUEUE_PUSH
    - transQueueEmpty
    - tGDebug
    - uv_write
    - TMSG_INFO
    - transContFromHead
    - transQueuePush
    - tDebug
    - transHeadFromCont
    - transRefCliHandle
    - tError
    - transUnrefCliHandle
    - QUEUE_MOVE
    - uv_buf_init
    - tTrace
    - transCompressMsg
    - allocWReqFromWQ
    - transContLenFromMsg
    - QUEUE_DATA
    - uv_err_name
    - rpcMallocCont
    - sslIsInited
    - QUEUE_HEAD
    - transMsgLenFromCont
    - QUEUE_INIT
    - sslWrite
    - TAOS_UNUSED
    - transQueueSize
    - taosHton64
    - freeWReqToWQ
    - htonl
    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:1694,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pConn
    - pCliMsg
    argTypes:
    - SCliConn*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1693
    functionDepth: 4
    functionLinenumber: 1693
    functionLinenumberEnd: 1697
    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:1703,1
    - Dst: inet_addr
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1704,1
    - Dst: htons
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1708,1
    - Dst: inet_pton
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1709,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1711,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ipAddr
    - addr
    argTypes:
    - SIpAddr*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1716
    functionName: cliBuildSockByIpType
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - inet_addr
    - strerror
    - inet_pton
    - tError
    - htons
    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:1725,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1726,1
    - Dst: cliBuildSockByIpType
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1731,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1732,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1734,1
    - Dst: taosCreateSocketWithTimeout
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1736,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1738,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1741,1
    - Dst: uv_tcp_open
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1743,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1745,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1745,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1745,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1746,1
    - Dst: transSetConnOption
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1748,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1750,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1750,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1750,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1751,1
    - Dst: transRefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1755,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1757,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1757,1
    - Dst: sslInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1763,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1764,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1771,1
    - Dst: uv_tcp_connect
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1776,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1778,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1778,1
    - Dst: cliMayUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1779,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1780,1
    - Dst: transRefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1784,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1785,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1787,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1787,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1787,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1788,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1793,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1793,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1793,1
    - Dst: cliDestroyConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1794,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
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1799,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1799,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1799,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 60
    argCount: 2
    argNames:
    - pThrd
    - conn
    argTypes:
    - SCliThrd*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1717
    functionDepth: 2
    functionLinenumber: 1717
    functionLinenumberEnd: 1801
    functionName: cliDoConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - cliGetIpFromFqdnCache
    - tstrerror
    - TAOS_UNUSED
    - cliBuildSockByIpType
    - cliMayUpdateFqdnCache
    - transRefCliHandle
    - tError
    - transUnrefCliHandle
    - cliDestroyConn
    - sslInit
    - taosHashGet
    - strlen
    - tTrace
    - uv_tcp_connect
    - uv_timer_start
    - uv_err_name
    - taosCreateSocketWithTimeout
    - TAOS_CHECK_GOTO
    - uv_tcp_open
    - transLabel
    - transSetConnOption
    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:1807,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1809,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1809,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1813,1
    - Dst: uv_tcp_getsockname
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1816,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1818,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1818,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1803
    functionDepth: 2
    functionLinenumber: 1803
    functionLinenumberEnd: 1824
    functionName: cliConnSetSockInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - uv_tcp_getsockname
    - uv_tcp_getpeername
    - uv_err_name
    - transSockInfo2Str
    - tWarn
    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: 1826
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1826
    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:1835,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1843,1
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1846,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1849,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1849,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1850,1
    - Dst: cliMayUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1851,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1852,1
    - Dst: cliConnSetSockInfo
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1856,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1858,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1858,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1858,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1859,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1862,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1862,1
    - Dst: cliConnStartRead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1864,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1866,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1866,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1866,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1867,1
    - Dst: sslConnect
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1870,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1872,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1872,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1872,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1873,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1879,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1881,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1881,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1881,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1882,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1887,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1887,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_connect_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1828
    functionDepth: 4
    functionLinenumber: 1828
    functionLinenumberEnd: 1889
    functionName: cliConnCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - uv_strerror
    - tstrerror
    - cliMayUpdateFqdnCache
    - tTrace
    - cliConnSetSockInfo
    - cliConnStartRead
    - cliBatchSend
    - tDebug
    - tError
    - TAOS_UNUSED
    - transUnrefCliHandle
    - sslConnect
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    - STUB_RAND_NETWORK_ERR
    - TAOS_CHECK_GOTO
    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:1907,1
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1910,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pReq
    - pThrd
    - code
    argTypes:
    - SCliReq*
    - SCliThrd*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1914
    functionName: doNotifyCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - memcpy
    - destroyReq
    - STrans*::cfp
    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:1916,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1923,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1924,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1926,1
    - Dst: destroyConnPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1926,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1927,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1915
    functionDepth: 2
    functionLinenumber: 1915
    functionLinenumberEnd: 1928
    functionName: cliHandleQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - destroyReq
    - destroyConnPool
    - uv_walk
    - tDebug
    - transAsyncPoolIsEmpty
    - TAOS_UNUSED
    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: 1929
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1929
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1933,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1930
    functionDepth: 1
    functionLinenumber: 1930
    functionLinenumberEnd: 1938
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: EPSET_IS_VALID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1945,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1952,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1953,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1954,1
    - Dst: EPSET_IS_VALID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1956,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pEpSet
    - pCvtAddr
    argTypes:
    - SReqEpSet*
    - SCvtAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1960
    functionName: cliMayCvtFqdnToIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - EPSET_IS_VALID
    - strncmp
    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:1965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - code
    - pCtx
    argTypes:
    - int32_t
    - SReqCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1962
    functionDepth: 1
    functionLinenumber: 1962
    functionLinenumberEnd: 1966
    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:1982,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - pResp
    argTypes:
    - SCliThrd*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1968
    functionDepth: 1
    functionLinenumber: 1968
    functionLinenumberEnd: 1990
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1995,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1998,1
    - Dst: taosGetIpFromFqdn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2000,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2003,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2003,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2007,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2011,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - cache
    - fqdn
    - ip
    - enableIpv6
    argTypes:
    - SHashObj*
    - char*
    - SIpAddr*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 1992
    functionDepth: 1
    functionLinenumber: 1992
    functionLinenumberEnd: 2019
    functionName: cliGetIpFromFqdnCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosGetIpFromFqdn
    - strlen
    - taosHashGet
    - tstrerror
    - taosHashPut
    - tError
    - tWarn
    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:2023,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2025,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2026,1
    - Dst: taosIpAddrIsEqual
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2028,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2029,1
    - Dst: IP_ADDR_STR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2029,1
    - Dst: IP_ADDR_STR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2029,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2030,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2033,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2037,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cache
    - fqdn
    argTypes:
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2040
    functionName: cliUpdateFqdnCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosGetIpFromFqdn
    - strlen
    - taosHashGet
    - tstrerror
    - taosIpAddrIsEqual
    - taosHashPut
    - tWarn
    - IP_ADDR_STR
    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:2045,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2051,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2052,1
    - Dst: cliUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - cache
    - dst
    argTypes:
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2042
    functionDepth: 2
    functionLinenumber: 2042
    functionLinenumberEnd: 2054
    functionName: cliMayUpdateFqdnCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 3
    functionsReached:
    - strlen
    - cliUpdateFqdnCache
    - memcpy
    - TAOS_UNUSED
    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:2062,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2065,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2065,1
    - Dst: doNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2066,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2056
    functionDepth: 2
    functionLinenumber: 2056
    functionLinenumberEnd: 2069
    functionName: doFreeTimeoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tGTrace
    - doNotifyCb
    - TMSG_INFO
    - QUEUE_REMOVE
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void doFreeTimeoutMsg(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2074,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2080
    functionName: cliHandleState_mayUpdateStateTime
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - taosGetTimestampUs
    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:2087,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2087,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2091,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2093,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2094,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2095,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2095,1
    - Dst: transCtxMerge
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2097,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2098,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2099,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2081
    functionDepth: 2
    functionLinenumber: 2081
    functionLinenumberEnd: 2102
    functionName: cliHandleState_mayUpdateStateCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - transCtxMerge
    - transLabel
    - tDebug
    - taosHashPut
    - taosGetTimestampUs
    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:2110,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2110,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2115,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2119,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2119,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2122,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2122,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2123,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2123,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2127,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2127,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2129,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - pConn
    argTypes:
    - SCliThrd*
    - SCliReq*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2104
    functionDepth: 2
    functionLinenumber: 2104
    functionLinenumberEnd: 2132
    functionName: cliMayGetStateByQid
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - transReleaseExHandle
    - transGetRefMgt
    - transAcquireExHandle
    - transLabel
    - tDebug
    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:2143,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2145,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2145,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2146,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2148,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2148,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2151,1
    - Dst: cliHandleState_mayUpdateStateCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2134
    functionDepth: 3
    functionLinenumber: 2134
    functionLinenumberEnd: 2153
    functionName: cliHandleState_mayUpdateState
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - cliHandleState_mayUpdateStateCtx
    - taosHashPut
    - transLabel
    - tDebug
    - TAOS_UNUSED
    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:2158,1
    - Dst: cliMayGetStateByQid
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2162,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2164,1
    - Dst: cliHandleState_mayUpdateStateCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2164,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2166,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2170,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2171,1
    - Dst: CONN_CONSTRUCT_HASH_KEY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2172,1
    - Dst: getConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2174,1
    - Dst: cliGetOrCreateConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2176,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2178,1
    - Dst: addConnToHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2183,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2185,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2185,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2189,1
    - Dst: cliHandleState_mayUpdateState
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2194,1
    - Dst: cliSendReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2196,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2198,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2198,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2199,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2199,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2202,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2208,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2208,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2212,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2212,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2154
    functionDepth: 5
    functionLinenumber: 2154
    functionLinenumberEnd: 2215
    functionName: cliHandleBatchReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tWarn
    - EPSET_GET_INUSE_PORT
    - cliSendReq
    - cliMayGetStateByQid
    - cliHandleState_mayUpdateStateCtx
    - CONN_CONSTRUCT_HASH_KEY
    - tstrerror
    - tTrace
    - addConnToHeapCache
    - cliGetOrCreateConn
    - tGWarn
    - cliHandleState_mayUpdateState
    - TAOS_UNUSED
    - transUnrefCliHandle
    - EPSET_GET_INUSE_IP
    - getConnFromHeapCache
    - TAOS_CHECK_GOTO
    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:2217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2217
    functionDepth: 6
    functionLinenumber: 2217
    functionLinenumberEnd: 2217
    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:2221,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2223,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2224,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2225,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2227,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2236,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2237,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2238,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2240,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2242,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2243,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2245,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2245,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2246,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2246,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2249,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - wq
    - pThrd
    argTypes:
    - queue*
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2219
    functionDepth: 4
    functionLinenumber: 2219
    functionLinenumberEnd: 2253
    functionName: cliDoReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUEUE_HEAD
    - TAOS_UNUSED
    - tTrace
    - QUEUE_INIT
    - cliBatchSend
    - QUEUE_DATA
    - tWarn
    - transUnrefCliHandle
    - QUEUE_REMOVE
    - 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:2255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wq
    - pThrd
    argTypes:
    - queue*
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2255
    functionDepth: 5
    functionLinenumber: 2255
    functionLinenumberEnd: 2255
    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:2264,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2266,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2267,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2270,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2272,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2273,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2273,1
    - Dst: cliHandleQuit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2257
    functionDepth: 3
    functionLinenumber: 2257
    functionLinenumberEnd: 2279
    functionName: cliAsyncCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - cliHandleQuit
    - QUEUE_INIT
    - QUEUE_MOVE
    - tError
    - taosThreadMutexUnlock
    - 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:2285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2287
    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:2295,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2297,1
    - Dst: destroyReqCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2300,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2302,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2289
    functionDepth: 2
    functionLinenumber: 2289
    functionLinenumberEnd: 2304
    functionName: destroyReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 8
    functionsReached:
    - destroyReqCtx
    - tGTrace
    - removeReqFromSendQ
    - transFreeMsg
    - 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:2316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - arg
    - param
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2305
    functionDepth: 3
    functionLinenumber: 2305
    functionLinenumberEnd: 2317
    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:2324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2318
    functionDepth: 4
    functionLinenumber: 2318
    functionLinenumberEnd: 2325
    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:2331,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2334,1
    - Dst: strtolower
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2334,1
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2335,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2337,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2337,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2327
    functionDepth: 1
    functionLinenumber: 2327
    functionLinenumberEnd: 2341
    functionName: cliWorkThread
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - uv_run
    - taosGetSelfPthreadId
    - strtolower
    - tDebug
    - setThreadName
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void * cliWorkThread(void* arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2345,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2347,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2351,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2354,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2356,1
    - Dst: createThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2361,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2366,1
    - Dst: destroyThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2368,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2369,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2370,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2372,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2383,1
    - Dst: cliSendQuit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2383,1
    - Dst: destroyThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2384,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2387,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2388,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: 2392
      start: 2343
    functionDepth: 1
    functionLinenumber: 2343
    functionLinenumberEnd: 2392
    functionName: transInitClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - createThrdObj
    - memcpy
    - cliSendQuit
    - taosThreadCreate
    - tDebug
    - TAOS_UNUSED
    - destroyThrdObj
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    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:2398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - thrd
    - pReq
    - pResp
    argTypes:
    - void*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2393
    functionDepth: 2
    functionLinenumber: 2393
    functionLinenumberEnd: 2399
    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:2405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2401
    functionDepth: 2
    functionLinenumber: 2401
    functionLinenumberEnd: 2406
    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:2411,1
    - Dst: freeUserCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2413,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2414,1
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2417,1
    - Dst: freeUserCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2419,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - thrd
    - pReq
    - pResp
    argTypes:
    - void*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2408
    functionDepth: 3
    functionLinenumber: 2408
    functionLinenumberEnd: 2422
    functionName: notifyExceptCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - cliBuildExceptResp
    - destroyReq
    - freeUserCtx
    - STrans*::cfp
    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: 2430
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2430
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2436,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2438,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2441,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2442,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2443,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2446,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2448,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2451,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2453,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2453,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2454,1
    - Dst: transAsyncPoolCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2458,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2460,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2460,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2461,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2465,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2468,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2472,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2474,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2476,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2478,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2478,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2480,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2482,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2483,1
    - Dst: createConnPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2487,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2490,1
    - Dst: transDQCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2492,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2493,1
    - Dst: transDQCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2496,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2497,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2502,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2502,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2504,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2507,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2507,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2509,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2512,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2512,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2514,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2517,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2519,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2526,1
    - Dst: CONN_PERSIST_TIME
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2526,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2535,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2535,1
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2536,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2537,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2538,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2539,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2540,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2542,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2544,1
    - Dst: destroyConnPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2544,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2545,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2545,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2546,1
    - Dst: transDQDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2548,1
    - Dst: transDQDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2549,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2550,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2551,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2552,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2554,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 98
    argCount: 2
    argNames:
    - trans
    - ppThrd
    argTypes:
    - void*
    - SCliThrd**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2432
    functionDepth: 2
    functionLinenumber: 2432
    functionLinenumberEnd: 2557
    functionName: createThrdObj
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayDestroy
    - tstrerror
    - taosArrayInit
    - uv_loop_init
    - transAsyncPoolCreate
    - transDQDestroy
    - CONN_PERSIST_TIME
    - uv_timer_stop
    - transDQCreate
    - tError
    - taosMemoryCalloc
    - uv_err_name
    - uv_timer_init
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - TAOS_CHECK_GOTO
    - taosGetTimestampMs
    - destroyConnPool
    - taosThreadMutexInit
    - taosArrayGetP
    - QUEUE_INIT
    - createConnPool
    - uv_loop_close
    - taosThreadMutexDestroy
    - TAOS_UNUSED
    - taosHashInit
    - taosHashCleanup
    - transAsyncPoolDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t createThrdObj(void* trans, SCliThrd** ppThrd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2563,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2564,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2564,1
    - Dst: CLI_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2567,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2568,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2568,1
    - Dst: TRANS_DESTROY_ASYNC_POOL_MSG
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2569,1
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2570,1
    - Dst: transDQDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2572,1
    - Dst: transDQDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2573,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2575,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2576,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2577,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2578,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2581,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2582,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2583,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2585,1
    - Dst: transHeapDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2588,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2589,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2591,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2593,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2595,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2596,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2558
    functionDepth: 2
    functionLinenumber: 2558
    functionLinenumberEnd: 2599
    functionName: destroyThrdObj
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - tstrerror
    - tTrace
    - transDQDestroy
    - taosArrayGetP
    - taosHashIterate
    - TRANS_DESTROY_ASYNC_POOL_MSG
    - transHeapDestroy
    - taosHashCleanup
    - tDebug
    - taosThreadMutexDestroy
    - taosArrayGetSize
    - TAOS_UNUSED
    - taosThreadJoin
    - CLI_RELEASE_UV
    - transAsyncPoolDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyThrdObj(SCliThrd* pThrd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2603,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2604,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SReqCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2607
    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:2612,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2618,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2620,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - thrd
    argTypes:
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2609
    functionDepth: 2
    functionLinenumber: 2609
    functionLinenumberEnd: 2626
    functionName: cliSendQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - atomic_store_8
    - transAsyncSend
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliSendQuit(SCliThrd* thrd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2628,1
    - Dst: uv_handle_get_type
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2629,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2632,1
    - Dst: uv_read_stop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2632,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2634,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2627
    functionDepth: 0
    functionLinenumber: 2627
    functionLinenumberEnd: 2636
    functionName: cliWalkCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - uv_close
    - uv_handle_get_type
    - uv_read_stop
    - uv_is_closing
    - TAOS_UNUSED
    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: 2650
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2650
    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:2658,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2651
    functionDepth: 7
    functionLinenumber: 2651
    functionLinenumberEnd: 2660
    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:2665,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2665,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2667,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2662
    functionDepth: 1
    functionLinenumber: 2662
    functionLinenumberEnd: 2673
    functionName: doCloseIdleConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transUnrefCliHandle
    - CONN_GET_INST_LABEL
    - tDebug
    - taosMemoryFree
    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:2683,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2683,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2685,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2685,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pReq
    - label
    argTypes:
    - SCliReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2674
    functionDepth: 1
    functionLinenumber: 2674
    functionLinenumberEnd: 2692
    functionName: cliPerfLog_schedMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tGTrace
    - tstrerror
    - epsetToStr
    - tWarn
    - tListLen
    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:2702,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2702,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2704,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2704,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2707,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2693
    functionDepth: 1
    functionLinenumber: 2693
    functionLinenumberEnd: 2709
    functionName: cliPerfLog_epset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - tTrace
    - epsetToStr
    - tWarn
    - tListLen
    - CONN_GET_INST_LABEL
    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:2714,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2714,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2716,1
    - Dst: transDQSched
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pReq
    - pThrd
    argTypes:
    - SCliReq*
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2711
    functionDepth: 2
    functionLinenumber: 2711
    functionLinenumberEnd: 2729
    functionName: cliSchedMsgToNextNode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - cliPerfLog_schedMsg
    - transDQSched
    - transLabel
    - 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:2740,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2741,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2745,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2750,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2756,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2758,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pReq
    - pResp
    argTypes:
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2731
    functionDepth: 2
    functionLinenumber: 2731
    functionLinenumberEnd: 2769
    functionName: cliTryUpdateEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - memcpy
    - tError
    - rpcMallocCont
    - tSerializeSEpSet
    - transCreateReqEpsetFromUserEpset
    - rpcFreeCont
    - tDeserializeSEpSet
    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:2778,1
    - Dst: tDeserializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2782,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2784,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2788,1
    - Dst: transCompareReqAndUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2791,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2792,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2793,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2794,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2796,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2797,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2804,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2805,1
    - Dst: tDeserializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2812,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2814,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2818,1
    - Dst: transCompareReqAndUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2821,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2822,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2823,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2824,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2825,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2826,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2833,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2834,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 3
    argNames:
    - pCtx
    - pResp
    - hasEpSet
    argTypes:
    - SReqCtx*
    - STransMsg*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2771
    functionDepth: 2
    functionLinenumber: 2771
    functionLinenumberEnd: 2840
    functionName: cliResetEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tDebug
    - transPrintEpSet
    - tError
    - transCreateReqEpsetFromUserEpset
    - EPSET_FORWARD_INUSE
    - transCompareReqAndUserEpset
    - tDeserializeSEpSet
    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:2849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pInst
    - pReq
    argTypes:
    - STrans*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2842
    functionDepth: 0
    functionLinenumber: 2842
    functionLinenumberEnd: 2856
    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:2860,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2861,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pInst
    - pReq
    argTypes:
    - STrans*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2858
    functionDepth: 1
    functionLinenumber: 2858
    functionLinenumberEnd: 2868
    functionName: cliRetryIsTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tDebug
    - taosGetTimestampMs
    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:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pInst
    - pResp
    argTypes:
    - STrans*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2870
    functionDepth: 0
    functionLinenumber: 2870
    functionLinenumberEnd: 2873
    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:2880,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - noDelay
    argTypes:
    - SReqCtx*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2875
    functionDepth: 0
    functionLinenumber: 2875
    functionLinenumberEnd: 2889
    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:2892,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2894,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pReq
    - pThrd
    argTypes:
    - SCliReq*
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2891
    functionDepth: 3
    functionLinenumber: 2891
    functionLinenumberEnd: 2898
    functionName: cliRetryDoSched
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - tError
    - cliSchedMsgToNextNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliRetryDoSched(SCliReq* pReq, SCliThrd* pThrd)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cliRetryMayInitCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2911,1
    - Dst: cliRetryShouldRetry
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2913,1
    - Dst: cliRetryIsTimeout
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2917,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2922,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2922,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2924,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2924,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2924,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2926,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2932,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2932,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2934,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2934,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2934,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2936,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2948,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2948,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2949,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2950,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2955,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2955,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2956,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2957,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2959,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2959,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2960,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2961,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2965,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2965,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2966,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2968,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2968,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2969,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2970,1
    - Dst: cliRetryUpdateRule
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2980,1
    - Dst: cliRetryDoSched
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2985,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2988,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2988,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 3
    argNames:
    - pConn
    - pReq
    - pResp
    argTypes:
    - SCliConn*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2900
    functionDepth: 4
    functionLinenumber: 2900
    functionLinenumberEnd: 2992
    functionName: cliMayRetry
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosReleaseRef
    - tstrerror
    - tTrace
    - cliRetryUpdateRule
    - cliRetryMayInitCtx
    - transGetSyncMsgMgt
    - cliResetEpset
    - transFreeMsg
    - tDebug
    - taosAcquireRef
    - tError
    - TAOS_UNUSED
    - cliRetryDoSched
    - cliRetryShouldRetry
    - cliRetryIsTimeout
    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: 3011
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 3011
    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:3020,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3024,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3024,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3027,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3027,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3029,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3031,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3031,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3034,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3034,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3036,1
    - Dst: cliIsEpsetUpdated
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3037,1
    - Dst: transCreateUserEpsetFromReqEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3041,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3042,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3044,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3046,1
    - Dst: tsem2_post
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3046,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3047,1
    - Dst: taosReleaseRef
      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: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3049,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3053,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3053,1
    - Dst: transCreateUserEpsetFromReqEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3056,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3057,1
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3059,1
    - Dst: cliIsEpsetUpdated
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3061,1
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3062,1
    - Dst: transCreateUserEpsetFromReqEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3065,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3066,1
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3068,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 3
    argNames:
    - pConn
    - pReq
    - pResp
    argTypes:
    - SCliConn*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 3013
    functionDepth: 2
    functionLinenumber: 3013
    functionLinenumberEnd: 3073
    functionName: cliNotifyImplCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliIsEpsetUpdated
    - tGTrace
    - tsem_post
    - tsem2_post
    - STrans*::cfp
    - taosReleaseRef
    - memcpy
    - transGetSyncMsgMgt
    - epsetAssign
    - taosAcquireRef
    - tError
    - TAOS_UNUSED
    - CONN_GET_INST_LABEL
    - transCreateUserEpsetFromReqEpset
    - rpcFreeCont
    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:3079,1
    - Dst: cliMayRetry
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3081,1
    - Dst: cliMayResetRespCode
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3084,1
    - Dst: cliTryUpdateEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3087,1
    - Dst: cliPerfLog_epset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3088,1
    - Dst: cliNotifyImplCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pConn
    - pReq
    - pResp
    argTypes:
    - SCliConn*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3074
    functionDepth: 5
    functionLinenumber: 3074
    functionLinenumberEnd: 3092
    functionName: cliNotifyCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 3
    functionsReached:
    - cliNotifyImplCb
    - cliMayRetry
    - cliTryUpdateEpset
    - removeReqFromSendQ
    - cliMayResetRespCode
    - cliPerfLog_epset
    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:3098,1
    - Dst: tError
      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: destroyThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3103,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3105,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3107
      start: 3094
    functionDepth: 3
    functionLinenumber: 3094
    functionLinenumberEnd: 3107
    functionName: transCloseClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - cliSendQuit
    - tError
    - destroyThrdObj
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void transCloseClient(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3116,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3117
      start: 3108
    functionDepth: 1
    functionLinenumber: 3108
    functionLinenumberEnd: 3117
    functionName: transRefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - CONN_GET_INST_LABEL
    - tTrace
    linkageType: ''
    returnType: void
    signature: void transRefCliHandle(void* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3127,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3127,1
    - Dst: cliDestroyConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3118
    functionDepth: 2
    functionLinenumber: 3118
    functionLinenumberEnd: 3132
    functionName: transUnrefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 11
    functionsReached:
    - CONN_GET_INST_LABEL
    - cliDestroyConn
    - tTrace
    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: 3140
      start: 3134
    functionDepth: 0
    functionLinenumber: 3134
    functionLinenumberEnd: 3140
    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:3143,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3143,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3147,1
    - Dst: cliRBChoseIdx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3149,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3155,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3156,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - trans
    - handle
    argTypes:
    - STrans*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3141
    functionDepth: 2
    functionLinenumber: 3141
    functionLinenumberEnd: 3159
    functionName: transGetWorkThrdFromHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transReleaseExHandle
    - cliRBChoseIdx
    - transGetRefMgt
    - transAcquireExHandle
    - 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:3162,1
    - Dst: transGetWorkThrdFromHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - trans
    - handle
    argTypes:
    - STrans*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3168
      start: 3160
    functionDepth: 3
    functionLinenumber: 3160
    functionLinenumberEnd: 3168
    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:3171,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3182,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3182,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3184,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3189,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3192,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3196,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3201,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3203,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3169
    functionDepth: 3
    functionLinenumber: 3169
    functionLinenumberEnd: 3208
    functionName: transReleaseCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - destroyReq
    - taosGetTimestampUs
    - tGDebug
    - transAsyncSend
    - tGenIdPI64
    - transGetWorkThrdFromHandle
    - taosMemoryCalloc
    - taosMemoryFree
    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:3212,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3212,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3215,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3217,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3220,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3222,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3225,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3227,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3235,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3237,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3242,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3249,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3250,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3251,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3253,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: 3255
      start: 3210
    functionDepth: 2
    functionLinenumber: 3210
    functionLinenumberEnd: 3255
    functionName: transInitMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - taosMemoryFree
    - tGenIdPI64
    - transCreateReqEpsetFromUserEpset
    - taosMemoryCalloc
    - taosGetTimestampUs
    - TAOS_CHECK_GOTO
    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:3258,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3262,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3262,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3264,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3270,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3272,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3278,1
    - Dst: transInitMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3278,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3281,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3281,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3282,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3282,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3283,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3284,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3285,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3285,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3289,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3289,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3293,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3295,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3295,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3297,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - ctx
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3300
      start: 3257
    functionDepth: 4
    functionLinenumber: 3257
    functionLinenumberEnd: 3300
    functionName: transSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transGetWorkThrd
    - EPSET_GET_INUSE_PORT
    - destroyReq
    - transReleaseExHandle
    - tstrerror
    - transInitMsg
    - tGDebug
    - transAsyncSend
    - transAcquireExHandle
    - transFreeMsg
    - transLabel
    - isReqExceedLimit
    - tError
    - EPSET_GET_INUSE_IP
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    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:3305,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3311,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3311,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3313,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3316,1
    - Dst: transAllocHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3316,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3318,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3320,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3323,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3323,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3325,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3333,1
    - Dst: transInitMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3333,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3336,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3336,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3337,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3337,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
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3340,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3340,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3344,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3344,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3345,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3345,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3349,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3351,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3351,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3352,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3352,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3354,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: 3356
      start: 3301
    functionDepth: 4
    functionLinenumber: 3301
    functionLinenumberEnd: 3356
    functionName: transSendRequestWithId
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transGetWorkThrd
    - EPSET_GET_INUSE_PORT
    - destroyReq
    - transReleaseExHandle
    - tstrerror
    - transInitMsg
    - tGDebug
    - transGetRefMgt
    - transAllocHandle
    - transAcquireExHandle
    - transAsyncSend
    - transFreeMsg
    - transLabel
    - isReqExceedLimit
    - tError
    - EPSET_GET_INUSE_IP
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    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:3359,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3362,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3362,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3364,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3372,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3374,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3377,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3379,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3382,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3384,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3387,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3389,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3390,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3393,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3393,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3395,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3397,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3397,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3398,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3399,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3402,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3404,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3404,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3405,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3406,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3409,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3411,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3411,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3412,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3413,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3421,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3423,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3423,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3424,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3425,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3430,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3434,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3434,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3435,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3435,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3437,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3439,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3440,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3442,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3442,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3444,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3447,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3448,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3449,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3449,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3450,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3453,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3453,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3454,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3455,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3458,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3459,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3460,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 84
    argCount: 4
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3463
      start: 3358
    functionDepth: 4
    functionLinenumber: 3358
    functionLinenumberEnd: 3463
    functionName: transSendRecv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - transGetWorkThrd
    - tsem_destroy
    - transFreeMsg
    - EPSET_GET_INUSE_IP
    - taosGetTimestampUs
    - tsem_wait
    - destroyReq
    - tGDebug
    - tGenIdPI64
    - transAcquireExHandle
    - transCreateReqEpsetFromUserEpset
    - taosMemoryCalloc
    - EPSET_GET_INUSE_PORT
    - transAsyncSend
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    - transReleaseExHandle
    - memcpy
    - transLabel
    - isReqExceedLimit
    - tsem_init
    - TAOS_UNUSED
    - taosMemoryFree
    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:3467,1
    - Dst: tsem2_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3472,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3473,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3473,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3476,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3478,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3481,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3487,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3487,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3489,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3496,1
    - Dst: tsem2_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3496,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3497,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - pTransMsg
    - refId
    argTypes:
    - STransMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3465
    functionDepth: 1
    functionLinenumber: 3465
    functionLinenumberEnd: 3500
    functionName: transCreateSyncMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - transGetSyncMsgMgt
    - tsem2_init
    - taosInitRWLatch
    - tsem2_destroy
    - taosAddRef
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCreateSyncMsg(STransMsg* pTransMsg, int64_t* refId)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3505,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3505,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3507,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3512,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3514,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3517,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3519,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3522,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3522,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3524,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3526,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3529,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3531,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3532,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3534,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3536,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3537,1
    - Dst: transCreateSyncMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3542,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3543,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3544,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3548,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3548,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3550,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3551,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3554,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3556,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3557,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3562,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3566,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3566,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3567,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3567,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3569,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3571,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3572,1
    - Dst: tsem2_timewait
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3576,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3580,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3583,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3588,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3588,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3589,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3589,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3589,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3590,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3590,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3590,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3593,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3596,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3597,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3598,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3601,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3602,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3602,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: 3604
      start: 3502
    functionDepth: 4
    functionLinenumber: 3502
    functionLinenumberEnd: 3604
    functionName: transSendRecvWithTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - transGetWorkThrd
    - transGetSyncMsgMgt
    - transFreeMsg
    - EPSET_GET_INUSE_IP
    - taosGetTimestampUs
    - destroyReq
    - tGDebug
    - epsetAssign
    - tGenIdPI64
    - transAcquireExHandle
    - taosAcquireRef
    - transCreateReqEpsetFromUserEpset
    - taosMemoryCalloc
    - taosRemoveRef
    - EPSET_GET_INUSE_PORT
    - taosReleaseRef
    - taosMemoryFreeClear
    - transAsyncSend
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    - tsem2_timewait
    - transCreateSyncMsg
    - transReleaseExHandle
    - memcpy
    - transLabel
    - TAOS_UNUSED
    - taosMemoryFree
    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: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3611,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3611,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3617,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3618,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3623,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3629,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3631,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3636,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3638,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3640,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3641,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3650,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3652,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3653,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3654,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3662,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3662,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - pInstRef
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3664
      start: 3608
    functionDepth: 3
    functionLinenumber: 3608
    functionLinenumberEnd: 3664
    functionName: transSetDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - destroyReq
    - transReleaseExHandle
    - memcpy
    - transAsyncSend
    - transAcquireExHandle
    - tDebug
    - taosMemoryCalloc
    - taosMemoryFree
    - transGetInstMgt
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSetDefaultAddr(void* pInstRef, const char* ip, const char*
      fqdn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3667,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3672,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3672,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3674,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3678,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3678,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3680,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3684,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3685,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3689
      start: 3666
    functionDepth: 2
    functionLinenumber: 3666
    functionLinenumberEnd: 3689
    functionName: transAllocHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - transGetRefMgt
    - transAcquireExHandle
    - QUEUE_INIT
    - taosInitRWLatch
    - tDebug
    - transAddExHandle
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t transAllocHandle(int64_t* refId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3692,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3692,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3697,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3698,1
    - Dst: transGetWorkThrdFromHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3701,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3703,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3706,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3708,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3713,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3713,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3718,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3720,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3722,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3723,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3727,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - pInstRef
    - transpointId
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3729
      start: 3690
    functionDepth: 3
    functionLinenumber: 3690
    functionLinenumberEnd: 3729
    functionName: transFreeConnById
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - transReleaseExHandle
    - taosMemoryFreeClear
    - tGDebug
    - transAsyncSend
    - tGenIdPI64
    - transAcquireExHandle
    - transGetWorkThrdFromHandle
    - tDebug
    - taosMemoryCalloc
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    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:3733,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3735,1
    - Dst: transHeapInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3738,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3740,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3740,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3744,1
    - Dst: transHeapDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3746,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3747,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3747,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pConnHeapCache
    - key
    - pHeap
    argTypes:
    - SHashObj*
    - char*
    - SHeap**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3757
      start: 3731
    functionDepth: 1
    functionLinenumber: 3731
    functionLinenumberEnd: 3757
    functionName: getOrCreateHeap
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosHashGet
    - tstrerror
    - transHeapDestroy
    - tError
    - taosHashPut
    - transHeapInit
    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:3766,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3767,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3777
      start: 3759
    functionDepth: 1
    functionLinenumber: 3759
    functionLinenumberEnd: 3777
    functionName: filterTimeoutReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - REQUEST_NO_RESP
    - removeReqFromSendQ
    - QUEUE_DATA
    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:3785,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3788,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3791,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3793,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3793,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3794,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3797,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3797,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3798,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3798,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3800,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3802,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3802,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3803,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3806,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3806,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3808,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3811,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3812,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3813,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3814,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3816,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3817,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3818,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3820,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3820,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3821,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3825,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pConn
    - st
    - set
    argTypes:
    - SCliConn*
    - int64_t*
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3826
      start: 3779
    functionDepth: 2
    functionLinenumber: 3779
    functionLinenumberEnd: 3826
    functionName: cliConnRemoveTimoutQidMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashGet
    - transReleaseExHandle
    - tstrerror
    - transRemoveExHandle
    - taosHashGetKey
    - taosArrayGet
    - transQueueRemoveByFilter
    - taosHashIterate
    - transGetRefMgt
    - taosArrayClear
    - taosArrayGetSize
    - tError
    - tWarn
    - taosHashRemove
    - CONN_GET_INST_LABEL
    - transCtxCleanup
    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:3832,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pConn
    - st
    - set
    argTypes:
    - SCliConn*
    - int64_t*
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3835
      start: 3828
    functionDepth: 2
    functionLinenumber: 3828
    functionLinenumberEnd: 3835
    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:3842,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3844,1
    - Dst: cliConnRemoveTimoutQidMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3846,1
    - Dst: cliConnRemoveTimeoutNoQidMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3847,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3849,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3852,1
    - Dst: destroyReqInQueue
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3837
    functionDepth: 3
    functionLinenumber: 3837
    functionLinenumberEnd: 3855
    functionName: cliConnRemoveTimeoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - cliConnRemoveTimeoutNoQidMsg
    - QUEUE_INIT
    - destroyReqInQueue
    - cliConnRemoveTimoutQidMsg
    - tWarn
    - QUEUE_IS_EMPTY
    - taosGetTimestampUs
    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:3860,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3861,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3862,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3863,1
    - Dst: logConnMissHit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3867,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3870,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3870,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3872,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3876,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3876,1
    - Dst: cliConnRemoveTimeoutMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3878,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3879,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3879,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pConn
    - key
    argTypes:
    - SCliConn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3856
    functionDepth: 4
    functionLinenumber: 3856
    functionLinenumberEnd: 3888
    functionName: shouldSWitchToOtherConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliConnRemoveTimeoutMsg
    - taosHashGet
    - strlen
    - tTrace
    - logConnMissHit
    - transLabel
    - tWarn
    - transQueueSize
    - taosHashGetSize
    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:3891,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3893,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3895
      start: 3890
    functionDepth: 1
    functionLinenumber: 3890
    functionLinenumberEnd: 3895
    functionName: filterToDebug
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - tGWarn
    - TMSG_INFO
    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:3902,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3903,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3903,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3896
    functionDepth: 1
    functionLinenumber: 3896
    functionLinenumberEnd: 3908
    functionName: logConnMissHit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - transQueueSize
    - taosHashGetSize
    - tDebug
    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:3913,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3915,1
    - Dst: transHeapGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3918,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3920,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3923,1
    - Dst: shouldSWitchToOtherConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3924,1
    - Dst: balanceConnHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3926,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pConnHeapCache
    - key
    argTypes:
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3936
      start: 3909
    functionDepth: 5
    functionLinenumber: 3909
    functionLinenumberEnd: 3936
    functionName: getConnFromHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - tTrace
    - balanceConnHeapCache
    - shouldSWitchToOtherConn
    - transHeapGet
    - 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:3943,1
    - Dst: getOrCreateHeap
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3946,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3951,1
    - Dst: transHeapInsert
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3958,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pConnHeapCacahe
    - pConn
    argTypes:
    - SHashObj*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3937
    functionDepth: 2
    functionLinenumber: 3937
    functionLinenumberEnd: 3962
    functionName: addConnToHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - getOrCreateHeap
    - taosGetTimestampMs
    - transHeapInsert
    - tTrace
    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:3966,1
    - Dst: transHeapDelete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3967,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3970,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3970,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3972,1
    - Dst: transHeapDelete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3975,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3977,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pConnHeapCache
    - pConn
    argTypes:
    - SHashObj*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3980
      start: 3964
    functionDepth: 1
    functionLinenumber: 3964
    functionLinenumberEnd: 3980
    functionName: delConnFromHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 3
    functionsReached:
    - taosHashGet
    - strlen
    - tstrerror
    - tTrace
    - transHeapDelete
    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:3987,1
    - Dst: transHeapBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3987,1
    - Dst: transHeapGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3988,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3989,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3990,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pConnHeapCache
    - pConn
    - pNewConn
    argTypes:
    - SHashObj*
    - SCliConn*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3998
      start: 3982
    functionDepth: 1
    functionLinenumber: 3982
    functionLinenumberEnd: 3998
    functionName: balanceConnHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - transHeapBalance
    - transHeapGet
    - REQS_ON_CONN
    - TAOS_UNUSED
    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:4001,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4002,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4004,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HeapNode*
    - HeapNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4010
      start: 4000
    functionDepth: 1
    functionLinenumber: 4000
    functionLinenumberEnd: 4010
    functionName: compareHeapNode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - REQS_ON_CONN
    - container_of
    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:4012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - heap
    argTypes:
    - SHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4019
      start: 4011
    functionDepth: 1
    functionLinenumber: 4011
    functionLinenumberEnd: 4019
    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:4022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - heap
    argTypes:
    - SHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4024
      start: 4020
    functionDepth: 1
    functionLinenumber: 4020
    functionLinenumberEnd: 4024
    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:4026,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4030,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4037
      start: 4025
    functionDepth: 1
    functionLinenumber: 4025
    functionLinenumberEnd: 4037
    functionName: transHeapGet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - heapMin
    - container_of
    - heapSize
    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:4042,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4046,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4051
      start: 4038
    functionDepth: 1
    functionLinenumber: 4038
    functionLinenumberEnd: 4051
    functionName: transHeapInsert
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosGetTimestampMs
    - heapInsert
    - tTrace
    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:4055,1
    - Dst: transHeapUpdateFailTs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4055,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4059,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4062,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4064,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4072,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4073,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4075,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4077,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4080
      start: 4052
    functionDepth: 1
    functionLinenumber: 4052
    functionLinenumberEnd: 4080
    functionName: transHeapDelete
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - tTrace
    - taosGetTimestampMs
    - TAOS_UNUSED
    - transHeapUpdateFailTs
    - 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:4083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4085
      start: 4082
    functionDepth: 0
    functionLinenumber: 4082
    functionLinenumberEnd: 4085
    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:4095,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4102,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4103,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4106,1
    - Dst: transHeapBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4109
      start: 4086
    functionDepth: 2
    functionLinenumber: 4086
    functionLinenumberEnd: 4109
    functionName: transHeapMayBalance
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - transHeapBalance
    - transHeapGet
    - REQS_ON_CONN
    - TAOS_UNUSED
    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:4115,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4118
      start: 4111
    functionDepth: 1
    functionLinenumber: 4111
    functionLinenumberEnd: 4118
    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: 4121
      start: 4121
    functionDepth: 0
    functionLinenumber: 4121
    functionLinenumberEnd: 4121
    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: 4122
      start: 4122
    functionDepth: 0
    functionLinenumber: 4122
    functionLinenumberEnd: 4122
    functionName: transUnrefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 11
    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:4132,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4132,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4134,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4138,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4138,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4139,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4140,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4141,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4142,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4144,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4145,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4145,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4149,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4149,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4152,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4154
      start: 4123
    functionDepth: 2
    functionLinenumber: 4123
    functionLinenumberEnd: 4154
    functionName: transReleaseCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - transReleaseExHandle
    - tstrerror
    - taosHashRemove
    - transGetRefMgt
    - transAcquireExHandle
    - tError
    - taosThreadMutexUnlock
    - transCtxCleanup
    - taosThreadMutexLock
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    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:4159,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4160,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4160,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4165,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4165,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4178,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4181,1
    - Dst: transCtxMerge
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4183,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4185,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4191,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4193,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4196,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4197,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4199,1
    - Dst: transSendReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4201,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4202,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4202,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pReq
    - ctx
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4155
    functionDepth: 2
    functionLinenumber: 4155
    functionLinenumberEnd: 4204
    functionName: transSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosVersionStrToInt
    - TRACE_SET_MSGID
    - taosHashGet
    - taosThreadMutexUnlock
    - transSendReq
    - transReleaseExHandle
    - TAOS_UNUSED
    - sprintf
    - transCtxMerge
    - tGenIdPI64
    - transAcquireExHandle
    - taosHashPut
    - taosThreadMutexLock
    - transGetInstMgt
    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:4210,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4210,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4212,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4215,1
    - Dst: transAllocHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4215,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4217,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4217,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4219,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4227,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4228,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4232,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4232,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4235,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4235,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4236,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4236,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: 4238
      start: 4206
    functionDepth: 5
    functionLinenumber: 4206
    functionLinenumberEnd: 4238
    functionName: transSendRequestWithId
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transSendRequest
    - transReleaseExHandle
    - tstrerror
    - transGetRefMgt
    - transAllocHandle
    - transAcquireExHandle
    - tError
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    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: 4240
      start: 4240
    functionDepth: 0
    functionLinenumber: 4240
    functionLinenumberEnd: 4240
    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:4244,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4244,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4246,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4251,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4251,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4253,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4254,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4255,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4257,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4261,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4262,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4262,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4263,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4264,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4266,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4267,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4269,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4269,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: 4271
      start: 4241
    functionDepth: 5
    functionLinenumber: 4241
    functionLinenumberEnd: 4271
    functionName: transSendRecvWithTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - tsem_destroy
    - transSendRequest
    - taosReleaseRef
    - memcpy
    - tGenIdPI64
    - transAcquireExHandle
    - transFreeMsg
    - tsem_init
    - TAOS_UNUSED
    - taosMemFree
    - taosMemoryCalloc
    - tsem_wait
    - taosMemoryFree
    - transGetInstMgt
    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:4273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pReq
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4274
      start: 4272
    functionDepth: 5
    functionLinenumber: 4272
    functionLinenumberEnd: 4274
    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: 4275
      start: 4275
    functionDepth: 0
    functionLinenumber: 4275
    functionLinenumberEnd: 4275
    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:4277,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4281,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4281,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4283,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4287,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4287,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4289,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4293,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4294,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4298
      start: 4276
    functionDepth: 2
    functionLinenumber: 4276
    functionLinenumberEnd: 4298
    functionName: transAllocHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - transGetRefMgt
    - transAcquireExHandle
    - QUEUE_INIT
    - taosInitRWLatch
    - tDebug
    - transAddExHandle
    - taosMemoryCalloc
    - taosMemoryFree
    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:4301,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4301,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4306,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4307,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4311,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4313,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pInstRef
    - transpointId
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4316
      start: 4299
    functionDepth: 2
    functionLinenumber: 4299
    functionLinenumberEnd: 4316
    functionName: transFreeConnById
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transReleaseExHandle
    - transAcquireExHandle
    - tDebug
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    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: 4320
      start: 4318
    functionDepth: 0
    functionLinenumber: 4318
    functionLinenumberEnd: 4320
    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: 4321
      start: 4321
    functionDepth: 0
    functionLinenumber: 4321
    functionLinenumberEnd: 4321
    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:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pInit
    - ppCtx
    argTypes:
    - SRpcInit*
    - SSslCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: transTlsCtxCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - transTlsCtxCreateImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t transTlsCtxCreate(const SRpcInit* pInit, SSslCtx** ppCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transTlsCtxDestroyImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSslCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 49
    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:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtx
    - ppTLs
    argTypes:
    - SSslCtx*
    - STransTLS**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    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:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTLs
    argTypes:
    - STransTLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    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:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTls
    - cliMode
    argTypes:
    - STransTLS*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    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:56,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: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    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:60,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: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: sslWrite
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    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:64,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: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslIsInitedImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTls
    argTypes:
    - STransTLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: sslIsInited
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 2
    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:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - cap
    argTypes:
    - SSslBuffer*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    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:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - data
    - len
    argTypes:
    - SSslBuffer*
    - uint8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 73
    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:75,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: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    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:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - available
    argTypes:
    - SSslBuffer*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    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:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    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:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: sslBufferUnref
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - sslBufferUnrefImpl
    linkageType: ''
    returnType: void
    signature: void sslBufferUnref(SSslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pInit
    - ppCtx
    argTypes:
    - SRpcInit*
    - SSslCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    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: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    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: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    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: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    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: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    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: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    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: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    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: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    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: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    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: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    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: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    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: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    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: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    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: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    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: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    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: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    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: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - epSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: tmsgSendSyncReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    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: 17
    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: transTlsCtxCreate
      Src: /src/tdengine/source/libs/transport/src/trans.c:122,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:123,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:126,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:127,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:129,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:132,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:139,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:140,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:143,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:143,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:144,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:144,1
    - Dst: transTlsCtxDestroy
      Src: /src/tdengine/source/libs/transport/src/trans.c:152,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:154,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 95
    argCount: 1
    argNames:
    - pInit
    argTypes:
    - SRpcInit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 158
    functionName: rpcOpen
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 10
    functionsReached:
    - strlen
    - tstrncpy
    - transValidLocalFqdn
    - tstrerror
    - memcpy
    - rpcInit
    - transAcquireExHandle
    - transTlsCtxDestroy
    - tError
    - tInfo
    - transAddExHandle
    - taosMemoryCalloc
    - transTlsCtxCreate
    - taosMemoryFree
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: void
    signature: void * rpcOpen(const SRpcInit* pInit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:160,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:164,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:164,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:165,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:165,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: rpcClose
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 11
    functionsReached:
    - transGetInstMgt
    - transRemoveExHandle
    - transReleaseExHandle
    - tInfo
    linkageType: ''
    returnType: void
    signature: void rpcClose(void* arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transTlsCtxDestroy
      Src: /src/tdengine/source/libs/transport/src/trans.c:175,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: rpcCloseImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transTlsCtxDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void rpcCloseImpl(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:181,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:183,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/trans.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - contLen
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: rpcMallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 18
    functionsReached:
    - taosMemoryCalloc
    - tError
    - tTrace
    linkageType: ''
    returnType: void
    signature: void * rpcMallocCont(int64_t contLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: rpcFreeCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 11
    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:195,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:199,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - contLen
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 209
    functionName: rpcReallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - taosMemoryRealloc
    - taosMemoryFree
    - rpcMallocCont
    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:212,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: 213
      start: 211
    functionDepth: 5
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: rpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 5
    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:216,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:218,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: 220
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 220
    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:223,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: 224
      start: 222
    functionDepth: 5
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pInit
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 228
    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:231,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: 232
      start: 229
    functionDepth: 5
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pInit
    - connId
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 233
    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:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: rpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 9
    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: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    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: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    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:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 241
    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: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    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:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - thandle
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 250
    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:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thandle
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    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:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 254
    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:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRange
    - buf
    argTypes:
    - SIpV4Range*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 256
    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)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/trans.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWhiteList
    - ppBuf
    argTypes:
    - SIpWhiteListDual*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 259
    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: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    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:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 268
    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:271,1
    - Dst: transHttpEnvDestroy
      Src: /src/tdengine/source/libs/transport/src/trans.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: rpcCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transCleanup
    - transHttpEnvDestroy
    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: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: rpcInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:303,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:305,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:308,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:310,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/trans.c:313,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/trans.c:313,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:314,1
    - Dst: transValidLocalFqdn
      Src: /src/tdengine/source/libs/transport/src/trans.c:356,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:357,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/trans.c:357,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:358,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:366,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/src/trans.c:382,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:388,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:389,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/trans.c:389,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:391,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:392,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/trans.c:392,1
    - Dst: transUpdateCb
      Src: /src/tdengine/source/libs/transport/src/trans.c:394,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:396,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:396,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:397,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:397,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:401,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 78
    argCount: 1
    argNames:
    - pInit
    argTypes:
    - SRpcInit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 405
    functionName: rpcOpen
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 10
    functionsReached:
    - strlen
    - tstrncpy
    - transValidLocalFqdn
    - tstrerror
    - memcpy
    - rpcInit
    - strcmp
    - taosThreadMutexInit
    - transAddExHandle
    - transAcquireExHandle
    - transGetInstMgt
    - tError
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosMemoryCalloc
    - taosMemoryFree
    - transUpdateCb
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: void
    signature: void * rpcOpen(const SRpcInit* pInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: rpcClose
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 11
    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: 418
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 418
    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:422,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:424,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/trans.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - contLen
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 432
    functionName: rpcMallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 19
    functionsReached:
    - taosMemoryCalloc
    - tError
    - tTrace
    linkageType: ''
    returnType: void
    signature: void * rpcMallocCont(int64_t contLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: rpcFreeCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 11
    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:437,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:441,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - contLen
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 451
    functionName: rpcReallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - taosMemoryRealloc
    - taosMemoryFree
    - rpcMallocCont
    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:454,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:458,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: 460
      start: 453
    functionDepth: 5
    functionLinenumber: 453
    functionLinenumberEnd: 460
    functionName: rpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 5
    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:463,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:465,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:475,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:477,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: 480
      start: 461
    functionDepth: 5
    functionLinenumber: 461
    functionLinenumberEnd: 480
    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:483,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:487,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: 489
      start: 482
    functionDepth: 5
    functionLinenumber: 482
    functionLinenumberEnd: 489
    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:492,1
    - Dst: transSendRecv
      Src: /src/tdengine/source/libs/transport/src/trans.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 491
    functionDepth: 5
    functionLinenumber: 491
    functionLinenumberEnd: 498
    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:501,1
    - Dst: transSendRecvWithTimeout
      Src: /src/tdengine/source/libs/transport/src/trans.c:505,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: 507
      start: 499
    functionDepth: 5
    functionLinenumber: 499
    functionLinenumberEnd: 507
    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:509,1
    - Dst: transFreeConnById
      Src: /src/tdengine/source/libs/transport/src/trans.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shandle
    - connId
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 4
    functionLinenumber: 508
    functionLinenumberEnd: 515
    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:518,1
    - Dst: transSendResponse
      Src: /src/tdengine/source/libs/transport/src/trans.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: rpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 9
    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:527,1
    - Dst: transRegisterMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 533
    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: 536
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 536
    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:541,1
    - Dst: transSetDefaultAddr
      Src: /src/tdengine/source/libs/transport/src/trans.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - thandle
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 547
    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:550,1
    - Dst: transSetIpWhiteList
      Src: /src/tdengine/source/libs/transport/src/trans.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - thandle
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 556
    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:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 558
    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:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRange
    - buf
    argTypes:
    - SIpV4Range*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 560
    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)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/trans.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWhiteList
    - ppBuf
    argTypes:
    - SIpWhiteList*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 563
    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: 570
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 570
    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:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 572
    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:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 579
    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: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    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: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    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: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    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:223,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:225,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:225,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: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    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:234,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:236,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: 238
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: uvAllocRecvBufferCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - tError
    - sslBufferRealloc
    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:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    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:249,1
    - Dst: subnetInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:255,1
    - Dst: subnetCheckIp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:258,1
    - Dst: transUtilCheckDualIp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pRange
    - ip
    argTypes:
    - SIpRange*
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: uvCheckIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - subnetCheckIp
    - subnetInit
    - transUtilCheckDualIp
    - tIpStrToUint
    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:266,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:271,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:271,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: uvWhiteListCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: SIpWhiteListTab
    signature: SIpWhiteListTab * uvWhiteListCreate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:282,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:285,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:286,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:288,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:290,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pWhite
    argTypes:
    - SIpWhiteListTab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: uvWhiteListDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - taosHashCleanup
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void uvWhiteListDestroy(SIpWhiteListTab* pWhite)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:296,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:301,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:306,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - plist
    - user
    - ppBuf
    argTypes:
    - SWhiteUserList*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: uvWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - sprintf
    - transUtilSWhiteListToStr
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvWhiteListToStr(SWhiteUserList* plist, char* user, char**
      ppBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:315,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:319,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:320,1
    - Dst: uvWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:325,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:327,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:329,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pWrite
    argTypes:
    - SIpWhiteListTab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 332
    functionName: uvWhiteListDebug
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uvWhiteListToStr
    - tTrace
    - taosHashGetKey
    - memcpy
    - taosHashIterate
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void uvWhiteListDebug(SIpWhiteListTab* pWrite)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:337,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:337,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:339,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:348,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:348,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:350,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:356,1
    - Dst: uvWhiteListDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:360,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: 362
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 362
    functionName: uvWhiteListAdd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - taosMemoryFreeClear
    - uvWhiteListDebug
    - taosHashPut
    - taosMemoryCalloc
    - taosMemoryFree
    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:371,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:372,1
    - Dst: createDefaultIp4Range
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:375,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:376,1
    - Dst: createDefaultIp6Range
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:383,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:384,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:393,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ip
    argTypes:
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 396
    functionName: uvWhiteListIsDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - createDefaultIp6Range
    - tstrerror
    - tError
    - tIpStrToUint
    - createDefaultIp4Range
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: bool
    signature: bool uvWhiteListIsDefaultAddr(SIpAddr* ip)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uvWhiteListIsDefaultAddr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:403,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:405,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:405,1
    - Dst: uvCheckIp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - pWhite
    - user
    - pIp
    - ver
    argTypes:
    - SIpWhiteListTab*
    - char*
    - SIpAddr*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 421
    functionName: uvWhiteListFilte
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - uvCheckIp
    - uvWhiteListIsDefaultAddr
    - 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:424,1
    - Dst: uvWhiteListFilte
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pWhite
    - pConn
    argTypes:
    - SIpWhiteListTab*
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: uvWhiteListCheckConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uvWhiteListFilte
    - taosIpAddrIsEqual
    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: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:443,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:443,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:448,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:451,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:451,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:454,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:456,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:456,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:461,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:465,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:465,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:468,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:473,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:473,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:477,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pConn
    - pHead
    - pTransMsg
    argTypes:
    - SSvrConn*
    - STransMsgHead*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 479
    functionName: uvPerfLog_receive
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tGTrace
    - tGDebug
    - TMSG_INFO
    - transLabel
    - tGWarn
    - taosNtoh64
    - taosGetTimestampUs
    linkageType: ''
    returnType: void
    signature: void uvPerfLog_receive(SSvrConn* pConn, STransMsgHead* pHead, STransMsg*
      pTransMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uvWhiteListCheckConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:486,1
    - Dst: uvWhiteListSetConnVer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 481
    functionDepth: 5
    functionLinenumber: 481
    functionLinenumberEnd: 492
    functionName: uvValidConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uvWhiteListCheckConn
    - uvWhiteListSetConnVer
    linkageType: ''
    returnType: int8_t
    signature: int8_t uvValidConn(SSvrConn* pConn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:498,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:500,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:503,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:506,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:510,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:512,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:514,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:516,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:524,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:526,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:528,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:528,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:529,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:536,1
    - Dst: uvStartSendRespImpl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:538,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - pConn
    - pHead
    argTypes:
    - SSvrConn*
    - STransMsgHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 543
    functionName: uvMayHandleReleaseReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - taosMemoryCalloc
    - tstrerror
    - tTrace
    - transQueuePush
    - tDebug
    - tError
    - uvStartSendRespImpl
    - taosHashRemove
    - taosHton64
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvMayHandleReleaseReq(SSvrConn* pConn, STransMsgHead* pHead)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:554,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:556,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:556,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:559,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:560,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:562,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:562,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:564,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pConn
    - ppHead
    - msgLen
    argTypes:
    - SSvrConn*
    - STransMsgHead**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 573
    functionName: uvConnMayGetUserInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - memcpy
    - tError
    - taosMemoryCalloc
    - taosMemoryFree
    - htonl
    linkageType: ''
    returnType: bool
    signature: bool uvConnMayGetUserInfo(SSvrConn* pConn, STransMsgHead** ppHead,
      int32_t* msgLen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: transDumpFromBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:582,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:584,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:584,1
    - Dst: transDecompressMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:587,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:588,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:588,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:589,1
    - Dst: uvConnMayGetUserInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:593,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:594,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:594,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:597,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:598,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:598,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:598,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:601,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:601,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:605,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:605,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:608,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:609,1
    - Dst: uvWhiteListCheckConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:615,1
    - Dst: uvWhiteListSetConnVer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:617,1
    - Dst: uvMayHandleReleaseReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:621,1
    - Dst: transContLenFromMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:626,1
    - Dst: tGError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:633,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:633,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:633,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:637,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:637,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:646,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:649,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:650,1
    - Dst: uvPerfLog_receive
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:653,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:659,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:661,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:661,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 574
    functionDepth: 5
    functionLinenumber: 574
    functionLinenumberEnd: 665
    functionName: uvHandleReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - uvConnMayGetUserInfo
    - uvWhiteListCheckConn
    - tGError
    - TMSG_INFO
    - transAcquireExHandle
    - tDebug
    - tError
    - transDecompressMsg
    - tstrncpy
    - uvGetConnRefOfThrd
    - tTrace
    - uvPerfLog_receive
    - transContLenFromMsg
    - transDumpFromBuffer
    - uvWhiteListSetConnVer
    - transReleaseExHandle
    - uvMayHandleReleaseReq
    - transLabel
    - taosHton64
    - taosMemoryFree
    - htonl
    linkageType: ''
    returnType: bool
    signature: bool uvHandleReq(SSvrConn* pConn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:673,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:676,1
    - Dst: destroyConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:677,1
    - Dst: transSetReadOption
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:681,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:683,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:683,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:683,1
    - Dst: transReadComplete
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:690,1
    - Dst: uvHandleReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:691,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:692,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:692,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:695,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:701,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:701,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:703,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:711,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:711,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:711,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:714,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: 716
      start: 667
    functionDepth: 6
    functionLinenumber: 667
    functionLinenumberEnd: 716
    functionName: uvOnRecvCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - uvHandleReq
    - transSetReadOption
    - transReadComplete
    - transLabel
    - uv_err_name
    - destroyConn
    - tError
    - tInfo
    - tWarn
    - transUnrefSrvHandle
    - tDebug
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: void uvOnRecvCb(uv_stream_t* cli, ssize_t nread, const uv_buf_t* buf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:724,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:727,1
    - Dst: destroyConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:728,1
    - Dst: transSetReadOption
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:732,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:734,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:734,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:734,1
    - Dst: sslRead
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:739,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:740,1
    - Dst: transReadComplete
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:743,1
    - Dst: uvHandleReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:744,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:745,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:745,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:748,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:754,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:754,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:756,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:764,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:764,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:764,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:768,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - cli
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 717
    functionDepth: 6
    functionLinenumber: 717
    functionLinenumberEnd: 770
    functionName: uvOnRecvCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - sslRead
    - uvHandleReq
    - transSetReadOption
    - transReadComplete
    - transLabel
    - uv_err_name
    - destroyConn
    - tError
    - tInfo
    - tWarn
    - transUnrefSrvHandle
    - tDebug
    - STUB_RAND_NETWORK_ERR
    - TAOS_CHECK_GOTO
    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:773,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:775,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:775,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: 777
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 777
    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:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 783
    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:792,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:792,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:792,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:794,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:797,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:797,1
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:798,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:799,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:799,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 809
    functionName: uvOnSendCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - transLabel
    - uv_err_name
    - tDebug
    - sslIsInited
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    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:811,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:817,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:818,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:820,1
    - Dst: sslBufferUnref
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:822,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:825,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:825,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:828,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:829,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:830,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:832,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:834,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:834,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:836,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:839,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:840,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:841,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:843,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:845,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:845,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:846,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:847,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:851,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 854
    functionName: uvOnSendCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - sslBufferUnref
    - destroySmsg
    - tTrace
    - QUEUE_HEAD
    - tGDebug
    - QUEUE_INIT
    - QUEUE_IS_EMPTY
    - transLabel
    - QUEUE_DATA
    - uv_err_name
    - QUEUE_MOVE
    - transUnrefSrvHandle
    - QUEUE_REMOVE
    - freeWReqToWQ
    - 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:856,1
    - Dst: tTrace
      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: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:860,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:862,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:863,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:865,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 868
    functionName: uvOnPipeWriteCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_strerror
    - uv_close
    - tTrace
    - uv_is_closing
    - tError
    - taosMemoryFree
    - 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:874,1
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:880,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:883,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:884,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:886,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:887,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:899,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:900,1
    - Dst: transMsgLenFromCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:903,1
    - Dst: taosIpAddrIsEqual
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:906,1
    - Dst: transCompressMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:908,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:909,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:913,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:913,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - smsg
    - wb
    argTypes:
    - SSvrRespMsg*
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 919
    functionName: uvPrepareSendData
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - transCompressMsg
    - tGDebug
    - taosIpAddrIsEqual
    - transMsgLenFromCont
    - TMSG_INFO
    - transLabel
    - transHeadFromCont
    - rpcMallocCont
    - taosHton64
    - htonl
    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:923,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:924,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:924,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:930,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:940,1
    - Dst: transQueuePop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:941,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:942,1
    - Dst: uvPrepareSendData
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:944,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:950,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: 962
      start: 921
    functionDepth: 3
    functionLinenumber: 921
    functionLinenumberEnd: 962
    functionName: uvBuildToSendData
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - QUEUE_PUSH
    - tTrace
    - taosMemoryRealloc
    - uvPrepareSendData
    - transLabel
    - QUEUE_DATA
    - transQueueSize
    - transQueuePop
    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:970,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:972,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:972,1
    - Dst: allocWReqFromWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:976,1
    - Dst: uError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:978,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:978,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:978,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:979,1
    - Dst: uvBuildToSendData
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:986,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:988,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:988,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:992,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:992,1
    - Dst: transRefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:996,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:998,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1000,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1000,1
    - Dst: sslWrite
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1004,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1009,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1010,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1011,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1012,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1013,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1015,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1017,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - smsg
    argTypes:
    - SSvrRespMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 964
    functionDepth: 4
    functionLinenumber: 964
    functionLinenumberEnd: 1019
    functionName: uvStartSendRespImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - transRefSrvHandle
    - transUnrefSrvHandle
    - QUEUE_IS_EMPTY
    - uv_write
    - tDebug
    - tError
    - tTrace
    - uvBuildToSendData
    - uError
    - allocWReqFromWQ
    - uv_err_name
    - QUEUE_DATA
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - destroySmsg
    - sslWrite
    - transLabel
    - transQueueSize
    - freeWReqToWQ
    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:1025,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1027,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1027,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1030,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1031,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1033,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1033,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SSvrRespMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1039
    functionName: uvMayHandleReleaseResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - tstrerror
    - transFreeMsg
    - transLabel
    - tError
    - taosHashRemove
    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:1043,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1044,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1048,1
    - Dst: uvStartSendRespImpl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - smsg
    argTypes:
    - SSvrRespMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1040
    functionDepth: 5
    functionLinenumber: 1040
    functionLinenumberEnd: 1051
    functionName: uvStartSendResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uvMayHandleReleaseResp
    - transQueuePush
    - uvStartSendRespImpl
    - destroySmsg
    linkageType: ''
    returnType: void
    signature: void uvStartSendResp(SSvrRespMsg* smsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1057,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - smsg
    argTypes:
    - SSvrRespMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1059
    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:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - smsg
    - param
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1060
    functionDepth: 3
    functionLinenumber: 1060
    functionLinenumberEnd: 1060
    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:1063,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1064,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1065,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1066,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1067,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1069,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1071,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1075
    functionName: destroyAllConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - QUEUE_HEAD
    - tTrace
    - QUEUE_INIT
    - QUEUE_DATA
    - transUnrefSrvHandle
    - QUEUE_REMOVE
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void destroyAllConn(SWorkThrd* pThrd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1083,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1084,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1087,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1089,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1090,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1093,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1094,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1095,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1097,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1099,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1113,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1113,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1115,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1116,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1116,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1117,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1121,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1076
    functionDepth: 3
    functionLinenumber: 1076
    functionLinenumberEnd: 1125
    functionName: uvWorkerAsyncCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - transReleaseExHandle
    - uvGetConnRefOfThrd
    - QUEUE_HEAD
    - tTrace
    - destroySmsg
    - QUEUE_REMOVE
    - transAcquireExHandle
    - QUEUE_DATA
    - QUEUE_MOVE
    - tError
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - 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:1127,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1130
    functionName: uvWalkCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_close
    - uv_is_closing
    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:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1134
    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:1138,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1140
    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:1144,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1144,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_shutdown_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1148
    functionName: uvShutDownCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - uv_err_name
    - tDebug
    - uv_close
    linkageType: ''
    returnType: void
    signature: void uvShutDownCb(uv_shutdown_t* req, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_work_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1154
    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:1158,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1163,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_work_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1165
    functionName: uvWorkAfterTask
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - tTrace
    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:1171,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1173,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1176,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1178,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1178,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1179,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1182,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1186,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1188,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1193,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1195,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1195,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1200,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1200,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1204,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1206,1
    - Dst: uv_write2
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1207,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1209,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1210,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1210,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1211,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1213,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1213,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - stream
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1217
    functionName: uvOnAcceptCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - uv_buf_init
    - strlen
    - uv_close
    - tstrerror
    - tTrace
    - uv_write2
    - uv_accept
    - uv_err_name
    - uv_is_closing
    - tError
    - TAOS_UNUSED
    - uv_tcp_init
    - container_of
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void uvOnAcceptCb(uv_stream_t* stream, int status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1221,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1222,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1225,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1229,1
    - Dst: inet_ntop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1230,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - addr
    - ip
    argTypes:
    - struct sockaddr*
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1236
    functionName: uvGetSockInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uInfo
    - ntohs
    - inet_ntop
    linkageType: ''
    returnType: void
    signature: void uvGetSockInfo(struct sockaddr* addr, SIpAddr* ip)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1239,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1242,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1242,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1245,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1245,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1246,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1247,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1251,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1251,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1251,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1252,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1253,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1254,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1257,1
    - Dst: uv_pipe_pending_count
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1262,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1263,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1268,1
    - Dst: createConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1273,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1279,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1281,1
    - Dst: uv_fileno
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1281,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1282,1
    - Dst: uv_tcp_getpeername
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1287,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1288,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1288,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1289,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1294,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1295,1
    - Dst: uv_tcp_getsockname
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1301,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1302,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1302,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1303,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1307,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1308,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1312,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1312,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1313,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1313,1
    - Dst: uvGetSockInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1315,1
    - Dst: uvGetSockInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1316,1
    - Dst: transSetConnOption
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1320,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1322,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1322,1
    - Dst: sslSetMode
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1330,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1333,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1335,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1335,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1336,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1340,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1340,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1341,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 3
    argNames:
    - q
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1237
    functionDepth: 2
    functionLinenumber: 1237
    functionLinenumberEnd: 1343
    functionName: uvOnConnectionCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - transSetConnOption
    - uv_tcp_getpeername
    - sslSetMode
    - transUnrefSrvHandle
    - uv_read_start
    - strncmp
    - STUB_RAND_NETWORK_ERR
    - uv_tcp_getsockname
    - uv_pipe_pending_count
    - uv_strerror
    - uv_fileno
    - transSockInfo2Str
    - tDebug
    - tError
    - tWarn
    - strlen
    - tTrace
    - uv_accept
    - uv_err_name
    - uvGetSockInfo
    - uv_close
    - createConn
    - TAOS_UNUSED
    - taosMemoryFree
    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:1347,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1349,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1352
    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:1354,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1359,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1360,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - connect
    - status
    argTypes:
    - uv_connect_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1361
    functionName: uvOnPipeConnectionCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_read_start
    - container_of
    - STUB_RAND_NETWORK_ERR
    - TAOS_UNUSED
    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:1364,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1369,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1370,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1370,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1375,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1377,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1377,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1381,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1383,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1383,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1387,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1389,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1389,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1396,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1399,1
    - Dst: transAsyncPoolCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1401,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1403,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1403,1
    - Dst: uv_pipe_connect
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1407,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1410,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1412,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1412,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - pThrd
    - pipeName
    argTypes:
    - SWorkThrd*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1362
    functionDepth: 2
    functionLinenumber: 1362
    functionLinenumberEnd: 1417
    functionName: addHandleToWorkloop
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - uv_pipe_open
    - uv_loop_init
    - transAsyncPoolCreate
    - uv_pipe_connect
    - QUEUE_INIT
    - uv_err_name
    - tError
    - uv_read_start
    - uv_pipe_init
    linkageType: ''
    returnType: int32_t
    signature: int32_t addHandleToWorkloop(SWorkThrd* pThrd, char* pipeName)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1424,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1425,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1425,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1430,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1432,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1436,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1438,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1438,1
    - Dst: uv_ip6_addr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1445,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1446,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1446,1
    - Dst: uv_tcp_bind
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1450,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1451,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1451,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1454,1
    - Dst: uv_ip4_addr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1457,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1458,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1458,1
    - Dst: uv_tcp_bind
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1462,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1463,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1463,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1466,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1468,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1469,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1469,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1473
    functionName: addHandleToAcceptloop
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_ip4_addr
    - taosMemoryCalloc
    - tstrerror
    - uv_listen
    - uv_async_init
    - uv_ip6_addr
    - uv_err_name
    - tError
    - tInfo
    - uv_tcp_init
    - uv_tcp_bind
    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:1477,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1480,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1482,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1486
    functionName: transWorkerThread
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_run
    - uv_err_name
    - setThreadName
    - tWarn
    linkageType: ''
    returnType: void
    signature: void * transWorkerThread(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1488,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1498,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1500,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1503,1
    - Dst: transQueueInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1505,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1506,1
    - Dst: transInitBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1509,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1510,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1516,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1518,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1523,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1523,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1525,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1528,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1528,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1530,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1535,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1536,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1536,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1538,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1538,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1540,1
    - Dst: initWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1543,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1544,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1548,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1550,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1554,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1556,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1559,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1561,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1561,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1561,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1562,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1565,1
    - Dst: sslInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1572,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1573,1
    - Dst: transRefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1581,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1586,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1586,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1587,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1587,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1591,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1592,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1593,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1594,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1596,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1598,1
    - Dst: sslDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1601,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1605,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1608,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1608,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1608,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 90
    argCount: 1
    argNames:
    - hThrd
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1610
    functionName: createConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - transRemoveExHandle
    - transRefSrvHandle
    - transAddExHandle
    - uv_strerror
    - QUEUE_PUSH
    - destroyWQ
    - sslDestroy
    - transAcquireExHandle
    - tError
    - taosMemoryCalloc
    - sslInit
    - initWQ
    - uvGetConnRefOfThrd
    - tTrace
    - transQueueDestroy
    - transInitBuffer
    - transDestroyBuffer
    - taosGetDefaultHashFunction
    - uv_tcp_init
    - QUEUE_REMOVE
    - TAOS_CHECK_GOTO
    - transReleaseExHandle
    - QUEUE_INIT
    - transLabel
    - transQueueInit
    - taosHashInit
    - taosHashCleanup
    - taosMemoryFree
    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:1618,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1619,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - clear
    argTypes:
    - SSvrConn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1623
    functionName: destroyConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - uv_close
    - uv_is_closing
    - tTrace
    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:1630,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1633,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1635,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1636,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1642
    functionName: uvConnDestroyAllState
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tTrace
    - taosHashCleanup
    - taosHashIterate
    - taosHashGetKey
    linkageType: ''
    returnType: void
    signature: void uvConnDestroyAllState(SSvrConn* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1651,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1651,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1652,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1652,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1655,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1655,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1657,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1659,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1661,1
    - Dst: uvConnDestroyAllState
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1663,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1665,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1667,1
    - Dst: sslDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1668,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1670,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1671,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1671,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1672,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1674,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1675,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1643
    functionDepth: 3
    functionLinenumber: 1643
    functionLinenumberEnd: 1678
    functionName: uvDestroyConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uvConnDestroyAllState
    - transReleaseExHandle
    - destroyWQ
    - transRemoveExHandle
    - uvGetConnRefOfThrd
    - sslDestroy
    - tTrace
    - transQueueDestroy
    - uv_walk
    - transLabel
    - tDebug
    - transDestroyBuffer
    - QUEUE_REMOVE
    - QUEUE_IS_EMPTY
    - taosMemoryFree
    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:1681,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1681,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1685,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1688,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1690,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1690,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1693,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1695,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1695,1
    - Dst: uv_is_readable
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1699,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1701,1
    - Dst: uv_is_writable
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1704,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1706,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1710,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1716
    functionName: uvPipeListenCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_is_writable
    - uv_accept
    - uv_is_readable
    - uv_err_name
    - uv_is_closing
    - tError
    - uv_pipe_init
    - container_of
    linkageType: ''
    returnType: void
    signature: void uvPipeListenCb(uv_stream_t* handle, int status)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1721,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1724,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1724,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1737,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1738,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1739,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1745,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1747,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1747,1
    - Dst: taosValidIpAndPort
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1752,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1753,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1754,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1754,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1762,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1764,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1764,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1768,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1768,1
    - Dst: GetCurrentProcessId
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1768,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1770,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1770,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1771,1
    - Dst: uv_pipe_bind
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1774,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1776,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1776,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1780,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1782,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1782,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1787,1
    - Dst: uvWhiteListCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1791,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1793,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1797,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1803,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1805,1
    - Dst: addHandleToWorkloop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1813,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1817,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1819,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1822,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1830,1
    - Dst: uvWhiteListCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1839,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1841,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1846,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1852,1
    - Dst: uv_socketpair
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1859,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1860,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1860,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1865,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1867,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1867,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1872,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1874,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1874,1
    - Dst: addHandleToWorkloop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1884,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1888,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1890,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1893,1
    - Dst: addHandleToAcceptloop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1899,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1903,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1905,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1907,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1908,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1908,1
    - Dst: destroyWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1920,1
    - Dst: transCloseServer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1923,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 181
    argCount: 5
    argNames:
    - addr
    - label
    - numOfThreads
    - fp
    - pInit
    argTypes:
    - SIpAddr*
    - char*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1718
    functionDepth: 3
    functionLinenumber: 1718
    functionLinenumberEnd: 1926
    functionName: transInitServer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosSafeRand
    - tstrerror
    - uv_loop_init
    - destroyWorkThrdObj
    - uv_pipe_bind
    - snprintf
    - TAOS_SYSTEM_ERROR
    - uv_listen
    - uv_pipe_open
    - uv_socketpair
    - addHandleToAcceptloop
    - tDebug
    - tError
    - taosMemoryCalloc
    - uv_pipe_init
    - destroyWorkThrd
    - addHandleToWorkloop
    - uvWhiteListCreate
    - uv_err_name
    - GetCurrentProcessId
    - terrstr
    - transCloseServer
    - taosThreadCreate
    - transOpenRefMgt
    - taosGetSelfPthreadId
    - taosValidIpAndPort
    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:1930,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1931,1
    - Dst: destroyAllConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1933,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1928
    functionDepth: 2
    functionLinenumber: 1928
    functionLinenumberEnd: 1936
    functionName: uvHandleQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_walk
    - destroyAllConn
    - QUEUE_IS_EMPTY
    - taosMemoryFree
    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: 1937
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1937
    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:1941,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1941,1
    - Dst: uvStartSendResp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1939
    functionDepth: 6
    functionLinenumber: 1939
    functionLinenumberEnd: 1943
    functionName: uvHandleResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - transLabel
    - uvStartSendResp
    - tTrace
    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:1949,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1949,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1952,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1954,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1957,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SSvrRespMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1945
    functionDepth: 2
    functionLinenumber: 1945
    functionLinenumberEnd: 1960
    functionName: uvHandleStateReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - transFreeMsg
    - 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:1963,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1963,1
    - Dst: uvHandleStateReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1964,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1961
    functionDepth: 3
    functionLinenumber: 1961
    functionLinenumberEnd: 1966
    functionName: uvHandleRegister
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - transLabel
    - tDebug
    - uvHandleStateReq
    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:1971,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1973,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1982,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1984,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1984,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1989,1
    - Dst: uvWhiteListAdd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1990,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2000,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2000,1
    - Dst: tFreeSUpdateIpWhiteReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2002,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2003,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2004,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1968
    functionDepth: 5
    functionLinenumber: 1968
    functionLinenumberEnd: 2005
    functionName: uvHandleUpdate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - memcpy
    - tDebug
    - tError
    - tFreeSUpdateIpWhiteReq
    - taosMemoryCalloc
    - uvWhiteListAdd
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void uvHandleUpdate(SSvrRespMsg* msg, SWorkThrd* thrd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2011,1
    - Dst: uvWhiteListDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2012,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2013,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2014,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2016
    functionName: destroyWorkThrdObj
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - uvWhiteListDestroy
    - transAsyncPoolDestroy
    - taosMemoryFree
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: void destroyWorkThrdObj(SWorkThrd* pThrd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sendQuitToWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2022,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2023,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2024,1
    - Dst: SRV_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2027,1
    - Dst: TRANS_DESTROY_ASYNC_POOL_MSG
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2028,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2017
    functionDepth: 3
    functionLinenumber: 2017
    functionLinenumberEnd: 2031
    functionName: destroyWorkThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - destroyWorkThrdObj
    - TRANS_DESTROY_ASYNC_POOL_MSG
    - SRV_RELEASE_UV
    - tError
    - taosThreadJoin
    - sendQuitToWorkThrd
    linkageType: ''
    returnType: void
    signature: void destroyWorkThrd(SWorkThrd* pThrd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2033,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2035,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2035,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2039,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2040,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 2032
    functionDepth: 2
    functionLinenumber: 2032
    functionLinenumberEnd: 2041
    functionName: sendQuitToWorkThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - transAsyncSend
    - tDebug
    - tError
    - TAOS_UNUSED
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void sendQuitToWorkThrd(SWorkThrd* pThrd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2048,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2049,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2049,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2050,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2051,1
    - Dst: SRV_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2054,1
    - Dst: destroyWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2056,1
    - Dst: SRV_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2059,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2062,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2063,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2064,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2068,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2071,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2043
    functionDepth: 4
    functionLinenumber: 2043
    functionLinenumberEnd: 2074
    functionName: transCloseServer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - uv_async_send
    - SRV_RELEASE_UV
    - tDebug
    - tError
    - TAOS_UNUSED
    - taosThreadJoin
    - taosMemoryFree
    - destroyWorkThrd
    linkageType: ''
    returnType: void
    signature: void transCloseServer(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2076
    functionDepth: 1
    functionLinenumber: 2076
    functionLinenumberEnd: 2083
    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:2091,1
    - Dst: destroyConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2085
    functionDepth: 2
    functionLinenumber: 2085
    functionLinenumberEnd: 2095
    functionName: transUnrefSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 6
    functionsReached:
    - destroyConn
    - tTrace
    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:2104,1
    - Dst: ASYNC_ERR_JRET
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2107,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2117,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2126,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2126,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2126,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2128,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2129,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2130,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2134,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2137,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2138,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2097
    functionDepth: 3
    functionLinenumber: 2097
    functionLinenumberEnd: 2143
    functionName: transReleaseSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - transReleaseExHandle
    - destroySmsg
    - ASYNC_CHECK_HANDLE
    - transAsyncSend
    - TMSG_INFO
    - transLabel
    - tDebug
    - taosMemoryCalloc
    - ASYNC_ERR_JRET
    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:2149,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2150,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2156,1
    - Dst: ASYNC_CHECK_HANDLE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2160,1
    - Dst: ASYNC_ERR_JRET
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2169,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2171,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2181,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2182,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2183,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2184,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2188,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2192,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2193,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2194,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2197,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2145
    functionDepth: 3
    functionLinenumber: 2145
    functionLinenumberEnd: 2200
    functionName: transSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - tGTrace
    - transReleaseExHandle
    - destroySmsg
    - tTrace
    - ASYNC_CHECK_HANDLE
    - transAsyncSend
    - tDebug
    - taosMemoryCalloc
    - ASYNC_ERR_JRET
    - 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:2206,1
    - Dst: ASYNC_ERR_JRET
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2217,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2219,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2229,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2229,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2230,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2231,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2232,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2236,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2240,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2241,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2242,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2245,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2201
    functionDepth: 3
    functionLinenumber: 2201
    functionLinenumberEnd: 2248
    functionName: transRegisterMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - transReleaseExHandle
    - destroySmsg
    - ASYNC_CHECK_HANDLE
    - transAsyncSend
    - transLabel
    - tDebug
    - taosMemoryCalloc
    - ASYNC_ERR_JRET
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t transRegisterMsg(const STransMsg* msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2251,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2251,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2258,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2263,1
    - Dst: cloneSUpdateIpWhiteReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2270,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2272,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2279,1
    - Dst: tFreeSUpdateIpWhiteReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2281,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2282,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2283,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2287,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2287,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - thandle
    - arg
    - func
    argTypes:
    - void*
    - void*
    - FilteFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2250
    functionDepth: 2
    functionLinenumber: 2250
    functionLinenumberEnd: 2293
    functionName: transSetIpWhiteList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - transReleaseExHandle
    - tstrerror
    - transAsyncSend
    - transAcquireExHandle
    - tDebug
    - tError
    - cloneSUpdateIpWhiteReq
    - tFreeSUpdateIpWhiteReq
    - taosMemoryCalloc
    - taosMemoryFree
    - transGetInstMgt
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSetIpWhiteList(void* thandle, void* arg, FilteFunc* func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2295
    functionDepth: 1
    functionLinenumber: 2295
    functionLinenumberEnd: 2298
    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: 2299
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2299
    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: 2301
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2301
    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:2304,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2308,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2312,1
    - Dst: transSendResp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2302
    functionDepth: 3
    functionLinenumber: 2302
    functionLinenumberEnd: 2316
    functionName: transSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - taosVersionStrToInt
    - transSendResp
    - rpcFreeCont
    - rpcIsReq
    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:2318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2317
    functionDepth: 3
    functionLinenumber: 2317
    functionLinenumberEnd: 2320
    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: 2321
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2321
    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: 2323
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2323
    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: 2327
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2327
    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: 1
    functionLinenumber: 167
    functionLinenumberEnd: 233
    functionName: taosCompressHttpRport
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - deflate
    - memcpy
    - deflateInit2
    - 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:
    - taosGetIpv4FromFqdn
    - uv_ip4_addr
    - tstrerror
    - uv_err_name
    - tError
    - taosInetNtoa
    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:
    - taosMemoryMalloc
    - httpDestroyMsg
    - 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:
    - httpDestroyMsg
    - tWarn
    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_PUSH
    - tstrerror
    - httpDestroyMsg
    - QUEUE_HEAD
    - atomic_load_8
    - QUEUE_DATA
    - tError
    - QUEUE_REMOVE
    - 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_HEAD
    - atomic_load_64
    - QUEUE_TAIL
    - QUEUE_DATA
    - tDebug
    - 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:
    - httpMayDiscardMsg
    - QUEUE_PUSH
    - QUEUE_HEAD
    - httpHandleQuit
    - QUEUE_REMOVE
    - QUEUE_INIT
    - httpTrace
    - QUEUE_DATA
    - tError
    - taosThreadMutexUnlock
    - httpHandleReq
    - 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:
    - uv_strerror
    - uv_close
    - taosReleaseRef
    - tstrerror
    - tTrace
    - memcpy
    - taosWUnLockLatch
    - tDebug
    - taosAcquireRef
    - tError
    - TAOS_UNUSED
    - taosWLockLatch
    - uv_is_closing
    - 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:
    - uv_strerror
    - uv_close
    - tTrace
    - uv_is_closing
    - 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_strerror
    - uv_close
    - taosReleaseRef
    - httpFailFastMayUpdate
    - uv_write
    - uv_is_closing
    - tError
    - taosAcquireRef
    - TAOS_UNUSED
    - 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:
    - taosMemoryFree
    - taosMemoryCalloc
    - atomic_fetch_add_64
    - transAsyncSend
    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_close
    - uv_is_closing
    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
    - uv_walk
    - tDebug
    - taosAcquireRef
    - TAOS_UNUSED
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void httpHandleQuit(SHttpMsg* msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      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
    - strlen
    - sprintf
    - taosGetTimestampSec
    - tDebug
    linkageType: ''
    returnType: bool
    signature: bool httpFailFastShoudIgnoreMsg(SHashObj* pTable, char* server, int16_t
      port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      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:
    - strlen
    - tstrerror
    - sprintf
    - taosGetTimestampSec
    - taosHashPut
    - tError
    - TAOS_UNUSED
    - taosHashRemove
    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:
    - tstrerror
    - taosBuildDstAddr
    - httpDestroyMsg
    - taosBuildHttpHeader
    - uv_strerror
    - taosAcquireRef
    - tError
    - taosMemoryCalloc
    - uv_buf_init
    - strlen
    - taosReleaseRef
    - uv_tcp_connect
    - httpFailFastShoudIgnoreMsg
    - taosCompressHttpRport
    - uv_tcp_init
    - taosCreateSocketWithTimeout
    - destroyHttpClient
    - uv_close
    - httpFailFastMayUpdate
    - uv_tcp_open
    - TAOS_UNUSED
    - taosMemoryFree
    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
    - uv_loop_close
    - TAOS_UNUSED
    - taosHashCleanup
    - transAsyncPoolDestroy
    - taosMemoryFree
    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:
    - taosReleaseRef
    - tstrerror
    - httpDestroyMsg
    - httpCreateMsg
    - transAsyncSend
    - atomic_load_8
    - tDebug
    - taosAcquireRef
    - tError
    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:
    - taosReleaseRef
    - tstrerror
    - httpDestroyMsg
    - httpCreateMsg
    - transAsyncSend
    - atomic_load_8
    - tDebug
    - taosAcquireRef
    - tError
    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:
    - taosSendHttpReportImplByChan2
    - taosThreadOnce
    - 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:
    - taosDestroyHttpChan
    - taosCloseRef
    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:
    - taosMemoryMalloc
    - uv_strerror
    - TAOS_SYSTEM_ERROR
    - uv_loop_init
    - taosHashInit
    - transAsyncPoolCreate
    - httpModuleDestroy2
    - taosThreadCreate
    - tError
    - taosAddRef
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    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:
    - transInitHttpChanImpl
    - taosThreadOnce
    - TAOS_UNUSED
    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:
    - atomic_store_8
    - taosReleaseRef
    - tstrerror
    - tTrace
    - httpSendQuit
    - tDebug
    - taosAcquireRef
    - tError
    - TAOS_UNUSED
    - taosThreadJoin
    - httpModuleDestroy
    - taosRemoveRef
    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:
    - taosInitRWLatch
    - taosAddRef
    - taosAcquireRef
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosThreadOnce
    - taosMemoryFree
    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
    - taosWUnLockLatch
    - taosAcquireRef
    - TAOS_UNUSED
    - 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:
    - strlen
    - tstrncpy
    - tstrerror
    - strchr
    - snprintf
    - tError
    - taosMemoryCalloc
    - strstr
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    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:
    - tstrerror
    - taosGetHttpRecvById
    - tError
    - taosMemoryFree
    - taosTelemetryGetValueFromHttpResp
    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:
    - tstrerror
    - taosGetAddrFromHttpResp
    - taosFreeHttpRecvHandle
    - taosAllocHttpRecvHandle
    - tDebug
    - tError
    - taosSendRecvHttpReportWithQID
    - taosSendHttpReport
    - TAOS_CHECK_GOTO
    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:
    - createDataBlock
    - taosArrayGet
    - memset
    - sprintf
    - colDataGetData
    - colDataSetVal
    - createColumnInfoData
    - blockDataAppendColInfo
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    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:
    - taosArrayGet
    - printf
    - 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:
    - varDataLen
    - memcmp
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - printf
    - colDataIsNull
    - varDataVal
    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:
    - initStreamDataSink
    - destroyDataSinkMgr
    - ASSERT_EQ
    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
    - putStreamDataCache
    - createTestBlock
    - INIT_DATA_SINK
    - blockDataDestroy
    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:
    - compareBlock
    - getStreamDataCache
    - destroyDataSinkMgr
    - initStreamDataCache
    - blockDataDestroy
    - ASSERT_NE
    - ASSERT_EQ
    - putStreamDataCache
    - createTestBlock
    - INIT_DATA_SINK
    - moveStreamDataCache
    - getNextStreamDataCache
    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
    - destroyDataSinkMgr
    - compareBlockRow
    - initStreamDataCache
    - ASSERT_NE
    - getNextStreamDataCache
    - ASSERT_EQ
    - putStreamDataCache
    - createTestBlock
    - INIT_DATA_SINK
    - moveStreamDataCache
    - blockDataDestroy
    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
    - destroyDataSinkMgr
    - initStreamDataCache
    - blockDataDestroy
    - ASSERT_NE
    - ASSERT_EQ
    - createTestBlock
    - INIT_DATA_SINK
    - moveStreamDataCache
    - getNextStreamDataCache
    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
    - destroyDataSinkMgr
    - cancelStreamDataCacheIterate
    - initStreamDataCache
    - blockDataDestroy
    - ASSERT_NE
    - ASSERT_EQ
    - createTestBlock
    - INIT_DATA_SINK
    - moveStreamDataCache
    - getNextStreamDataCache
    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
    - initStreamDataCache
    - ASSERT_NE
    - getNextStreamDataCache
    - ASSERT_EQ
    - putStreamDataCache
    - createTestBlock
    - INIT_DATA_SINK
    - blockDataDestroy
    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:
    - ASSERT_EQ
    - getStreamDataCache
    - destroyDataSinkMgr
    - compareBlockRow
    - initStreamDataCache
    - blockDataDestroy
    - ASSERT_NE
    - setDataSinkMaxMemSize
    - putStreamDataCache
    - createTestBlock
    - INIT_DATA_SINK
    - getNextStreamDataCache
    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:
    - ASSERT_EQ
    - getStreamDataCache
    - destroyStreamDataCache
    - destroyDataSinkMgr
    - compareBlockRow
    - initStreamDataCache
    - blockDataDestroy
    - ASSERT_NE
    - setDataSinkMaxMemSize
    - putStreamDataCache
    - createTestBlock
    - INIT_DATA_SINK
    - getNextStreamDataCache
    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:
    - compareBlock
    - ASSERT_EQ
    - getStreamDataCache
    - destroyStreamDataCache
    - initStreamDataCache
    - blockDataDestroy
    - ASSERT_NE
    - setDataSinkMaxMemSize
    - putStreamDataCache
    - createTestBlock
    - INIT_DATA_SINK
    - getNextStreamDataCache
    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:
    - notify_one
    - destroyStreamDataCache
    - initStreamDataCache
    - wait
    - setDataSinkMaxMemSize
    - ASSERT_EQ
    - pop
    - push
    - blockDataDestroy
    - front
    - std::vector::emplace_back
    - dist
    - taosMsleep
    - putStreamDataCache
    - createTestBlock
    - INIT_DATA_SINK
    - getStreamDataCache
    - notify_all
    - ASSERT_NE
    - join
    - getNextStreamDataCache
    - compareBlock
    - empty
    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
    - initStreamDataCache
    - ASSERT_NE
    - cleanStreamDataCache
    - getNextStreamDataCache
    - ASSERT_EQ
    - putStreamDataCache
    - createTestBlock
    - INIT_DATA_SINK
    - blockDataDestroy
    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: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1063
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - RUN_ALL_TESTS
    - ::testing::InitGoogleTest
    - ::testing::GTEST_FLAG
    - taos_init
    - taos_cleanup
    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: 1
    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: 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: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    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: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    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: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    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: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    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:45,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:46,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:49,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:49,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - streamId
    - ppReq
    - idx
    argTypes:
    - int64_t
    - SArray**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: stmAddMgmtReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TSDB_CHECK_NULL
    - taosArrayInit
    - stsDebug
    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:63,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:64,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:68,1
    - Dst: stTriggerTaskGetStatus
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:68,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:70,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:70,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:72,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:72,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:77,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - streamId
    - ppReport
    - triggerTask
    argTypes:
    - int64_t
    - SArray**
    - SStreamTriggerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 81
    functionName: stmAddPeriodReport
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - tstrerror
    - taosArrayGetSize
    - stTriggerTaskGetStatus
    - stsError
    - TSDB_CHECK_NULL
    - stsDebug
    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: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
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:92,1
    - Dst: smHandleRemovedTask
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pStream
    - streamId
    - gid
    argTypes:
    - SStreamInfo*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    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:101,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:103,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:103,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:105,1
    - Dst: tCloneSStreamMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:106,1
    - Dst: stmAddMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:106,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:106,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:108,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:108,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:113,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:116,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - streamId
    - pMsg
    - pTask
    argTypes:
    - int64_t
    - SStreamHbMsg*
    - SStreamTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 120
    functionName: stmHbAddTaskStatus
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - TAOS_CHECK_EXIT
    - stmAddMgmtReq
    - stError
    - taosWUnLockLatch
    - tCloneSStreamMgmtReq
    - taosArrayGetSize
    - taosArrayGetLast
    - taosWLockLatch
    - TSDB_CHECK_NULL
    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:130,1
    - Dst: stmHandleStreamRemovedTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:132,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:135,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:140,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:141,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:144,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:147,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:148,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:151,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:151,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:155,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:158,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:158,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:161,1
    - Dst: TD_DLIST_HEAD
      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:165,1
    - Dst: stmAddPeriodReport
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:165,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:166,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:171,1
    - Dst: stmHbAddTaskStatus
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:171,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:173,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:174,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:178,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:180,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:181,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:185,1
    - Dst: stRunnerBuildTaskMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:186,1
    - Dst: stmHbAddTaskStatus
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:186,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:188,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:188,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:190,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:193,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:193,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:196,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:196,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:200,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:203,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: 207
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 207
    functionName: stmHbAddStreamStatus
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - stmHandleStreamRemovedTasks
    - taosArrayInit
    - tstrerror
    - atomic_val_compare_exchange_8
    - tdListNext
    - ST_TASK_DLOG
    - stRunnerBuildTaskMgmtReq
    - TAOS_CHECK_EXIT
    - stmAddPeriodReport
    - TD_DLIST_HEAD
    - memset
    - stError
    - tdListInitIter
    - taosArrayGetSize
    - stsDebug
    - stmHbAddTaskStatus
    - taosWUnLockLatch
    - taosWLockLatch
    - TD_DLIST_NELES
    - TSDB_CHECK_NULL
    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:216,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:226,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:232,1
    - Dst: stmHbAddStreamStatus
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SStreamHbMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: stmBuildHbStreamsStatusReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - stDebug
    - stmHbAddStreamStatus
    - taosHashIterate
    - taosHashGetKey
    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:245,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:251,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:252,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:254,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:255,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:255,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:256,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:258,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:260,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:261,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:262,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:264,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:265,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:265,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:266,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:268,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:270,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:271,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:272,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:274,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:275,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:275,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:276,1
    - Dst: tdListFree
      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
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:282,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 286
    functionName: stmDestroySStreamInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tdListFree
    - taosMemoryFreeClear
    - memset
    - TD_DLIST_NELES
    - tdListInitIter
    - tdListPopNode
    - tdListNext
    - ST_TASK_DLOG
    - stDebug
    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: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    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:297,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:298,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:299,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:302,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:302,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:309,1
    - Dst: cJSON_CreateBool
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:309,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:315,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:315,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:321,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:321,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:327,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:327,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:334,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:334,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:340,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:340,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:346,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:346,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:354,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:355,1
    - Dst: cJSON_malloc
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:356,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:357,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:358,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:361,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:362,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:372,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:372,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:378,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:378,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:384,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:384,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:390,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:390,1
    - Dst: cJSON_malloc
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:401,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:402,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:403,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:403,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:406,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:407,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:416,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:416,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:423,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:423,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:426,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: 429
      start: 291
    functionDepth: 6
    functionLinenumber: 291
    functionLinenumberEnd: 429
    functionName: jsonAddColumnField
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - cJSON_free
    - varDataLen
    - tstrerror
    - QUERY_CHECK_CODE
    - memcpy
    - stError
    - cJSON_malloc
    - decimalToStr
    - cJSON_CreateNull
    - JSON_CHECK_ADD_ITEM
    - cJSON_CreateNumber
    - cJSON_CreateBool
    - QUERY_CHECK_CONDITION
    - cJSON_CreateStringReference
    - varDataVal
    - QUERY_CHECK_NULL
    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:439,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:440,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:442,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:443,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:444,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:445,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:447,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:448,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:449,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:450,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:453,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:454,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:458,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:461,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:461,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: 464
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 464
    functionName: streamBuildStateNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - tstrerror
    - QUERY_CHECK_CODE
    - stError
    - cJSON_CreateObject
    - cJSON_PrintUnformatted
    - jsonAddColumnField
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamBuildStateNotifyContent(ESTriggerEventType eventType,
      SColumnInfo* colInfo, const char* pFromState,\n                                      const
      char* pToState, char** ppContent)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      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: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:481,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:482,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:482,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:483,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:484,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:487,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:488,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:490,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:490,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:491,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:494,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:495,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:496,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:499,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:500,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:504,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:507,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:510,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:513,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 4
    argNames:
    - pInputBlock
    - pCondCols
    - rowIdx
    - ppContent
    argTypes:
    - SSDataBlock*
    - SNodeList*
    - int32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 516
    functionName: streamBuildEventNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - stError
    - cJSON_CreateObject
    - colDataIsNull_s
    - colDataGetData
    - JSON_CHECK_ADD_ITEM
    - cJSON_PrintUnformatted
    - cJSON_CreateNumber
    - jsonAddColumnField
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamBuildEventNotifyContent(const SSDataBlock* pInputBlock,
      const SNodeList* pCondCols, int32_t rowIdx,\n                                      char**
      ppContent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:481,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:482,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:482,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:483,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 14
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - jsonAddColumnField
    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:524,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:525,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:527,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:528,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:530,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:531,1
    - Dst: cJSON_AddItemToObjectCS
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:532,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:533,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:536,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:537,1
    - Dst: cJSON_AddItemToObjectCS
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:538,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:539,1
    - Dst: cJSON_CreateTrue
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:542,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:543,1
    - Dst: cJSON_AddItemToObjectCS
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:544,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:545,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:552,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:556,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:558,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:565,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:566,1
    - Dst: cJSON_CreateObject
      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: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:575,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:576,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:579,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:580,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:584,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:585,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:585,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:586,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:589,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:589,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:595,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:596,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:597,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:599,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:600,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:603,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:604,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:605,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:607,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:607,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: 610
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 610
    functionName: streamBuildBlockResultNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - cJSON_CreateObject
    - cJSON_AddArrayToObject
    - cJSON_PrintUnformatted
    - cJSON_AddItemToArray
    - QUERY_CHECK_CODE
    - taosArrayGet
    - cJSON_CreateTrue
    - cJSON_AddItemToObjectCS
    - stError
    - colDataGetData
    - JSON_CHECK_ADD_ITEM
    - taosArrayGetSize
    - cJSON_CreateNumber
    - jsonAddColumnField
    - cJSON_Delete
    - TSDB_CHECK_CONDITION
    - colDataIsNull_s
    - QUERY_CHECK_NULL
    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:621,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:622,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:624,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:625,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:626,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:626,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:627,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:627,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:629,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:630,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:631,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:631,1
    - Dst: cJSON_CreateObject
      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: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:636,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:636,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:637,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:637,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:637,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:638,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:641,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:642,1
    - Dst: taosStringBuilderAppendString
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:643,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:647,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:650,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:653,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:656,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:659,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - streamName
    - pBuilder
    argTypes:
    - char*
    - SStringBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 662
    functionName: streamAppendNotifyHeader
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - cJSON_free
    - taosGetSystemUUIDLimit36
    - TSDB_CHECK_CONDITION
    - cJSON_Delete
    - tstrerror
    - taosGetTimestampMs
    - QUERY_CHECK_CODE
    - stError
    - cJSON_CreateObject
    - cJSON_CreateArray
    - JSON_CHECK_ADD_ITEM
    - cJSON_PrintUnformatted
    - cJSON_CreateNumber
    - cJSON_CreateStringReference
    - taosStringBuilderAppendString
    - cJSON_AddItemToArray
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamAppendNotifyHeader(const char* streamName, SStringBuilder*
      pBuilder)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:681,1
    - Dst: u64toaFastLut
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:683,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:707,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:710,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:711,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:712,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:712,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:713,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:713,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:713,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:714,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:714,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:715,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:715,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:718,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:718,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:722,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:722,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:725,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:725,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:729,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:730,1
    - Dst: taosStringBuilderAppendString
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:731,1
    - Dst: taosStringBuilderAppendChar
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:735,1
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:736,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:736,1
    - Dst: taosStringBuilderAppendChar
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:741,1
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:742,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:743,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:748,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:751,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:754,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:754,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 5
    argNames:
    - triggerType
    - groupId
    - pParam
    - pBuilder
    - tableName
    argTypes:
    - int32_t
    - int64_t
    - SSTriggerCalcParam*
    - SStringBuilder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 757
    functionName: streamAppendNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - strlen
    - cJSON_free
    - cJSON_Delete
    - tstrerror
    - taosGetTimestampMs
    - QUERY_CHECK_CODE
    - taosStringBuilderAppendStringLen
    - taosStringBuilderAppendChar
    - cJSON_CreateObject
    - stError
    - JSON_CHECK_ADD_ITEM
    - u64toaFastLut
    - cJSON_PrintUnformatted
    - cJSON_CreateNumber
    - cJSON_CreateStringReference
    - taosStringBuilderAppendString
    - MurmurHash3_64
    - QUERY_CHECK_NULL
    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:775,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:778,1
    - Dst: taosStringBuilderEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:793,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:794,1
    - Dst: streamAppendNotifyHeader
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:796,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:797,1
    - Dst: streamAppendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:803,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:804,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:808,1
    - Dst: taosStringBuilderGetResult
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:809,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:811,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:812,1
    - Dst: tcurlGetConnection
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:819,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:821,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:824,1
    - Dst: tcurlSend
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:840,1
    - Dst: tcurlSend
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:842,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:850,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:853,1
    - Dst: taosStringBuilderDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:864,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:866,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:866,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 76
    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: 869
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 869
    functionName: streamSendNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosStringBuilderGetResult
    - tcurlGetConnection
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - streamAppendNotifyHeader
    - streamAppendNotifyContent
    - taosStringBuilderAppendStringLen
    - taosStringBuilderDestroy
    - tcurlSend
    - taosMsleep
    - taosArrayGetSize
    - TARRAY_SIZE
    - taosStringBuilderEnsureCapacity
    - taosStringBuilderAppendChar
    - strstr
    - TARRAY_GET_ELEM
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - pTask
    - streamName
    - tableName
    - triggerType
    - groupId
    - pNotifyAddrUrls
    - errorHandle
    - pParams
    - nParam
    argTypes:
    - SStreamTask*
    - char*
    - char*
    - int32_t
    - int64_t
    - SArray*
    - int32_t
    - SSTriggerCalcParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 876
    functionName: streamSendNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    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 errorHandle,\n                                const
      SSTriggerCalcParam* pParams, int32_t nParam)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:888,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:889,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:891,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:912,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:914,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:917,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:920,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:921,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:922,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:923,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:926,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:927,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:933,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:936,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:936,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: 939
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 939
    functionName: readStreamDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - tstrerror
    - QUERY_CHECK_CODE
    - getStreamDataCache
    - streamReleaseTask
    - stsError
    - streamAcquireTask
    - taosHashPut
    - QUERY_CHECK_CONDITION
    - QUERY_CHECK_NULL
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:15,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:16,1
    - Dst: qStreamDestroyTableList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:18,1
    - Dst: SStreamReaderTaskInner*::api::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:20,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:21,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 24
    functionName: releaseStreamTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - SStreamReaderTaskInner*::api::tsdReader::tsdReaderClose
    - cleanupQueryTableDataCond
    - qStreamDestroyTableList
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void releaseStreamTask(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:29,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:31,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:31,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:34,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:35,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:36,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:38,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:38,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:40,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:40,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - schemas
    - pBlockRet
    argTypes:
    - SArray*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: createDataBlockForStream
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - blockDataEnsureCapacity
    - taosArrayGet
    - STREAM_CHECK_NULL_GOTO
    - blockDataDestroy
    - taosArrayGetSize
    - createColumnInfoData
    - blockDataAppendColInfo
    - createDataBlock
    - STREAM_CHECK_RET_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:56,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:56,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:57,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:58,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:58,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:59,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:59,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:62,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pBlockRet
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: createDataBlockForTs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - createDataBlock
    - STREAM_PRINT_LOG_END
    - blockDataDestroy
    - createColumnInfoData
    - blockDataAppendColInfo
    - blockDataEnsureCapacity
    - STREAM_CHECK_RET_GOTO
    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:76,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:79,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:79,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:80,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:81,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:83,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:84,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:99,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:107,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:108,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:111,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:123,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:125,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:126,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: 132
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 132
    functionName: qStreamInitQueryTableDataCond
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - STREAM_PRINT_LOG_END
    - nodesListGetNode
    - taosArrayGet
    - memset
    - STREAM_CHECK_NULL_GOTO
    - taosArrayGetSize
    - taosMemoryCalloc
    - taosMemoryFree
    - LIST_LENGTH
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:138,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:142,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:148,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:148,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:150,1
    - Dst: createDataBlockForStream
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:150,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:156,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:158,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:160,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:161,1
    - Dst: qStreamSetTableList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:161,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:162,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:163,1
    - Dst: qStreamSetTableListGroupNum
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:166,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:166,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:169,1
    - Dst: qStreamGetTableList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:169,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:171,1
    - Dst: qStreamGetTableList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:171,1
    - Dst: qStreamGetGroupId
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:176,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:177,1
    - Dst: qStreamGetGroupIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:183,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:184,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:187,1
    - Dst: qStreamGetTableList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:187,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:189,1
    - Dst: qStreamGetTableList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:189,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:193,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:194,1
    - Dst: qStreamInitQueryTableDataCond
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:194,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:196,1
    - Dst: SStreamReaderTaskInner*::api::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:196,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:204,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:205,1
    - Dst: releaseStreamTask
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:206,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 5
    argNames:
    - pVnode
    - options
    - ppTask
    - pResBlock
    - api
    argTypes:
    - void*
    - SStreamTriggerReaderTaskInnerOptions*
    - SStreamReaderTaskInner**
    - SSDataBlock*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 208
    functionName: createStreamTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGetSize
    - qStreamGetTableList
    - STREAM_CHECK_NULL_GOTO
    - qStreamSetTableList
    - ST_TASK_DLOG
    - STREAM_CHECK_CONDITION_GOTO
    - qStreamGetGroupIndex
    - STREAM_CHECK_RET_GOTO
    - STREAM_PRINT_LOG_END
    - qStreamInitQueryTableDataCond
    - tSimpleHashIterate
    - qStreamGetGroupId
    - taosMemoryCalloc
    - createDataBlockForStream
    - tSimpleHashGetKey
    - qStreamSetTableListGroupNum
    - createOneDataBlock
    - cleanupQueryTableDataCond
    - SStreamReaderTaskInner*::api::tsdReader::tsdReaderOpen
    - nodesDestroyList
    - releaseStreamTask
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamTask(void* pVnode, SStreamTriggerReaderTaskInnerOptions*
      options, SStreamReaderTaskInner** ppTask,\n                         SSDataBlock*
      pResBlock, SStorageAPI* api)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pCond
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    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:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:224,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:225,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:228,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:229,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:230,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:232,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:233,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:234,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:235,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:236,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:237,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:238,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:239,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:240,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:241,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:242,1
    - Dst: qStreamDestroyTableList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:243,1
    - Dst: qStreamDestroyTableList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:244,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:245,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:247,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:249,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:251,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:253,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:255,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:256,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 259
    functionName: releaseStreamReaderInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - tSimpleHashCleanup
    - destroyExprInfo
    - taosMemoryFree
    - filterFreeInfo
    - nodesDestroyList
    - taosThreadMutexDestroy
    - nodesDestroyNode
    - taosHashCleanup
    - qStreamDestroyTableList
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void releaseStreamReaderInfo(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:265,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:266,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:267,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:269,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:270,1
    - Dst: tDestroyStRtFuncInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:272,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:273,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 275
    functionName: releaseStreamReaderCalcInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - filterFreeInfo
    - tDestroyStRtFuncInfo
    - nodesDestroyNode
    - taosMemoryFree
    - qDestroyTask
    linkageType: ''
    returnType: void
    signature: void releaseStreamReaderCalcInfo(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:278,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: 286
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 286
    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:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 293
    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:302,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:303,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:305,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:307,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:309,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - colList
    - pDataBlock
    argTypes:
    - SNodeList*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 320
    functionName: setColIdForCalcResBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_PRINT_LOG_END
    - nodeType
    - taosArrayGet
    - STREAM_CHECK_NULL_GOTO
    - STREAM_CHECK_CONDITION_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:302,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:303,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:305,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:307,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 316
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 14
    functionsReached:
    - STREAM_CHECK_CONDITION_GOTO
    - taosArrayGet
    - STREAM_CHECK_NULL_GOTO
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(nodeItem, colList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 326
    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: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pGroupList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 338
    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:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:344,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:345,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:347,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:356,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:360,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:361,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:363,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:364,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:365,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:370,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:370,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:373,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:376,1
    - Dst: STREAM_CHECK_NULL_GOTO
      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:387,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:388,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:390,1
    - Dst: setColIdForCalcResBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:390,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:391,1
    - Dst: setColIdForCalcResBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:391,1
    - Dst: groupbyTbname
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:392,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:396,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:396,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:398,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:399,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:400,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:405,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:406,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:411,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:412,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:415,1
    - Dst: setColIdForCalcResBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:415,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:416,1
    - Dst: setColIdForCalcResBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:416,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:417,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:417,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:418,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:419,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:419,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:421,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:421,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:422,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:423,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:426,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:427,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:428,1
    - Dst: qStreamBuildSchema
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:429,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:430,1
    - Dst: createDataBlockForTs
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:430,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:432,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:432,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:433,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:434,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:437,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:437,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:438,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:439,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:441,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:441,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:442,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:443,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:445,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:445,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:446,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:447,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:447,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:448,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:448,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:449,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:452,1
    - Dst: releaseStreamReaderInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 74
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - void*
    - SStreamReaderDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 340
    functionDepth: 4
    functionLinenumber: 340
    functionLinenumberEnd: 459
    functionName: createStreamReaderInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - STREAM_CHECK_NULL_GOTO
    - ST_TASK_DLOG
    - STREAM_CHECK_CONDITION_GOTO
    - STREAM_CHECK_RET_GOTO
    - STREAM_PRINT_LOG_END
    - createColumnInfoData
    - createExprInfo
    - taosMemoryCalloc
    - createDataBlockForTs
    - taosHashSetFreeFp
    - createOneDataBlock
    - createDataBlockFromDescNode
    - qStreamBuildSchema
    - setColIdForCalcResBlock
    - blockDataAppendColInfo
    - taosGetDefaultHashFunction
    - groupbyTbname
    - nodeType
    - nodesStringToList
    - taosThreadMutexInit
    - nodesStringToNode
    - taosHashInit
    - releaseStreamReaderInfo
    - tSimpleHashInit
    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:462,1
    - Dst: fmIsStreamPesudoColVal
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: checkPlaceHolderColumn
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - fmIsStreamPesudoColVal
    - nodeType
    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:478,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:485,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:485,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:487,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:488,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:489,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:501,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:503,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:504,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:507,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:508,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:511,1
    - Dst: releaseStreamReaderCalcInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - pTask
    - pMsg
    - pPlan
    - keepPlan
    argTypes:
    - void*
    - SStreamReaderDeployMsg*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 518
    functionName: createStreamReaderCalcInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_PRINT_LOG_END
    - nodeType
    - nodesWalkExpr
    - releaseStreamReaderCalcInfo
    - STREAM_CHECK_NULL_GOTO
    - taosArrayInit_s
    - taosMemoryCalloc
    - nodesCloneNode
    - taosStrdup
    - STREAM_CHECK_RET_GOTO
    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: 497
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 497
    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:523,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:524,1
    - Dst: ST_TASK_DLOGL
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:528,1
    - Dst: ST_TASK_DLOGL
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:529,1
    - Dst: createStreamReaderInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:530,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:531,1
    - Dst: ST_TASK_DLOGL
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:534,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:535,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:536,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:537,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:537,1
    - Dst: createStreamReaderCalcInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:540,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:541,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:542,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:542,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:545,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamReaderTask*
    - SStreamReaderDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 520
    functionDepth: 5
    functionLinenumber: 520
    functionLinenumberEnd: 559
    functionName: stReaderTaskDeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_PRINT_LOG_END
    - taosArrayPush
    - createStreamReaderInfo
    - taosArrayInit
    - createStreamReaderCalcInfo
    - ST_TASK_DLOGL
    - STREAM_CHECK_NULL_GOTO
    - nodesStringToNode
    - ST_TASK_DLOG
    - STREAM_CHECK_RET_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:564,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:565,1
    - Dst: releaseStreamReaderInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:567,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:569,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - ppTask
    - pMsg
    - cb
    argTypes:
    - SStreamReaderTask**
    - SStreamUndeployTaskMsg*
    - taskUndeplyCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 578
    functionName: stReaderTaskUndeployImpl
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_NULL_GOTO
    - releaseStreamReaderInfo
    - STREAM_PRINT_LOG_END
    - taosArrayDestroyP
    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:585,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:586,1
    - Dst: stReaderTaskUndeployImpl
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ppTask
    - force
    argTypes:
    - SStreamReaderTask**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 5
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: stReaderTaskUndeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosWTryForceLockLatch
    - stReaderTaskUndeployImpl
    - ST_TASK_DLOG
    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:601,1
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:601,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:606,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - streamId
    - taskId
    - taskAddr
    argTypes:
    - int64_t
    - int64_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 613
    functionName: qStreamGetReaderInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_PRINT_LOG_END
    - ST_TASK_DLOG
    - streamAcquireTask
    - STREAM_CHECK_RET_GOTO
    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:623,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:624,1
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:626,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:630,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:631,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:639,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:642,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:643,1
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:645,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:650,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:650,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:651,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:654,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:656,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:663,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: 665
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 665
    functionName: streamBuildFetchRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - htobe64
    - blockGetEncodeSize
    - taosArrayGetP
    - STREAM_CHECK_NULL_GOTO
    - taosArrayGetSize
    - rpcMallocCont
    - STREAM_CHECK_CONDITION_GOTO
    - stDebug
    - blockEncode
    - htonl
    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:
    - stError
    - stInfo
    - tstrerror
    - taosTmrInit
    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:
    - stTrace
    - tstrerror
    - stError
    - taosTmrReset
    - taosTmrStart
    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:
    - streamTmrStop
    - taosTmrCleanUp
    - stInfo
    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:
    - tRBTreeDrop
    - tRBTreeGet
    - tRBTreePut
    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
    - tRBTreeDrop
    - tRBTreeClear
    - destroyFreeBlock
    - tRBTreeIterCreate
    linkageType: ''
    returnType: void
    signature: void clearAllFreeBlocks(SRBTree *tree)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:37,1
    - Dst: SMultiwayMergeTreeInfo*::comparFn
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pTree
    - pIdx
    argTypes:
    - SMultiwayMergeTreeInfo*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: stMergeTreeGetSecondIndex
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - SMultiwayMergeTreeInfo*::comparFn
    - tMergeTreeGetAdjustIndex
    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:67,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:68,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:70,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:71,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:73,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:74,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:78,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - pSorter
    - pTask
    argTypes:
    - SSTriggerTimestampSorter*
    - SStreamTriggerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: stTimestampSorterInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - ST_TASK_ELOG
    - taosArrayInit
    - QUERY_CHECK_NULL
    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:91,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:96,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:97,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:99,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:103,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:108,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:112,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 116
    functionName: stTimestampSorterDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - tMergeTreeDestroy
    - TARRAY_SIZE
    - TARRAY_GET_ELEM
    - 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:127,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:131,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:132,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:134,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:138,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pSorter
    argTypes:
    - SSTriggerTimestampSorter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 144
    functionName: stTimestampSorterReset
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    - taosArrayClear
    - TARRAY_GET_ELEM
    - TARRAY_SIZE
    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:152,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:153,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:159,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:163,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pSorter
    - pRange
    - tbUid
    - tsSlotId
    argTypes:
    - SSTriggerTimestampSorter*
    - STimeWindow*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: stTimestampSorterSetSortInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - BIT_FLAG_SET_MASK
    - ST_TASK_ELOG
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTimestampSorterSetSortInfo(SSTriggerTimestampSorter *pSorter,
      STimeWindow *pRange, int64_t tbUid,\n                                     int32_t
      tsSlotId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:176,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:178,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:178,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:180,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:180,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:182,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:184,1
    - Dst: IS_TRIGGER_META_DATA_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:186,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:190,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:191,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:195,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:197,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:199,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:200,1
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:201,1
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:201,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:207,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:209,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:211,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:214,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:218,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - pSorter
    - pTableMeta
    argTypes:
    - SSTriggerTimestampSorter*
    - SSTriggerTableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 221
    functionName: stTimestampSorterSetMetaDatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - IS_TRIGGER_META_DATA_EMPTY
    - BIT_FLAG_SET_MASK
    - taosArrayReserve
    - taosArrayGetSize
    - TD_DLIST_TAIL
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TARRAY_GET_ELEM
    - TD_DLIST_APPEND
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterSetMetaDatas(SSTriggerTimestampSorter *pSorter,
      SSTriggerTableMeta *pTableMeta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:230,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:232,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:232,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:234,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:234,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:236,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:237,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:240,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pSorter
    argTypes:
    - SSTriggerTimestampSorter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 247
    functionName: stTimestampSorterSetEmptyMetaDatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - BIT_FLAG_SET_MASK
    - taosArrayReserve
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterSetEmptyMetaDatas(SSTriggerTimestampSorter
      *pSorter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:250,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:252,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:255,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:259,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SSTriggerMetaDataList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: stTimestampSorterMetaListMoveForward
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - TD_DLIST_POP
    - blockDataDestroy
    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:268,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:269,1
    - Dst: stTimestampSorterMetaListMoveForward
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:272,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:283,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:284,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:287,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:288,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:289,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:296,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pSorter
    - pList
    - ts
    argTypes:
    - SSTriggerTimestampSorter*
    - SSTriggerMetaDataList*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 299
    functionName: stTimestampSorterMetaListSkip2Ts
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - stTimestampSorterMetaListMoveForward
    - POINTER_DISTANCE
    - taosArrayGet
    - blockDataGetNumOfRows
    - taosbsearch
    - TD_DLIST_HEAD
    - QUERY_CHECK_NULL
    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:306,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:306,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:307,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:308,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:316,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 332
    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:339,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:339,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:341,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:341,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:344,1
    - Dst: SET_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:346,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:351,1
    - Dst: stTimestampSorterMetaListSkip2Ts
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:352,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:353,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:358,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:363,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:364,1
    - Dst: tMergeTreeRebuild
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:367,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:372,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:372,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - pSorter
    argTypes:
    - SSTriggerTimestampSorter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 377
    functionName: stTimestampSorterBuildDataMerger
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - tMergeTreeCreate
    - ST_TASK_ELOG
    - tMergeTreeRebuild
    - tstrerror
    - QUERY_CHECK_CODE
    - BIT_FLAG_SET_MASK
    - SET_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - BIT_FLAG_TEST_MASK
    - stTimestampSorterMetaListSkip2Ts
    - tMergeTreeDestroy
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterBuildDataMerger(SSTriggerTimestampSorter *pSorter)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:390,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:391,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:393,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:394,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:395,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:402,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:407,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:418,1
    - Dst: stTimestampSorterBuildDataMerger
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:419,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:420,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:423,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: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:428,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:429,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:430,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:433,1
    - Dst: stTimestampSorterMetaListMoveForward
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:439,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:441,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:441,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:442,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:446,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:447,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:447,1
    - Dst: SET_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:449,1
    - Dst: stTimestampSorterMetaListSkip2Ts
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:454,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:455,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:456,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:456,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:457,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:462,1
    - Dst: stMergeTreeGetSecondIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:464,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:465,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:467,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:469,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:472,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:475,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:476,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:477,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:479,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:481,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:493,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:493,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 4
    argNames:
    - pSorter
    - ppDataBlock
    - pStartIdx
    - pEndIdx
    argTypes:
    - SSTriggerTimestampSorter*
    - SSDataBlock**
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 379
    functionDepth: 4
    functionLinenumber: 379
    functionLinenumberEnd: 496
    functionName: stTimestampSorterNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TARRAY_DATA
    - stTimestampSorterMetaListMoveForward
    - POINTER_DISTANCE
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - stMergeTreeGetSecondIndex
    - stTimestampSorterMetaListSkip2Ts
    - stTimestampSorterBuildDataMerger
    - tMergeTreeGetChosenIndex
    - TMIN
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataGetNumOfRows
    - BIT_FLAG_TEST_MASK
    - tMergeTreeAdjust
    - blockDataDestroy
    - tMergeTreeGetAdjustIndex
    - SET_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - taosbsearch
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TMAX
    - QUERY_CHECK_NULL
    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:511,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:512,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:516,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:517,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:519,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:524,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:524,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:525,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:527,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:528,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:528,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:531,1
    - Dst: stMergeTreeGetSecondIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:533,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:534,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:536,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:538,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:541,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:543,1
    - Dst: IS_TRIGGER_META_NROW_INACCURATE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:544,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:550,1
    - Dst: stTimestampSorterMetaListMoveForward
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:552,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:553,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:553,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:554,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:567,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:567,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: 573
      start: 498
    functionDepth: 5
    functionLinenumber: 498
    functionLinenumberEnd: 573
    functionName: stTimestampSorterForwardNrows
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - stTimestampSorterMetaListMoveForward
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - stMergeTreeGetSecondIndex
    - tMergeTreeGetChosenIndex
    - TMIN
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - stTimestampSorterNextDataBlock
    - tMergeTreeAdjust
    - TD_DLIST_HEAD
    - tMergeTreeGetAdjustIndex
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - IS_TRIGGER_META_NROW_INACCURATE
    - TMAX
    - QUERY_CHECK_NULL
    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: 588
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 588
    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:596,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:596,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:598,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:598,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:600,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:600,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:602,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:604,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:606,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:606,1
    - Dst: IS_TRIGGER_META_SKEY_INACCURATE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:607,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:611,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:613,1
    - Dst: IS_TRIGGER_META_EKEY_INACCURATE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:617,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:621,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:623,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:630,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:635,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:636,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:638,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:640,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:646,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:646,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:650,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:650,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:652,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - pSorter
    - gap
    argTypes:
    - SSTriggerTimestampSorter*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 655
    functionName: stTimestampSorterBuildSessWin
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - IS_TRIGGER_META_SKEY_INACCURATE
    - ST_TASK_ELOG
    - tstrerror
    - TD_DLIST_NODE_NEXT
    - BIT_FLAG_SET_MASK
    - BIT_FLAG_TEST_MASK
    - TMAX
    - TARRAY_ELEM_IDX
    - TD_DLIST_HEAD
    - taosArrayReserve
    - taosArraySort
    - IS_TRIGGER_META_EKEY_INACCURATE
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TMIN
    - TARRAY_GET_ELEM
    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:665,1
    - Dst: stTimestampSorterBuildSessWin
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:666,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:667,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:673,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:674,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:676,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:680,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:687,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:688,1
    - Dst: stTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:692,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:693,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:695,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:699,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:700,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:704,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:714,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:714,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:715,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:733,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:733,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: 739
      start: 657
    functionDepth: 5
    functionLinenumber: 657
    functionLinenumberEnd: 739
    functionName: stTimestampSorterForwardTs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - stTimestampSorterBuildSessWin
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - taosArrayGet
    - stTimestampSorterNextDataBlock
    - BIT_FLAG_TEST_MASK
    - TMAX
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - tMergeTreeGetChosenIndex
    - taosArrayPop
    - TMIN
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTimestampSorterForwardTs(SSTriggerTimestampSorter *pSorter,
      int64_t ts, int64_t gap, int64_t *pLastTs,\n                                   int64_t
      *pNextTs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:748,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:749,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:753,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:753,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:755,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:755,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:756,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:757,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:762,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:762,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pSorter
    - ppMeta
    argTypes:
    - SSTriggerTimestampSorter*
    - SSTriggerMetaData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 765
    functionName: stTimestampSorterGetMetaToFetch
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - BIT_FLAG_TEST_MASK
    - TD_DLIST_HEAD
    - QUERY_CHECK_CONDITION
    - tMergeTreeGetChosenIndex
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterGetMetaToFetch(SSTriggerTimestampSorter *pSorter,
      SSTriggerMetaData **ppMeta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:773,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:774,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:775,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:778,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:779,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:786,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:786,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:787,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:787,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:790,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:790,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:791,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:792,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:792,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:796,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:797,1
    - Dst: SET_TRIGGER_META_DATA_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:799,1
    - Dst: stTimestampSorterMetaListMoveForward
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:800,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:802,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:803,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:808,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:813,1
    - Dst: stTimestampSorterMetaListMoveForward
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:815,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:817,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:822,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:822,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:823,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:827,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - pSorter
    - ppDataBlock
    argTypes:
    - SSTriggerTimestampSorter*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 830
    functionName: stTimestampSorterBindDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TARRAY_DATA
    - stTimestampSorterMetaListMoveForward
    - POINTER_DISTANCE
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - tMergeTreeGetChosenIndex
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataGetNumOfRows
    - BIT_FLAG_TEST_MASK
    - tMergeTreeAdjust
    - TD_DLIST_HEAD
    - tMergeTreeGetAdjustIndex
    - SET_TRIGGER_META_DATA_EMPTY
    - taosbsearch
    - QUERY_CHECK_CONDITION
    - QUERY_CHECK_NULL
    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:845,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:845,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:846,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 862
    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:877,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:878,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:880,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:881,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:884,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:886,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:887,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:892,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:892,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: 895
      start: 864
    functionDepth: 4
    functionLinenumber: 864
    functionLinenumberEnd: 895
    functionName: stVtableMergerInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGetSize
    - filterSetDataFromSlotId
    - QUERY_CHECK_NULL
    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:905,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:910,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:915,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:919,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:924,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:929,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:932,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 897
    functionDepth: 3
    functionLinenumber: 897
    functionLinenumberEnd: 933
    functionName: stVtableMergerDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    - filterFreeInfo
    - taosMemFreeClear
    - tMergeTreeDestroy
    - 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:942,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:945,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pMerger
    argTypes:
    - SSTriggerVtableMerger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 951
    functionName: stVtableMergerReset
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - blockDataEmpty
    - taosArrayClear
    - blockDataDestroy
    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:960,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:961,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:962,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:962,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:964,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:964,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:967,1
    - Dst: SET_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:970,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:975,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:976,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:977,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:983,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:984,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:985,1
    - Dst: stTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:986,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:988,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:989,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:990,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:991,1
    - Dst: stTimestampSorterInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:993,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:994,1
    - Dst: stTimestampSorterSetSortInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:996,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:997,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1002,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1007,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1008,1
    - Dst: tMergeTreeRebuild
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1011,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1016,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1016,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1018,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - pMerger
    - pRange
    - pTableColRefs
    argTypes:
    - SSTriggerVtableMerger*
    - STimeWindow*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 1021
    functionName: stVtableMergerSetMergeInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - tMergeTreeCreate
    - ST_TASK_ELOG
    - tMergeTreeRebuild
    - stTimestampSorterReset
    - tstrerror
    - QUERY_CHECK_CODE
    - SET_TRIGGER_VTABLE_MERGER_EMPTY
    - BIT_FLAG_SET_MASK
    - stTimestampSorterInit
    - taosArrayReserve
    - taosArrayGetSize
    - stTimestampSorterSetSortInfo
    - tMergeTreeDestroy
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - taosMemoryCalloc
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    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:1029,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1036,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pMerger
    - ppDataBlock
    argTypes:
    - SSTriggerVtableMerger*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1039
    functionName: stVtableMergerSetPseudoCols
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - ST_TASK_ELOG
    - 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:1047,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1049,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1049,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1049,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1052,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1054,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1055,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1057,1
    - Dst: stTimestampSorterSetMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1058,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1059,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1063,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1067,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pMerger
    - pOrigTableMetas
    argTypes:
    - SSTriggerVtableMerger*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1070
    functionName: stVtableMergerSetMetaDatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - stTimestampSorterSetMetaDatas
    - QUERY_CHECK_CODE
    - BIT_FLAG_SET_MASK
    - tSimpleHashGet
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t stVtableMergerSetMetaDatas(SSTriggerVtableMerger *pMerger,
      SSHashObj *pOrigTableMetas)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1078,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1080,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1080,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1080,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1083,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1085,1
    - Dst: stTimestampSorterSetEmptyMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1086,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1087,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1092,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pMerger
    argTypes:
    - SSTriggerVtableMerger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1095
    functionName: stVtableMergerSetEmptyMetaDatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - stTimestampSorterSetEmptyMetaDatas
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t stVtableMergerSetEmptyMetaDatas(SSTriggerVtableMerger *pMerger)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1107,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1108,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1111,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1112,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1115,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1121,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1123,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1126,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1127,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1128,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1129,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1131,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1132,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1133,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1134,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1135,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1136,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1137,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1147,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: 1150
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1150
    functionName: stVtableMergerCopyDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tstrerror
    - POINTER_DISTANCE
    - taosArrayGet
    - QUERY_CHECK_CODE
    - blockDataGetNumOfRows
    - taosbsearch
    - taosArrayGetSize
    - TMIN
    - colDataAssignNRows
    - QUERY_CHECK_NULL
    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:1162,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1165,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1167,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1168,1
    - Dst: blockDataReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1172,1
    - Dst: blockDataEnsureCapacity
      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: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1180,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1181,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1182,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1183,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1189,1
    - Dst: IS_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1190,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1191,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1192,1
    - Dst: SET_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1194,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1206,1
    - Dst: stTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1207,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1209,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1211,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1220,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1221,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1225,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1225,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1226,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1229,1
    - Dst: stMergeTreeGetSecondIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1231,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1232,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1234,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1236,1
    - Dst: stVtableMergerCopyDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1240,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1241,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1242,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1243,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1252,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1252,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1253,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1261,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1264,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1265,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1266,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1268,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1269,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1270,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1271,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1272,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1273,1
    - Dst: colDataCopyNItems
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1275,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1275,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1276,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1282,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1283,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1284,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1285,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1288,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1289,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1291,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1296,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1297,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1300,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1300,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 108
    argCount: 2
    argNames:
    - pMerger
    - ppDataBlock
    argTypes:
    - SSTriggerVtableMerger*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1152
    functionDepth: 5
    functionLinenumber: 1152
    functionLinenumberEnd: 1303
    functionName: stVtableMergerNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - stMergeTreeGetSecondIndex
    - tMergeTreeGetChosenIndex
    - colDataSetNNULL
    - TMIN
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - stVtableMergerCopyDataBlock
    - QUERY_CHECK_CODE
    - taosArrayGet
    - SET_TRIGGER_VTABLE_MERGER_EMPTY
    - blockDataGetNumOfRows
    - stTimestampSorterNextDataBlock
    - trimDataBlock
    - IS_VAR_DATA_TYPE
    - tMergeTreeAdjust
    - filterExecute
    - blockDataReset
    - BitmapLen
    - tMergeTreeGetAdjustIndex
    - taosMemoryFreeClear
    - memset
    - colDataGetData
    - taosArrayGetSize
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - blockDataEnsureCapacity
    - colDataCopyNItems
    - IS_TRIGGER_VTABLE_MERGER_EMPTY
    - colDataIsNull_s
    - blockDataGetNumOfCols
    - TMAX
    - colDataDestroy
    - QUERY_CHECK_NULL
    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:1314,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1318,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1318,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1320,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1321,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1322,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1323,1
    - Dst: stTimestampSorterGetMetaToFetch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1326,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1327,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1335,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pMerger
    - ppMeta
    - ppColRef
    argTypes:
    - SSTriggerVtableMerger*
    - SSTriggerMetaData**
    - SSTriggerTableColRef**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1338
    functionName: stVtableMergerGetMetaToFetch
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - stTimestampSorterGetMetaToFetch
    - tstrerror
    - QUERY_CHECK_CODE
    - IS_TRIGGER_VTABLE_MERGER_EMPTY
    - BIT_FLAG_TEST_MASK
    - blockDataGetNumOfCols
    - QUERY_CHECK_CONDITION
    - tMergeTreeGetChosenIndex
    - TARRAY_GET_ELEM
    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:1345,1
    - Dst: IS_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1345,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1346,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1346,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1349,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1350,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1351,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1352,1
    - Dst: stTimestampSorterBindDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1353,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1354,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1358,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pMerger
    - ppDataBlock
    argTypes:
    - SSTriggerVtableMerger*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1340
    functionDepth: 3
    functionLinenumber: 1340
    functionLinenumberEnd: 1361
    functionName: stVtableMergerBindDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - stTimestampSorterBindDataBlock
    - IS_TRIGGER_VTABLE_MERGER_EMPTY
    - BIT_FLAG_TEST_MASK
    - QUERY_CHECK_CONDITION
    - tMergeTreeGetChosenIndex
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t stVtableMergerBindDataBlock(SSTriggerVtableMerger *pMerger,
      SSDataBlock **ppDataBlock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1377,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1377,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1378,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1379,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1381,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1383,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1383,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1385,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1385,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1407
    functionName: stNewTimestampSorterSliceListCompare
    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 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:1417,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1418,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1419,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1420,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1424,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pSorter
    - pTask
    - verColBias
    argTypes:
    - SSTriggerNewTimestampSorter*
    - struct SStreamTriggerTask*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1427
    functionName: stNewTimestampSorterInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - ST_TASK_ELOG
    - taosArrayInit
    - QUERY_CHECK_NULL
    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:1437,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1441,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1445,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1449
    functionName: stNewTimestampSorterDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - 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:1460,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pSorter
    argTypes:
    - SSTriggerNewTimestampSorter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1465
    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:1474,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1482,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1483,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1485,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1486,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1494,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1495,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1497,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1507,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1512,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1519,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1520,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1520,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1527,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1528,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1532,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1537,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1538,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1541,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1542,1
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1543,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1549,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1550,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1552,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1556,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1557,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1558,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1560,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1561,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1566,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1571,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1572,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1576,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1577,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1578,1
    - Dst: tMergeTreeRebuild
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1580,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1581,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1586,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1586,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 83
    argCount: 6
    argNames:
    - pSorter
    - tbUid
    - tsSlotId
    - pReadRange
    - pMetas
    - pSlice
    argTypes:
    - SSTriggerNewTimestampSorter*
    - int64_t
    - int32_t
    - STimeWindow*
    - SObjList*
    - SSTriggerDataSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1589
    functionName: stNewTimestampSorterSetData
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - taosObjListIterNext
    - taosArrayReserve
    - ST_TASK_DLOG
    - TMIN
    - TARRAY_GET_ELEM
    - TD_DLIST_APPEND
    - ST_TASK_ELOG
    - tMergeTreeRebuild
    - QUERY_CHECK_CODE
    - taosArrayGet
    - TD_DLIST_HEAD
    - taosArrayGetLast
    - TD_DLIST_TAIL
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - tMergeTreeCreate
    - TD_DLIST_NODE_NEXT
    - taosObjListInitIter
    - TMAX
    - tMergeTreeDestroy
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stNewTimestampSorterSetData(SSTriggerNewTimestampSorter *pSorter,
      int64_t tbUid, int32_t tsSlotId,\n                                    STimeWindow
      *pReadRange, SObjList *pMetas, SSTriggerDataSlice *pSlice)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1598,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1606,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1610,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1611,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1612,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1622,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1624,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1628,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1632,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1633,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1634,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1640,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1644,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1645,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1651,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1653,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1657,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1658,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1660,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1662,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1663,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1667,1
    - Dst: tMergeTreeRebuild
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1670,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1671,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1673,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1673,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1674,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1679,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1679,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 4
    argNames:
    - pSorter
    - ppDataBlock
    - pStartIdx
    - pEndIdx
    argTypes:
    - SSTriggerNewTimestampSorter*
    - SSDataBlock**
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1682
    functionName: stNewTimestampSorterNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tMergeTreeGetAdjustIndex
    - ST_TASK_DLOG
    - tMergeTreeRebuild
    - tstrerror
    - POINTER_DISTANCE
    - QUERY_CHECK_CODE
    - taosbsearch
    - tMergeTreeAdjust
    - TD_DLIST_HEAD
    - TD_DLIST_POP
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - tMergeTreeGetChosenIndex
    - TMIN
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    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:1696,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1696,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1697,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1698,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1703,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1710,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1728
    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:1735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1732
    functionDepth: 2
    functionLinenumber: 1732
    functionLinenumberEnd: 1737
    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:1745,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1746,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1748,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1755,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1756,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1758,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1759,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1762,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1763,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1766,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1767,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1770,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1772,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1773,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1778,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1778,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: 1781
      start: 1739
    functionDepth: 16
    functionLinenumber: 1739
    functionLinenumberEnd: 1781
    functionName: stNewVtableMergerInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - createOneDataBlock
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - filterSetDataFromSlotId
    - taosArrayGetSize
    - TARRAY_SIZE
    - taosMemoryCalloc
    - blockDataEnsureCapacity
    - filterInitFromNode
    - QUERY_CHECK_NULL
    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:1784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pMerger
    argTypes:
    - SSTriggerNewVtableMerger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1785
    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:1795,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1799,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1804,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1809,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1813,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1816,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1787
    functionDepth: 3
    functionLinenumber: 1787
    functionLinenumberEnd: 1817
    functionName: stNewVtableMergerDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - filterFreeInfo
    - taosMemFreeClear
    - tMergeTreeDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void stNewVtableMergerDestroy(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1825,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1828,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1832,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1833,1
    - Dst: stNewTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pMerger
    argTypes:
    - SSTriggerNewVtableMerger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1819
    functionDepth: 2
    functionLinenumber: 1819
    functionLinenumberEnd: 1840
    functionName: stNewVtableMergerReset
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - blockDataEmpty
    - stNewTimestampSorterReset
    - TARRAY_GET_ELEM
    - TARRAY_SIZE
    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:1849,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1850,1
    - Dst: stNewVtableMergerNeedPseudoCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1850,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1857,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1860,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1861,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1868,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1874,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1875,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1877,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1878,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1880,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1881,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1885,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1886,1
    - Dst: stNewTimestampSorterInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1887,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1888,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1890,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1891,1
    - Dst: stNewTimestampSorterSetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1892,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1893,1
    - Dst: stNewTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1896,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1904,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1909,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1910,1
    - Dst: tMergeTreeRebuild
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1912,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1913,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1918,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1918,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 8
    argNames:
    - pMerger
    - vtbUid
    - tsSlotId
    - pReadRange
    - pTableUids
    - pTableColRefs
    - pMetas
    - pSlices
    argTypes:
    - SSTriggerNewVtableMerger*
    - int64_t
    - int32_t
    - STimeWindow*
    - SObjList*
    - SArray*
    - SSHashObj*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1842
    functionDepth: 2
    functionLinenumber: 1842
    functionLinenumberEnd: 1921
    functionName: stNewVtableMergerSetData
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - stNewTimestampSorterNextDataBlock
    - tstrerror
    - taosObjListIterNext
    - taosArrayReserve
    - stNewTimestampSorterInit
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tMergeTreeRebuild
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - stNewVtableMergerNeedPseudoCols
    - taosArrayGetSize
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - stNewTimestampSorterSetData
    - tMergeTreeCreate
    - taosObjListInitIter
    - tSimpleHashGet
    - tMergeTreeDestroy
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stNewVtableMergerSetData(SSTriggerNewVtableMerger *pMerger,
      int64_t vtbUid, int32_t tsSlotId,\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:1928,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1932,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1933,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1939,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1940,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1944,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1945,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1948,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1960,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1964,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1965,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1966,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1968,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1969,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1970,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1971,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1972,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1973,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1974,1
    - Dst: stNewTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1981,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1982,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1986,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1986,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1988,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1989,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1990,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1992,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1993,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1994,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1995,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1996,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1997,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1998,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2000,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2001,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2002,1
    - Dst: stNewTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2011,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2013,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2013,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2014,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2019,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2019,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 2
    argNames:
    - pMerger
    - filled
    argTypes:
    - SSTriggerNewVtableMerger*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1923
    functionDepth: 2
    functionLinenumber: 1923
    functionLinenumberEnd: 2022
    functionName: stNewVtableMergerDoRetrieve
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - stNewTimestampSorterNextDataBlock
    - tstrerror
    - tMergeTreeGetChosenIndex
    - TMIN
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataGetNumOfRows
    - tMergeTreeAdjust
    - colDataAssignNRows
    - tMergeTreeGetAdjustIndex
    - colDataGetData
    - colDataSetNULL
    - taosArrayGetSize
    - QUERY_CHECK_CONDITION
    - colDataIsNull_s
    - colDataSetVal
    - QUERY_CHECK_NULL
    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:2031,1
    - Dst: blockDataReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2044,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2046,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2048,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2049,1
    - Dst: stNewVtableMergerDoRetrieve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2053,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2054,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2057,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2065,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2066,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2068,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2069,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2070,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2071,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2072,1
    - Dst: colDataCopyNItems
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2074,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2074,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2075,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2081,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2082,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2083,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2084,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2085,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2086,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2099,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2109,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2110,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2113,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2113,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: 2116
      start: 2024
    functionDepth: 3
    functionLinenumber: 2024
    functionLinenumberEnd: 2116
    functionName: stNewVtableMergerNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - ST_TASK_DLOG
    - stNewVtableMergerDoRetrieve
    - colDataSetNNULL
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataGetNumOfRows
    - trimDataBlock
    - IS_VAR_DATA_TYPE
    - filterExecute
    - blockDataReset
    - BitmapLen
    - taosMemoryFreeClear
    - memset
    - colDataGetData
    - QUERY_CHECK_CONDITION
    - colDataCopyNItems
    - printDataBlock
    - colDataIsNull_s
    - blockDataGetNumOfCols
    - colDataDestroy
    - QUERY_CHECK_NULL
    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:
    - blockSpecialDecodeLaterPart
    - getWindowDataBuf
    - tstrerror
    - QUERY_CHECK_CODE
    - stError
    - taosMemoryCalloc
    - blockDataDestroy
    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:
    - getWindowDataBuf
    - destroyAlignBlockInMemPP
    - atomic_sub_fetch_64
    - taosArrayGet
    - stError
    - getRangeInWindowBlock
    - taosArrayRemove
    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
    - taosHashGet
    - atomic_sub_fetch_64
    - 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
    - destroySlidingWindowInMem
    - getRangeInWindowBlock
    - updateSlidingGrpUsedMemSize
    - taosArrayRemove
    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:
    - getAlignDataFromMem
    - getSlidingDataFromMem
    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:
    - tstrerror
    - QUERY_CHECK_CODE
    - blockEncodeAsRows
    - stError
    - getStreamBlockTS
    - taosArrayGetSize
    - taosMemoryCalloc
    - taosMemoryFree
    - blockGetEncodeSizeOfRows
    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:
    - taosMemoryFree
    - atomic_sub_fetch_64
    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:
    - taosMemoryFree
    - atomic_sub_fetch_64
    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:
    - taosMemoryFree
    - atomic_sub_fetch_64
    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:
    - taosMemoryFree
    - atomic_sub_fetch_64
    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
    - atomic_add_fetch_64
    - taosArrayGet
    - stError
    - taosMemoryCalloc
    - taosMemoryFree
    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:
    - getWindowDataBuf
    - tstrerror
    - getNextBuffStart
    - setUsedBlockBuf
    - QUERY_CHECK_CODE
    - blockEncodeAsRows
    - stError
    - getEnoughBuffWindow
    - taosArrayGetSize
    - blockGetEncodeSizeOfRows
    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:
    - getWindowDataBuf
    - tstrerror
    - getNextBuffStart
    - atomic_add_fetch_64
    - QUERY_CHECK_CODE
    - setUsedBlockBuf
    - stError
    - getEnoughBuffWindow
    - blockGetEncodeSize
    - taosArrayGetSize
    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:
    - stInfo
    - stError
    - taosHashCancelIterate
    - taosHashIterate
    - moveSlidingGrpMemCache
    - changeMgrStatus
    - taosHashGetSize
    - changeMgrStatusToMoving
    - hasEnoughMemSize
    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:
    - stError
    - taosHashCancelIterate
    - taosHashIterate
    - moveSlidingGrpMemCache
    - changeMgrStatus
    - changeMgrStatusToMoving
    - hasEnoughMemSize
    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:20,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:22,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:22,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:28,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:30,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:30,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:33,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:34,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:41,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:43,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:44,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:46,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:46,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:47,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:51,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 59
    functionName: stRunnerInitTaskExecMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexUnlock
    - ST_TASK_ELOG
    - tdListNew
    - tstrerror
    - TAOS_CHECK_EXIT
    - tdListAppend
    - taosThreadMutexInit
    - ST_TASK_DLOG
    - taosThreadMutexLock
    - TSDB_CHECK_NULL
    - strncpy
    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:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRuntime
    argTypes:
    - SStreamRuntimeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    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:68,1
    - Dst: dsDestroyDataSinker
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:69,1
    - Dst: stRunnerDestroyRuntimeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:70,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pExec
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 72
    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:77,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:79,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:79,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:82,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:87,1
    - Dst: tdListAppendNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:88,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:90,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:95,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:95,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:98,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:103,1
    - Dst: tdListAppendNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:104,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:113,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:125,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:130,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:130,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:131,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: 133
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 133
    functionName: stRunnerTaskAcquireExec
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexUnlock
    - ST_TASK_ELOG
    - tstrerror
    - TAOS_UNUSED
    - tdListGetHead
    - tdListPopNode
    - tdListAppendNode
    - ST_TASK_DLOG
    - tdListPopHead
    - taosThreadMutexLock
    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:137,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:139,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:139,1
    - Dst: listNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:142,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:143,1
    - Dst: tdListPrependNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:144,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:145,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pTask
    - pExec
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: stRunnerTaskReleaseExec
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - listNode
    - taosThreadMutexUnlock
    - ST_TASK_ELOG
    - tstrerror
    - tdListPopNode
    - TAOS_UNUSED
    - tdListPrependNode
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void stRunnerTaskReleaseExec(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:150,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:154,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:157,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: stSetRunnerOutputInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - TSWAP
    - strncpy
    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:164,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:167,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:168,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:169,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:176,1
    - Dst: stRunnerInitTaskExecMgr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:178,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:180,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:180,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:186,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:187,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:189,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:189,1
    - Dst: stSetRunnerOutputInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:194,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:195,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:196,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:198,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 205
    functionName: stRunnerTaskDeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - nodesStringToList
    - ST_TASK_DLOGL
    - stSetRunnerOutputInfo
    - strerror
    - nodesStringToNode
    - ST_TASK_DLOG
    - stRunnerInitTaskExecMgr
    - TSWAP
    - 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:210,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:211,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:212,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:212,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:213,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:214,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:215,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:216,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:217,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:218,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:219,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:220,1
    - Dst: cb
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ppTask
    - pMsg
    - cb
    argTypes:
    - SStreamRunnerTask**
    - SStreamUndeployTaskMsg*
    - taskUndeplyCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: stRunnerTaskUndeployImpl
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - TAOS_UNUSED
    - taosMemoryFreeClear
    - tdListFreeP
    - taosArrayDestroyEx
    - cb
    - NODES_DESTORY_LIST
    - taosThreadMutexDestroy
    - NODES_DESTORY_NODE
    - taosArrayDestroyP
    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:235,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:237,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:237,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:241,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:241,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:244,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:244,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:245,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:248,1
    - Dst: qAsyncKillTask
      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: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:252,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamRunnerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 253
    functionName: stRunnerKillAllExecs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - listNEles
    - ST_TASK_ELOG
    - ST_TASK_DLOG
    - tstrerror
    - TAOS_UNUSED
    - tdListGetHead
    - qAsyncKillTask
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void stRunnerKillAllExecs(SStreamRunnerTask *pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stRunnerKillAllExecs
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:261,1
    - Dst: taosWTryForceLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:263,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:264,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:268,1
    - Dst: stRunnerTaskUndeployImpl
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ppTask
    - force
    argTypes:
    - SStreamRunnerTask**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 271
    functionName: stRunnerTaskUndeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - stRunnerKillAllExecs
    - taosWTryForceLockLatch
    - ST_TASK_DLOG
    - stRunnerTaskUndeployImpl
    - stsDebug
    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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamRunnerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 273
    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:278,1
    - Dst: streamClearStatesForOperators
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pTask
    - pExec
    - ignoreTbName
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 281
    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:287,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:288,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:291,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:292,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:293,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:296,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:296,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:299,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:299,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:302,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:305,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:305,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:308,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - pTask
    - pVal
    - pCol
    argTypes:
    - SStreamRunnerTask*
    - SStreamGroupValue*
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 315
    functionName: stMakeSValueFromColInfoData
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - valueSetDatum
    - varDataLen
    - varDataVal
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - strerror
    - colDataIsNull
    - taosMemoryCalloc
    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:319,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 321
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:330,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:332,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:334,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:334,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:338,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:340,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:350,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:352,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:352,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:353,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:361,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:362,1
    - Dst: streamCalcOneScalarExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:364,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:367,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:371,1
    - Dst: stMakeSValueFromColInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:372,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:373,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:374,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:375,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:376,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - pTask
    - pExec
    - ppTagVals
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 384
    functionName: stRunnerCalcSubTbTagVal
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - nodesGetValueFromNode
    - ST_TASK_ELOG
    - tstrncpy
    - taosArrayPush
    - taosArrayInit
    - stMakeSValueFromColInfoData
    - sclFreeParam
    - taosArrayGet
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    - colDataSetVal
    - streamCalcOneScalarExpr
    - strerror
    - taosMemoryCalloc
    - colInfoDataEnsureCapacity
    - FOREACH
    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:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pTask
    - pExec
    - ppTagVals
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 395
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: stRunnerTaskWaitQuit
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:401,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:402,1
    - Dst: streamCalcOutputTbName
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:410,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:411,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:414,1
    - Dst: stRunnerInitTbTagVal
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:417,1
    - Dst: dsPutDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:426,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:427,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:429,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:432,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:434,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - pTask
    - pExec
    - pBlock
    - createTb
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 438
    functionName: stRunnerOutputBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - dsPutDataBlock
    - printDataBlock
    - ST_TASK_ILOG
    - taosArrayDestroyEx
    - streamCalcOutputTbName
    - stRunnerTaskWaitQuit
    - ST_TASK_DLOG
    - stRunnerInitTbTagVal
    - stDebug
    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:444,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:445,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:457,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:457,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:460,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:460,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:463,1
    - Dst: stRunnerOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:463,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:467,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:469,1
    - Dst: stRunnerOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:469,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:470,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:477,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:477,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: 481
      start: 441
    functionDepth: 5
    functionLinenumber: 441
    functionLinenumberEnd: 481
    functionName: stRunnerMergeOutputBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - createOneDataBlock
    - tstrerror
    - TAOS_CHECK_EXIT
    - blockDataCleanup
    - ST_TASK_ILOG
    - taosArrayGetSize
    - stRunnerOutputBlock
    - stRunnerTaskWaitQuit
    - blockDataMerge
    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:492,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:495,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:497,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:499,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:507,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:507,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:508,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: 514
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 514
    functionName: streamPrepareNotification
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - streamBuildBlockResultNotifyContent
    - ST_TASK_ELOG
    - tstrerror
    - taosMemoryFreeClear
    - taosArrayGet
    - ST_TASK_DLOG
    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:518,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pExec
    - startWinIdx
    - endWinIdx
    argTypes:
    - SStreamRunnerTaskExecution*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 523
    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:534,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:536,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:537,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:542,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:544,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:546,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:549,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:556,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:562,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:562,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:564,1
    - Dst: clearNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:569,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:570,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - pTask
    - pExec
    - startWinIdx
    - endWinIdx
    - tbname
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 572
    functionName: streamDoNotification
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosMemCalloc
    - clearNotifyContent
    - taosArrayGet
    - taosMemoryFreeClear
    - streamSendNotifyContent
    - ST_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamDoNotification(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec, int32_t startWinIdx,\n                                    int32_t endWinIdx,
      const char* tbname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamBuildBlockResultNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:581,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:584,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:587,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:589,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:591,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:596,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pTask
    - pExec
    - pBlock
    - tbname
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 602
    functionName: streamDoNotification1For1
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - streamBuildBlockResultNotifyContent
    - ST_TASK_ELOG
    - taosMemoryFreeClear
    - taosArrayGet
    - streamSendNotifyContent
    - ST_TASK_DLOG
    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:606,1
    - Dst: streamDoNotification1For1
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:609,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:611,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - pTask
    - pExec
    - pBlock
    - pCreateTb
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 604
    functionDepth: 6
    functionLinenumber: 604
    functionLinenumberEnd: 618
    functionName: stRunnerHandleSingleWinResultBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - stRunnerMergeOutputBlock
    - streamDoNotification1For1
    - ST_TASK_ELOG
    - 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:627,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:634,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:636,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:638,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: 644
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 644
    functionName: stRunnerMergeBlockHandleOverflow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - createOneDataBlock
    - blockDataMergeNRows
    - blockDataDestroy
    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:649,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:658,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:664,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:665,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:665,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:668,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:669,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:669,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:670,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:670,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:671,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:675,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:681,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:687,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:688,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:689,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:690,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:692,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:699,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - pTask
    - pBlock
    - pWinIdxArr
    argTypes:
    - SStreamRunnerTask*
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 702
    functionName: printOutputProjBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - strlen
    - ST_TASK_DLOG
    - colDataGetNumData
    - strncat
    - taosArrayGet
    - colDataIsNull_s
    - snprintf
    - TAOS_UNUSED
    - stDebugL
    linkageType: ''
    returnType: void
    signature: void printOutputProjBlock(SStreamRunnerTask* pTask, const SSDataBlock*
      pBlock, const SArray* pWinIdxArr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:711,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:714,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:718,1
    - Dst: streamForceOutput
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:718,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:719,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:719,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:724,1
    - Dst: stRunnerMergeOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:724,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:726,1
    - Dst: streamDoNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:726,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:733,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:737,1
    - Dst: streamForceOutput
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:737,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:738,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:738,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:742,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:743,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:747,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:747,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:752,1
    - Dst: streamForceOutput
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:752,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:753,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:753,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:760,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:760,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:764,1
    - Dst: stRunnerMergeOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:764,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:770,1
    - Dst: stRunnerMergeOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:770,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:774,1
    - Dst: streamDoNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:774,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:778,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:778,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 7
    argNames:
    - pTask
    - pExec
    - pBlock
    - ppForceOutBlock
    - pNextOutIdx
    - finished
    - createTable
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock*
    - SSDataBlock**
    - int32_t*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 704
    functionDepth: 6
    functionLinenumber: 704
    functionLinenumberEnd: 781
    functionName: stRunnerTopTaskHandleExternalWinOutputBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - streamDoNotification
    - tstrerror
    - taosArrayGet
    - streamPrepareNotification
    - blockDataCleanup
    - stRunnerMergeOutputBlock
    - taosArrayGetSize
    - streamForceOutput
    - TAOS_CHECK_GOTO
    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:785,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:790,1
    - Dst: qCreateStreamExecTaskInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:806,1
    - Dst: qCreateStreamExecTaskInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:809,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:812,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:812,1
    - Dst: qSetTaskId
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:816,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:822,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:822,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:826,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pTask
    - pExec
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 830
    functionName: stRunnerBuildTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - qSetTaskId
    - tstrerror
    - taosGetTimestampMs
    - ST_TASK_DLOG
    - qCreateStreamExecTaskInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerBuildTask(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:838,1
    - Dst: stRunnerTaskAcquireExec
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:840,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:842,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:842,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:848,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:851,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:859,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:860,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:863,1
    - Dst: stRunnerBuildTask
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:863,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:865,1
    - Dst: stRunnerResetTaskExec
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:865,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:873,1
    - Dst: stRunnerTaskWaitQuit
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:876,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:877,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:883,1
    - Dst: streamExecuteTask
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:883,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:884,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:887,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:890,1
    - Dst: stRunnerTopTaskHandleExternalWinOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:890,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:895,1
    - Dst: streamForceOutput
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:896,1
    - Dst: stRunnerHandleSingleWinResultBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:898,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:902,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:904,1
    - Dst: stRunnerHandleSingleWinResultBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:908,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:914,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:921,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:921,1
    - Dst: stRunnerResetTaskExec
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:926,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:928,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:928,1
    - Dst: stRunnerOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:938,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:939,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:942,1
    - Dst: stRunnerTaskReleaseExec
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:944,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:945,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:947,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:947,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:953,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:956,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 105
    argCount: 2
    argNames:
    - pTask
    - pReq
    argTypes:
    - SStreamRunnerTask*
    - SSTriggerCalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 832
    functionDepth: 7
    functionLinenumber: 832
    functionLinenumberEnd: 960
    functionName: stRunnerTaskExecute
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - stRunnerTaskAcquireExec
    - stRunnerOutputBlock
    - ST_TASK_DLOG
    - STREAM_CHECK_CONDITION_GOTO
    - stRunnerHandleSingleWinResultBlock
    - STREAM_CHECK_RET_GOTO
    - ST_TASK_ELOG
    - blockDataCleanup
    - streamForceOutput
    - TSWAP
    - stRunnerResetTaskExec
    - blockDataDestroy
    - createOneDataBlock
    - stRunnerTopTaskHandleExternalWinOutputBlock
    - taosArrayGetSize
    - stRunnerTaskWaitQuit
    - stRunnerTaskReleaseExec
    - printDataBlock
    - ST_TASK_ILOG
    - streamExecuteTask
    - stRunnerBuildTask
    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:964,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:969,1
    - Dst: qCreateStreamExecTaskInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:985,1
    - Dst: qCreateStreamExecTaskInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:988,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:991,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:991,1
    - Dst: qSetTaskId
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:995,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1001,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1001,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1005,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1006,1
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pTask
    - pExec
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 1009
    functionName: streamBuildTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - qSetTaskId
    - tstrerror
    - taosGetTimestampMs
    - atomic_fetch_add_32
    - ST_TASK_ILOG
    - ST_TASK_DLOG
    - qCreateStreamExecTaskInfo
    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:1015,1
    - Dst: readStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1015,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1018,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1018,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1026,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pInfo
    - finished
    argTypes:
    - SStreamCacheReadInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1030
    functionName: stRunnerFetchDataFromCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - readStreamDataCache
    - stsError
    - getNextStreamDataCache
    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:1034,1
    - Dst: streamCalcOutputTbName
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1038,1
    - Dst: dropStreamTableByTbName
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTask
    - pReq
    argTypes:
    - SStreamRunnerTask*
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1044
    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:1049,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1050,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1054,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1054,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1059,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1059,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: 1063
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1063
    functionName: stReaderAppendMgmtReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ST_TASK_ELOG
    - tstrerror
    - taosArrayInit
    - TSDB_CHECK_NULL
    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:1068,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1070,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1070,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1076,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1080,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1081,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1082,1
    - Dst: stReaderAppendMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1082,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1087,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1091,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1092,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1093,1
    - Dst: stReaderAppendMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1093,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1098,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1098,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1100,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1101,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1102,1
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1103,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1107,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1107,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1108,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1115,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1115,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1118,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1119,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamRunnerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1123
    functionName: stRunnerBuildTaskMgmtReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 1
    functionsReached:
    - atomic_load_ptr
    - ST_TASK_ELOG
    - stReaderAppendMgmtReq
    - taosThreadMutexUnlock
    - tstrerror
    - TAOS_CHECK_EXIT
    - ST_TASK_DLOG
    - atomic_fetch_add_64
    - atomic_store_ptr
    - taosArrayDestroyEx
    - tdListGetHead
    - taosArrayGetSize
    - TAOS_UNUSED
    - atomic_val_compare_exchange_ptr
    - taosMemoryCalloc
    - taosThreadMutexLock
    - QUERY_CHECK_NULL
    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:1127,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1131,1
    - Dst: stRunnerTaskAcquireExec
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1131,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1132,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1138,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pTask
    - pRspList
    argTypes:
    - SStreamRunnerTask*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1142
    functionName: stRunnerSetMgmtRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - taosArrayGetSize
    - stRunnerTaskAcquireExec
    - TSWAP
    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:
    - smUndeploySnodeTasks
    - stInfo
    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:
    - stInfo
    - destroyDataSinkMgr
    - streamTimerCleanUp
    - smUndeployAllTasks
    - destroyInserterGrpInfo
    - stTriggerTaskEnvCleanup
    - streamMgmtCleanup
    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:
    - stInfo
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - stTriggerTaskEnvInit
    - taosHashInit
    - stError
    - tstrerror
    - initInserterGrpInfo
    - streamTimerInit
    - streamHbInit
    - taosGetDefaultHashFunction
    - initStreamDataSink
    - TSDB_CHECK_NULL
    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:
    - stInfo
    - taosArrayRemove
    - taosWUnLockLatch
    - taosArraySearchIdx
    - stWarn
    - taosWLockLatch
    - smUndeployVgTasks
    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
    - tstrerror
    - stError
    - taosWUnLockLatch
    - smEnableVgDeploy
    - taosArraySort
    - 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:
    - taosHashRelease
    - taosHashAcquire
    - taosRTryLockLatch
    - ST_TASK_DLOG
    - 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:
    - stTriggerTaskUndeploy
    - taosRUnLockLatch_r
    - stRunnerTaskUndeploy
    - taosHashRelease
    - stReaderTaskUndeploy
    - taosIsOnlyWLocked
    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:
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosHashRelease
    - STREAM_GID
    - streamAcquireTask
    - taosHashAcquire
    - 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:
    - taosHashGet
    - atomic_store_32
    - stError
    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:
    - (
    - pGroup
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    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: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    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: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    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: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: container_of
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 178
    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:113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: nodeRewriteSlotid
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - nodeType
    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:144,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:145,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:146,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:147,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:151,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:151,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pTask
    - sessionId
    - resumeTime
    argTypes:
    - SStreamTriggerTask*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: stTriggerTaskAddWaitSession
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - tdListAppend
    - taosWUnLockLatch
    - ST_TASK_DLOG
    - 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:159,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:164,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:165,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:166,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:169,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:170,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:173,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:175,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:176,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:178,1
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:184,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:186,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:187,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:188,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:189,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:198,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:200,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:202,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:204,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:205,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:205,1
    - Dst: SMsgCb*::putToQueueFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:207,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:209,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:213,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: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:224,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:225,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:226,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 158
    functionDepth: 7
    functionLinenumber: 158
    functionLinenumberEnd: 232
    functionName: stTriggerTaskCheckWaitSession
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - tstrerror
    - TRACE_SET_ROOTID
    - tdListNext
    - streamAcquireTask
    - streamTmrStart
    - TD_DLIST_APPEND
    - SMsgCb*::putToQueueFp
    - tGenIdPI64
    - taosMemoryFreeClear
    - stError
    - tdListInitIter
    - TD_DLIST_POP
    - rpcMallocCont
    - tSerializeSTriggerCtrlRequest
    - taosWUnLockLatch
    - streamReleaseTask
    - taosWLockLatch
    - stDebug
    - taosGetTimestampNs
    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:235,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:236,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: stTriggerTaskEnvDoInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosInitRWLatch
    - streamTmrStart
    - tdListInit
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskEnvDoInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:242,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:244,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: stTriggerTaskEnvInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stError
    - taosThreadOnce
    - 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:251,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:252,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:253,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: stTriggerTaskEnvCleanup
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - streamTmrStop
    - taosWUnLockLatch
    - taosWLockLatch
    - tdListEmpty
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskEnvCleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:260,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:261,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:264,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:265,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:280,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:281,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:281,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: 285
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 285
    functionName: stTriggerTaskAllocAhandle
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskAllocAhandle(SStreamTriggerTask *pTask, int64_t
      sessionId, void *param, void **ppAhandle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:291,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:292,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:297,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - pTask
    - ts
    argTypes:
    - SStreamTriggerTask*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 326
    functionName: stTriggerTaskGetTimeWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - convertTimePrecision
    - taosTimeGetIntervalEnd
    - taosTimeTruncate
    linkageType: ''
    returnType: STimeWindow
    signature: STimeWindow stTriggerTaskGetTimeWindow(SStreamTriggerTask *pTask, int64_t
      ts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:332,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:333,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:334,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:336,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:338,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pTask
    - pWindow
    argTypes:
    - SStreamTriggerTask*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 359
    functionName: stTriggerTaskPrevTimeWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    - convertTimePrecision
    - taosTimeGetIntervalEnd
    - taosTimeTruncate
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskPrevTimeWindow(SStreamTriggerTask *pTask, STimeWindow
      *pWindow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:365,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:366,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:367,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:369,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:371,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pTask
    - pWindow
    argTypes:
    - SStreamTriggerTask*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 391
    functionName: stTriggerTaskNextTimeWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    - convertTimePrecision
    - taosTimeGetIntervalEnd
    - taosTimeTruncate
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskNextTimeWindow(SStreamTriggerTask *pTask, STimeWindow
      *pWindow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:401,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:403,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:407,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:408,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:409,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:411,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:412,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:413,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:414,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:416,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:417,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:419,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:419,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:420,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:422,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:424,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:426,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:427,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:429,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:430,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:433,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:433,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:434,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:436,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:438,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:440,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:441,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:442,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:443,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:444,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:447,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:450,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:453,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:455,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 3
    argNames:
    - pTask
    - buf
    - pLen
    argTypes:
    - SStreamTriggerTask*
    - uint8_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 458
    functionName: stTriggerTaskGenCheckpoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_32
    - ST_TASK_ELOG
    - tSimpleHashGetSize
    - tstrerror
    - QUERY_CHECK_CODE
    - tEncodeI64
    - tEncodeI32
    - tStartEncode
    - tEndEncode
    - ST_TASK_DLOG
    - tEncoderInit
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - tEncoderClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskGenCheckpoint(SStreamTriggerTask *pTask, uint8_t
      *buf, int64_t *pLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:472,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:473,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:474,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:476,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:477,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:478,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:479,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:480,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:483,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:484,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:487,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:488,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:492,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:493,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:494,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:495,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:496,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:497,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:498,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:499,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:500,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:504,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:505,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:509,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:510,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:511,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:512,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:513,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:514,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:515,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:516,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:517,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:520,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:521,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:522,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:530,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:531,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:533,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:534,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:535,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:536,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:542,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:544,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 3
    argNames:
    - pTask
    - buf
    - len
    argTypes:
    - SStreamTriggerTask*
    - uint8_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 547
    functionName: stTriggerTaskParseCheckpoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - tDecoderInit
    - tDecoderClear
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - tDecodeI64
    - tStartDecode
    - atomic_store_32
    - tSimpleHashGet
    - tEndDecode
    - tSimpleHashPut
    - ST_TASK_DLOG
    - QUERY_CHECK_CONDITION
    - tDecodeI32
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskParseCheckpoint(SStreamTriggerTask *pTask, uint8_t
      *buf, int64_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:553,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:563,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:564,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:565,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:566,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:567,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:569,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:570,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:573,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:574,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:581,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:582,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:586,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:587,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:588,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:589,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:596,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:601,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:615,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:616,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:617,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:618,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:619,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:621,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:622,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:623,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:624,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:627,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:628,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:635,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:636,1
    - Dst: taosArrayInit
      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: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:642,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:643,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:646,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:647,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:652,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:652,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 4
    argNames:
    - pTask
    - pInfo
    - pSlots
    - pColRefs
    argTypes:
    - SStreamTriggerTask*
    - VTableInfo*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 655
    functionName: stTriggerTaskGenVirColRefs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosArrayPush
    - ST_TASK_ELOG
    - taosArrayInit
    - tstrerror
    - tSimpleHashGet
    - taosArrayReserve
    - taosArrayGetSize
    - TARRAY_SIZE
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    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:666,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:679,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:680,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:681,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:682,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:683,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:685,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:686,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:689,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:692,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:694,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:695,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:696,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:697,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:697,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:698,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:699,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:699,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:700,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:701,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:702,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:708,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:709,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:716,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:717,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:721,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:722,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:723,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:724,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:726,1
    - Dst: tSimpleHashPut
      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: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:731,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:732,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:735,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:736,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:743,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:747,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:761,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:762,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:763,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:764,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:765,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:767,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:768,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:769,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:770,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:773,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:776,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:778,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:779,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:780,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:781,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:781,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:782,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:783,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:783,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:784,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:785,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:786,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:789,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:791,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:792,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:793,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:794,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:800,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:801,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:808,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:809,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: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:815,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:816,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:818,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:819,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:821,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:822,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:824,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:825,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:828,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:829,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:832,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:833,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:838,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:838,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 123
    argCount: 4
    argNames:
    - pTask
    - pInfo
    - isTriggerData
    - pColRefs
    argTypes:
    - SStreamTriggerTask*
    - VTableInfo*
    - bool
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 841
    functionName: stTriggerTaskNewGenVirColRefs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosArrayPush
    - ST_TASK_ELOG
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - tSimpleHashInit
    - blockDataGetNumOfCols
    - tSimpleHashGet
    - taosArrayReserve
    - tSimpleHashPut
    - TARRAY_SIZE
    - taosGetDefaultHashFunction
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskNewGenVirColRefs(SStreamTriggerTask *pTask, VTableInfo
      *pInfo, bool isTriggerData,\n                                             SArray
      *pColRefs)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:857,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:860,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:863,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:864,1
    - Dst: tSimpleHashGet
      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: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:870,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:872,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:873,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:874,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:882,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:884,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:885,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:886,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:887,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:888,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:889,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:890,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:897,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:899,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:900,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:903,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:905,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:906,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:909,1
    - Dst: taosArrayGet
      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: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:919,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:920,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:922,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:925,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:926,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:928,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:935,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:939,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:942,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:942,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 4
    argNames:
    - pTask
    - sessionId
    - gid
    - ppRequest
    argTypes:
    - SStreamTriggerTask*
    - int64_t
    - int64_t
    - SSTriggerCalcRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 945
    functionName: stTriggerTaskAcquireRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - tstrerror
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - TD_DLIST_HEAD
    - taosMemoryCalloc
    - taosArrayGetSize
    - TD_DLIST_POP
    - tSimpleHashPut
    - TARRAY_SIZE
    - taosRand
    - taosArrayClearEx
    - tSimpleHashGet
    - TARRAY_ELEM_IDX
    - taosWUnLockLatch
    - taosWLockLatch
    - TD_DLIST_NELES
    - taosMemoryFree
    - QUERY_CHECK_NULL
    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:958,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:959,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:960,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:963,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:965,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:971,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:973,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:977,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:978,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:982,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:983,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:984,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:987,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:988,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:990,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:991,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:991,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:992,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:996,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:999,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - pTask
    - ppRequest
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerCalcRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 1002
    functionName: stTriggerTaskReleaseRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - taosArrayClearEx
    - taosArrayGet
    - taosWLockLatch
    - tSimpleHashGet
    - TARRAY_ELEM_IDX
    - taosWUnLockLatch
    - taosArrayGetSize
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TARRAY_GET_ELEM
    - TD_DLIST_APPEND
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskReleaseRequest(SStreamTriggerTask *pTask, SSTriggerCalcRequest
      **ppRequest)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1014,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1019,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1025,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1026,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1029,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1029,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1029,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1030,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1031,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1032,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: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1043,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1049,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1052,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1052,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1054,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: 1058
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1058
    functionName: stTriggerTaskAcquireDropTableRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosRand
    - ST_TASK_ELOG
    - taosArrayInit
    - tstrerror
    - taosArrayClearEx
    - taosArrayGet
    - taosMemoryFree
    - tSimpleHashGet
    - TARRAY_ELEM_IDX
    - taosWUnLockLatch
    - taosArrayGetSize
    - taosWLockLatch
    - taosMemoryCalloc
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    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:1069,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1071,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1074,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pTask
    - ppRequest
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerDropRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1077
    functionName: stTriggerTaskReleaseDropTableRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - ST_TASK_ELOG
    - taosMemoryFree
    - taosArrayDestroyEx
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskReleaseDropTableRequest(SStreamTriggerTask *pTask,
      SSTriggerDropRequest **ppRequest)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1086,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1088,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1089,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1096,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1098,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1099,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1104,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1105,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1110,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1122,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1127,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1127,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1128,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1132,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1134,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1135,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1136,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1137,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1140,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1145,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1152,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1153,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1156,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1157,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1159,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1166,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1169,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1178,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1183,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1187,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1189,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1192,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 5
    argNames:
    - pTask
    - pGroup
    - pCalcRange
    - pWalProgress
    - isHistory
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerRealtimeGroup*
    - STimeWindow*
    - SSHashObj*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1195
    functionName: stTriggerTaskAddRecalcRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - ST_TASK_DLOG
    - TMIN
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - tdListAppend
    - TD_DLIST_HEAD
    - QUERY_CHECK_NULL
    - tSimpleHashIterate
    - TSWAP
    - taosMemoryCalloc
    - tSimpleHashGetKey
    - taosMemoryFreeClear
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - TD_DLIST_NODE_NEXT
    - tSimpleHashCleanup
    - TMAX
    - tSimpleHashGet
    - taosWUnLockLatch
    - taosWLockLatch
    - tSimpleHashInit
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskAddRecalcRequest(SStreamTriggerTask *pTask, SSTriggerRealtimeGroup
      *pGroup,\n                                      STimeWindow *pCalcRange, SSHashObj
      *pWalProgress, bool isHistory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1202,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1205,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1208,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1209,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1220,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1223,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pTask
    - ppReq
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerRecalcRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1226
    functionName: stTriggerTaskFetchRecalcRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - taosMemoryFreeClear
    - ST_TASK_DLOG
    - tdListPopHead
    - taosRLockLatch
    - taosRUnLockLatch
    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:1234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1236
    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:1243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1245
    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:1254,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1258,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1265
    functionName: stTriggerTaskDestroyOrigTableInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskDestroyOrigTableInfo(void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1273,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1274,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1276,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1280,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1284,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1288,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1289,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1291,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1295,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1302
    functionName: stTriggerTaskDestroyTableInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - TARRAY_GET_ELEM
    - TARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskDestroyTableInfo(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1307,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1308,1
    - Dst: tDestroySTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1309,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1314
    functionName: stTriggerTaskDestroyCalcNode
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - tDestroySTriggerCalcRequest
    - TARRAY_GET_ELEM
    - taosArrayDestroy
    - TARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskDestroyCalcNode(void *ptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1331,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1332,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1333,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1334,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1334,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1336,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1336,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1342,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1343,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1344,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1345,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1346,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1358,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1358,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1369,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1371,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1373,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1377,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1383,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1384,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1385,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1386,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1387,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1399,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1402,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1405,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1408,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1408,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: 1411
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1411
    functionName: stTriggerTaskCollectVirCols
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - ST_TASK_ELOG
    - taosArrayInit
    - nodeType
    - tstrerror
    - QUERY_CHECK_CODE
    - strcmp
    - nodesStringToNode
    - QUERY_CHECK_CONDITION
    - nodesDestroyNode
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    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:1358,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1358,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1369,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1371,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1373,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1377,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1383,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1384,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1385,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1386,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1387,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1388
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - taosArrayPush
    - nodeType
    - QUERY_CHECK_CODE
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CONDITION
    - 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:1358,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1362
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - QUERY_CHECK_CONDITION
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pColNode, pScanCols)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1369,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1371,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1373,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1381
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - QUERY_CHECK_CONDITION
    - QUERY_CHECK_CODE
    - nodeType
    - 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:1429,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1430,1
    - Dst: stTriggerTaskCollectVirCols
      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: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1434,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1435,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1436,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1437,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1441,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1444,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1445,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1446,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1449,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1452,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1453,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1454,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1456,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1458,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1458,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1461,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1467,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1468,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1473,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1476,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1477,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1478,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1481,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1484,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1485,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1486,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1488,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1490,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1490,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1494,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1500,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1501,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1505,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1506,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1510,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1513,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1514,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1516,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1519,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1520,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1525,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1526,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1530,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1531,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1535,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1536,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1538,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1545,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1549,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1550,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1552,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1555,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1560,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1561,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1562,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1564,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1570,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1573,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1574,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1576,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1579,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1584,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1585,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1586,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1588,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1599,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1601,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1608,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1609,1
    - Dst: nodesWalkExpr
      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:1615,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1618,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1620,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1621,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1623,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1633,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1638,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1641,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1644,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1647,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1650,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1653,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1656,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1659,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1662,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1665,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1668,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 194
    argCount: 3
    argNames:
    - pTask
    - triggerScanPlan
    - calcCacheScanPlan
    argTypes:
    - SStreamTriggerTask*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1671
    functionName: stTriggerTaskParseVirtScan
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - TARRAY_DATA
    - tstrerror
    - taosSort
    - ST_TASK_DLOG
    - createDataBlock
    - stTriggerTaskCollectVirCols
    - TARRAY_GET_ELEM
    - nodesListGetNode
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - createColumnInfoData
    - taosMemoryFreeClear
    - tsnprintf
    - taosArrayGetSize
    - blockDataAppendColInfo
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - nodesWalkExpr
    - nodesDestroyList
    - QUERY_CHECK_NULL
    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:1684,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1685,1
    - Dst: stTriggerTaskCollectVirCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1686,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1687,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1690,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1691,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1696,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1699,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1703,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1707,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1708,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1711,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1712,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1717,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1720,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1724,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1728,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1729,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1733,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1736,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1738,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1738,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1739,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1740,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1741,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1741,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1742,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1743,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1747,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1750,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1753,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1756,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1759,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1759,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 70
    argCount: 3
    argNames:
    - pTask
    - triggerScanPlan
    - calcCacheScanPlan
    argTypes:
    - SStreamTriggerTask*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1673
    functionDepth: 2
    functionLinenumber: 1673
    functionLinenumberEnd: 1762
    functionName: stTriggerTaskNewParseVirtScan
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - nodesDestroyList
    - tSimpleHashSetFreeFp
    - QUERY_CHECK_NULL
    - createColumnInfoData
    - blockDataAppendColInfo
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - createDataBlock
    - stTriggerTaskCollectVirCols
    - TARRAY_GET_ELEM
    - tSimpleHashInit
    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:1696,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1699,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1703,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1707,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1694
    functionDepth: 1
    functionLinenumber: 1694
    functionLinenumberEnd: 1709
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - QUERY_CHECK_CODE
    - createColumnInfoData
    - TARRAY_GET_ELEM
    - blockDataAppendColInfo
    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:1717,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1720,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1724,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1728,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1715
    functionDepth: 1
    functionLinenumber: 1715
    functionLinenumberEnd: 1730
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - QUERY_CHECK_CODE
    - createColumnInfoData
    - TARRAY_GET_ELEM
    - blockDataAppendColInfo
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCalcSlots)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1802,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1803,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1804,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1812,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1813,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1814,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1815,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1817,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1818,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1819,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1820,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1840,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1841,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1846,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1848,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1879,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1880,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1884,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1893,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1898,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1899,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1900,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1910,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1911,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1915,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1916,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1918,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1919,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1920,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1921,1
    - Dst: stTriggerTaskParseVirtScan
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1925,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1926,1
    - Dst: stTriggerTaskNewParseVirtScan
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1927,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1928,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1929,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1930,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1931,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1931,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1932,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1933,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1936,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1938,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1946,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1953,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1955,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1957,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1959,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1960,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1962,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1963,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1965,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1966,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1967,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1968,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1970,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1971,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1975,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1975,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1976,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1977,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1977,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1978,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1980,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1981,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1982,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1984,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1984,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1985,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1986,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1986,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1987,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1993,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1996,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1996,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 203
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamTriggerTask*
    - SStreamTriggerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1764
    functionDepth: 3
    functionLinenumber: 1764
    functionLinenumberEnd: 2000
    functionName: stTriggerTaskDeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - tstrerror
    - taosArrayInit_s
    - TARRAY_GET_ELEM
    - TD_DLIST_APPEND
    - strcmp
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - QUERY_CHECK_NULL
    - tSimpleHashSetFreeFp
    - TSWAP
    - stTriggerTaskNewParseVirtScan
    - tdListNew
    - stTriggerTaskParseVirtScan
    - taosArrayGetSize
    - QUERY_CHECK_CONDITION
    - taosGetDefaultHashFunction
    - nodesCollectColumnsFromNode
    - taosStrdup
    - nodeType
    - nodesStringToList
    - nodesDestroyList
    - taosInitRWLatch
    - convertTimePrecision
    - nodesStringToNode
    - nodesCloneNode
    - tSimpleHashInit
    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:1884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1888
    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: 48
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2008,1
    - Dst: stTriggerTaskGenCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2016,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2018,1
    - Dst: stTriggerTaskGenCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2019,1
    - Dst: streamWriteCheckPoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2021,1
    - Dst: getSynEpset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2024,1
    - Dst: streamSyncWriteCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2026,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2030,1
    - Dst: streamDeleteCheckPoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2034,1
    - Dst: getSynEpset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2036,1
    - Dst: streamSyncDeleteCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2038,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2042,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2043,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2046,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2049,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2050,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2053,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2057,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2062,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2066,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2070,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2074,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2080,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2085,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2089,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2093,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2097,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2102,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2103,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2104,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2106,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2111,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2115,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2119,1
    - Dst: stRealtimeContextDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2124,1
    - Dst: stHistoryContextDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2127,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2130,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2134,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2139,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2143,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2147,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2151,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2155,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2159,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2163,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2167,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2171,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2175,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2178,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2183,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2187,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2191,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2198,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2199,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2202,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2204,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2206,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2210,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2214,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2215,1
    - Dst: tFreeSStreamMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2216,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2217,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2222,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 193
    argCount: 3
    argNames:
    - ppTask
    - pMsg
    - cb
    argTypes:
    - SStreamTriggerTask**
    - SStreamUndeployTaskMsg*
    - taskUndeplyCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2002
    functionDepth: 2
    functionLinenumber: 2002
    functionLinenumberEnd: 2228
    functionName: stTriggerTaskUndeployImpl
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - stRealtimeContextDestroy
    - taosArrayDestroy
    - tstrerror
    - tFreeSStreamMgmtReq
    - tdListNext
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - stTriggerTaskGenCheckpoint
    - tdListFree
    - TD_DLIST_HEAD
    - streamSyncDeleteCheckpoint
    - streamSyncWriteCheckpoint
    - nodesDestroyNode
    - blockDataDestroy
    - taosMemoryFreeClear
    - getSynEpset
    - tdListInitIter
    - stHistoryContextDestroy
    - TD_DLIST_POP
    - TARRAY_SIZE
    - atomic_val_compare_exchange_ptr
    - streamWriteCheckPoint
    - streamDeleteCheckPoint
    - atomic_load_ptr
    - TD_DLIST_NODE_NEXT
    - tSimpleHashCleanup
    - taosArrayDestroyEx
    - nodesDestroyList
    - taosWUnLockLatch
    - taosWLockLatch
    - stDebug
    - taosMemoryFree
    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:2234,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2235,1
    - Dst: stTriggerTaskUndeployImpl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ppTask
    - force
    argTypes:
    - SStreamTriggerTask**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2230
    functionDepth: 3
    functionLinenumber: 2230
    functionLinenumberEnd: 2240
    functionName: stTriggerTaskUndeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosWTryForceLockLatch
    - stTriggerTaskUndeployImpl
    - ST_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskUndeploy(SStreamTriggerTask **ppTask, bool force)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2253,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2254,1
    - Dst: stRealtimeContextInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2255,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2256,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2263,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2264,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2265,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2266,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2267,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2268,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2269,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2270,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2270,1
    - Dst: SMsgCb*::putToQueueFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2273,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2274,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2276,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2277,1
    - Dst: getSynEpset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2282,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2284,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2285,1
    - Dst: streamSyncWriteCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2286,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2288,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2291,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2296,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2301,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2303,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2307,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2310,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2312,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2314,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2314,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2314,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2319,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2320,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2322,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2323,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2324,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2325,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2326,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2327,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2330,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2331,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2333,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2335,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2337,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2338,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2345,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2346,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2347,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2348,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2349,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2349,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2350,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2351,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2352,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2352,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2353,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2354,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2356,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2357,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2358,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2359,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2360,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2361,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2372,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2374,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2376,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2378,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2379,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2384,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2385,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2391,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2393,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2399,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2399,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 114
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamTriggerTask*
    - SStreamMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2242
    functionDepth: 2
    functionLinenumber: 2242
    functionLinenumberEnd: 2402
    functionName: stTriggerTaskExecute
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - atomic_store_8
    - taosArrayAddAll
    - taosArrayInit
    - TRACE_SET_ROOTID
    - TARRAY_DATA
    - tstrerror
    - ST_TASK_DLOG
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - SMsgCb*::putToQueueFp
    - tGenIdPI64
    - tSimpleHashSetFreeFp
    - streamSyncWriteCheckpoint
    - tSimpleHashIterate
    - taosMemoryCalloc
    - stTriggerTaskAddRecalcRequest
    - getSynEpset
    - stRealtimeContextInit
    - tSimpleHashInit
    - taosArrayGetSize
    - rpcMallocCont
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - tSerializeSTriggerCtrlRequest
    - tSimpleHashGet
    - TARRAY_ELEM_IDX
    - QUERY_CHECK_NULL
    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:2420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2421,1
    - Dst: stHistoryContextProcPullRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2423,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2424,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2431,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2432,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2433,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2435,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2436,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2437,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2440,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2441,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2442,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2449,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2457,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2469,1
    - Dst: stRealtimeContextProcCalcRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2471,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2472,1
    - Dst: stHistoryContextProcCalcRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2474,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2475,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2482,1
    - Dst: tDeserializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2487,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2488,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2492,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2493,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2495,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2496,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2501,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2503,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2512,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2512,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 103
    argCount: 3
    argNames:
    - pStreamTask
    - pRsp
    - pErrTaskId
    argTypes:
    - SStreamTask*
    - SRpcMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2404
    functionDepth: 2
    functionLinenumber: 2404
    functionLinenumberEnd: 2515
    functionName: stTriggerTaskProcessRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - listNEles
    - ST_TASK_ELOG
    - stRealtimeContextProcCalcRsp
    - tstrerror
    - taosArrayClearEx
    - QUERY_CHECK_CODE
    - stHistoryContextProcCalcRsp
    - tdListAppend
    - stHistoryContextProcPullRsp
    - tDeserializeSTriggerCtrlRequest
    - stRealtimeContextCheck
    - stTriggerTaskAddWaitSession
    - stHistoryContextCheck
    - taosGetTimestampNs
    - stRealtimeContextProcPullRsp
    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: 2520
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2520
    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: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2524,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2525,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pStreamTask
    - pDelay
    - pFillHisFinished
    argTypes:
    - SStreamTask*
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2522
    functionDepth: 1
    functionLinenumber: 2522
    functionLinenumberEnd: 2528
    functionName: stTriggerTaskGetDelay
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - atomic_load_8
    - taosGetTimestampNs
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskGetDelay(SStreamTask *pStreamTask, int64_t *pDelay,
      bool *pFillHisFinished)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2536,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2540,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2544,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2548,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2552,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2556,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2563
      start: 2530
    functionDepth: 1
    functionLinenumber: 2530
    functionLinenumberEnd: 2563
    functionName: stRealtimeContextDestroyWalProgress
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tSimpleHashCleanup
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void stRealtimeContextDestroyWalProgress(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2570,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2565
    functionDepth: 1
    functionLinenumber: 2565
    functionLinenumberEnd: 2572
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2581,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2582,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2583,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2584,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2592,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2594,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2595,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2599,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2602,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - pContext
    - pDataBlock
    - pExpr
    - pResCol
    argTypes:
    - SSTriggerRealtimeContext*
    - SSDataBlock*
    - SNode*
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2574
    functionDepth: 2
    functionLinenumber: 2574
    functionLinenumberEnd: 2605
    functionName: stRealtimeContextCalcExpr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - ST_TASK_ELOG
    - taosArrayInit
    - tstrerror
    - scalarCalculate
    - QUERY_CHECK_CODE
    - blockDataGetNumOfRows
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeContextCalcExpr(SSTriggerRealtimeContext *pContext,
      SSDataBlock *pDataBlock, SNode *pExpr,\n                                         SColumnInfoData
      *pResCol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2608,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HeapNode*
    - HeapNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2611
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2636,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2636,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2637,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2638,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2640,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2642,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2644,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2646,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2647,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2648,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2655,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2656,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2657,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2658,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2659,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2659,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2660,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2661,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2662,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2662,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2663,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2664,1
    - Dst: taosArrayInit
      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: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2668,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2669,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2670,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2671,1
    - Dst: taosMemoryCalloc
      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: taosMemoryCalloc
      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: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2678,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2679,1
    - Dst: taosArrayInit
      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: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2686,1
    - Dst: TD_DLIST_INIT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2687,1
    - Dst: heapCreate
      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: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2690,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2691,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2693,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2693,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2694,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2697,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2698,1
    - Dst: stNewVtableMergerInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2699,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2699,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2701,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2703,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2704,1
    - Dst: stNewTimestampSorterInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2711,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2712,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2714,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2715,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2717,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2718,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2720,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2721,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2722,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2723,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2726,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2727,1
    - Dst: stNewVtableMergerInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2728,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2729,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2730,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2732,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2733,1
    - Dst: stNewTimestampSorterInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2734,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2735,1
    - Dst: taosObjPoolInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2740,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2741,1
    - Dst: taosObjPoolInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2742,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2743,1
    - Dst: taosObjPoolInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2744,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2745,1
    - Dst: taosObjPoolInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2746,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2747,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2751,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2751,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2752,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2753,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2756,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2757,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2758,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2763,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 131
    argCount: 2
    argNames:
    - pContext
    - pTask
    argTypes:
    - SSTriggerRealtimeContext*
    - SStreamTriggerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2613
    functionDepth: 17
    functionLinenumber: 2613
    functionLinenumberEnd: 2767
    functionName: stRealtimeContextInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosArrayInit
    - TARRAY_DATA
    - taosObjPoolInit
    - stNewTimestampSorterInit
    - TARRAY_GET_ELEM
    - taosObjListInit
    - heapCreate
    - QUERY_CHECK_CODE
    - QUERY_CHECK_NULL
    - tSimpleHashSetFreeFp
    - TD_DLIST_INIT
    - taosMemoryCalloc
    - tdListInit
    - taosHashSetFreeFp
    - taosArrayGetSize
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - stNewVtableMergerInit
    - tSimpleHashGet
    - taosHashInit
    - taosGetTimestampNs
    - tSimpleHashInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextInit(SSTriggerRealtimeContext *pContext, SStreamTriggerTask
      *pTask)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2777,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2782,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2786,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2790,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2794,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2798,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2803,1
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2807,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2811,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2816,1
    - Dst: stNewTimestampSorterDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2821,1
    - Dst: stNewVtableMergerDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2824,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2827,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2831,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2834,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2835,1
    - Dst: stNewTimestampSorterDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2837,1
    - Dst: stNewVtableMergerDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2840,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2843,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2844,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2845,1
    - Dst: taosObjPoolDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2846,1
    - Dst: taosObjPoolDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2847,1
    - Dst: taosObjPoolDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2848,1
    - Dst: taosObjPoolDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2849,1
    - Dst: destroyStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2852,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2856,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2860,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2861,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2862,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2864,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2769
    functionDepth: 4
    functionLinenumber: 2769
    functionLinenumberEnd: 2865
    functionName: stRealtimeContextDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - heapDestroy
    - taosArrayDestroy
    - stNewVtableMergerDestroy
    - destroyStreamDataCache
    - tSimpleHashCleanup
    - stNewTimestampSorterDestroy
    - taosArrayDestroyEx
    - taosMemFreeClear
    - taosHashCleanup
    - tdListEmpty
    - colDataDestroy
    - taosObjListClear
    - taosObjPoolDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void stRealtimeContextDestroy(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2872,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2873,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2874,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2875,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2880,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2885,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2888
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2888
    functionName: stRealtimeContextGetCurrentGroup
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - taosArrayGet
    - tSimpleHashGet
    - TD_DLIST_HEAD
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSTriggerRealtimeGroup
    signature: SSTriggerRealtimeGroup *stRealtimeContextGetCurrentGroup(SSTriggerRealtimeContext
      *pContext)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2899,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2900,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2901,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2902,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2907,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2908,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2909,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2910,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2922,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2923,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2924,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2925,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2930,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2931,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2934,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2938,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2939,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2943,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2944,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2948,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2950,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2951,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2952,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2953,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2961,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2962,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2962,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2968,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2969,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2970,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2971,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2978,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2979,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2980,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2981,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2985,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2986,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2987,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2988,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2992,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2993,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2997,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2998,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3005,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3006,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3007,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3008,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3015,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3016,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3017,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3018,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3021,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3022,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3023,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3025,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3026,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3029,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3030,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3033,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3036,1
    - Dst: taosArrayPush
      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:3044,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3051,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3052,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3055,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3056,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3058,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3059,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3060,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3061,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3065,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3070,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3071,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3071,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3073,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3076,1
    - Dst: taosArrayPush
      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: taosArrayGet
      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: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3086,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3087,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3090,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3092,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3096,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3099,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3101,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3103,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3104,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3105,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3106,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3107,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3108,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3111,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3119,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3120,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3121,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3122,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3126,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3127,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3129,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3131,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3132,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3132,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3133,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3135,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3137,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3138,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3142,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3144,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3145,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3146,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3147,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3150,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3151,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3151,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3152,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3154,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3156,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3157,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3161,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3163,1
    - Dst: tSimpleHashPut
      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: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3166,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3169,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3172,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3174,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3177,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3179,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3181,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3183,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3185,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3188,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3190,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3193,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3195,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3197,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3199,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3201,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3207,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3219,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3219,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3220,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3222,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3223,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3225,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3226,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3228,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3229,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3231,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3232,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3233,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3234,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3234,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3236,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3237,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3239,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3244,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3245,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3245,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 238
    argCount: 2
    argNames:
    - pContext
    - type
    argTypes:
    - SSTriggerRealtimeContext*
    - ESTriggerPullType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 2890
    functionDepth: 2
    functionLinenumber: 2890
    functionLinenumberEnd: 3248
    functionName: stRealtimeContextSendPullReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - taosArrayPush
    - tSimpleHashGetSize
    - tstrerror
    - TARRAY_DATA
    - TRACE_SET_ROOTID
    - tSerializeSTriggerPullRequest
    - taosObjListIterNext
    - taosArrayClear
    - taosArrayReserve
    - ST_TASK_DLOG
    - stTriggerTaskAllocAhandle
    - TARRAY_GET_ELEM
    - destroyAhandle
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tGenIdPI64
    - TD_DLIST_HEAD
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - htonl
    - taosObjListGetHead
    - tSimpleHashInit
    - tmsgSendReq
    - taosArraySort
    - tSimpleHashPut
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - taosGetDefaultHashFunction
    - rpcMallocCont
    - TD_DLIST_NODE_NEXT
    - taosObjListInitIter
    - tSimpleHashCleanup
    - tSimpleHashClear
    - tSimpleHashGet
    - TARRAY_ELEM_IDX
    - stRealtimeContextGetCurrentGroup
    - blockDataGetNumOfCols
    - strncpy
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextSendPullReq(SSTriggerRealtimeContext *pContext,
      ESTriggerPullType type)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3259,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3261,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3263,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3269,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3276,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3277,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3278,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3296,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3298,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3301,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3302,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3305,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3310,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3314,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3315,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3316,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3317,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3319,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3321,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3323,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3325,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3332,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3335,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3338,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3339,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3340,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3342,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3345,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3349,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3350,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3352,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3354,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3355,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3361,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3363,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3366,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3367,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3368,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3369,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3373,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3373,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3378,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3379,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3384,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3386,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3388,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3389,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3391,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3392,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3395,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3398,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3399,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3403,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3407,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3410,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3411,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3412,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3413,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3419,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3420,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3426,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3437,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3446,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3447,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3452,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3452,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3453,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3455,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3456,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3458,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3459,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3461,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3462,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3464,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3465,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3466,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3467,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3467,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3469,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3470,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3472,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3473,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3479,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3480,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3480,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 168
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3250
    functionDepth: 3
    functionLinenumber: 3250
    functionLinenumberEnd: 3483
    functionName: stRealtimeContextSendCalcReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - stRealtimeGroupNextDataBlock
    - stTriggerTaskReleaseRequest
    - tstrerror
    - TARRAY_DATA
    - TRACE_SET_ROOTID
    - taosObjListIterNext
    - initStreamDataCache
    - ST_TASK_DLOG
    - stTriggerTaskAllocAhandle
    - TMIN
    - TARRAY_GET_ELEM
    - destroyAhandle
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tGenIdPI64
    - tSimpleHashIterate
    - stRealtimeContextSendPullReq
    - taosObjListAppend
    - taosArrayGetSize
    - tmsgSendReq
    - tSimpleHashPut
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - putStreamDataCache
    - tSerializeSTriggerCalcRequest
    - taosObjListClear
    - rpcMallocCont
    - taosObjListInitIter
    - tSimpleHashClear
    - TMAX
    - TARRAY_ELEM_IDX
    - stRealtimeContextGetCurrentGroup
    - stTriggerTaskNextTimeWindow
    - htonl
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextSendCalcReq(SSTriggerRealtimeContext *pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3494,1
    - Dst: TARRAY_GET_ELEM
      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:3502,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3509,1
    - Dst: stRealtimeContextSendPullReq
      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: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3513,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3514,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3520,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3520,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3521,1
    - Dst: tSerializeSTriggerDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3523,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3524,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3526,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3527,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3529,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3530,1
    - Dst: tSerializeSTriggerDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3531,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3533,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3534,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3535,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3535,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3537,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3538,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3540,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3541,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3546,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3547,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3547,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: 3550
      start: 3485
    functionDepth: 3
    functionLinenumber: 3485
    functionLinenumberEnd: 3550
    functionName: stRealtimeContextSendDropTableReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - tstrerror
    - TRACE_SET_ROOTID
    - ST_TASK_DLOG
    - destroyAhandle
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - tdListAppend
    - tGenIdPI64
    - QUERY_CHECK_NULL
    - stRealtimeContextSendPullReq
    - taosArrayGetSize
    - tmsgSendReq
    - rpcMallocCont
    - QUERY_CHECK_CONDITION
    - tSerializeSTriggerDropTableRequest
    - htonl
    - stTriggerTaskAllocAhandle
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeContextSendDropTableReq(SSTriggerRealtimeContext
      *pContext, int64_t gid,\n                                                 SSTriggerDropRequest
      *pDropReq, bool *needColVal)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3560,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3561,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3562,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3564,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3565,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3571,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3572,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3578,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3581,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3581,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3582,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3584,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3585,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3587,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3588,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3590,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3591,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3593,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3594,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3595,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3596,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3596,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3598,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3599,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3601,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3602,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3604,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3605,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3609,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3610,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - pContext
    - pNode
    - pReq
    argTypes:
    - SSTriggerRealtimeContext*
    - SListNode*
    - SSTriggerPullRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3552
    functionDepth: 2
    functionLinenumber: 3552
    functionLinenumberEnd: 3613
    functionName: stRealtimeContextRetryPullRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - tstrerror
    - TRACE_SET_ROOTID
    - tSerializeSTriggerPullRequest
    - ST_TASK_DLOG
    - destroyAhandle
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - tGenIdPI64
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    - taosArrayGetSize
    - tmsgSendReq
    - rpcMallocCont
    - QUERY_CHECK_CONDITION
    - tdListPopNode
    - stDebug
    - htonl
    - stTriggerTaskAllocAhandle
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeContextRetryPullRequest(SSTriggerRealtimeContext
      *pContext, SListNode *pNode,\n                                                 SSTriggerPullRequest
      *pReq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3624,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3625,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3626,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3628,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3630,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3636,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3645,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3646,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3647,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3652,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3652,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3653,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3655,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3656,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3658,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3659,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3661,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3662,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3664,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3665,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3666,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3667,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3667,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3669,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3670,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3672,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3673,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3675,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3676,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3680,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3681,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3681,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - pContext
    - pNode
    - pReq
    argTypes:
    - SSTriggerRealtimeContext*
    - SListNode*
    - SSTriggerCalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3684
      start: 3615
    functionDepth: 3
    functionLinenumber: 3615
    functionLinenumberEnd: 3684
    functionName: stRealtimeContextRetryCalcRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - tstrerror
    - TRACE_SET_ROOTID
    - ST_TASK_DLOG
    - destroyAhandle
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - tGenIdPI64
    - QUERY_CHECK_NULL
    - stRealtimeContextSendPullReq
    - taosMemoryFreeClear
    - taosArrayGetSize
    - tmsgSendReq
    - rpcMallocCont
    - QUERY_CHECK_CONDITION
    - tSerializeSTriggerCalcRequest
    - tdListPopNode
    - stDebug
    - htonl
    - stTriggerTaskAllocAhandle
    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:3695,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3696,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3697,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3699,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3701,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3707,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3714,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3715,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3716,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3721,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3721,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3722,1
    - Dst: tSerializeSTriggerDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3724,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3725,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3727,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3728,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3730,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3731,1
    - Dst: tSerializeSTriggerDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3733,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3734,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3735,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3736,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3736,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3738,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3739,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3741,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3742,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3744,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3745,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3749,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3750,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3750,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - pContext
    - pNode
    - pReq
    argTypes:
    - SSTriggerRealtimeContext*
    - SListNode*
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3753
      start: 3686
    functionDepth: 3
    functionLinenumber: 3686
    functionLinenumberEnd: 3753
    functionName: stRealtimeContextRetryDropRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - tstrerror
    - TRACE_SET_ROOTID
    - ST_TASK_DLOG
    - destroyAhandle
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - tGenIdPI64
    - QUERY_CHECK_NULL
    - stRealtimeContextSendPullReq
    - taosMemoryFreeClear
    - taosArrayGetSize
    - tmsgSendReq
    - rpcMallocCont
    - QUERY_CHECK_CONDITION
    - tSerializeSTriggerDropTableRequest
    - tdListPopNode
    - stDebug
    - htonl
    - stTriggerTaskAllocAhandle
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeContextRetryDropRequest(SSTriggerRealtimeContext
      *pContext, SListNode *pNode,\n                                                 SSTriggerDropRequest
      *pReq)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3759,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3761,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3762,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3763,1
    - Dst: stRealtimeContextRetryPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3765,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3766,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3773,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3773,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3774,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3775,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3777,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3778,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3780,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3781,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3784,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3791,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3792,1
    - Dst: streamReadCheckPoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3795,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3797,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3798,1
    - Dst: stTriggerTaskParseCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3800,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3802,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3803,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3805,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3809,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3810,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3811,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3817,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3817,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3819,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3821,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3822,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3828,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3829,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3830,1
    - Dst: stHistoryContextInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3831,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3832,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3838,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3839,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3840,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3841,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3842,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3843,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3844,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3845,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3845,1
    - Dst: SMsgCb*::putToQueueFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3848,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3849,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3851,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3852,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3856,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3857,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3863,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3865,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3868,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3875,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3879,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3881,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3883,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3884,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3890,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3891,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3892,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3893,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3896,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3898,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3899,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3902,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3903,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3908,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3909,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3913,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3913,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3914,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3915,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3920,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3921,1
    - Dst: stRealtimeGroupCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3930,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3931,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3933,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3934,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3939,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3940,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3942,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3942,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3943,1
    - Dst: stRealtimeGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3945,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3949,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3951,1
    - Dst: stRealtimeGroupClearMetadatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3955,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3956,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3962,1
    - Dst: stTriggerTaskAcquireRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3975,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3976,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3979,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3982,1
    - Dst: stRealtimeGroupRetrievePendingCalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3991,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3992,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3998,1
    - Dst: stRealtimeContextSendCalcReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3999,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4000,1
    - Dst: stRealtimeGroupClearMetadatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4006,1
    - Dst: stRealtimeGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4008,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4011,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4016,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4018,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4021,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4023,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4027,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4035,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4040,1
    - Dst: stTriggerTaskAcquireDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4043,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4044,1
    - Dst: stRealtimeContextSendDropTableReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4048,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4049,1
    - Dst: stTriggerTaskReleaseDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4053,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4054,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4056,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4070,1
    - Dst: stTriggerTaskGenCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4071,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4073,1
    - Dst: stTriggerTaskGenCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4074,1
    - Dst: streamWriteCheckPoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4076,1
    - Dst: getSynEpset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4079,1
    - Dst: streamSyncWriteCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4081,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4085,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4086,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4094,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4096,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4097,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4104,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4106,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4107,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4113,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4114,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4115,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4119,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4121,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4124,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4131,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4131,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 321
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4134
      start: 3755
    functionDepth: 4
    functionLinenumber: 3755
    functionLinenumberEnd: 4134
    functionName: stRealtimeContextCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - TRACE_SET_MSGID
    - taosMemoryMalloc
    - stTriggerTaskReleaseRequest
    - tSimpleHashGetSize
    - tstrerror
    - TRACE_SET_ROOTID
    - TARRAY_DATA
    - stTriggerTaskAcquireRequest
    - stHistoryContextInit
    - stRealtimeContextRetryPullRequest
    - ST_TASK_DLOG
    - stRealtimeContextSendDropTableReq
    - TD_DLIST_APPEND
    - taosGetTimestampNs
    - ST_TASK_ELOG
    - stTriggerTaskGenCheckpoint
    - heapInsert
    - stRealtimeGroupClearTempState
    - QUERY_CHECK_CODE
    - stRealtimeGroupInit
    - SMsgCb*::putToQueueFp
    - tGenIdPI64
    - streamSendNotifyContent
    - stRealtimeGroupCheck
    - TD_DLIST_HEAD
    - stRealtimeContextSendCalcReq
    - TD_DLIST_NELES
    - taosMemoryCalloc
    - stTriggerTaskGetTimeWindow
    - tSimpleHashIterate
    - stTriggerTaskAcquireDropTableRequest
    - taosArrayRemove
    - streamSyncWriteCheckpoint
    - stRealtimeContextSendPullReq
    - stTriggerTaskAddRecalcRequest
    - taosMemoryFreeClear
    - stTriggerTaskReleaseDropTableRequest
    - getSynEpset
    - streamReadCheckPoint
    - taosArrayGetSize
    - TD_DLIST_POP
    - rpcMallocCont
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - tSimpleHashPut
    - stTriggerTaskNextTimeWindow
    - container_of
    - heapRemove
    - streamWriteCheckPoint
    - listNEles
    - tSerializeSTriggerCtrlRequest
    - IS_TRIGGER_GROUP_TO_CHECK
    - stRealtimeGroupRetrievePendingCalc
    - stTriggerTaskParseCheckpoint
    - atomic_load_8
    - stTriggerTaskAddWaitSession
    - stDebug
    - stRealtimeGroupClearMetadatas
    - taosMemoryFree
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextCheck(SSTriggerRealtimeContext *pContext)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4145,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4148,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4149,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4151,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4152,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4154,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4155,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4157,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4158,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4163,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4164,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4165,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4166,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4167,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4168,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4170,1
    - Dst: taosMemoryCalloc
      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: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4175,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4178,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4180,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4181,1
    - Dst: stRealtimeGroupAddMeta
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4186,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4187,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4188,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4189,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4196,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4199,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4200,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4201,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4203,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4204,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4206,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4207,1
    - Dst: stRealtimeGroupAddMeta
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4212,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4213,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4214,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4215,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4222,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4224,1
    - Dst: taosArrayGet
      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: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4229,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4230,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4232,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4233,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4235,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4236,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4241,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4242,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4243,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4244,1
    - Dst: tSimpleHashGet
      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: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4248,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4251,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4252,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4253,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4255,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4256,1
    - Dst: stRealtimeGroupInit
      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: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4265,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4270,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4271,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4272,1
    - Dst: stRealtimeGroupRemovePendingCalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4274,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4275,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4282,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4285,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4286,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4287,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4289,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4290,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4292,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4293,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4299,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4304,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4305,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4306,1
    - Dst: stRealtimeGroupRemovePendingCalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4308,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4309,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4316,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4318,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4319,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4323,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4325,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4326,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4327,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4329,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4330,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4332,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4333,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4336,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4337,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4343,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4343,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 148
    argCount: 2
    argNames:
    - pContext
    - pProgress
    argTypes:
    - SSTriggerRealtimeContext*
    - SSTriggerWalProgress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4346
      start: 4136
    functionDepth: 2
    functionLinenumber: 4136
    functionLinenumberEnd: 4346
    functionName: stRealtimeContextProcWalMeta
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - stRealtimeGroupRemovePendingCalc
    - ST_TASK_DLOG
    - TARRAY_GET_ELEM
    - TD_DLIST_APPEND
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataGetNumOfRows
    - stRealtimeGroupInit
    - taosMemoryCalloc
    - taosObjListGetHead
    - stTriggerTaskAddRecalcRequest
    - taosMemoryFreeClear
    - tSimpleHashPut
    - stRealtimeGroupAddMeta
    - TARRAY_SIZE
    - IS_TRIGGER_GROUP_TO_CHECK
    - tSimpleHashGet
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextProcWalMeta(SSTriggerRealtimeContext *pContext,
      SSTriggerWalProgress *pProgress)
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4363,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4366,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4370,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4373,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4374,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4376,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4377,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4383,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4386,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4387,1
    - Dst: tDeserializeSStreamTsResponse
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4388,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4389,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4391,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4392,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4393,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4394,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4395,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4398,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4399,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4401,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4402,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4407,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4408,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4409,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4410,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4411,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4412,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4414,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4416,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4417,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4419,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4426,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4429,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4431,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4448,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4449,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4451,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4452,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4453,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4454,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4459,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4460,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4465,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4468,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4469,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4471,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4472,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4478,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4481,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4482,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4483,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4484,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4487,1
    - Dst: tDeserializeSStreamWalDataResponse
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4491,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4492,1
    - Dst: stRealtimeContextProcWalMeta
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4497,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4498,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4500,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4505,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4510,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4511,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4513,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4514,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4515,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4518,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4522,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4523,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4524,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4526,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4527,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4535,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4538,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4541,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4543,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4548,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4549,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4550,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4553,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4556,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4558,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4561,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4563,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4564,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4565,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4568,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4569,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4571,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4572,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4577,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4580,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4584,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4585,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4587,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4590,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4592,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4593,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4601,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4604,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4605,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4607,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4608,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4614,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4615,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4618,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4620,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4621,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4622,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4625,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4627,1
    - Dst: tDeserializeSStreamWalDataResponse
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4634,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4635,1
    - Dst: stRealtimeContextProcWalMeta
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4643,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4644,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4647,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4648,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4652,1
    - Dst: tSimpleHashPut
      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: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4660,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4661,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4662,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4663,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4664,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4665,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4667,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4669,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4672,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4675,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4677,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4678,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4684,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4690,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4691,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4692,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4694,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4696,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4699,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4701,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4702,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4707,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4713,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4714,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4716,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4717,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4719,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4720,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4722,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4723,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4724,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4725,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4730,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4731,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4733,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4734,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4735,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4736,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4741,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4747,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4748,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4750,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4751,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4752,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4755,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4759,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4760,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4761,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4766,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4769,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4770,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4772,1
    - Dst: QUERY_CHECK_NULL
      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:4779,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4781,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4782,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4783,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4785,1
    - Dst: tDeserializeSStreamWalDataResponse
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4787,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4788,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4791,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4792,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4795,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4796,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4798,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4804,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4805,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4806,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4807,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4808,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4809,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4810,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4811,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4814,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4815,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4821,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4827,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4828,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4830,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4831,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4836,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4840,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4841,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4846,1
    - Dst: tDeserializeSStreamGroupInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4854,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4855,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4856,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4857,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4861,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4862,1
    - Dst: tDeserializeSStreamGroupInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4866,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4867,1
    - Dst: stRealtimeContextRetryCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4868,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4869,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4879,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4880,1
    - Dst: tDeserializeSStreamGroupInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4884,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4885,1
    - Dst: stRealtimeContextRetryDropRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4886,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4887,1
    - Dst: stTriggerTaskReleaseDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4888,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4889,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4893,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4894,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4895,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4906,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4909,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4913,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4914,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4915,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4916,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4917,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4923,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4924,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4926,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4927,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4933,1
    - Dst: tDeserializeSStreamMsgVTableInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4936,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4937,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4938,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4943,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4944,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4946,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4949,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4952,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4955,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4964,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4965,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4969,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4972,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4975,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4977,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4979,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4986,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4987,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4988,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4989,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4991,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4991,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4992,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4993,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4994,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4996,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4997,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5002,1
    - Dst: tSimpleHashPut
      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: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5007,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5008,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5011,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5011,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5012,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5015,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5016,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5020,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5021,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5022,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5029,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5030,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5032,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5034,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5037,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5039,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5040,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5041,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5042,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5043,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5044,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5046,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5048,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5049,1
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5050,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5057,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5063,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5066,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5067,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5069,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5070,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5076,1
    - Dst: tDserializeSTriggerOrigTableInfoRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5079,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5080,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5082,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5082,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5082,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5084,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5087,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5091,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5095,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5101,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5104,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5106,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5114,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5116,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5117,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5118,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5120,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5121,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5124,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5125,1
    - Dst: stTriggerTaskGenVirColRefs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5127,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5128,1
    - Dst: stTriggerTaskGenVirColRefs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5129,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5130,1
    - Dst: stTriggerTaskNewGenVirColRefs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5131,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5132,1
    - Dst: stTriggerTaskNewGenVirColRefs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5133,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5134,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5137,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5139,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5140,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5153,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5154,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5159,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5161,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5167,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5170,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5173,1
    - Dst: tDestroySStreamMsgVTableInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5175,1
    - Dst: tDestroySTriggerOrigTableInfoRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5176,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5178,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5181,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5181,1
    CyclomaticComplexity: 148
    EdgeCount: 148
    ICount: 576
    argCount: 2
    argNames:
    - pContext
    - pRsp
    argTypes:
    - SSTriggerRealtimeContext*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5184
      start: 4348
    functionDepth: 5
    functionLinenumber: 4348
    functionLinenumberEnd: 5184
    functionName: stRealtimeContextProcPullRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - tDestroySStreamMsgVTableInfo
    - taosArrayPush
    - taosArrayAddAll
    - taosArrayDestroy
    - taosArrayInit
    - TARRAY_DATA
    - tstrerror
    - atomic_fetch_add_64
    - stRealtimeContextRetryDropRequest
    - tDeserializeSStreamMsgVTableInfo
    - stRealtimeContextCheck
    - snprintf
    - stRealtimeContextProcWalMeta
    - taosArrayClear
    - taosArrayReserve
    - tdListNext
    - ST_TASK_DLOG
    - tDeserializeSStreamGroupInfo
    - tDestroySTriggerOrigTableInfoRsp
    - TMIN
    - TARRAY_GET_ELEM
    - TD_DLIST_APPEND
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataGetNumOfRows
    - atomic_store_ptr
    - stRealtimeContextRetryCalcRequest
    - TD_DLIST_HEAD
    - blockDecode
    - taosArrayGetLast
    - tSimpleHashSetFreeFp
    - taosMemoryCalloc
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - blockDataDestroy
    - stRealtimeContextSendPullReq
    - strlen
    - tDeserializeSStreamWalDataResponse
    - atomic_store_64
    - blockDataEmpty
    - stTriggerTaskReleaseDropTableRequest
    - tSimpleHashInit
    - taosObjListAppend
    - stRealtimeContextCalcExpr
    - tdListInitIter
    - stTriggerTaskNewGenVirColRefs
    - taosArrayGetSize
    - tSimpleHashPut
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - taosGetDefaultHashFunction
    - stTriggerTaskGenVirColRefs
    - IS_TRIGGER_GROUP_TO_CHECK
    - listNEles
    - tDeserializeSStreamTsResponse
    - TD_DLIST_NODE_NEXT
    - tSimpleHashCleanup
    - tSimpleHashClear
    - tDserializeSTriggerOrigTableInfoRsp
    - tSimpleHashGet
    - TMAX
    - blockDataGetNumOfCols
    - stRealtimeContextGetCurrentGroup
    - TD_DLIST_NELES
    - taosArrayDestroyP
    - strncpy
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextProcPullRsp(SSTriggerRealtimeContext *pContext,
      SRpcMsg *pRsp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5196,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5199,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5200,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5204,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5205,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5209,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5210,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5212,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5216,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5217,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5218,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5222,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5226,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5228,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5229,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5230,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5235,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5236,1
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5237,1
    - Dst: stRealtimeContextRetryCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5238,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5239,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - pContext
    - pRsp
    argTypes:
    - SSTriggerRealtimeContext*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5247
      start: 5186
    functionDepth: 5
    functionLinenumber: 5186
    functionLinenumberEnd: 5247
    functionName: stRealtimeContextProcCalcRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - ST_TASK_ELOG
    - stTriggerTaskReleaseRequest
    - tstrerror
    - QUERY_CHECK_CODE
    - taosMemoryFreeClear
    - tdListAppend
    - stRealtimeContextRetryCalcRequest
    - stRealtimeContextCheck
    - tdListInitIter
    - taosWUnLockLatch
    - tdListNext
    - TD_DLIST_POP
    - ST_TASK_DLOG
    - taosWLockLatch
    - TD_DLIST_TAIL
    - container_of
    - taosGetTimestampNs
    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:5255,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5262
      start: 5249
    functionDepth: 1
    functionLinenumber: 5249
    functionLinenumberEnd: 5262
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5282,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5282,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5283,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5284,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5285,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5286,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5290,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5292,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5294,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5300,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5301,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5302,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5304,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5305,1
    - Dst: taosArrayInit
      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: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5316,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5317,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5318,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5319,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5321,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5321,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5322,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5323,1
    - Dst: TD_DLIST_INIT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5324,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5325,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5327,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5328,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5330,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5331,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5332,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5334,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5335,1
    - Dst: stHistoryGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5337,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5338,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5342,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5343,1
    - Dst: stTimestampSorterInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5344,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5345,1
    - Dst: createOneDataBlock
      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:5348,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5349,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5350,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5351,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5352,1
    - Dst: stVtableMergerInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5353,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5354,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5357,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5358,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5359,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5360,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5362,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5363,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5364,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5365,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5368,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5369,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5373,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5373,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5374,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5375,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5377,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5378,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 94
    argCount: 2
    argNames:
    - pContext
    - pTask
    argTypes:
    - SSTriggerHistoryContext*
    - SStreamTriggerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5382
      start: 5264
    functionDepth: 16
    functionLinenumber: 5264
    functionLinenumberEnd: 5382
    functionName: stHistoryContextInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosArrayInit
    - TARRAY_GET_ELEM
    - QUERY_CHECK_CODE
    - stTimestampSorterInit
    - QUERY_CHECK_NULL
    - tSimpleHashSetFreeFp
    - TD_DLIST_INIT
    - taosMemoryCalloc
    - tdListInit
    - taosHashSetFreeFp
    - createOneDataBlock
    - taosMemoryFreeClear
    - taosArrayGetSize
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - stHistoryGroupInit
    - filterInitFromNode
    - tSimpleHashGet
    - taosHashInit
    - stVtableMergerInit
    - tSimpleHashInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextInit(SSTriggerHistoryContext *pContext, SStreamTriggerTask
      *pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5394,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5396,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5397,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pContext
    - pReq
    argTypes:
    - SSTriggerHistoryContext*
    - SSTriggerRecalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5403
      start: 5384
    functionDepth: 1
    functionLinenumber: 5384
    functionLinenumberEnd: 5403
    functionName: stHistoryContextHandleRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGet
    - tSimpleHashIterate
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextHandleRequest(SSTriggerHistoryContext *pContext,
      SSTriggerRecalcRequest *pReq)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5413,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5418,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5422,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5426,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5431,1
    - Dst: stTimestampSorterDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5436,1
    - Dst: stVtableMergerDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5439,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5442,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5446,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5450,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5454,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5458,1
    - Dst: destroyStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5463,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5467,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5471,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5472,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5474,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5475
      start: 5405
    functionDepth: 4
    functionLinenumber: 5405
    functionLinenumberEnd: 5475
    functionName: stHistoryContextDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - destroyStreamDataCache
    - tSimpleHashCleanup
    - stVtableMergerDestroy
    - filterFreeInfo
    - taosArrayDestroyEx
    - taosMemFreeClear
    - taosHashCleanup
    - stTimestampSorterDestroy
    - tdListEmpty
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void stHistoryContextDestroy(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5478,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5479,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5480,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5481,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5488
      start: 5477
    functionDepth: 1
    functionLinenumber: 5477
    functionLinenumberEnd: 5488
    functionName: SSTriggerHistoryGroup *stHistoryContextGetCurrentGroup(SSTriggerHistoryContext
      *pContext)
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_NELES
    - ST_TASK_ELOG
    - TD_DLIST_HEAD
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE SSTriggerHistoryGroup *stHistoryContextGetCurrentGroup(SSTriggerHistoryContext
      *pContext)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5499,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5500,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5501,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5502,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5512,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5513,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5514,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5515,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5522,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5530,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5531,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5535,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5536,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5548,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5549,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5550,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5551,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5562,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5563,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5564,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5565,1
    - Dst: stHistoryContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5567,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5578,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5579,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5586,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5587,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5588,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5589,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5591,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5592,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5593,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5599,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5600,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5601,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5606,1
    - Dst: stHistoryContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5615,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5616,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5618,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5619,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5620,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5621,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5624,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5625,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5626,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5627,1
    - Dst: stHistoryContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5635,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5636,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5637,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5638,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5639,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5640,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5641,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5645,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5646,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5648,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5649,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5650,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5656,1
    - Dst: QUERY_CHECK_CODE
      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:5668,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5668,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5669,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5671,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5672,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5674,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5675,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5677,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5678,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5680,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5681,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5682,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5683,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5683,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5685,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5686,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5688,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5689,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5693,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5694,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 147
    argCount: 2
    argNames:
    - pContext
    - type
    argTypes:
    - SSTriggerHistoryContext*
    - ESTriggerPullType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5697
      start: 5490
    functionDepth: 2
    functionLinenumber: 5490
    functionLinenumberEnd: 5697
    functionName: stHistoryContextSendPullReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - taosArrayPush
    - tstrerror
    - TARRAY_DATA
    - TRACE_SET_ROOTID
    - tSerializeSTriggerPullRequest
    - taosArrayClear
    - ST_TASK_DLOG
    - TARRAY_GET_ELEM
    - destroyAhandle
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - stHistoryContextGetCurrentGroup
    - tGenIdPI64
    - QUERY_CHECK_NULL
    - tSimpleHashIterate
    - tsnprintf
    - taosArrayGetSize
    - tmsgSendReq
    - rpcMallocCont
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - taosArrayGetP
    - tSimpleHashGet
    - htonl
    - stTriggerTaskAllocAhandle
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextSendPullReq(SSTriggerHistoryContext *pContext,
      ESTriggerPullType type)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5711,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5712,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5713,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5719,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5726,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5727,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5728,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5746,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5748,1
    - Dst: stHistoryContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5751,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5752,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5754,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5757,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5757,1
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5765,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5767,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5774,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5776,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5779,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5780,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5782,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5784,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5786,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5787,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5788,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5789,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5792,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5794,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5800,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5801,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5804,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5805,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5808,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5809,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5811,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5813,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5815,1
    - Dst: stHistoryGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5821,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5827,1
    - Dst: taosArrayGet
      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:5837,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5846,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5846,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5847,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5849,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5850,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5852,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5853,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5855,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5856,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5858,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5859,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5860,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5861,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5861,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5863,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5864,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5866,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5867,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5873,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5874,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5877,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5878,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5878,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 132
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerHistoryContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5881
      start: 5699
    functionDepth: 3
    functionLinenumber: 5699
    functionLinenumberEnd: 5881
    functionName: stHistoryContextSendCalcReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - tstrerror
    - TARRAY_DATA
    - TRACE_SET_ROOTID
    - initStreamDataCache
    - taosArrayClear
    - ST_TASK_DLOG
    - stTriggerTaskAllocAhandle
    - TARRAY_GET_ELEM
    - destroyAhandle
    - stHistoryGroupClearTempState
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - stHistoryContextGetCurrentGroup
    - tGenIdPI64
    - stHistoryContextSendPullReq
    - blockDataDestroy
    - createOneDataBlock
    - taosArrayClearP
    - stHistoryGroupGetDataBlock
    - taosArrayGetSize
    - tmsgSendReq
    - rpcMallocCont
    - blockDataAppendColInfo
    - QUERY_CHECK_CONDITION
    - TARRAY_SIZE
    - putStreamDataCache
    - tSerializeSTriggerCalcRequest
    - TARRAY_ELEM_IDX
    - htonl
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextSendCalcReq(SSTriggerHistoryContext *pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5891,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5892,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5893,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5895,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5896,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5902,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5903,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5909,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5912,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5912,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5913,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5915,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5916,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5918,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5919,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5921,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5922,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5924,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5925,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5926,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5927,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5927,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5929,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5930,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5932,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5933,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5935,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5936,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5940,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5941,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - pContext
    - pNode
    - pReq
    argTypes:
    - SSTriggerHistoryContext*
    - SListNode*
    - SSTriggerPullRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5944
      start: 5883
    functionDepth: 2
    functionLinenumber: 5883
    functionLinenumberEnd: 5944
    functionName: stHistoryContextRetryPullRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - tstrerror
    - TRACE_SET_ROOTID
    - tSerializeSTriggerPullRequest
    - ST_TASK_DLOG
    - destroyAhandle
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - tGenIdPI64
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    - taosArrayGetSize
    - tmsgSendReq
    - rpcMallocCont
    - QUERY_CHECK_CONDITION
    - tdListPopNode
    - stDebug
    - htonl
    - stTriggerTaskAllocAhandle
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryContextRetryPullRequest(SSTriggerHistoryContext *pContext,
      SListNode *pNode,\n                                                SSTriggerPullRequest
      *pReq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5955,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5956,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5957,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5959,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5961,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5967,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5976,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5977,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5978,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5983,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5983,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5984,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5986,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5987,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5989,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5990,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5992,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5993,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5995,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5996,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5997,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5998,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5998,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6000,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6001,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6003,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6004,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6006,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6007,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6011,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6012,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6012,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - pContext
    - pNode
    - pReq
    argTypes:
    - SSTriggerHistoryContext*
    - SListNode*
    - SSTriggerCalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6015
      start: 5946
    functionDepth: 3
    functionLinenumber: 5946
    functionLinenumberEnd: 6015
    functionName: stHistoryContextRetryCalcRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - tstrerror
    - TRACE_SET_ROOTID
    - ST_TASK_DLOG
    - destroyAhandle
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - tGenIdPI64
    - QUERY_CHECK_NULL
    - stHistoryContextSendPullReq
    - taosMemoryFreeClear
    - taosArrayGetSize
    - tmsgSendReq
    - rpcMallocCont
    - QUERY_CHECK_CONDITION
    - tSerializeSTriggerCalcRequest
    - tdListPopNode
    - stDebug
    - htonl
    - stTriggerTaskAllocAhandle
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryContextRetryCalcRequest(SSTriggerHistoryContext *pContext,
      SListNode *pNode,\n                                                SSTriggerCalcRequest
      *pReq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6025,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6029,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6031,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6036,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6041,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6044,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6044,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pContext
    - pFinished
    argTypes:
    - SSTriggerHistoryContext*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6047
      start: 6017
    functionDepth: 1
    functionLinenumber: 6017
    functionLinenumberEnd: 6047
    functionName: stHistoryContextAllCalcFinish
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - taosWUnLockLatch
    - taosWLockLatch
    - tSimpleHashIterate
    - tSimpleHashGetKey
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextAllCalcFinish(SSTriggerHistoryContext *pContext,
      bool *pFinished)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6054,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6055,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6056,1
    - Dst: stHistoryContextRetryPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6058,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6059,1
    - Dst: stTriggerTaskFetchRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6066,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6067,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6069,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6070,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6071,1
    - Dst: stHistoryContextHandleRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6074,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6076,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6078,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6079,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6087,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6087,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6088,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6089,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6091,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6092,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6106,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6108,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6109,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6113,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6114,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6116,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6117,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6120,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6122,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6126,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6128,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6133,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6134,1
    - Dst: stTriggerTaskAcquireRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6142,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6144,1
    - Dst: stHistoryGroupCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6151,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6152,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6155,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6156,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6159,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6160,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6163,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6164,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6168,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6169,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6171,1
    - Dst: TARRAY_SIZE
      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: stHistoryGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6174,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6180,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6180,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6184,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6185,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6190,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6195,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6196,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6198,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6203,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6204,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6207,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6208,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6209,1
    - Dst: stHistoryContextSendCalcReq
      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: stHistoryGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6217,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6219,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6220,1
    - Dst: stHistoryGroupClearMetadatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6223,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6227,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6229,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6232,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6233,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6237,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6243,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6247,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6251,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6252,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6253,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6264,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6267,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6268,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6270,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6275,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6276,1
    - Dst: stTriggerTaskAcquireRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6283,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6284,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6286,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6293,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6294,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6294,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6295,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6306,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6307,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6309,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6310,1
    - Dst: TRINGBUF_MOVE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6312,1
    - Dst: TRINGBUF_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6313,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6315,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6316,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6318,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6318,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6319,1
    - Dst: stHistoryGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6321,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6325,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6328,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6329,1
    - Dst: stHistoryContextSendCalcReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6330,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6331,1
    - Dst: stHistoryGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6336,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6338,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6339,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6344,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6346,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6349,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6360,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6362,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6363,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6366,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6367,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6369,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6370,1
    - Dst: stHistoryContextAllCalcFinish
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6375,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6376,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6379,1
    - Dst: stHistoryContextDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6381,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6382,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6383,1
    - Dst: stHistoryContextInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6385,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6386,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6387,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6388,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6389,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6397,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6397,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 293
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerHistoryContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6400
      start: 6049
    functionDepth: 17
    functionLinenumber: 6049
    functionLinenumberEnd: 6400
    functionName: stHistoryContextCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - stHistoryContextRetryPullRequest
    - stTriggerTaskReleaseRequest
    - atomic_store_8
    - stTriggerTaskAcquireRequest
    - TARRAY_DATA
    - tstrerror
    - stHistoryContextInit
    - ST_TASK_DLOG
    - TARRAY_GET_ELEM
    - TD_DLIST_APPEND
    - stHistoryGroupClearTempState
    - stTriggerTaskFetchRecalcRequest
    - ST_TASK_ELOG
    - TRINGBUF_MOVE_NEXT
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - stHistoryContextHandleRequest
    - QUERY_CHECK_CODE
    - blockDataGetNumOfRows
    - streamSendNotifyContent
    - TD_DLIST_HEAD
    - taosArrayGetLast
    - stHistoryContextSendPullReq
    - tSimpleHashIterate
    - taosMemoryCalloc
    - taosArrayClearP
    - taosMemoryFreeClear
    - TRINGBUF_HEAD
    - tSimpleHashInit
    - stHistoryContextDestroy
    - taosArrayGetSize
    - TD_DLIST_POP
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - taosGetDefaultHashFunction
    - stHistoryGroupClearMetadatas
    - listNEles
    - taosArrayPopFrontBatch
    - TRINGBUF_TAIL
    - tSimpleHashCleanup
    - stHistoryGroupCheck
    - TARRAY_ELEM_IDX
    - stTriggerTaskAddWaitSession
    - stHistoryContextAllCalcFinish
    - TD_DLIST_NELES
    - stHistoryContextSendCalcReq
    - taosGetTimestampNs
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextCheck(SSTriggerHistoryContext *pContext)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6410,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6418,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6422,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6425,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6426,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6428,1
    - Dst: QUERY_CHECK_NULL
      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:6435,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6438,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6439,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6441,1
    - Dst: tDeserializeSStreamTsResponse
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6443,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6444,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6447,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6449,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6450,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6452,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6453,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6458,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6461,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6463,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6465,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6467,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6469,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6472,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6476,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6478,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6479,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6481,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6483,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6485,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6486,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6487,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6489,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6490,1
    - Dst: stHistoryGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6492,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6493,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6494,1
    - Dst: tSimpleHashPut
      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:6498,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6511,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6513,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6514,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6520,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6522,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6526,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6527,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6533,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6536,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6537,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6539,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6540,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6546,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6548,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6549,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6552,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6553,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6554,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6556,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6559,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6560,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6564,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6569,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6570,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6572,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6573,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6574,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6575,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6583,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6584,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6585,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6587,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6588,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6594,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6595,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6596,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6597,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6598,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6599,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6601,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6602,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6603,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6604,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6605,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6606,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6607,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6609,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6613,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6614,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6615,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6619,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6620,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6623,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6626,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6627,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6628,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6631,1
    - Dst: stHistoryGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6633,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6634,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6638,1
    - Dst: stHistoryGroupAddMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6640,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6641,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6643,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6650,1
    - Dst: stHistoryGroupAddMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6655,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6656,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6658,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6661,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6665,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6666,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6672,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6675,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6676,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6678,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6679,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6685,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6688,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6689,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6692,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6693,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6694,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6696,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6699,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6700,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6704,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6708,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6709,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6710,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6715,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6718,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6719,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6720,1
    - Dst: taosMemoryFreeClear
      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: stHistoryGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6725,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6726,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6730,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:6734,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6736,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6737,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6741,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6742,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6747,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6749,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6750,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6753,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6754,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6755,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6757,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6759,1
    - Dst: stTimestampSorterBindDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6760,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6761,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6764,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6765,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6771,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6773,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6774,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6777,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6778,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6779,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6781,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6784,1
    - Dst: QUERY_CHECK_NULL
      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:6789,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6793,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6794,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6799,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6802,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6803,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6806,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6807,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6808,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6810,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6812,1
    - Dst: stVtableMergerBindDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6813,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6814,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6817,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6818,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6823,1
    - Dst: tDeserializeSStreamGroupInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6828,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6829,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6830,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6831,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6835,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6836,1
    - Dst: tDeserializeSStreamGroupInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6840,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6841,1
    - Dst: stHistoryContextRetryCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6842,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6843,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6852,1
    - Dst: taosMemoryCalloc
      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: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6857,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6859,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6860,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6861,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6862,1
    - Dst: stVtableMergerSetPseudoCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6863,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6864,1
    - Dst: stHistoryContextCheck
      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: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6872,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6874,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6880,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6883,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6886,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6889,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6889,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 359
    argCount: 2
    argNames:
    - pContext
    - pRsp
    argTypes:
    - SSTriggerHistoryContext*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6892
      start: 6402
    functionDepth: 18
    functionLinenumber: 6402
    functionLinenumberEnd: 6892
    functionName: stHistoryContextProcPullRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayAddAll
    - tSimpleHashGetSize
    - taosArrayInit
    - taosArrayDestroy
    - tstrerror
    - stHistoryContextRetryCalcRequest
    - stTimestampSorterBindDataBlock
    - stVtableMergerBindDataBlock
    - taosArrayClear
    - tdListNext
    - ST_TASK_DLOG
    - tDeserializeSStreamGroupInfo
    - TMIN
    - TARRAY_GET_ELEM
    - TD_DLIST_APPEND
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataGetNumOfRows
    - stHistoryContextCheck
    - blockDecode
    - taosArrayGetLast
    - stHistoryContextSendPullReq
    - tSimpleHashIterate
    - taosMemoryCalloc
    - stVtableMergerSetPseudoCols
    - blockDataDestroy
    - blockDataEmpty
    - taosMemoryFreeClear
    - tdListInitIter
    - tSimpleHashPut
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - stHistoryGroupInit
    - IS_TRIGGER_GROUP_TO_CHECK
    - tDeserializeSStreamTsResponse
    - tSimpleHashGet
    - TMAX
    - stHistoryGroupAddMetaDatas
    - taosArrayDestroyP
    - QUERY_CHECK_NULL
    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:6904,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6907,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6908,1
    - Dst: stHistoryContextAllCalcFinish
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6912,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6913,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6916,1
    - Dst: stHistoryContextDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6918,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6919,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6920,1
    - Dst: stHistoryContextInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6922,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6923,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6924,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6925,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6926,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6930,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6931,1
    - Dst: tdListAppend
      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: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6936,1
    - Dst: stHistoryContextRetryCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6937,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6938,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6943,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6943,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 2
    argNames:
    - pContext
    - pRsp
    argTypes:
    - SSTriggerHistoryContext*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6946
      start: 6894
    functionDepth: 18
    functionLinenumber: 6894
    functionLinenumberEnd: 6946
    functionName: stHistoryContextProcCalcRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - ST_TASK_ELOG
    - stTriggerTaskReleaseRequest
    - atomic_store_8
    - tstrerror
    - QUERY_CHECK_CODE
    - stHistoryContextRetryCalcRequest
    - stHistoryContextInit
    - tdListAppend
    - stHistoryContextDestroy
    - stTriggerTaskAddWaitSession
    - stHistoryContextAllCalcFinish
    - stHistoryContextCheck
    - ST_TASK_DLOG
    - TD_DLIST_TAIL
    - taosMemoryCalloc
    - taosGetTimestampNs
    - QUERY_CHECK_NULL
    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: 6949
      start: 6948
    functionDepth: 0
    functionLinenumber: 6948
    functionLinenumberEnd: 6949
    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: 6950
      start: 6949
    functionDepth: 0
    functionLinenumber: 6949
    functionLinenumberEnd: 6950
    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:6962,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6962,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6963,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6964,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6965,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6966,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6974,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6976,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6983,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6984,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6985,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6986,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6990,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6990,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - pGroup
    - pContext
    - gid
    - vgId
    argTypes:
    - SSTriggerRealtimeGroup*
    - SSTriggerRealtimeContext*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6993
      start: 6951
    functionDepth: 1
    functionLinenumber: 6951
    functionLinenumberEnd: 6993
    functionName: stRealtimeGroupInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 2
    functionsReached:
    - taosObjListInit
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - tSimpleHashInit
    - tSimpleHashGet
    - TMAX
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeGroupInit(SSTriggerRealtimeGroup *pGroup, SSTriggerRealtimeContext
      *pContext, int64_t gid,\n                                   int32_t vgId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7003,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7006,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7008,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7009,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7011,1
    - Dst: taosObjListClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7012,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7014,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7015
      start: 6995
    functionDepth: 1
    functionLinenumber: 6995
    functionLinenumberEnd: 7015
    functionName: stRealtimeGroupDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosObjListClearEx
    - taosMemoryFreeClear
    - tSimpleHashCleanup
    - IS_VAR_DATA_TYPE
    - taosMemFreeClear
    - taosObjListClear
    linkageType: ''
    returnType: void
    signature: void stRealtimeGroupDestroy(void *ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stNewTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7024,1
    - Dst: stNewVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7027,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7030,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7033,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7039,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7040,1
    - Dst: stNewTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7042,1
    - Dst: stNewVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7045,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7047
      start: 7017
    functionDepth: 3
    functionLinenumber: 7017
    functionLinenumberEnd: 7047
    functionName: stRealtimeGroupClearTempState
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stNewVtableMergerReset
    - stNewTimestampSorterReset
    - taosObjListClear
    - taosArrayClearEx
    linkageType: ''
    returnType: void
    signature: void stRealtimeGroupClearTempState(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7061,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7062,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7065,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7066,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7078,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7081,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7085,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7086,1
    - Dst: taosObjListPopObj
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7088,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7090,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7094,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7097,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7099
      start: 7049
    functionDepth: 1
    functionLinenumber: 7049
    functionLinenumberEnd: 7099
    functionName: stRealtimeGroupClearMetadatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosObjListGetHead
    - taosObjListPopObj
    - taosObjListInitIter
    - taosObjListIterNext
    - TMAX
    - tSimpleHashIterate
    - taosObjListClear
    linkageType: ''
    returnType: void
    signature: void stRealtimeGroupClearMetadatas(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7111,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7114,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7115,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7116,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7117,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7118,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7119,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7123,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7124,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7135,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7137,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7139,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7142,1
    - Dst: stRealtimeGroupRemovePendingCalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7144,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7145,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7148,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7150,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7160,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7162,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7163,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7164,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 3
    argNames:
    - pGroup
    - vgId
    - pMeta
    argTypes:
    - SSTriggerRealtimeGroup*
    - int32_t
    - SSTriggerMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7172
      start: 7101
    functionDepth: 2
    functionLinenumber: 7101
    functionLinenumberEnd: 7172
    functionName: stRealtimeGroupAddMeta
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosObjListGetHead
    - taosObjListInit
    - ST_TASK_ELOG
    - tstrerror
    - stTriggerTaskAddRecalcRequest
    - QUERY_CHECK_CODE
    - stRealtimeGroupRemovePendingCalc
    - taosObjListAppend
    - tSimpleHashGet
    - TMAX
    - tSimpleHashPut
    - ST_TASK_DLOG
    - TMIN
    - QUERY_CHECK_NULL
    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:7187,1
    - Dst: tSimpleHashGet
      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: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7192,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7193,1
    - Dst: stNewTimestampSorterSetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7195,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7196,1
    - Dst: stNewTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7198,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7199,1
    - Dst: stNewTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7203,1
    - Dst: taosObjListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7204,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7209,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7211,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7212,1
    - Dst: stNewVtableMergerNeedPseudoCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7213,1
    - Dst: stNewVtableMergerSetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7218,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7220,1
    - Dst: stNewVtableMergerNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7222,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7223,1
    - Dst: stNewVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7227,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7228,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7231,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7232,1
    - Dst: taosObjListPopObj
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7234,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7241,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7244,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7245,1
    - Dst: tSimpleHashGet
      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: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7248,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7250,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7251,1
    - Dst: stNewTimestampSorterSetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7253,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7254,1
    - Dst: stNewTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7256,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7257,1
    - Dst: stNewTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7261,1
    - Dst: taosObjListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7262,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7267,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7269,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7270,1
    - Dst: stNewVtableMergerNeedPseudoCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7271,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7275,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7277,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7278,1
    - Dst: stNewVtableMergerSetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7280,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7283,1
    - Dst: stNewVtableMergerNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7285,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7286,1
    - Dst: stNewVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7290,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7291,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7294,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7295,1
    - Dst: taosObjListPopObj
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7297,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7302,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7304,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7309,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7309,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: 7312
      start: 7173
    functionDepth: 4
    functionLinenumber: 7173
    functionLinenumberEnd: 7312
    functionName: stRealtimeGroupNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stNewTimestampSorterNextDataBlock
    - tstrerror
    - TARRAY_DATA
    - taosObjListIterNext
    - ST_TASK_DLOG
    - taosObjListPopHead
    - stNewTimestampSorterReset
    - ST_TASK_ELOG
    - QUERY_CHECK_CODE
    - stNewVtableMergerNextDataBlock
    - stNewVtableMergerNeedPseudoCols
    - taosObjListGetHead
    - stNewVtableMergerReset
    - stNewVtableMergerSetData
    - stNewTimestampSorterSetData
    - taosObjListPopObj
    - taosObjListInitIter
    - tSimpleHashGet
    - TMAX
    - QUERY_CHECK_NULL
    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:7327,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7328,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7335
      start: 7314
    functionDepth: 1
    functionLinenumber: 7314
    functionLinenumberEnd: 7335
    functionName: stRealtimeGroupDoPeriodCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_NULL
    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:7349,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7353,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7356,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7360,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7362,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7366,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7368,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7369,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7372,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7374,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7375,1
    - Dst: stTriggerTaskPrevTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7376,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7379,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7383,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7384,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7386,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7387,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7389,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7391,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7392,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7394,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7398,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7404,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7408,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7409,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7412,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7413,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7429,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7429,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7432
      start: 7337
    functionDepth: 5
    functionLinenumber: 7337
    functionLinenumberEnd: 7432
    functionName: stRealtimeGroupDoSlidingCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - stTriggerTaskNextTimeWindow
    - taosArrayPush
    - stRealtimeGroupNextDataBlock
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - taosObjListInitIter
    - stTriggerTaskPrevTimeWindow
    - taosArrayGet
    - taosObjListIterNext
    - TMAX
    - stTriggerTaskGetTimeWindow
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - tSimpleHashIterate
    - TMIN
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    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:7443,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7447,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7448,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7450,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7451,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7455,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7458,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7459,1
    - Dst: taosArrayGet
      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: taosArrayPush
      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: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7480,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7487,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7487,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7490
      start: 7434
    functionDepth: 5
    functionLinenumber: 7434
    functionLinenumberEnd: 7490
    functionName: stRealtimeGroupDoSessionCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - stRealtimeGroupNextDataBlock
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - taosObjListInitIter
    - taosArrayGet
    - taosObjListIterNext
    - TMAX
    - taosArrayGetLast
    - TARRAY_SIZE
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupDoSessionCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7501,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7505,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7506,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7509,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7510,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7516,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7517,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7518,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7522,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7523,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7527,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7528,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7536,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7537,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7540,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7541,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7542,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7543,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7564,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7564,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7567
      start: 7492
    functionDepth: 5
    functionLinenumber: 7492
    functionLinenumberEnd: 7567
    functionName: stRealtimeGroupDoCountCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - stRealtimeGroupNextDataBlock
    - ST_TASK_ELOG
    - tstrerror
    - TARRAY_DATA
    - QUERY_CHECK_CODE
    - taosObjListInitIter
    - taosArrayGet
    - taosObjListIterNext
    - TARRAY_ELEM_IDX
    - TARRAY_SIZE
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupDoCountCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7578,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7582,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7583,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7585,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7586,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7590,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7593,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7594,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7598,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7599,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7603,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7604,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7606,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7607,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7610,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7611,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7613,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7615,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7621,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7622,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7627,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7635,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7636,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7639,1
    - Dst: streamBuildStateNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7651,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7653,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7667,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7668,1
    - Dst: streamBuildStateNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7670,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7672,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7674,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7684,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7684,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7687
      start: 7569
    functionDepth: 5
    functionLinenumber: 7569
    functionLinenumberEnd: 7687
    functionName: stRealtimeGroupDoStateCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - stRealtimeGroupNextDataBlock
    - tstrerror
    - taosObjListIterNext
    - ST_TASK_ELOG
    - varDataTLen
    - QUERY_CHECK_CODE
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayGetLast
    - taosMemoryCalloc
    - memcmp
    - stRealtimeContextCalcExpr
    - colDataGetData
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - streamBuildStateNotifyContent
    - taosObjListInitIter
    - memcpy
    - colDataIsNull_s
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupDoStateCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7698,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7702,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7703,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7705,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7706,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7710,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7713,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7714,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7718,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7719,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7724,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7725,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7726,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7727,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7731,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7732,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7742,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7743,1
    - Dst: streamBuildEventNotifyContent
      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: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7754,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7755,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7768,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7768,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7771
      start: 7689
    functionDepth: 5
    functionLinenumber: 7689
    functionLinenumberEnd: 7771
    functionName: stRealtimeGroupDoEventCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - stRealtimeGroupNextDataBlock
    - ST_TASK_ELOG
    - tstrerror
    - QUERY_CHECK_CODE
    - taosObjListInitIter
    - taosArrayGet
    - stRealtimeContextCalcExpr
    - taosObjListIterNext
    - streamBuildEventNotifyContent
    - taosArrayGetLast
    - TARRAY_SIZE
    - QUERY_CHECK_NULL
    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: 7787
      start: 7773
    functionDepth: 0
    functionLinenumber: 7773
    functionLinenumberEnd: 7787
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7804,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7805,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7806,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7807,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7808,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7811,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7818,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7818,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7821,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7821,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7824,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7830,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7831,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7832,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7833,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7840,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7843,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7851,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7855,1
    - Dst: taosObjListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7858,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7864,1
    - Dst: taosObjListIterNext
      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: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7874,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7875,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7875,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7881,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7882,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7886,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7894,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7894,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7897
      start: 7789
    functionDepth: 1
    functionLinenumber: 7789
    functionLinenumberEnd: 7897
    functionName: stRealtimeGroupMergeWindows
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampNs
    - ST_TASK_ELOG
    - tstrerror
    - TARRAY_DATA
    - QUERY_CHECK_CODE
    - taosObjListInitIter
    - taosObjListAppend
    - taosObjListIterNext
    - TMAX
    - TARRAY_ELEM_IDX
    - taosArraySort
    - taosObjListPopHead
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - taosObjListClear
    - TARRAY_GET_ELEM
    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:7922,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7943,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7945,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7951,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7951,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 3
    argNames:
    - pGroup
    - pParam
    - pWin
    argTypes:
    - SSTriggerRealtimeGroup*
    - SSTriggerCalcParam*
    - SSTriggerNotifyWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7954
      start: 7899
    functionDepth: 2
    functionLinenumber: 7899
    functionLinenumberEnd: 7954
    functionName: stRealtimeGroupFillParam
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CODE
    - ST_TASK_ELOG
    - stTriggerTaskNextTimeWindow
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeGroupFillParam(SSTriggerRealtimeGroup *pGroup, SSTriggerCalcParam
      *pParam,\n                                        SSTriggerNotifyWindow *pWin)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7961,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7981,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7984,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7994,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7995,1
    - Dst: stRealtimeGroupFillParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8005,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8006,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8008,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8009,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8012,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8013,1
    - Dst: stRealtimeGroupFillParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8029,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8030,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8040,1
    - Dst: stTriggerTaskAddRecalcRequest
      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: taosObjListAppend
      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: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8049,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8050,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8061,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8062,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8064,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8069,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8074,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8076,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8079,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8080,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8084,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8088,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8088,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 83
    argCount: 2
    argNames:
    - pGroup
    - nInitWins
    argTypes:
    - SSTriggerRealtimeGroup*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8091
      start: 7956
    functionDepth: 3
    functionLinenumber: 7956
    functionLinenumberEnd: 8091
    functionName: stRealtimeGroupGenCalcParams
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampNs
    - taosArrayPush
    - ST_TASK_ELOG
    - ST_TASK_DLOG
    - heapInsert
    - tstrerror
    - stTriggerTaskAddRecalcRequest
    - QUERY_CHECK_CODE
    - taosObjListInitIter
    - taosArrayClearEx
    - taosObjListAppend
    - taosObjListIterNext
    - stRealtimeGroupFillParam
    - TARRAY_SIZE
    - heapRemove
    - TMIN
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    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:8105,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8106,1
    - Dst: stRealtimeGroupDoSlidingCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8111,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8112,1
    - Dst: stRealtimeGroupDoSessionCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8117,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8118,1
    - Dst: stRealtimeGroupDoCountCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8123,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8124,1
    - Dst: stRealtimeGroupDoStateCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8129,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8130,1
    - Dst: stRealtimeGroupDoEventCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8135,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8136,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8143,1
    - Dst: stRealtimeGroupMergeWindows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8149,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8150,1
    - Dst: stRealtimeGroupGenCalcParams
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8151,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8152,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8157,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8160
      start: 8093
    functionDepth: 6
    functionLinenumber: 8093
    functionLinenumberEnd: 8160
    functionName: stRealtimeGroupCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stRealtimeGroupDoStateCheck
    - ST_TASK_ELOG
    - tstrerror
    - stRealtimeGroupDoCountCheck
    - QUERY_CHECK_CODE
    - stRealtimeGroupDoPeriodCheck
    - stRealtimeGroupDoSlidingCheck
    - stRealtimeGroupMergeWindows
    - stRealtimeGroupDoSessionCheck
    - stRealtimeGroupGenCalcParams
    - stRealtimeGroupDoEventCheck
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8167,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8170,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8177,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8178,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8179,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8180,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8181,1
    - Dst: taosObjListPopHeadTo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8185,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8188,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8194,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8195,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8197,1
    - Dst: stRealtimeGroupFillParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8201,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8202,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8203,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8204,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8208,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8212,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8212,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8216,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8219,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8224,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8231,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8231,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8234
      start: 8162
    functionDepth: 3
    functionLinenumber: 8162
    functionLinenumberEnd: 8234
    functionName: stRealtimeGroupRetrievePendingCalc
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - ST_TASK_ELOG
    - ST_TASK_DLOG
    - tstrerror
    - QUERY_CHECK_CONDITION
    - QUERY_CHECK_CODE
    - taosObjListInitIter
    - taosObjListIterNext
    - taosArrayGetLast
    - taosObjListPopHeadTo
    - TARRAY_SIZE
    - stRealtimeGroupFillParam
    - TMIN
    - taosGetTimestampNs
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupRetrievePendingCalc(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8243,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8247,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8248,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8251,1
    - Dst: taosObjListPopObj
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8252,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8259,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pGroup
    - pRange
    argTypes:
    - SSTriggerRealtimeGroup*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8262
      start: 8236
    functionDepth: 1
    functionLinenumber: 8236
    functionLinenumberEnd: 8262
    functionName: stRealtimeGroupRemovePendingCalc
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 2
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - taosObjListPopObj
    - taosObjListInitIter
    - taosMemoryFreeClear
    - taosObjListIterNext
    - ST_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupRemovePendingCalc(SSTriggerRealtimeGroup *pGroup,
      STimeWindow *pRange)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8273
      start: 8264
    functionDepth: 1
    functionLinenumber: 8264
    functionLinenumberEnd: 8273
    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: 8279
      start: 8275
    functionDepth: 0
    functionLinenumber: 8275
    functionLinenumberEnd: 8279
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8289,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8289,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8290,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8291,1
    - Dst: TRINGBUF_INIT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8293,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8296,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8297,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8299,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8302,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8303,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8304,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8306,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8307,1
    - Dst: tSimpleHashPut
      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:8312,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8315,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8317,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8318,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8321,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8323,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8327,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8331,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8332,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - pGroup
    - pContext
    - gid
    argTypes:
    - SSTriggerHistoryGroup*
    - SSTriggerHistoryContext*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8339
      start: 8281
    functionDepth: 1
    functionLinenumber: 8281
    functionLinenumberEnd: 8339
    functionName: stHistoryGroupInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - ST_TASK_ELOG
    - TRINGBUF_INIT
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - tSimpleHashInit
    - tSimpleHashGet
    - taosArrayGetSize
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - tSimpleHashIterate
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupInit(SSTriggerHistoryGroup *pGroup, SSTriggerHistoryContext
      *pContext, int64_t gid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8349,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8352,1
    - Dst: TRINGBUF_DESTROY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8356,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8357,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8358,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8362,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8367
      start: 8341
    functionDepth: 1
    functionLinenumber: 8341
    functionLinenumberEnd: 8367
    functionName: stHistoryGroupDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - tSimpleHashCleanup
    - IS_VAR_DATA_TYPE
    - taosArrayDestroyEx
    - taosMemFreeClear
    - TRINGBUF_DESTROY
    linkageType: ''
    returnType: void
    signature: void stHistoryGroupDestroy(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8380,1
    - Dst: stTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8382,1
    - Dst: stVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8383,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8385,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8388,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8393
      start: 8369
    functionDepth: 2
    functionLinenumber: 8369
    functionLinenumberEnd: 8393
    functionName: stHistoryGroupClearTempState
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 2
    functionsReached:
    - stTimestampSorterReset
    - taosArrayClearEx
    - taosArrayClearP
    - taosArrayClear
    - stVtableMergerReset
    linkageType: ''
    returnType: void
    signature: void stHistoryGroupClearTempState(SSTriggerHistoryGroup *pGroup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8399,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8401,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8404,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8405,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8406,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8407,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8408,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8408,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8410,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8413,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8415,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8416,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8416,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8417,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8418,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pGroup
    - prevWindowEnd
    argTypes:
    - SSTriggerHistoryGroup*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8422
      start: 8395
    functionDepth: 1
    functionLinenumber: 8395
    functionLinenumberEnd: 8422
    functionName: stHistoryGroupClearMetadatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - TARRAY_DATA
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - taosArrayPopFrontBatch
    - TRINGBUF_HEAD
    - TMAX
    - taosArrayGetSize
    - taosArraySearchIdx
    - TARRAY_SIZE
    - tSimpleHashIterate
    linkageType: ''
    returnType: void
    signature: void stHistoryGroupClearMetadatas(SSTriggerHistoryGroup *pGroup, int64_t
      prevWindowEnd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8432,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8433,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8433,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8433,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8435,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8439,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8440,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8441,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8447,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8448,1
    - Dst: taosArrayGet
      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: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8453,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8454,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8458,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8459,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8462,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8463,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8469,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8480,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8483,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8485,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8486,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8487,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8491,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8492,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8494,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8495,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8496,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8498,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8499,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8509,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8509,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 4
    argNames:
    - pGroup
    - pMetadatas
    - pVgIds
    - pAdded
    argTypes:
    - SSTriggerHistoryGroup*
    - SArray*
    - SArray*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8512
      start: 8424
    functionDepth: 1
    functionLinenumber: 8424
    functionLinenumberEnd: 8512
    functionName: stHistoryGroupAddMetaDatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - ST_TASK_ELOG
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataGetNumOfRows
    - tSimpleHashGet
    - taosArrayReserve
    - taosArrayGetSize
    - taosArrayGetLast
    - tSimpleHashPut
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryGroupAddMetaDatas(SSTriggerHistoryGroup *pGroup,
      SArray *pMetadatas, SArray *pVgIds,\n                                          bool
      *pAdded)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8525,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8533,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8534,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8541,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8542,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8545,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8556,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8556,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8557,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8558,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8561,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8562,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8568,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8568,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8581,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8583,1
    - Dst: TRINGBUF_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8587,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8588,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8593,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8594,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8596,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8597,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8599,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8609,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8609,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 5
    argNames:
    - pGroup
    - ts
    - ppExtraNotifyContent
    - saveWindow
    - hasStartData
    argTypes:
    - SSTriggerHistoryGroup*
    - int64_t
    - char**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8612
      start: 8514
    functionDepth: 2
    functionLinenumber: 8514
    functionLinenumberEnd: 8612
    functionName: stHistoryGroupOpenWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - taosArrayPush
    - tstrerror
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - QUERY_CHECK_CODE
    - TRINGBUF_HEAD
    - IS_TRIGGER_GROUP_NONE_WINDOW
    - TRINGBUF_APPEND
    - QUERY_CHECK_CONDITION
    - stTriggerTaskGetTimeWindow
    - stTriggerTaskNextTimeWindow
    - taosGetTimestampNs
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryGroupOpenWindow(SSTriggerHistoryGroup *pGroup, int64_t
      ts, char **ppExtraNotifyContent,\n                                        bool
      saveWindow, bool hasStartData)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8624,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8627,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8627,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8636,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8648,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8660,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8669,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8691,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8693,1
    - Dst: TRINGBUF_DEQUEUE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8697,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8698,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8700,1
    - Dst: TRINGBUF_MOVE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8705,1
    - Dst: TRINGBUF_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8706,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8707,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8713,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8714,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8716,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8717,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8719,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8720,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8722,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8731,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8731,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 3
    argNames:
    - pGroup
    - ppExtraNotifyContent
    - saveWindow
    argTypes:
    - SSTriggerHistoryGroup*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8734
      start: 8614
    functionDepth: 1
    functionLinenumber: 8614
    functionLinenumberEnd: 8734
    functionName: stHistoryGroupCloseWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRINGBUF_MOVE_NEXT
    - ST_TASK_ELOG
    - taosArrayPush
    - tstrerror
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - QUERY_CHECK_CODE
    - TRINGBUF_TAIL
    - TRINGBUF_HEAD
    - taosMemoryFreeClear
    - TRINGBUF_DEQUEUE
    - IS_TRIGGER_GROUP_NONE_WINDOW
    - TMAX
    - QUERY_CHECK_CONDITION
    - taosGetTimestampNs
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupCloseWindow(SSTriggerHistoryGroup *pGroup, char
      **ppExtraNotifyContent, bool saveWindow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8742,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8744,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8745,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8746,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8748,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8749,1
    - Dst: TRINGBUF_MOVE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8750,1
    - Dst: TRINGBUF_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8751,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8755,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8756,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8757,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8763,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pGroup
    - pInitWindows
    argTypes:
    - SSTriggerHistoryGroup*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8766
      start: 8736
    functionDepth: 1
    functionLinenumber: 8736
    functionLinenumberEnd: 8766
    functionName: stHistoryGroupSaveInitWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TRINGBUF_MOVE_NEXT
    - taosArrayPush
    - ST_TASK_ELOG
    - tstrerror
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - TRINGBUF_TAIL
    - TRINGBUF_HEAD
    - IS_TRIGGER_GROUP_NONE_WINDOW
    - taosArrayClear
    - QUERY_CHECK_NULL
    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:8774,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8776,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8780,1
    - Dst: TRINGBUF_DESTROY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8783,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8789,1
    - Dst: TRINGBUF_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8791,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8792,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8797,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pGroup
    - pInitWindows
    argTypes:
    - SSTriggerHistoryGroup*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8800
      start: 8768
    functionDepth: 1
    functionLinenumber: 8768
    functionLinenumberEnd: 8800
    functionName: stHistoryGroupRestoreInitWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - QUERY_CHECK_CODE
    - taosArrayGetSize
    - taosArrayGetLast
    - TRINGBUF_APPEND
    - QUERY_CHECK_CONDITION
    - TARRAY_GET_ELEM
    - TRINGBUF_DESTROY
    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: 8816
      start: 8802
    functionDepth: 0
    functionLinenumber: 8802
    functionLinenumberEnd: 8816
    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:8824,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8824,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8826,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8830,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8831,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8832,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8833,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8836,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8843,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8843,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8849,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8852,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8853,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8856,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8864,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8869,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8870,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8872,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8873,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8880,1
    - Dst: TRINGBUF_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8881,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8882,1
    - Dst: TRINGBUF_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8884,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8885,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8887,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8895,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8909,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8910,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8912,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8913,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8919,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8922,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8924,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8928,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8932,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8932,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 76
    argCount: 2
    argNames:
    - pGroup
    - gap
    argTypes:
    - SSTriggerHistoryGroup*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8935
      start: 8818
    functionDepth: 2
    functionLinenumber: 8818
    functionLinenumberEnd: 8935
    functionName: stHistoryGroupMergeSavedWindows
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - taosArrayClear
    - TRINGBUF_APPEND
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - QUERY_CHECK_CODE
    - taosArrayGetLast
    - TRINGBUF_HEAD
    - TRINGBUF_SIZE
    - taosArrayGetSize
    - taosArraySort
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TMAX
    - TARRAY_ELEM_IDX
    - stTriggerTaskNextTimeWindow
    - taosGetTimestampNs
    - QUERY_CHECK_NULL
    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:8953,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8954,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8955,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8963,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8967,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8968,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8969,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8984,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8985,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8986,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9002,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9003,1
    - Dst: stHistoryGroupCloseWindow
      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: stTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9007,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9008,1
    - Dst: stHistoryGroupRestoreInitWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9014,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9015,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9024,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9026,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9031,1
    - Dst: stTimestampSorterSetSortInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9033,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9035,1
    - Dst: stTimestampSorterSetMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9036,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9037,1
    - Dst: stTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9039,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9040,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9042,1
    - Dst: stTimestampSorterGetMetaToFetch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9044,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9045,1
    - Dst: IS_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9051,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9052,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9053,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9054,1
    - Dst: stVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9056,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9057,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9062,1
    - Dst: stHistoryGroupRestoreInitWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9066,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9067,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9076,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9078,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9083,1
    - Dst: stVtableMergerSetMergeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9085,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9088,1
    - Dst: stVtableMergerSetMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9089,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9090,1
    - Dst: stVtableMergerNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9092,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9093,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9095,1
    - Dst: IS_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9097,1
    - Dst: stVtableMergerGetMetaToFetch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9099,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9100,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9110,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: 9113
      start: 8937
    functionDepth: 6
    functionLinenumber: 8937
    functionLinenumberEnd: 9113
    functionName: stHistoryGroupGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stVtableMergerSetMergeInfo
    - stTimestampSorterGetMetaToFetch
    - stTimestampSorterReset
    - stHistoryGroupRestoreInitWindow
    - tstrerror
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - stVtableMergerNextDataBlock
    - TARRAY_GET_ELEM
    - stVtableMergerSetMetaDatas
    - stVtableMergerGetMetaToFetch
    - ST_TASK_ELOG
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - stTimestampSorterSetMetaDatas
    - QUERY_CHECK_CODE
    - blockDataGetNumOfRows
    - stTimestampSorterNextDataBlock
    - stVtableMergerReset
    - tSimpleHashIterate
    - taosArrayGetSize
    - stTimestampSorterSetSortInfo
    - TARRAY_SIZE
    - IS_TRIGGER_VTABLE_MERGER_EMPTY
    - TMAX
    - TARRAY_ELEM_IDX
    - 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:9126,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9127,1
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9145,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9146,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9150,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9151,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9155,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9155,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9156,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9157,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9158,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9160,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9161,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9165,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9166,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9167,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9170,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9171,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9174,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9175,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9176,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9181,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9182,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9183,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9185,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9186,1
    - Dst: stHistoryGroupMergeSavedWindows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9193,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9194,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9197,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9203,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9203,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9204,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9210,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9213,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9214,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9221,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9221,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 80
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9224
      start: 9115
    functionDepth: 7
    functionLinenumber: 9115
    functionLinenumberEnd: 9224
    functionName: stHistoryGroupDoSlidingCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - stHistoryGroupMergeSavedWindows
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - TRINGBUF_HEAD
    - POINTER_DISTANCE
    - stHistoryGroupOpenWindow
    - IS_TRIGGER_GROUP_NONE_WINDOW
    - taosbsearch
    - stHistoryGroupGetDataBlock
    - tSimpleHashGet
    - stHistoryGroupCloseWindow
    - stHistoryGroupSaveInitWindow
    - TMIN
    - QUERY_CHECK_NULL
    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:9237,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9238,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9250,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9252,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9253,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9254,1
    - Dst: stTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9256,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9257,1
    - Dst: stHistoryGroupRestoreInitWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9262,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9263,1
    - Dst: stTimestampSorterSetSortInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9267,1
    - Dst: stTimestampSorterSetMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9268,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9269,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9271,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9271,1
    - Dst: stTimestampSorterForwardTs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9273,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9274,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9275,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9276,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9279,1
    - Dst: stTimestampSorterGetMetaToFetch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9281,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9282,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9286,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9287,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9288,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9290,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9291,1
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9299,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9303,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9304,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9308,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9309,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9313,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9314,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9315,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9317,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9318,1
    - Dst: stHistoryGroupMergeSavedWindows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9325,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9326,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9331,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9334
      start: 9226
    functionDepth: 7
    functionLinenumber: 9226
    functionLinenumberEnd: 9334
    functionName: stHistoryGroupDoSessionCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - stTimestampSorterGetMetaToFetch
    - stTimestampSorterReset
    - stHistoryGroupRestoreInitWindow
    - stHistoryGroupOpenWindow
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - tstrerror
    - stHistoryGroupSaveInitWindow
    - ST_TASK_ELOG
    - stHistoryGroupMergeSavedWindows
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - stTimestampSorterSetMetaDatas
    - QUERY_CHECK_CODE
    - taosArrayGet
    - stTimestampSorterForwardTs
    - tSimpleHashIterate
    - TRINGBUF_HEAD
    - stHistoryGroupGetDataBlock
    - stTimestampSorterSetSortInfo
    - stHistoryGroupCloseWindow
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupDoSessionCheck(SSTriggerHistoryGroup *pGroup)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9355,1
    - Dst: stTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9356,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9357,1
    - Dst: stTimestampSorterSetSortInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9364,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9366,1
    - Dst: stTimestampSorterSetMetaDatas
      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:9368,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9372,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9372,1
    - Dst: ALIGN_UP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9373,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9374,1
    - Dst: stTimestampSorterForwardNrows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9375,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9376,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9377,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9378,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9379,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9382,1
    - Dst: stTimestampSorterGetMetaToFetch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9384,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9385,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9390,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9391,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9393,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9393,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9394,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9395,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9396,1
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9405,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9409,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9410,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9413,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9413,1
    - Dst: ALIGN_UP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9414,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9415,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9416,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9419,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9420,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9421,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9424,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9425,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9427,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9427,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9428,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9429,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9430,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9438,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 75
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9441
      start: 9336
    functionDepth: 7
    functionLinenumber: 9336
    functionLinenumberEnd: 9441
    functionName: stHistoryGroupDoCountCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - stTimestampSorterGetMetaToFetch
    - stTimestampSorterReset
    - tstrerror
    - stHistoryGroupOpenWindow
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - ALIGN_UP
    - stTimestampSorterForwardNrows
    - TMIN
    - ST_TASK_ELOG
    - stTimestampSorterSetMetaDatas
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tSimpleHashIterate
    - TRINGBUF_HEAD
    - stHistoryGroupGetDataBlock
    - stTimestampSorterSetSortInfo
    - QUERY_CHECK_CONDITION
    - stHistoryGroupCloseWindow
    - QUERY_CHECK_NULL
    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: 9352
      start: 9351
    functionDepth: 0
    functionLinenumber: 9351
    functionLinenumberEnd: 9352
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9460,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9461,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9465,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9466,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9470,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9471,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9474,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9475,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9477,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9479,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9480,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9484,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9485,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9494,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9495,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9496,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9499,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9500,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9502,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9504,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9506,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9512,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9513,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9518,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9519,1
    - Dst: streamBuildStateNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9521,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9523,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9525,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9526,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9527,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9532,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9533,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9534,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9535,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9536,1
    - Dst: streamBuildStateNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9539,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9541,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9543,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9544,1
    - Dst: streamBuildStateNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9546,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9548,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9550,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9551,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9552,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9559,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9562,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9564,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9566,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9566,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 87
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9569
      start: 9443
    functionDepth: 7
    functionLinenumber: 9443
    functionLinenumberEnd: 9569
    functionName: stHistoryGroupDoStateCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - stHistoryGroupOpenWindow
    - taosArrayClear
    - ST_TASK_ELOG
    - varDataTLen
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataGetNumOfRows
    - IS_TRIGGER_GROUP_NONE_WINDOW
    - IS_VAR_DATA_TYPE
    - taosMemoryCalloc
    - memcmp
    - sclFreeParam
    - taosMemoryFreeClear
    - TRINGBUF_HEAD
    - colDataGetData
    - stHistoryGroupGetDataBlock
    - QUERY_CHECK_CONDITION
    - colInfoDataEnsureCapacity
    - scalarCalculate
    - streamBuildStateNotifyContent
    - memcpy
    - stHistoryGroupCloseWindow
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupDoStateCheck(SSTriggerHistoryGroup *pGroup)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9588,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9589,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9593,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9594,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9601,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9602,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9603,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9606,1
    - Dst: filterSetDataFromSlotId
      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: filterExecute
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9611,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9612,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9617,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9618,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9620,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9621,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9624,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9626,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9628,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9629,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9631,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9632,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9637,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9638,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9640,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9641,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9646,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9647,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9648,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9649,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9654,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9655,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9658,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9661,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9664
      start: 9571
    functionDepth: 7
    functionLinenumber: 9571
    functionLinenumberEnd: 9664
    functionName: stHistoryGroupDoEventCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - QUERY_CHECK_CODE
    - taosArrayGet
    - TRINGBUF_HEAD
    - stHistoryGroupOpenWindow
    - taosMemoryFreeClear
    - stHistoryGroupGetDataBlock
    - streamBuildEventNotifyContent
    - taosArrayGetSize
    - filterExecute
    - stHistoryGroupCloseWindow
    - colDataDestroy
    - filterSetDataFromSlotId
    - QUERY_CHECK_NULL
    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:9674,1
    - Dst: stHistoryGroupDoSessionCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9677,1
    - Dst: stHistoryGroupDoCountCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9680,1
    - Dst: stHistoryGroupDoStateCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9683,1
    - Dst: stHistoryGroupDoEventCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9686,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9693
      start: 9666
    functionDepth: 8
    functionLinenumber: 9666
    functionLinenumberEnd: 9693
    functionName: stHistoryGroupCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - ST_TASK_ELOG
    - stHistoryGroupDoCountCheck
    - stHistoryGroupDoEventCheck
    - stHistoryGroupDoSlidingCheck
    - stHistoryGroupDoSessionCheck
    - stHistoryGroupDoStateCheck
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupCheck(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_DLOG
    - taosArrayRemove
    - taosArrayGet
    - taosHashRelease
    - ST_TASK_ILOG
    - ST_TASK_WLOG
    - taosWUnLockLatch
    - taosArrayGetSize
    - taosHashAcquire
    - 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
    - taosArrayDestroy
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - tstrerror
    - taosHashRelease
    - taosHashAcquire
    - ST_TASK_WLOG
    - taosWUnLockLatch
    - stsError
    - taosHashPut
    - taosWLockLatch
    - TSDB_CHECK_NULL
    - stsDebug
    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: 7
    functionLinenumber: 131
    functionLinenumberEnd: 286
    functionName: smAddTasksToStreamMap
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - STREAM_IS_TRIGGER_READER
    - tdListPopTail
    - smRemoveReaderFromVgMap
    - taosHashPut
    - streamAcquireTask
    - ST_TASK_DLOG
    - tdListPopHead
    - smAddTaskToVgroupMap
    - stTriggerTaskDeploy
    - ST_TASK_ELOG
    - atomic_add_fetch_32
    - stReaderTaskDeploy
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - tdListReserve
    - stRunnerTaskDeploy
    - stsWarn
    - tdListNew
    - smUndeployStreamTriggerTasks
    - streamReleaseTask
    - taosArrayGetSize
    - stsDebug
    - tdListPreReserve
    - stsError
    - TAOS_UNUSED
    - taosHashRemove
    - TD_DLIST_NELES
    - TSDB_CHECK_NULL
    - taosMemoryFree
    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:
    - STM_CHK_SET_ERROR_EXIT
    - TAOS_CHECK_EXIT
    - tstrerror
    - stTriggerTaskExecute
    - ST_TASK_ILOG
    - stsError
    - streamAcquireTask
    - streamReleaseTask
    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:
    - atomic_sub_fetch_32
    - TD_DLIST_NELES
    - stsError
    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:
    - ST_TASK_ELOG
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - tstrerror
    - atomic_val_compare_exchange_ptr
    - ST_TASK_DLOG
    - taosHashRelease
    - STREAM_GID
    - taosWUnLockLatch
    - taosHashAcquire
    - taosWLockLatch
    - TD_DLIST_NELES
    - TSDB_CHECK_NULL
    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:
    - stTriggerTaskUndeploy
    - tstrerror
    - taosHashRelease
    - smRemoveReaderFromVgMap
    - stRunnerTaskUndeploy
    - ST_TASK_ILOG
    - atomic_val_compare_exchange_8
    - ST_TASK_WLOG
    - stReaderTaskUndeploy
    - stsError
    - taosHashAcquire
    - taosHashRemove
    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:
    - taosArrayDestroy
    - atomic_store_8
    - ST_TASK_DLOG
    - stInfo
    - taosHashRelease
    - taosHashAcquire
    - taosWLockLatch
    - taosArrayGetP
    - taosWUnLockLatch
    - taosArrayGetSize
    - smUndeployTask
    - TAOS_UNUSED
    - taosHashRemove
    - stDebug
    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:
    - tdListInitIter
    - smUndeployTask
    - tdListNext
    - TD_DLIST_NELES
    - stsDebug
    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:
    - atomic_store_8
    - tstrerror
    - taosWLockLatch
    - taosArrayClear
    - tdListNext
    - ST_TASK_DLOG
    - taosArrayGet
    - stsWarn
    - taosHashGetSize
    - taosMemoryFreeClear
    - tdListInitIter
    - taosArrayGetSize
    - stsInfo
    - stsDebug
    - tdListPopNode
    - taosWUnLockLatch
    - smRemoveTaskPostCheck
    - taosHashRemove
    - TD_DLIST_NELES
    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:
    - tstrerror
    - TAOS_CHECK_EXIT
    - smStartStreamTasks
    - taosArrayGet
    - taosArrayGetSize
    - stsError
    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:
    - memset
    - taosHashIterate
    - tdListInitIter
    - taosWUnLockLatch
    - smUndeployTask
    - tdListNext
    - taosWLockLatch
    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:
    - smUndeployGrpSnodeTasks
    - stInfo
    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:
    - stInfo
    - taosHashGetKey
    - taosHashIterate
    - taosHashGetSize
    - smUndeployVgTasks
    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:
    - stInfo
    - taosHashIterate
    - smUndeployTask
    - smUndeployAllVgTasks
    - taosHashGetSize
    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:
    - tstrerror
    - taosArrayGet
    - smUndeployTask
    - taosArrayGetSize
    - stsError
    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:
    - memset
    - tdListInitIter
    - smUndeployTask
    - tdListNext
    - ST_TASK_DLOG
    - taosRLockLatch
    - taosRUnLockLatch
    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:
    - atomic_load_ptr
    - ST_TASK_ELOG
    - STM_CHK_SET_ERROR_EXIT
    - TAOS_CHECK_EXIT
    - tFreeSStreamMgmtReq
    - tstrerror
    - stTriggerTaskExecute
    - ST_TASK_ILOG
    - taosWUnLockLatch
    - stsError
    - streamAcquireTask
    - streamReleaseTask
    - taosWLockLatch
    - atomic_val_compare_exchange_ptr
    - taosMemoryFree
    - stRunnerSetMgmtRsp
    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:
    - taosArrayGet
    - taosArrayGetSize
    - smHandleTaskMgmtRsp
    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: 8
    functionLinenumber: 852
    functionLinenumberEnd: 903
    functionName: smDeployTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - smUndeployFreeStreamTasks
    - TAOS_CHECK_EXIT
    - taosRUnLockLatch
    - taosHashSetFreeFp
    - STREAM_GID
    - taosArrayGetSize
    - taosHashAcquire
    - stsInfo
    - taosGetDefaultHashFunction
    - taosRLockLatch
    - stsDebug
    - taosHashRelease
    - smAddTasksToStreamMap
    - atomic_load_8
    - atomic_load_32
    - stsError
    - taosHashPut
    - taosHashInit
    - TSDB_CHECK_NULL
    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: 9
    functionLinenumber: 905
    functionLinenumberEnd: 925
    functionName: smDeployStreams
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - smDeployTasks
    - taosArrayGet
    - taosArrayGetSize
    - stsError
    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:
    - atomic_store_8
    - stInfo
    - taosHashRelease
    - taosHashAcquire
    - stDebug
    linkageType: ''
    returnType: void
    signature: void smEnableVgDeploy(int32_t vgId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:36,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:38,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:42,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:43,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 50
    functionName: initDataSinkFileDir
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - stInfo
    - stError
    - taosMulMkDir
    - tsnprintf
    - taosIsDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t initDataSinkFileDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:54,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:58,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:59,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - streamId
    - ppDaSinkFileMgr
    argTypes:
    - int64_t
    - SDataSinkFileMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: createStreamDataSinkFileMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - snprintf
    - taosMemoryCalloc
    - tRBTreeCreate
    - taosGetTimestampSec
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamDataSinkFileMgr(int64_t streamId, SDataSinkFileMgr**
      ppDaSinkFileMgr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:81,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:85,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:88,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:89,1
    - Dst: clearAllFreeBlocks
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:93,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ppDaSinkFileMgr
    argTypes:
    - SDataSinkFileMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: destroyStreamDataSinkFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosCloseFile
    - taosMemoryFreeClear
    - clearAllFreeBlocks
    - taosRemoveFile
    linkageType: ''
    returnType: void
    signature: void destroyStreamDataSinkFile(SDataSinkFileMgr** ppDaSinkFileMgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamDataSinkFileMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pStreamDataSink
    argTypes:
    - SSlidingTaskDSMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:106,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:108,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:110,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:114,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pFileMgr
    argTypes:
    - SDataSinkFileMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: openFileForWrite
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - atomic_load_ptr
    - taosOpenFile
    - taosCloseFile
    - stError
    - atomic_val_compare_exchange_ptr
    linkageType: ''
    returnType: int32_t
    signature: int32_t openFileForWrite(SDataSinkFileMgr* pFileMgr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:124,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:127,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:129,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:133,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pFileMgr
    argTypes:
    - SDataSinkFileMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: openFileForRead
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - atomic_load_ptr
    - taosOpenFile
    - taosCloseFile
    - stError
    - atomic_val_compare_exchange_ptr
    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:143,1
    - Dst: destroyFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pFileMgr
    - needSize
    - pGroupBlockOffset
    argTypes:
    - SDataSinkFileMgr*
    - int32_t
    - SFileBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: getFreeBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - destroyFreeBlock
    - popBestFitBlock
    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:160,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:162,1
    - Dst: insertFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pFileMgr
    - pBlockInfo
    argTypes:
    - SDataSinkFileMgr*
    - SFileBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: addToFreeBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - stError
    - createFreeBlock
    - insertFreeBlock
    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: 185
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 185
    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:192,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pResult
    - pBlock
    argTypes:
    - SResultIter*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 202
    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:209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:212,1
    - Dst: openFileForRead
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:216,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:218,1
    - Dst: taosPReadFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:223,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:226,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:241,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:245,1
    - Dst: blockSpecialDecodeLaterPart
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:246,1
    - Dst: getWindowDataBuf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:246,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:248,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:250,1
    - Dst: appendTmpSBlocksInMem
      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:253,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:263,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:265,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:268,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:274,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: 276
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 276
    functionName: readFileDataToSlidingWindows
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - blockSpecialDecodeLaterPart
    - taosArrayDestroy
    - getWindowDataBuf
    - QUERY_CHECK_CODE
    - taosMemoryFreeClear
    - stError
    - appendTmpSBlocksInMem
    - openFileForRead
    - taosMemoryCalloc
    - taosMemoryFree
    - taosPReadFile
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t readFileDataToSlidingWindows(SResultIter* pResult, SSlidingGrpMgr*
      pSlidingGrpMgr, int32_t tsColSlotId,\n                                            SBlocksInfoFile*
      pBlockInfo, bool* finished)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:285,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:286,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:288,1
    - Dst: readFileDataToSlidingWindows
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:293,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:295,1
    - Dst: addToFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:300,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:308,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:316,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - pResult
    - ppBlock
    - tsColSlotId
    argTypes:
    - SResultIter*
    - SSDataBlock**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 319
    functionName: readSlidingDataFromFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - addToFreeBlock
    - taosArrayGet
    - stError
    - readFileDataToSlidingWindows
    - 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: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    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:329,1
    - Dst: readAlignDataFromFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pResult
    - ppBlock
    - tsColSlotId
    argTypes:
    - SResultIter*
    - SSDataBlock**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: readDataFromFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - readSlidingDataFromFile
    - readAlignDataFromFile
    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:344,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:346,1
    - Dst: openFileForWrite
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:348,1
    - Dst: destroyStreamDataSinkFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:350,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:355,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:356,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:359,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:364,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:368,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:386,1
    - Dst: getFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:391,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:399,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:408,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:411,1
    - Dst: taosWritevFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:414,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:417,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:419,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:422,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:424,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:427,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:432,1
    - Dst: addToFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:433,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:435,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 2
    argNames:
    - pSlidingTaskMgr
    - pSlidingGrp
    argTypes:
    - SSlidingTaskDSMgr*
    - SSlidingGrpMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 335
    functionDepth: 4
    functionLinenumber: 335
    functionLinenumberEnd: 437
    functionName: moveSlidingGrpMemCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 2
    functionsReached:
    - taosLSeekFile
    - addToFreeBlock
    - taosArrayPush
    - initStreamDataSinkFile
    - openFileForWrite
    - taosArrayInit
    - taosMemCalloc
    - QUERY_CHECK_CODE
    - taosArrayGet
    - stError
    - taosWritevFile
    - taosArrayRemoveBatch
    - getFreeBlock
    - taosArrayGetSize
    - destroyStreamDataSinkFile
    - stDebug
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t moveSlidingGrpMemCache(SSlidingTaskDSMgr* pSlidingTaskMgr,
      SSlidingGrpMgr* pSlidingGrp)
  - BBCount: 1
    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:61,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - pMsg
    - pEpset
    argTypes:
    - SStreamHbMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 64
    functionName: streamHbSendRequestMsg
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 0
    functionsReached:
    - stTrace
    - tEncodeSize
    - TAOS_CHECK_EXIT
    - tstrerror
    - tEncodeStreamHbMsg
    - stError
    - stDebug
    - POINTER_SHIFT
    - taosArrayGetSize
    - rpcMallocCont
    - tEncoderClear
    - tmsgSendReq
    - tEncoderInit
    - TSDB_CHECK_NULL
    - 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:73,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:75,1
    - Dst: stmBuildHbStreamsStatusReq
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:75,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:81,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:92,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:93,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:94,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - pMsg
    - skipHb
    argTypes:
    - SStreamHbMsg*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: streamHbBuildRequestMsg
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 0
    functionsReached:
    - stmAddFetchStreamGid
    - stTrace
    - tstrerror
    - TAOS_CHECK_EXIT
    - stmBuildHbStreamsStatusReq
    - taosArrayDup
    - stError
    - taosRLockLatch
    - taosRUnLockLatch
    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:112,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:114,1
    - Dst: streamHbBuildRequestMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:114,1
    - 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:121,1
    - Dst: streamHbSendRequestMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:121,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:125,1
    - Dst: tCleanupStreamHbMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:127,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:130,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:130,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 105
    functionDepth: 6
    functionLinenumber: 105
    functionLinenumberEnd: 134
    functionName: streamHbStart
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 0
    functionsReached:
    - stTrace
    - streamHbBuildRequestMsg
    - tstrerror
    - TAOS_CHECK_EXIT
    - tCleanupStreamHbMsg
    - streamHbSendRequestMsg
    - stError
    - streamTmrStart
    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:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pHb
    argTypes:
    - SStreamHbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 140
    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:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:147,1
    - Dst: smUndeployAllTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:149,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:152,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:152,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:153,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:162,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - errCode
    - currTs
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 10
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: streamHbHandleRspErr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 0
    functionsReached:
    - stError
    - smUndeployAllTasks
    - 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:171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:178,1
    - Dst: smUndeployTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:182,1
    - Dst: smDeployStreams
      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: smHandleMgmtRsp
      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: smStartTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:190,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:196,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:196,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:198,1
    - Dst: tDeepFreeSMStreamHbRspMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMStreamHbRspMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 167
    functionDepth: 10
    functionLinenumber: 167
    functionLinenumberEnd: 204
    functionName: streamHbProcessRspMsg
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - smDeployStreams
    - TAOS_CHECK_EXIT
    - smUndeployTasks
    - smStartTasks
    - stError
    - smHandleMgmtRsp
    - tDeepFreeSMStreamHbRspMsg
    - stDebug
    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:
    - initDataSinkFileDir
    - taosHashSetFreeFp
    - stInfo
    - stError
    - taosGetDefaultHashFunction
    - taosHashInit
    - TMIN
    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:
    - destroyStreamDataSinkFile
    - taosMemoryFreeClear
    - taosHashCleanup
    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:
    - destroyStreamDataSinkFile
    - taosMemoryFreeClear
    - taosHashCleanup
    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:
    - destroyAlignTaskDSMgr
    - stError
    - destroySlidingTaskDSMgr
    - 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:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosArrayInit
    - stError
    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:
    - taosHashSetFreeFp
    - taosMemCalloc
    - taosHashInit
    - stError
    - taosGetDefaultHashFunction
    - taosMemoryFree
    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:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosArrayInit
    - stError
    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:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - 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:
    - taosHashSetFreeFp
    - taosMemCalloc
    - taosHashInit
    - stError
    - taosGetDefaultHashFunction
    - taosMemoryFree
    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:
    - taosHashGet
    - strlen
    - destroyStreamDataCache
    - stError
    - createAlignTaskMgr
    - snprintf
    - createSlidingTaskMgr
    - taosHashPut
    - stDebug
    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:
    - taosHashGet
    - strlen
    - getCleanModeFromDSMgr
    - stError
    - snprintf
    - taosHashRemove
    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:
    - taosHashGet
    - stError
    - destroySSlidingGrpMgr
    - taosHashPut
    - createSlidingGrpMgr
    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:
    - taosHashGet
    - destroyAlignGrpMgr
    - stError
    - taosHashPut
    - createAlignGrpMgr
    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
    - buildSlidingWindowInMem
    - QUERY_CHECK_CODE
    - stError
    - changeMgrStatus
    - destroySlidingWindowInMem
    - slidingGrpMgrUsedMemAdd
    - stDebug
    - getOrCreateSSlidingGrpMgr
    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:
    - taosArrayInit
    - getOrCreateAlignGrpMgr
    - QUERY_CHECK_CODE
    - stError
    - changeMgrStatus
    - buildAlignWindowInMemBlock
    - stDebug
    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:
    - stError
    - buildMoveAlignWindowInMem
    - taosArrayInit
    - getOrCreateAlignGrpMgr
    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:
    - tstrerror
    - getCleanModeFromDSMgr
    - TAOS_CHECK_EXIT
    - stError
    - printDataBlock
    - checkAndMoveMemCache
    - putDataToAlignTaskMgr
    - putDataToSlidingTaskMgr
    - stDebug
    - isManagerReady
    - stsDebug
    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:
    - stError
    - isManagerReady
    - 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:
    - createDataResult
    - taosHashGet
    - QUERY_CHECK_CODE
    - stError
    - releaseDataResultAndResetMgrStatus
    - stDebug
    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:
    - createDataResult
    - taosHashGet
    - QUERY_CHECK_CODE
    - stError
    - releaseDataResultAndResetMgrStatus
    - changeMgrStatus
    - stDebug
    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:
    - taosHashGet
    - cleanSlidingGrpMgr
    - stError
    - changeMgrStatus
    - stDebug
    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:
    - getCleanModeFromDSMgr
    - stError
    - getAlignDataCache
    - getSlidingDataCache
    - isManagerReady
    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:
    - stError
    - isManagerReady
    - getCleanModeFromDSMgr
    - cleanSlidingDataCache
    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:
    - taosMemoryCalloc
    - stError
    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:
    - taosArrayGet
    - taosArrayDestroy
    - taosMemoryFree
    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
    - releaseDataResultAndResetMgrStatus
    - setNextIteratorFromMem
    - taosArrayClear
    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:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - stError
    - readDataFromFile
    - moveToNextIterator
    - releaseDataResultAndResetMgrStatus
    - checkAndMoveMemCache
    - readDataFromMem
    - getNextStreamDataCache
    - stDebug
    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:
    - stInfo
    - stError
    - taosHashCancelIterate
    - moveSlidingTaskMemCache
    - taosHashIterate
    - hasEnoughMemSize
    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:
    - moveMemCacheAllList
    - stInfo
    - moveMemFromWaitList
    - stError
    - atomic_val_compare_exchange_8
    - hasEnoughMemSize
    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:
    - stInfo
    - taosHashInit
    - stError
    - atomic_val_compare_exchange_8
    - taosGetDefaultHashFunction
    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:
    - enableSlidingGrpMemList
    - moveMemCache
    - disableSlidingGrpMemList
    - stDebug
    - hasEnoughMemSize
    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:
    - isValidStatusChange
    - stError
    - atomic_val_compare_exchange_8
    - taosMsleep
    - atomic_load_8
    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:
    - atomic_load_8
    - isValidStatusChange
    - atomic_val_compare_exchange_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:9,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filepath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 14
    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:17,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - filepath
    - streamId
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 23
    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:26,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - filepath
    - streamId
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:37,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:38,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:40,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:40,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:41,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:41,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:42,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:42,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - filepath
    - data
    - dataLen
    argTypes:
    - char*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: writeFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 4
    functionsReached:
    - STREAM_PRINT_LOG_END
    - taosWriteFile
    - taosCloseFile
    - taosFsyncFile
    - STREAM_CHECK_NULL_GOTO
    - STREAM_CHECK_CONDITION_GOTO
    - taosOpenFile
    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:53,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:54,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:56,1
    - Dst: getFilePath
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:56,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:57,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:57,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:59,1
    - Dst: getFileName
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:59,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:60,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:62,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:64,1
    - Dst: getFileNameTmp
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:64,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:65,1
    - Dst: writeFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:65,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:66,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:67,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:69,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:69,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:74,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:75,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:75,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:76,1
    - Dst: writeFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:76,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - streamId
    - data
    - dataLen
    argTypes:
    - int64_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 82
    functionName: streamWriteCheckPoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 2
    functionsReached:
    - getFileName
    - STREAM_PRINT_LOG_END
    - getFileNameTmp
    - taosMkDir
    - stError
    - taosCheckExistFile
    - STREAM_CHECK_NULL_GOTO
    - POINTER_SHIFT
    - writeFile
    - getFilePath
    - STREAM_CHECK_CONDITION_GOTO
    - stDebug
    - taosRemoveFile
    - taosRenameFile
    - STREAM_CHECK_RET_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamWriteCheckPoint(int64_t streamId, void* data, int64_t
      dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:89,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:90,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:91,1
    - Dst: getFileName
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:91,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:94,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:95,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:97,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:97,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:98,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:99,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:101,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:101,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:102,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:103,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:103,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:107,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:110,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - streamId
    - data
    - dataLen
    argTypes:
    - int64_t
    - void**
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 113
    functionName: streamReadCheckPoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 1
    functionsReached:
    - getFileName
    - taosMemoryMalloc
    - taosReadFile
    - STREAM_PRINT_LOG_END
    - taosCloseFile
    - taosMemoryFreeClear
    - stDebug
    - STREAM_CHECK_NULL_GOTO
    - POINTER_SHIFT
    - taosFStatFile
    - STREAM_CHECK_CONDITION_GOTO
    - taosOpenFile
    - STREAM_CHECK_RET_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:119,1
    - Dst: getFileName
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:119,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:121,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:122,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:125,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - streamId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: streamDeleteCheckPoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 1
    functionsReached:
    - getFileName
    - STREAM_PRINT_LOG_END
    - taosCheckExistFile
    - STREAM_CHECK_CONDITION_GOTO
    - stDebug
    - taosRemoveFile
    - STREAM_CHECK_RET_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:137,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:142,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:143,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:144,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - dataLen
    - epSet
    argTypes:
    - void*
    - int64_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: sendSyncMsg
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - memcpy
    - htonl
    - tmsgSendReq
    - rpcMallocCont
    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:152,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:158,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:159,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:160,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - streamId
    - epSet
    argTypes:
    - int64_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: sendDeleteMsg
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - memcpy
    - htonl
    - tmsgSendReq
    - rpcMallocCont
    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:167,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:169,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - streamId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 7
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: streamCheckpointSetReady
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    - streamAcquireTriggerTask
    - streamReleaseTask
    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:180,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:181,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:183,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:184,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:185,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:186,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:187,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:190,1
    - Dst: sendSyncMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:190,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:191,1
    - Dst: stsWarn
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:194,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:194,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:196,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:197,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: 199
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: streamSyncWriteCheckpoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 3
    functionsReached:
    - STREAM_PRINT_LOG_END
    - TAOS_SYSTEM_ERROR
    - stsWarn
    - tstrerror
    - taosMemoryFreeClear
    - STREAM_CHECK_NULL_GOTO
    - streamReadCheckPoint
    - POINTER_SHIFT
    - stDebug
    - taosMemoryCalloc
    - sendSyncMsg
    - STREAM_CHECK_RET_GOTO
    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:205,1
    - Dst: sendDeleteMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:205,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:206,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - streamId
    - epSet
    argTypes:
    - int64_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: streamSyncDeleteCheckpoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 1
    functionsReached:
    - stDebug
    - sendDeleteMsg
    - STREAM_PRINT_LOG_END
    - STREAM_CHECK_RET_GOTO
    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:218,1
    - Dst: getFilePath
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:218,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:219,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:220,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:223,1
    - Dst: taosDirEntryIsDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:224,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:228,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:229,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:229,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:230,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:234,1
    - Dst: streamSyncWriteCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:235,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:237,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:242,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:242,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:243,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - epSet
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 247
    functionName: streamSyncAllCheckpoints
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - STREAM_PRINT_LOG_END
    - taosReadDir
    - taosStr2Int64
    - stError
    - strcmp
    - STREAM_CHECK_NULL_GOTO
    - taosDirEntryIsDir
    - taosGetDirEntryName
    - taosCloseDir
    - getFilePath
    - streamSyncWriteCheckpoint
    - stDebug
    - taosOpenDir
    - STREAM_CHECK_RET_GOTO
    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:251,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:252,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: streamDeleteAllCheckpoints
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - stError
    - taosRemoveDir
    - getFilePath
    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_Key_Expansion
    - SMS4_ECB_Encryption_Core
    - SMS4_convert_to_network_order
    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_Key_Expansion
    - SMS4_convert_to_network_order
    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_host_order
    - SMS4_ECB_Encryption_Core
    - SMS4_convert_to_network_order
    linkageType: ''
    returnType: void
    signature: void SMS4_ECB_EncryptionEx(unsigned char plaintext[16], unsigned int
      key[32], unsigned char ciphertext[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c: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_ECB_Decryption_Core
    - SMS4_Key_Expansion
    - SMS4_convert_to_network_order
    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_host_order
    - SMS4_ECB_Decryption_Core
    - SMS4_convert_to_network_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:
    - Key_Expansion_init
    - SMS4_CBC_DecryptionEx
    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_STRCPY
    - getenv
    - tstrncpy
    - TAOS_STRCAT
    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:
    - taosReadFile
    - tcsGetObjectBlock
    - snprintf
    - tcsCheckCfg
    - taosOpenFile
    - tcsGetObjectToFile
    - strncmp
    - taosWriteFile
    - taosCloseFile
    - tcsInit
    - GTEST_ASSERT_EQ
    - strlen
    - tstrncpy
    - tcsDeleteObjects
    - GTEST_ASSERT_NE
    - memset
    - tcsPutObjectFromFile2
    - tcsInitEnv
    - tcsDeleteObjectsByPrefix
    - tcsUninit
    - tcsPutObjectFromFileOffset
    - tcsGetObjectsByPrefix
    - taosMemoryFree
    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:
    - taosReadFile
    - tcsGetObjectBlock
    - snprintf
    - tcsCheckCfg
    - taosOpenFile
    - tcsGetObjectToFile
    - strncmp
    - taosWriteFile
    - taosCloseFile
    - tcsInit
    - GTEST_ASSERT_EQ
    - strlen
    - tstrncpy
    - tcsDeleteObjects
    - GTEST_ASSERT_NE
    - memset
    - tcsPutObjectFromFile2
    - tcsInitEnv
    - tcsDeleteObjectsByPrefix
    - tcsUninit
    - tcsPutObjectFromFileOffset
    - tcsGetObjectsByPrefix
    - taosMemoryFree
    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:
    - tcsUninit
    - CheckCfg
    - tcsInit
    - fprintf
    - TAOS_RETURN
    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:
    - monCleanup
    - taosMsleep
    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
    - taosArrayInit
    - taosArrayPush
    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
    - taosArrayInit
    - taosArrayPush
    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
    - taosArrayInit
    - taosArrayPush
    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:
    - taosArrayPush
    - strcpy
    - taosArrayInit
    - taosGetTimestampMs
    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:
    - monRecordLog
    - taosGetTimestampMs
    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:
    - monRecordLog
    - taosGetTimestampMs
    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_default_init
    - taosHashInit
    - taos_gauge_new
    - taos_counter_destroy
    - uError
    - taosHashPut
    - taosGetDefaultHashFunction
    - taos_collector_registry_register_metric
    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:
    - uError
    - taos_collector_registry_destroy
    - taosHashCleanup
    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:
    - uTrace
    - strlen
    - taosHashGet
    - taosArrayGet
    - taos_gauge_new
    - uError
    - taos_counter_destroy
    - snprintf
    - taosArrayGetSize
    - taos_collector_registry_deregister_metric
    - taosHashPut
    - taosHashRemove
    - taos_gauge_set
    - taos_collector_registry_register_metric
    - 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:
    - taosArrayGet
    - taos_gauge_new
    - uError
    - taos_counter_destroy
    - snprintf
    - taosArrayGetSize
    - taos_collector_registry_deregister_metric
    - taos_gauge_set
    - taos_collector_registry_register_metric
    - 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:
    - taosHashGet
    - strlen
    - uError
    - snprintf
    - 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:
    - taosArrayGet
    - taos_gauge_new
    - uError
    - taos_counter_destroy
    - snprintf
    - taosArrayGetSize
    - taos_collector_registry_deregister_metric
    - taos_gauge_set
    - taos_collector_registry_register_metric
    - 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:
    - taosHashGet
    - strlen
    - taosArrayGet
    - snprintf
    - taosArrayGetSize
    - 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:
    - snprintf
    - taosHashGet
    - taos_gauge_set
    - strlen
    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:
    - uTrace
    - strlen
    - taosHashGet
    - taosArrayGet
    - taos_gauge_new
    - uError
    - taos_counter_destroy
    - snprintf
    - taosArrayGetSize
    - taos_collector_registry_deregister_metric
    - taosHashPut
    - taosHashRemove
    - taos_gauge_set
    - taos_collector_registry_register_metric
    - 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:
    - uTrace
    - strlen
    - taosHashGet
    - taosArrayGet
    - taos_gauge_new
    - uError
    - taos_counter_destroy
    - snprintf
    - taosArrayGetSize
    - taos_collector_registry_deregister_metric
    - taosHashPut
    - taosHashRemove
    - taos_gauge_set
    - taos_collector_registry_register_metric
    linkageType: ''
    returnType: void
    signature: void monGenVnodeRoleTable(SMonInfo *pMonitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      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: tsnprintf
      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:
    - uInfoL
    - strlen
    - tstrerror
    - tGenQid64
    - uInfo
    - taosMemoryFreeClear
    - uDebug
    - uDebugL
    - uError
    - tsnprintf
    - taos_collector_registry_clear_batch
    - taosGetTimestamp
    - taos_collector_registry_bridge_new
    - taosSendHttpReportWithQID
    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:
    - taosArrayDup
    - taosArrayClear
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_RETURN
    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:
    - memset
    - memcpy
    - taosThreadMutexLock
    - 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:
    - memset
    - memcpy
    - taosThreadMutexLock
    - 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:
    - memset
    - memcpy
    - taosThreadMutexLock
    - 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:
    - memset
    - memcpy
    - taosThreadMutexLock
    - 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:
    - memset
    - memcpy
    - taosThreadMutexLock
    - 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:
    - memset
    - memcpy
    - taosThreadMutexLock
    - 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:
    - taosArrayInit
    - taosGetTimestampMs
    - taosThreadMutexInit
    - monInitMonitorFW
    - TAOS_RETURN
    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:
    - uInfo
    - uDebug
    - taos_counter_destroy
    - uError
    - taos_counter_new
    - taos_collector_registry_register_metric
    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:
    - taosArrayDestroy
    - monCleanupMonitorFW
    - tFreeSMonVmInfo
    - tFreeSMonQmInfo
    - tFreeSMonBmInfo
    - tFreeSMonSmInfo
    - taosThreadMutexDestroy
    - tFreeSMonMmInfo
    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:
    - taosArrayDestroy
    - tjsonDelete
    - tFreeSMonVmInfo
    - tFreeSMonQmInfo
    - tFreeSMonBmInfo
    - tFreeSMonSmInfo
    - tFreeSMonMmInfo
    - taosMemoryFree
    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:
    - monGetLogs
    - taosGetTimestampMs
    - monCleanupMonitorInfo
    - memcpy
    - memset
    - tjsonCreateObject
    - taosThreadMutexUnlock
    - taosMemoryCalloc
    - taosThreadMutexLock
    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:
    - tjsonAddDoubleToObject
    - tjsonAddStringToObject
    - taosFormatUtcTime
    - uError
    - snprintf
    linkageType: ''
    returnType: void
    signature: void monGenBasicJson(SMonInfo *pMonitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      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:
    - tjsonAddDoubleToObject
    - tjsonAddStringToObject
    - uError
    - snprintf
    - tsnprintf
    - taosGetTimestamp
    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:
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddStringToObject
    - taosArrayGet
    - tjsonAddItemToArray
    - tjsonAddItemToObject
    - uError
    - tjsonAddArrayToObject
    - taosArrayGetSize
    - tjsonCreateObject
    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:
    - tjsonAddStringToObject
    - tjsonAddDoubleToObject
    - uError
    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:
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddStringToObject
    - taosArrayGet
    - tjsonAddItemToArray
    - uError
    - tjsonAddArrayToObject
    - taosArrayGetSize
    - tjsonCreateObject
    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:
    - tjsonDelete
    - tjsonAddStringToObject
    - taosArrayGet
    - tjsonAddItemToArray
    - uError
    - tjsonAddArrayToObject
    - taosArrayGetSize
    - tjsonCreateObject
    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:
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddItemToObject
    - uError
    - tjsonCreateObject
    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:
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddItemToObject
    - uError
    - tjsonCreateObject
    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:
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddStringToObject
    - taosArrayGet
    - tjsonAddItemToArray
    - tjsonAddItemToObject
    - uError
    - tjsonAddArrayToObject
    - taosArrayGetSize
    - tjsonCreateObject
    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:
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddStringToObject
    - tjsonAddItemToArray
    - tjsonAddItemToObject
    - uError
    - tjsonAddArrayToObject
    - tjsonCreateObject
    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:
    - tjsonToString
    - strlen
    - tGenQid64
    - uDebug
    - snprintf
    - uError
    - uInfoL
    - taosSendHttpReportWithQID
    - taosMemoryFree
    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: tsnprintf
      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:
    - tjsonToString
    - strlen
    - tGenQid64
    - uInfo
    - uDebug
    - uError
    - tsnprintf
    - uInfoL
    - taosSendHttpReportWithQID
    - taosMemoryFree
    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:
    - monGenLogJson
    - monGenDnodeStatusInfoTable
    - monGenVgroupJson
    - monGenClusterJson
    - monGenDnodeInfoTable
    - monGenVgroupInfoTable
    - monGenClusterInfoTable
    - monGenDnodeJson
    - monGenBasicJsonBasic
    - monSendReportBasic
    - monGenStbJson
    - monGenClusterJsonBasic
    - monGenDiskJson
    - monCleanupMonitorInfo
    - monGenVnodeRoleTable
    - monSendPromReport
    - monGenDataDiskTable
    - monGenBasicJson
    - monGenLogDiskTable
    - monCreateMonitorInfo
    - monGenMnodeRoleTable
    - monGenGrantJson
    - 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: tsnprintf
      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: uInfoL
      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:
    - strlen
    - tGenQid64
    - uError
    - tsnprintf
    - uInfoL
    - taosSendHttpReportWithQID
    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:
    - TAOS_STRCPY
    - printf
    - 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
    - tSerializeSQueryTableRsp
    - taosMemoryCalloc
    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
    - tEncodeSSubmitRsp2
    - tEncoderClear
    - 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:
    - addEpIntoEpSet
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    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:
    - addEpIntoEpSet
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    - taosRand
    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:
    - addEpIntoEpSet
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    - 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::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: 0
    functionLinenumber: 491
    functionLinenumberEnd: 509
    functionName: schtSetPlanToString
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 511
    functionLinenumberEnd: 529
    functionName: schtSetExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 531
    functionLinenumberEnd: 549
    functionName: schtSetRpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 561
    functionLinenumberEnd: 579
    functionName: schtSetAsyncSendMsgToServer
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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:
    - schAcquireJob
    - taosHashIterate
    - schHandleResponseMsg
    - taosMsleep
    - schtBuildSubmitRspMsg
    - schReleaseJob
    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:
    - schAcquireJob
    - schtBuildFetchRspMsg
    - TD_ALWAYS_ASSERT
    - taosSsleep
    - schHandleResponseMsg
    - schReleaseJob
    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:
    - TD_ALWAYS_ASSERT
    - taosUsleep
    - taosMemoryCalloc
    - atomic_val_compare_exchange_32
    - schHandleCallback
    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
    - taosArrayDestroy
    - taosArrayInit
    - schedulerDestroy
    - taosHashIterate
    - schtSetPlanToString
    - printf
    - schedulerExecJob
    - schAcquireJob
    - schtSetExecNode
    - atomic_store_32
    - nodesMakeNode
    - taosMemoryCalloc
    - schHandleCallback
    - TD_ALWAYS_ASSERT
    - taosHashCleanup
    - schtSetAsyncSendMsgToServer
    - taosGetDefaultHashFunction
    - schtFreeQueryJob
    - TAOS_STRCPY
    - schtFreeQueryDag
    - schtInitLogFile
    - taosUsleep
    - schtBuildQueryRspMsg
    - schedulerFetchRows
    - schtBuildQueryDag
    - taosHashPut
    - taosHashInit
    - schedulerInit
    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
    - taosRand
    - taosUsleep
    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:
    - TAOS_STRCPY
    - printf
    - 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
    - tSerializeSQueryTableRsp
    - taosMemoryCalloc
    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
    - tEncodeSSubmitRsp2
    - tEncoderClear
    - 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:
    - addEpIntoEpSet
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    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:
    - addEpIntoEpSet
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    - taosRand
    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:
    - addEpIntoEpSet
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    - 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::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: 0
    functionLinenumber: 491
    functionLinenumberEnd: 509
    functionName: schtSetPlanToString
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 511
    functionLinenumberEnd: 529
    functionName: schtSetExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 531
    functionLinenumberEnd: 549
    functionName: schtSetRpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 561
    functionLinenumberEnd: 579
    functionName: schtSetAsyncSendMsgToServer
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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:
    - schAcquireJob
    - taosHashIterate
    - schHandleResponseMsg
    - taosMsleep
    - schtBuildSubmitRspMsg
    - schReleaseJob
    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:
    - schAcquireJob
    - schtBuildFetchRspMsg
    - TD_ALWAYS_ASSERT
    - taosSsleep
    - schHandleResponseMsg
    - schReleaseJob
    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:
    - TD_ALWAYS_ASSERT
    - taosUsleep
    - taosMemoryCalloc
    - atomic_val_compare_exchange_32
    - schHandleCallback
    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
    - taosArrayDestroy
    - taosArrayInit
    - schedulerDestroy
    - taosHashIterate
    - schtSetPlanToString
    - printf
    - schedulerExecJob
    - schAcquireJob
    - schtSetExecNode
    - atomic_store_32
    - nodesMakeNode
    - taosMemoryCalloc
    - schHandleCallback
    - TD_ALWAYS_ASSERT
    - taosHashCleanup
    - schtSetAsyncSendMsgToServer
    - taosGetDefaultHashFunction
    - schtFreeQueryJob
    - TAOS_STRCPY
    - schtFreeQueryDag
    - schtInitLogFile
    - taosUsleep
    - schtBuildQueryRspMsg
    - schedulerFetchRows
    - schtBuildQueryDag
    - taosHashPut
    - taosHashInit
    - schedulerInit
    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
    - taosRand
    - taosUsleep
    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
    - taosArrayInit
    - schedulerFreeJob
    - schedulerDestroy
    - taosHashIterate
    - schtSetPlanToString
    - schedulerExecJob
    - taosThreadJoin
    - schAcquireJob
    - schtSetExecNode
    - schReleaseJob
    - nodesMakeNode
    - ASSERT_EQ
    - taosMemoryFreeClear
    - schtSetAsyncSendMsgToServer
    - TAOS_STRCPY
    - taosThreadAttrInit
    - taosThreadCreate
    - taosUsleep
    - schtBuildQueryRspMsg
    - schedulerFetchRows
    - schtBuildQueryDag
    - schHandleResponseMsg
    - ASSERT_NE
    - schedulerInit
    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
    - taosArrayInit
    - schedulerFreeJob
    - schedulerDestroy
    - taosHashIterate
    - schtSetPlanToString
    - schedulerExecJob
    - taosThreadJoin
    - schAcquireJob
    - schtSetExecNode
    - schReleaseJob
    - nodesMakeNode
    - ASSERT_EQ
    - schedulerEnableReSchedule
    - taosMemoryFreeClear
    - schtSetAsyncSendMsgToServer
    - TAOS_STRCPY
    - taosThreadAttrInit
    - taosThreadCreate
    - taosUsleep
    - schtBuildQueryRspMsg
    - schedulerFetchRows
    - schtBuildQueryDag
    - schHandleResponseMsg
    - ASSERT_NE
    - schRescheduleTask
    - schedulerInit
    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
    - taosArrayInit
    - schedulerFreeJob
    - schedulerDestroy
    - taosHashIterate
    - schtSetPlanToString
    - schedulerExecJob
    - taosThreadJoin
    - schAcquireJob
    - schtSetExecNode
    - schReleaseJob
    - nodesMakeNode
    - ASSERT_EQ
    - taosMemoryFreeClear
    - schtSetAsyncSendMsgToServer
    - TAOS_STRCPY
    - taosThreadAttrInit
    - taosThreadCreate
    - taosUsleep
    - schtBuildQueryRspMsg
    - schedulerFetchRows
    - schtBuildQueryDag
    - schHandleResponseMsg
    - ASSERT_NE
    - schedulerInit
    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
    - taosArrayInit
    - schedulerFreeJob
    - schedulerDestroy
    - taosSeedRand
    - taosHashIterate
    - schtSetPlanToString
    - schedulerExecJob
    - schtBuildQueryFlowCtrlDag
    - taosThreadJoin
    - schAcquireJob
    - schtSetExecNode
    - schReleaseJob
    - nodesMakeNode
    - ASSERT_EQ
    - taosMemoryFreeClear
    - taosGetTimestampSec
    - schtSetAsyncSendMsgToServer
    - initTaskQueue
    - cleanupTaskQueue
    - TAOS_STRCPY
    - schtInitLogFile
    - taosThreadAttrInit
    - taosThreadCreate
    - schtBuildQueryRspMsg
    - schedulerFetchRows
    - schHandleResponseMsg
    - ASSERT_NE
    - schedulerInit
    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:
    - TAOS_STRCPY
    - taosArrayPush
    - taosArrayInit
    - schedulerFreeJob
    - schedulerDestroy
    - taosThreadAttrInit
    - schtBuildInsertDag
    - taosThreadCreate
    - taosUsleep
    - schtSetPlanToString
    - ASSERT_NE
    - nodesMakeNode
    - schtSetAsyncSendMsgToServer
    - ASSERT_EQ
    - schedulerExecJob
    - taosThreadJoin
    - schedulerInit
    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:
    - taosThreadAttrInit
    - taosThreadCreate
    - taosSsleep
    - ASSERT_EQ
    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
    - schGetOpStr
    - schHandleLinkBrokenCallback
    - schHandleNotifyCallback
    - schFreeRpcCtx
    - schReleaseJob
    - ASSERT_EQ
    - 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:1494,1
    - Dst: schValidateRspMsgType
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1497,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:1504,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1506,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1507,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1510,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1510,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1516,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1519,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1521,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1524,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1526,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1530,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1533,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1535,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1540,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1543,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1545,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1550,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1553,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1558,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1560,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1564,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1568,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1572,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1574,1
    - Dst: schHandleHbCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1575,1
    - Dst: schGetCallbackFp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1578,1
    - Dst: schGetCallbackFp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1579,1
    - Dst: schBuildAndSendHbMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1582,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1584,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1588,1
    - Dst: schInitTaskRetryTimes
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1592,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1595,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1596,1
    - Dst: schRecordTaskSucceedNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1598,1
    - Dst: schDropTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1600,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1602,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1602,1
    - Dst: schDropTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1603,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1607,1
    - Dst: schDropTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1608,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1610,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1614,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1618,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1622,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1623,1
    - Dst: schChkUpdateRedirectCtx
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1630,1
    - Dst: schChkUpdateRedirectCtx
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1632,1
    - Dst: schPushTaskToExecList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1635,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1637,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1637,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1638,1
    - Dst: schPushTaskToExecList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1639,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1640,1
    - Dst: schTaskCheckSetRetry
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1647,1
    - Dst: schTaskCheckSetRetry
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1653,1
    - Dst: schTaskCheckSetRetry
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1661,1
    - Dst: schSetAddrsFromNodeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1663,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1665,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1668,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1670,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1671,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1674,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1677,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1678,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1680,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1683,1
    - Dst: schNotifyTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1685,1
    - Dst: schLaunchRemoteTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1687,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1689,1
    - Dst: schLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1691,1
    - Dst: schLaunchTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1698,1
    - Dst: schHandleTimerEvent
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1705,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1707,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1707,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1710,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1712,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1716,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1724,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1726,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1727,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1728,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1730,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1734,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1734,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1737,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1738,1
    - Dst: schFreeFlowCtrl
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 178
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1744
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayDestroy
    - schChkUpdateRedirectCtx
    - taosArrayInit
    - schProcessResponseMsg
    - schRecordTaskSucceedNode
    - schProcessOnTaskFailure
    - schSetAddrsFromNodeList
    - schLaunchTask
    - schSwitchTaskCandidateAddr
    - schBuildAndSendHbMsg
    - schInitTaskRetryTimes
    - schNotifyTaskOnExecNode
    - schGetCallbackFp
    - schTaskCheckSetRetry
    - schPushTaskToExecList
    - schFreeFlowCtrl
    - schHandleHbCallback
    - schDropTaskOnExecNode
    - schLaunchRemoteTask
    - taosMemoryCalloc
    - schProcessFetchRsp
    - taosMemoryFreeClear
    - memset
    - schValidateRspMsgType
    - schHandleTimerEvent
    - schDropTaskExecNode
    - taosGetDefaultHashFunction
    - schBuildAndSendMsg
    - schLaunchTaskImpl
    - schDelayLaunchTask
    - schLaunchFetchTask
    - taosHashPut
    - taosHashInit
    - taosHashCleanup
    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: 1761
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1761
    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:1764,1
    - Dst: rpcInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1765,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1766,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1768,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1768,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1769,1
    - Dst: schtReset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1773,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1763
    functionDepth: 3
    functionLinenumber: 1763
    functionLinenumberEnd: 1781
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    - schtReset
    - schtInitLogFile
    - rpcInit
    - taosGetTimestampSec
    - TD_ALWAYS_ASSERT
    - taosSeedRand
    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: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    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: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    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: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    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: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    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: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    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: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    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: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    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: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    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: 351
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 351
    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: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    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: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    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: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    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: 356
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 356
    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: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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: 5
    argNames:
    - (
    - job
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    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: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    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: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    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: 366
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 366
    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: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    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: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    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: 370
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 370
    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: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    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: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    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: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    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: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    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: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    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: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    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: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    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: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    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: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    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: 388
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 388
    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: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    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: 391
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 391
    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: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    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: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    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: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    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: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    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: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    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: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    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: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    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: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    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: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    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: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    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: 410
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 410
    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: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    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: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    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: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    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: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    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: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    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: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    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: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    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: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    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: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    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: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    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: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    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: 447
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 447
    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: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    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: 467
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 467
    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: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    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: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    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: 471
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 471
    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: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    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: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    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: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    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: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    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: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    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: 490
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 490
    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: 497
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 497
    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: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    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: 513
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 513
    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: 521
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 521
    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: 528
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 528
    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: 559
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 559
    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: 588
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 588
    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: 594
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 594
    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:
    - SCH_TASK_ELOG
    - SCH_ERR_RET
    - TMSG_INFO
    - SCH_GET_TASK_STATUS
    - 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:89,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:92,1
    - Dst: qExecExplainEnd
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:92,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:94,1
    - Dst: schProcessOnExplainDone
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:94,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:96,1
    - Dst: schNotifyJobAllTasks
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:96,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:99,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:104,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:104,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:106,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:112,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:113,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:116,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:117,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:117,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:120,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:123,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:123,1
    - Dst: schProcessOnDataFetched
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:126,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:130,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:132,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: 133
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 133
    functionName: schProcessFetchRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - SCH_IS_EXPLAIN_JOB
    - schProcessOnExplainDone
    - SCH_TASK_ELOG
    - taosMemoryFreeClear
    - SCH_ERR_RET
    - atomic_add_fetch_64
    - htobe64
    - atomic_store_ptr
    - SCH_SET_TASK_STATUS
    - schProcessOnDataFetched
    - schNotifyJobAllTasks
    - schLaunchFetchTask
    - SCH_RET
    - SCH_ERR_JRET
    - SCH_TASK_DLOG
    - qExecExplainEnd
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessFetchRsp(SSchJob *pJob, SSchTask *pTask, char *msg,
      int32_t rspCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:137,1
    - Dst: qExplainUpdateExecInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:137,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:140,1
    - Dst: schProcessOnExplainDone
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pJob
    - pTask
    - rsp
    argTypes:
    - SSchJob*
    - SSchTask*
    - SExplainRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: schProcessExplainRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - SCH_ERR_RET
    - qExplainUpdateExecInfo
    - schProcessOnExplainDone
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessExplainRsp(SSchJob *pJob, SSchTask *pTask, SExplainRsp
      *rsp)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: 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:248,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:254,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:257,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:260,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:262,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:262,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:266,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:270,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:272,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:274,1
    - Dst: tDecodeSSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:275,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:276,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:278,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:279,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:280,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:281,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:284,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:286,1
    - Dst: SCH_TASK_DLOG
      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_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:290,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:295,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:297,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:298,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:301,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:303,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:305,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:311,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:313,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:316,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:319,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:320,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:321,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:325,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:327,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:327,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:332,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:337,1
    - Dst: tDecodeSVDeleteRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:338,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:340,1
    - Dst: SCH_ERR_JRET
      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: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:345,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:346,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:349,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:351,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:351,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:357,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:359,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:362,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:362,1
    - Dst: SCH_IS_INSERT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:362,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:364,1
    - Dst: qExecExplainEnd
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:364,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:366,1
    - Dst: schProcessOnExplainDone
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:366,1
    - Dst: tDeserializeSQueryTableRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:371,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:372,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:373,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:378,1
    - Dst: schSaveJobExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:378,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:380,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:382,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:384,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:384,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:389,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:391,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:394,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:395,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:395,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:396,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:400,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:401,1
    - Dst: tDeserializeSExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:405,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:406,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:407,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:410,1
    - Dst: schProcessExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:410,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:412,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:417,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:419,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:424,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:425,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:429,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:429,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:430,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:433,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:433,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:434,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:441,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:443,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:443,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 230
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pMsg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 444
    functionName: schProcessResponseMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - tDecoderInit
    - taosArrayDestroy
    - taosArrayInit
    - atomic_add_fetch_64
    - taosArrayAddAll
    - tstrerror
    - schProcessOnTaskFailure
    - tDecodeSVCreateTbBatchRsp
    - qExecExplainEnd
    - tDestroySSubmitRsp2
    - SCH_IS_INSERT_JOB
    - tFreeSExplainRsp
    - tDeserializeSExplainRsp
    - SCH_UNLOCK
    - tDecodeSVAlterTbRsp
    - TMSG_INFO
    - SCH_RET
    - SCH_ERR_JRET
    - TSWAP
    - tDecodeSVDeleteRsp
    - tDecodeSVDropTbBatchRsp
    - tDecoderClear
    - schProcessFetchRsp
    - SCH_IS_EXPLAIN_JOB
    - SCH_GET_TASK_STATUS_STR
    - taosMemoryFreeClear
    - taosArrayGetSize
    - schProcessExplainRsp
    - SCH_LOCK
    - tDecodeSSubmitRsp2
    - schSaveJobExecRes
    - schProcessOnTaskSuccess
    - SCH_TASK_ELOG
    - schProcessOnExplainDone
    - tDeserializeSQueryTableRsp
    - taosMemoryFree
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessResponseMsg(SSchJob *pJob, SSchTask *pTask, SDataBuf
      *pMsg, int32_t rspCode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_NETWORK_ERR
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:452,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:453,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:454,1
    - Dst: schUpdateTaskHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:454,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:457,1
    - Dst: schValidateRspMsgType
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:457,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:459,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:460,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:461,1
    - Dst: IsReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:464,1
    - Dst: SCH_JOB_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:466,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:467,1
    - Dst: schHandleJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:467,1
    - Dst: SCH_TASKSET_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:468,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:469,1
    - Dst: schHandleTaskSetRetry
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:469,1
    - Dst: SCH_DATA_BIND_TASK_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:472,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:473,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:473,1
    - Dst: SCH_JOB_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:474,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:475,1
    - Dst: schHandleJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:475,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:480,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:480,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:484,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:485,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 6
    argNames:
    - pJob
    - pTask
    - seriesId
    - execId
    - pMsg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - uint64_t
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 486
    functionName: schHandleResponseMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 8
    functionsReached:
    - schProcessResponseMsg
    - SCH_DATA_BIND_TASK_NEED_RETRY
    - SCH_IS_QUERY_JOB
    - SCH_JOB_NEED_RETRY
    - schHandleJobRetry
    - schProcessOnTaskFailure
    - atomic_load_64
    - schHandleTaskSetRetry
    - taosMemoryFreeClear
    - schValidateRspMsgType
    - SCH_RET
    - SCH_TASKSET_NEED_RETRY
    - SCH_ERR_JRET
    - IsReq
    - SCH_NETWORK_ERR
    - schUpdateTaskHandle
    - SCH_TASK_DLOG
    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:495,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:495,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:496,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:498,1
    - Dst: schProcessOnCbBegin
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:498,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:499,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:502,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:506,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:507,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:509,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:509,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:510,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - param
    - pMsg
    - rspCode
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 488
    functionDepth: 4
    functionLinenumber: 488
    functionLinenumberEnd: 513
    functionName: schHandleCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 4
    functionsReached:
    - qTrace
    - tstrerror
    - taosMemoryFreeClear
    - qDebug
    - TMSG_INFO
    - schHandleResponseMsg
    - SCH_RET
    - SCH_ERR_JRET
    - schProcessOnCbEnd
    - schProcessOnCbBegin
    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:517,1
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:520,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:523,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:526,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 530
    functionName: schHandleDropCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - qError
    - qDebug
    - 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:534,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:537,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: schHandleNotifyCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - qDebug
    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:546,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:548,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:551,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:552,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:556,1
    - Dst: schUpdateHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:556,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:558,1
    - Dst: schBuildAndSendHbMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:558,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:560,1
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 544
    functionDepth: 5
    functionLinenumber: 544
    functionLinenumberEnd: 564
    functionName: schHandleLinkBrokenCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - SCH_ERR_RET
    - qDebug
    - schUpdateHbConnection
    - rpcReleaseHandle
    - schBuildAndSendHbMsg
    - schHandleCallback
    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:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 5
    functionLinenumber: 566
    functionLinenumberEnd: 568
    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:575,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:575,1
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:576,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:577,1
    - Dst: tDeserializeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:580,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:581,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:582,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:590,1
    - Dst: schUpdateHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:590,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:591,1
    - Dst: schProcessOnTaskStatusRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:591,1
    - Dst: tFreeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:596,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:597,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 599
    functionName: schHandleHbCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - tDeserializeSSchedulerHbRsp
    - tstrerror
    - schUpdateHbConnection
    - tFreeSSchedulerHbRsp
    - SCH_RET
    - SCH_ERR_JRET
    - rpcReleaseHandle
    - schProcessOnTaskStatusRsp
    - qError
    - taosMemoryFree
    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:604,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:606,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:607,1
    - Dst: SCH_CLIENT_ID
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:613,1
    - Dst: SCH_TASK_ID
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:614,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:623,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:625,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:626,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:631,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:633,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:634,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:634,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:635,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:638,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:639,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:648,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:650,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:651,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: 659
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 659
    functionName: schMakeCallbackParam
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - SCH_TASK_ELOG
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_TASK_ID
    - SCH_GET_CUR_EP
    - taosArrayGetSize
    - qError
    - SCH_CLIENT_ID
    - taosMemoryCalloc
    - taosMemoryFree
    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:664,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:666,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:667,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:671,1
    - Dst: schMakeCallbackParam
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:671,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:673,1
    - Dst: schGetCallbackFp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:673,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:679,1
    - Dst: taosGetSystemUUIDU64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:679,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:682,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:698,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:701,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:703,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: 704
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 704
    functionName: schGenerateCallBackInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - taosGetSystemUUIDU64
    - taosMemoryCalloc
    - qDebug
    - schGetCallbackFp
    - schMakeCallbackParam
    - SCH_RET
    - SCH_ERR_JRET
    - destroySendMsgInfo
    - qError
    - taosMemoryFree
    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:736,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:737,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: 741
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 741
    functionName: schGetCallbackFp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 2
    functionsReached:
    - qError
    - SCH_ERR_RET
    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:769,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:773,1
    - Dst: schCloneSMsgSendInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:773,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:775,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:775,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:777,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:778,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:782,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:785,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:790,1
    - Dst: schCloneSMsgSendInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:790,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:792,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:793,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:795,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:798,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:805,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRpcCtx*
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 807
    functionName: schCloneHbRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - taosHashGetKey
    - schCloneSMsgSendInfo
    - schFreeRpcCtx
    - TAOS_MEMCPY
    - SCH_ERR_RET
    - taosHashIterate
    - SCH_RET
    - SCH_ERR_JRET
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t schCloneHbRpcCtx(SRpcCtx *pSrc, SRpcCtx *pDst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:813,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:817,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:817,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:819,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:819,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:821,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:822,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:825,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:827,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:828,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:831,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:833,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:834,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:839,1
    - Dst: schGetCallbackFp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:839,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:850,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:851,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:852,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:855,1
    - Dst: schMakeBrokenLinkVal
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:855,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:862,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:863,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:864,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pCtx
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 867
    functionName: schMakeHbRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - SCH_TASK_ELOG
    - schMakeBrokenLinkVal
    - taosArrayGet
    - TAOS_MEMCPY
    - SCH_ERR_RET
    - SCH_GET_CUR_EP
    - schGetCallbackFp
    - taosMemoryFreeClear
    - SCH_RET
    - SCH_ERR_JRET
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosMemoryCalloc
    - taosHashCleanup
    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:874,1
    - Dst: schGenerateCallBackInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:874,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:884,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:885,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - pJob
    - pTask
    - brokenVal
    - isHb
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRpcBrokenlinkVal*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 869
    functionDepth: 3
    functionLinenumber: 869
    functionLinenumberEnd: 888
    functionName: schMakeBrokenLinkVal
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - schGenerateCallBackInfo
    - taosMemoryFreeClear
    - 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:894,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:894,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:896,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:897,1
    - Dst: SCH_GET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:900,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:901,1
    - Dst: schGenerateCallBackInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:901,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:905,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:906,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:907,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:910,1
    - Dst: schMakeBrokenLinkVal
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:910,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:917,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:920,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:921,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pCtx
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 890
    functionDepth: 4
    functionLinenumber: 890
    functionLinenumberEnd: 925
    functionName: schMakeQueryRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - SCH_TASK_ELOG
    - schMakeBrokenLinkVal
    - taosHashInit
    - SCH_ERR_RET
    - taosHashPut
    - taosMemoryFreeClear
    - SCH_GET_TASK_HANDLE
    - SCH_RET
    - SCH_ERR_JRET
    - schGenerateCallBackInfo
    - taosGetDefaultHashFunction
    - taosHashCleanup
    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:929,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:931,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:932,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:935,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:941,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:943,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:944,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSchCallbackParamHeader*
    - SSchCallbackParamHeader**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 951
    functionName: schCloneCallbackParam
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - qError
    - SCH_ERR_RET
    - TAOS_MEMCPY
    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:956,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:958,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:959,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:962,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:965,1
    - Dst: schCloneCallbackParam
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:965,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:974,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 976
    functionName: schCloneSMsgSendInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFreeClear
    - SCH_ERR_RET
    - TAOS_MEMCPY
    - schCloneCallbackParam
    - SCH_RET
    - SCH_ERR_JRET
    - qError
    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:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pMsgSendInfo
    - addr
    - pTask
    argTypes:
    - SMsgSendInfo*
    - SQueryNodeAddr*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 995
    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:1004,1
    - Dst: schGenerateCallBackInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1004,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1005,1
    - Dst: schUpdateSendTargetInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1005,1
    - Dst: rpcAllocHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1009,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1011,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1012,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1019,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1019,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1022,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1022,1
    - Dst: asyncSendMsgToServerExt
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1030,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1033,1
    - Dst: SCH_TASK_TLOG
      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: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1039,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1039,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1046,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1046,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1046,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1048,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1048,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1048,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1052,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1055,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: 1056
      start: 997
    functionDepth: 4
    functionLinenumber: 997
    functionLinenumberEnd: 1056
    functionName: schAsyncSendMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - asyncSendMsgToServerExt
    - destroySendMsgInfo
    - rpcAllocHandle
    - qTrace
    - tstrerror
    - SCH_TASK_ELOG
    - qDebug
    - TMSG_INFO
    - SCH_RET
    - SCH_TASK_TLOG
    - schGenerateCallBackInfo
    - SCH_ERR_JRET
    - qError
    - schUpdateSendTargetInfo
    - SCH_TASK_DLOG
    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:1067,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1069,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1070,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1072,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1073,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1078,1
    - Dst: schCloneHbRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1079,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1080,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1082,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1084,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1085,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1087,1
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1089,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1091,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1092,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1094,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1096,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1097,1
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1100,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1101,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1102,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1109,1
    - Dst: schAsyncSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1111,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1113,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1119,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1120,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 2
    argNames:
    - nodeEpId
    - taskAction
    argTypes:
    - SQueryNodeEpId*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1058
    functionDepth: 5
    functionLinenumber: 1058
    functionLinenumberEnd: 1122
    functionName: schBuildAndSendHbMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 2
    functionsReached:
    - taosHashGet
    - SCH_LOCK
    - schCloneHbRpcCtx
    - taosMemoryCalloc
    - SCH_UNLOCK
    - TAOS_MEMCPY
    - SCH_ERR_RET
    - taosMemoryFreeClear
    - schFreeRpcCtx
    - schAsyncSendMsg
    - SCH_RET
    - tSerializeSSchedulerHbReq
    - SCH_ERR_JRET
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t schBuildAndSendHbMsg(SQueryNodeEpId *nodeEpId, SArray *taskAction)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1133,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1135,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1135,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1136,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1140,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1164,1
    - Dst: tSerializeSVDeleteReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1168,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1170,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1171,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1173,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1175,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1176,1
    - Dst: tSerializeSVDeleteReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1179,1
    - Dst: SCH_TASK_ELOG
      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_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1188,1
    - Dst: schMakeQueryRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1188,1
    - Dst: QUERY_MSG_MASK_SHOW_REWRITE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1199,1
    - Dst: QUERY_MSG_MASK_VIEW
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1200,1
    - Dst: QUERY_MSG_MASK_AUDIT
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1201,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1203,1
    - Dst: SCH_TASK_NEED_FETCH
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1204,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1205,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1210,1
    - Dst: GET_ACTIVE_EP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1210,1
    - Dst: tSerializeSSubQueryMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1216,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1218,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1219,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1222,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1224,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1225,1
    - Dst: tSerializeSSubQueryMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1228,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1229,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1230,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1231,1
    - Dst: rpcAllocHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1236,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1238,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1239,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1242,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1256,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1258,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1259,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1262,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1264,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1265,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1268,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1269,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1270,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1285,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1287,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1288,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1291,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1293,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1294,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1297,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1298,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1299,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1300,1
    - Dst: tSerializeSTaskNotifyReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1346,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1348,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1349,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1352,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1354,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1355,1
    - Dst: tSerializeSTaskNotifyReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1358,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1359,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1360,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1361,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1366,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1367,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1371,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1372,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1372,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1375,1
    - Dst: schAppendTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1375,1
    - Dst: SCH_GET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1378,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1381,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1381,1
    - Dst: schAsyncSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1384,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1386,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1394,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1396,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1397,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 203
    argCount: 5
    argNames:
    - pJob
    - pTask
    - addr
    - msgType
    - param
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeAddr*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1124
    functionDepth: 5
    functionLinenumber: 1124
    functionLinenumberEnd: 1398
    functionName: schBuildAndSendMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - schFreeRpcCtx
    - tSerializeSTaskDropReq
    - SCH_TASK_WLOG
    - strcmp
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_SET_TASK_HANDLE
    - SCH_GET_TASK_HANDLE
    - SCH_RET
    - SCH_TASK_TLOG
    - SCH_ERR_JRET
    - tSerializeSResFetchReq
    - tSerializeSTaskNotifyReq
    - schAppendTaskExecNode
    - taosMemoryCalloc
    - QUERY_MSG_MASK_VIEW
    - strlen
    - rpcAllocHandle
    - SCH_IS_EXPLAIN_JOB
    - taosMemoryFreeClear
    - QUERY_MSG_MASK_AUDIT
    - taosArrayGetSize
    - tSerializeSVDeleteReq
    - QUERY_MSG_MASK_SHOW_REWRITE
    - tSerializeSSubQueryMsg
    - SCH_TASK_ELOG
    - schProcessOnTaskSuccess
    - GET_ACTIVE_EP
    - schMakeQueryRpcCtx
    - schAsyncSendMsg
    - SCH_TASK_NEED_FETCH
    - taosMemoryFree
    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:
    - taosReleaseRef
    - qTrace
    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: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:66,1
    - Dst: tsnprintf
      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: 1
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: schDumpEpSet
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - tsnprintf
    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:
    - SCH_LOCK
    - tstrerror
    - taosHashGetKey
    - SCH_UNLOCK
    - taosHashIterate
    - qInfo
    - taosHashRemove
    - qError
    - schFreeHbTrans
    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_LOCK
    - taosHashGet
    - SCH_TASK_WLOG
    - tstrerror
    - SCH_TASK_ELOG
    - SCH_TASK_ILOG
    - SCH_UNLOCK
    - atomic_load_64
    - taosHashRemove
    - schFreeHbTrans
    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_LOCK
    - SCH_UNLOCK
    - SCH_ERR_RET
    - schMakeHbRpcCtx
    - schFreeRpcCtx
    - HASH_NODE_EXIST
    - qInfo
    - taosHashPut
    - qError
    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:
    - schAddHbConnection
    - SCH_LOCK
    - taosHashGet
    - atomic_add_fetch_64
    - SCH_UNLOCK
    - SCH_ERR_RET
    - SCH_RET
    - schBuildAndSendHbMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t schRegisterHbConnection(SSchJob *pJob, SSchTask *pTask, SQueryNodeEpId
      *pEpId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:209,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:211,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:212,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:220,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:221,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:224,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:225,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:227,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:228,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:232,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:234,1
    - Dst: schRemoveHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:235,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 241
    functionName: schDeregisterTaskHb
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - SCH_LOCK
    - taosHashGet
    - atomic_sub_fetch_64
    - SCH_TASK_ELOG
    - taosArrayGet
    - SCH_UNLOCK
    - SCH_GET_CUR_EP
    - taosArrayGetSize
    - schRemoveHbConnection
    - SCH_TASK_WLOG
    linkageType: ''
    returnType: void
    signature: void schDeregisterTaskHb(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:248,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:250,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:251,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:259,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:260,1
    - Dst: schRegisterHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 243
    functionDepth: 7
    functionLinenumber: 243
    functionLinenumberEnd: 268
    functionName: schEnsureHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - SCH_TASK_ELOG
    - schRegisterHbConnection
    - taosArrayGet
    - SCH_GET_CUR_EP
    - taosArrayGetSize
    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:274,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:275,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:277,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:278,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:282,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:283,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:284,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:285,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - epId
    - trans
    argTypes:
    - SQueryNodeEpId*
    - SSchTrans*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 291
    functionName: schUpdateHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 2
    functionsReached:
    - SCH_LOCK
    - taosHashGet
    - atomic_add_fetch_64
    - SCH_UNLOCK
    - TAOS_MEMCPY
    - qInfo
    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:294,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: schCloseJobRef
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - atomic_load_8
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: void schCloseJobRef(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSystemUUIDU64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:305,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:307,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:307,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:308,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: initClientId
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - taosGetSystemUUIDU64
    - tstrerror
    - SCH_ERR_RET
    - qInfo
    - qError
    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: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    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:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    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:324,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:326,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:326,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:326,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:330,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:331,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: schGenUUID
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - taosGetPId
    - TAOS_SYSTEM_ERROR
    - atomic_add_fetch_32
    - tstrerror
    - taosGetTimestampMs
    - taosGetSystemUUID32
    - qError
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t schGenUUID(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    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:353,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:359,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: schFreeRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 6
    functionsReached:
    - taosHashCleanup
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void schFreeRpcCtx(SRpcCtx *pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:372,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pTaskList
    - taskId
    - pTask
    argTypes:
    - SHashObj*
    - uint64_t
    - SSchTask**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 383
    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:387,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:388,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:391,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:392,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:392,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:393,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:397,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:398,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:402,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:403,1
    - Dst: SCH_IS_DATA_BIND_PLAN
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:406,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:408,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:410,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:415,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:420,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:421,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:425,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:426,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: 430
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 430
    functionName: schValidateSubplan
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - SCH_ERR_RET
    - SCH_JOB_ELOG
    - SCH_IS_DATA_BIND_PLAN
    - nodeType
    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:433,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:436,1
    - Dst: taosTmrStopA
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:438,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:439,1
    - Dst: taosTmrIsStopped
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:442,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:443,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:446,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pJob
    - pTask
    - syncOp
    argTypes:
    - SSchJob*
    - SSchTask*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 451
    functionName: schStopTaskDelayTimer
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    - SCH_TASK_WLOG
    - taosTmrStopA
    - taosTmrIsStopped
    - taosMsleep
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: void
    signature: void schStopTaskDelayTimer(SSchJob *pJob, SSchTask *pTask, bool syncOp)
  - BBCount: 11
    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: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:45,1
    - Dst: schProcessOnJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:45,1
    - Dst: schProcessOnJobDropped
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:48,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:50,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:51,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:53,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:57,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:58,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:66,1
    - Dst: schProcessOnJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:66,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - pJob
    - status
    - param
    argTypes:
    - SSchJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: schSwitchJobStatus
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schStatus.c
    functionUses: 0
    functionsReached:
    - schExecJob
    - SCH_JOB_TLOG
    - SCH_JOB_ELOG
    - schUpdateJobStatus
    - schProcessOnJobPartialSuccess
    - SCH_RET
    - SCH_ERR_JRET
    - schProcessOnJobFailure
    - schJobFetchRows
    - schProcessOnJobDropped
    - taosRemoveRef
    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:71,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:73,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:74,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:79,1
    - Dst: schProcessOnOpBegin
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:79,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: 80
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: schHandleOpBeginEvent
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schStatus.c
    functionUses: 0
    functionsReached:
    - schAcquireJob
    - SCH_ERR_RET
    - schProcessOnOpBegin
    - qDebug
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleOpBeginEvent(int64_t jobId, SSchJob** job, SCH_OP_TYPE
      type, SSchedulerReq* pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: schDirectPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:86,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:87,1
    - Dst: schProcessOnOpEnd
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:90,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:96,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: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: schHandleOpEndEvent
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schStatus.c
    functionUses: 0
    functionsReached:
    - schProcessOnOpEnd
    - SCH_RET
    - schDirectPostJobRes
    - schReleaseJob
    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:
    - taosArrayDestroy
    - taosHashCleanup
    - taosHashIterate
    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_DLOG
    - SCH_JOB_TLOG
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_JOB_ELOG
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - taosHashInit
    - 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:
    - taosHashGet
    - SCH_LOCK
    - SCH_TASK_ELOG
    - SCH_UNLOCK
    - SCH_ERR_RET
    - SCH_GET_CUR_EP
    - SCH_RET
    - SCH_ERR_JRET
    - SCH_TASK_DLOG
    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:
    - taosHashGet
    - SCH_LOCK
    - taosArrayPush
    - taosArrayInit
    - SCH_TASK_ELOG
    - SCH_UNLOCK
    - SCH_ERR_RET
    - HASH_NODE_EXIST
    - SCH_GET_CUR_EP
    - SCH_RET
    - taosArrayGetSize
    - SCH_ERR_JRET
    - taosHashPut
    - SCH_TASK_DLOG
    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:
    - SCH_LOCK
    - schAsyncLaunchTaskImpl
    - SCH_UNLOCK
    - taosArrayGet
    - SCH_JOB_ELOG
    - SCH_GET_CUR_EP
    - schProcessOnTaskFailure
    - SCH_RET
    - taosArrayGetSize
    - taosArraySort
    - SCH_ERR_JRET
    - taosArrayGetLast
    - taosArrayRemove
    - SCH_TASK_DLOG
    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:
    - taosHashGet
    - schLaunchTasksInFlowCtrlListImpl
    - SCH_TASK_ELOG
    - SCH_ERR_RET
    - SCH_GET_CUR_EP
    - schDecTaskFlowQuota
    - 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:25,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:28,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:31,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:34,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:38,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:42,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: schFreeTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - schDeregisterTaskHb
    - taosHashCleanup
    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:49,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:49,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:52,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pLevel
    argTypes:
    - SSchJob*
    - SSchTask*
    - SSchLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: schInitTaskRetryTimes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_IS_DATA_BIND_TASK
    - SCH_IS_QUERY_JOB
    - taosArrayGetSize
    - TMAX
    linkageType: ''
    returnType: void
    signature: void schInitTaskRetryTimes(SSchJob *pJob, SSchTask *pTask, SSchLevel
      *pLevel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getClientId
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:69,1
    - Dst: schGenTaskId
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:70,1
    - Dst: schInitTaskRetryTimes
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:72,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:75,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:75,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:76,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:78,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:81,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:83,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:89,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:90,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pPlan
    - pLevel
    argTypes:
    - SSchJob*
    - SSchTask*
    - SSubplan*
    - SSchLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 93
    functionName: schInitTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - schInitTaskRetryTimes
    - taosArrayDestroy
    - taosArrayInit
    - SCH_SET_TASK_STATUS
    - getClientId
    - taosHashInit
    - SCH_RET
    - SCH_TASK_TLOG
    - SCH_ERR_JRET
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - schGenTaskId
    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:97,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:101,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:103,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:104,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:105,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:109,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:109,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:111,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:113,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: schRecordTaskSucceedNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - SCH_TASK_ELOG
    - taosArrayGet
    - SCH_ERR_RET
    - epsetToStr
    - taosArrayGetSize
    - tListLen
    - SCH_TASK_DLOG
    - SCH_IS_LOCAL_EXEC_TASK
    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:121,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:123,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:124,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:125,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:128,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: 131
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: schAppendTaskExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_TASK_ELOG
    - SCH_ERR_RET
    - SCH_GET_TASK_HANDLE
    - taosHashPut
    - SCH_TASK_DLOG
    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:138,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:139,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:140,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:142,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:146,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:147,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: 151
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 151
    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:154,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:158,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:160,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:167,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: 170
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: schUpdateTaskExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosHashGetSize
    - taosHashGet
    - SCH_TASK_DLOG
    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:174,1
    - Dst: schDropTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:174,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:177,1
    - Dst: schUpdateTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:177,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:181,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:184,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:187,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: 190
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: schUpdateTaskHandle
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_ERR_RET
    - SCH_SET_TASK_HANDLE
    - SCH_RET
    - schDropTaskExecNode
    - schUpdateTaskExecNode
    - SCH_TASK_DLOG
    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:203,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:204,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:204,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:205,1
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:208,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:210,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:210,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:211,1
    - Dst: SCH_LOG_TASK_WAIT_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:215,1
    - Dst: SCH_LOG_TASK_END_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:217,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:220,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:220,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:222,1
    - Dst: schTaskCheckSetRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:222,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:225,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:225,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:226,1
    - Dst: SCH_JOB_NEED_WAIT
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:228,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:229,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:232,1
    - Dst: schUpdateJobErrCode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:234,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:237,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:238,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:241,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:241,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:244,1
    - Dst: schHandleTaskRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:244,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - pJob
    - pTask
    - errCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 249
    functionName: schProcessOnTaskFailure
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 4
    functionsReached:
    - SCH_LOCK
    - SCH_LOG_TASK_END_TS
    - tstrerror
    - SCH_TASK_ELOG
    - SCH_SET_TASK_STATUS
    - SCH_UNLOCK
    - SCH_ERR_RET
    - SCH_LOG_TASK_WAIT_TS
    - SCH_JOB_NEED_WAIT
    - schTaskCheckSetRetry
    - SCH_GET_TASK_STATUS
    - schJobNeedToStop
    - SCH_RET
    - atomic_load_32
    - schUpdateJobErrCode
    - schHandleTaskRetry
    - SCH_TASK_DLOG
    - jobTaskStatusStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnTaskFailure(SSchJob *pJob, SSchTask *pTask, int32_t
      errCode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:255,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:255,1
    - Dst: SCH_LOG_TASK_END_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:257,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:259,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:261,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:263,1
    - Dst: schRecordTaskSucceedNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:263,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:264,1
    - Dst: schLaunchTasksInFlowCtrlList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:264,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:266,1
    - Dst: SCH_JOB_NEED_WAIT
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:269,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:270,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:273,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:276,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:280,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:283,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:283,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:286,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:286,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:292,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:292,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:296,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:298,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:299,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:302,1
    - Dst: SCH_FETCH_TYPE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:310,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:311,1
    - Dst: qSetSubplanExecutionNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:314,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:316,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:319,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:320,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:322,1
    - Dst: SCH_TASK_READY_FOR_LAUNCH
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:324,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:328,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:329,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:332,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:335,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:336,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:337,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:339,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:339,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:344,1
    - Dst: schLaunchJobLowerLevel
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 348
    functionName: schProcessOnTaskSuccess
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 2
    functionsReached:
    - schRecordTaskSucceedNode
    - SCH_IS_DATA_BIND_TASK
    - schLaunchTasksInFlowCtrlList
    - schSwitchTaskCandidateAddr
    - SCH_FETCH_TYPE
    - atomic_add_fetch_32
    - SCH_UNLOCK
    - SCH_ERR_RET
    - taosArrayGet
    - SCH_RET
    - SCH_TASK_TLOG
    - TSWAP
    - SCH_IS_LOCAL_EXEC_TASK
    - schHandleJobFailure
    - SCH_LOG_TASK_END_TS
    - SCH_TASK_READY_FOR_LAUNCH
    - SCH_GET_TASK_STATUS_STR
    - SCH_SET_TASK_STATUS
    - taosArrayGetSize
    - schDelayLaunchTask
    - SCH_LOCK
    - SCH_TASK_ELOG
    - schLaunchJobLowerLevel
    - SCH_JOB_NEED_WAIT
    - qSetSubplanExecutionNode
    - schSwitchJobStatus
    - SCH_TASK_DLOG
    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:355,1
    - Dst: SCH_TASK_TIMEOUT
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:359,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:360,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:361,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:362,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:363,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:365,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 369
    functionName: schRescheduleTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - taosHashClear
    - SCH_ERR_RET
    - SCH_TASK_TIMEOUT
    - schProcessOnTaskFailure
    - SCH_IS_DATA_BIND_TASK
    - taosArrayGetSize
    - schDropTaskOnExecNode
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schRescheduleTask(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:377,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:379,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:382,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:383,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:399,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:403,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:405,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:409,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:412,1
    - Dst: SCH_GET_REDIRECT_CODE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:412,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:420,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:433,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pEpSet
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SEpSet*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 436
    functionName: schChkUpdateRedirectCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_GET_REDIRECT_CODE
    - SCH_IS_DATA_BIND_TASK
    - taosArrayGetSize
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schChkUpdateRedirectCtx(SSchJob *pJob, SSchTask *pTask, SEpSet
      *pEpSet, int32_t rspCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:442,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:442,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:445,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:446,1
    - Dst: schRemoveTaskFromExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:447,1
    - Dst: schDeregisterTaskHb
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:448,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:449,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 455
    functionName: schResetTaskForRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - TAOS_MEMSET
    - taosMemoryFreeClear
    - taosTmrStop
    - schRemoveTaskFromExecList
    - UNUSED
    - schDropTaskOnExecNode
    - schDeregisterTaskHb
    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:462,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:462,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:462,1
    - Dst: NO_RET_REDIRECT_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:464,1
    - Dst: SCH_UPDATE_REDIRECT_CODE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:465,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:468,1
    - Dst: schChkUpdateRedirectCtx
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:468,1
    - Dst: schResetTaskForRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:470,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:472,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:474,1
    - Dst: schUpdateTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:474,1
    - Dst: SYNC_SELF_LEADER_REDIRECT_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:475,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:476,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:478,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:479,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:480,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:484,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:485,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:487,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:489,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:490,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:491,1
    - Dst: SCH_SWITCH_EPSET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:494,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:495,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:498,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:500,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:500,1
    - Dst: qClearSubplanExecutionNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:509,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:513,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:513,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:516,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:518,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:520,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:521,1
    - Dst: schDoTaskRedirect
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:522,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:523,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:530,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:530,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: 531
      start: 459
    functionDepth: 5
    functionLinenumber: 459
    functionLinenumberEnd: 531
    functionName: schDoTaskRedirect
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schChkUpdateRedirectCtx
    - tstrerror
    - qClearSubplanExecutionNode
    - schProcessOnTaskFailure
    - NO_RET_REDIRECT_ERROR
    - SCH_IS_DATA_BIND_TASK
    - schSwitchTaskCandidateAddr
    - SCH_UPDATE_REDIRECT_CODE
    - taosArrayGet
    - SCH_RET
    - SCH_ERR_JRET
    - SCH_GET_TASK_STATUS_STR
    - SCH_SET_TASK_STATUS
    - SYNC_SELF_LEADER_REDIRECT_ERROR
    - schResetTaskForRetry
    - taosArrayGetSize
    - schDelayLaunchTask
    - SCH_LOCK_TASK
    - schUpdateTaskCandidateAddr
    - schDoTaskRedirect
    - SCH_TASK_ELOG
    - taosArrayGetP
    - SCH_SWITCH_EPSET
    - SCH_UNLOCK_TASK
    - SCH_TASK_DLOG
    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:536,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:537,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:537,1
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:539,1
    - Dst: atomic_sub_fetch_32
      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:543,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:545,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:547,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:549,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:550,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:553,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:555,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:556,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:557,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:560,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:561,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 564
    functionName: schResetTaskSetLevelInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - SCH_TASK_ELOG
    - atomic_sub_fetch_32
    - SCH_ERR_RET
    - taosArrayGetP
    - SCH_GET_TASK_STATUS
    - taosArrayGetSize
    - atomic_load_32
    - SCH_UNLOCK_TASK
    - SCH_LOCK_TASK
    - SCH_TASK_DLOG
    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:569,1
    - Dst: schChkResetJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:569,1
    - Dst: SYNC_OTHER_LEADER_REDIRECT_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:571,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:573,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:573,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:579,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:579,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:581,1
    - Dst: schResetTaskSetLevelInfo
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:581,1
    - Dst: SCH_RESET_JOB_LEVEL_IDX
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:583,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:584,1
    - Dst: schDoTaskRedirect
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:586,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:588,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:589,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:591,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:595,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:596,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:598,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:598,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: 599
      start: 566
    functionDepth: 6
    functionLinenumber: 566
    functionLinenumberEnd: 599
    functionName: schHandleTaskSetRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schDoTaskRedirect
    - tstrerror
    - SCH_RESET_JOB_LEVEL_IDX
    - SCH_TASK_ELOG
    - atomic_add_fetch_64
    - taosMemoryFreeClear
    - schProcessOnTaskFailure
    - SCH_RET
    - schResetTaskSetLevelInfo
    - SCH_ERR_JRET
    - schChkResetJobRetry
    - SYNC_OTHER_LEADER_REDIRECT_ERROR
    - SCH_TASK_DLOG
    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:603,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:605,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:606,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:610,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:611,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:614,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 617
    functionName: schPushTaskToExecList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_TASK_ELOG
    - SCH_ERR_RET
    - HASH_NODE_EXIST
    - SCH_TASK_TLOG
    - taosHashPut
    - taosHashGetSize
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schPushTaskToExecList(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:702,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:721,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:728,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:740,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - pJob
    - pTask
    - errCode
    - needRetry
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 742
    functionName: schTaskCheckSetRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 2
    functionsReached:
    - SCH_TASK_NEED_RETRY
    - tstrerror
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schTaskCheckSetRetry(SSchJob *pJob, SSchTask *pTask, int32_t
      errCode, bool *needRetry)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:747,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:750,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:750,1
    - Dst: schRemoveTaskFromExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:753,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:754,1
    - Dst: SCH_TASK_NEED_FLOW_CTRL
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:756,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:757,1
    - Dst: schLaunchTasksInFlowCtrlList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:757,1
    - Dst: schDeregisterTaskHb
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:760,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:762,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:763,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:765,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:766,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:767,1
    - Dst: SCH_SWITCH_EPSET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:771,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:772,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:772,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:774,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:774,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:782,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:785,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:788,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:788,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:791,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:791,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 744
    functionDepth: 4
    functionLinenumber: 744
    functionLinenumberEnd: 793
    functionName: schHandleTaskRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - taosTmrStop
    - SCH_IS_DATA_BIND_TASK
    - schRemoveTaskFromExecList
    - schLaunchTasksInFlowCtrlList
    - SCH_TASK_NEED_FLOW_CTRL
    - schSwitchTaskCandidateAddr
    - schDeregisterTaskHb
    - TMIN
    - taosArrayGet
    - SCH_ERR_RET
    - atomic_sub_fetch_32
    - SCH_SET_TASK_STATUS
    - epsetToStr
    - taosArrayGetSize
    - tListLen
    - schDelayLaunchTask
    - SCH_TASK_ELOG
    - UNUSED
    - SCH_SWITCH_EPSET
    - SCH_TASK_DLOG
    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:800,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:803,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:806,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:807,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:808,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:811,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:812,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:813,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:820,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 825
    functionName: schSetAddrsFromNodeList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - SCH_TASK_ELOG
    - taosArrayGet
    - SCH_ERR_RET
    - 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:832,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:834,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:835,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:839,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:840,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:841,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:844,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:849,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:850,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:851,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:854,1
    - Dst: schSetAddrsFromNodeList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:854,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:856,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 868
    functionName: schSetTaskCandidateAddrs
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - SCH_TASK_ELOG
    - SCH_ERR_RET
    - schSetAddrsFromNodeList
    - SCH_IS_DATA_BIND_TASK
    - taosArrayGetSize
    - SCH_TASK_TLOG
    - taosRand
    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:873,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:874,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:875,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:876,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:879,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:881,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:881,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:882,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:888,1
    - Dst: schDumpEpSet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:888,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:889,1
    - Dst: schDumpEpSet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:889,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:891,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:893,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:897,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pEpSet
    argTypes:
    - SSchJob*
    - SSchTask*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 901
    functionName: schUpdateTaskCandidateAddr
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_TASK_ELOG
    - taosArrayGet
    - SCH_ERR_RET
    - TAOS_MEMCPY
    - taosArrayGetSize
    - SCH_ERR_JRET
    - schDumpEpSet
    - taosMemoryFree
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schUpdateTaskCandidateAddr(SSchJob *pJob, SSchTask *pTask,
      SEpSet *pEpSet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:905,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:921,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:928,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 930
    functionName: schSwitchTaskCandidateAddr
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 4
    functionsReached:
    - taosArrayGetSize
    - taosRand
    - SCH_TASK_DLOG
    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:933,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 939
    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:943,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:943,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:947,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:949,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:949,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:954,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:957,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:958,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:959,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:961,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:963,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:967,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 941
    functionDepth: 6
    functionLinenumber: 941
    functionLinenumberEnd: 971
    functionName: schDropTaskOnExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 3
    functionsReached:
    - taosHashGetKey
    - SCH_GET_TASK_STATUS_STR
    - SCH_SET_TASK_HANDLE
    - taosHashIterate
    - taosHashGetSize
    - schBuildAndSendMsg
    - SCH_TASK_DLOG
    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:974,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:976,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:976,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:981,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:984,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:985,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:985,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:986,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:988,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:992,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pJob
    - pTask
    - type
    argTypes:
    - SSchJob*
    - SSchTask*
    - ETaskNotifyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 973
    functionDepth: 6
    functionLinenumber: 973
    functionLinenumberEnd: 997
    functionName: schNotifyTaskOnExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_GET_TASK_STATUS_STR
    - SCH_ERR_RET
    - SCH_SET_TASK_HANDLE
    - taosHashIterate
    - taosHashGetSize
    - schBuildAndSendMsg
    - SCH_TASK_DLOG
    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:1000,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1004,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1008,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1010,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1016,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1017,1
    - Dst: schProcessOnCbBegin
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1019,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1025,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1026,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1032,1
    - Dst: schRescheduleTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1037,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1040,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pEpId
    - pStatusList
    argTypes:
    - SQueryNodeEpId*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 999
    functionDepth: 3
    functionLinenumber: 999
    functionLinenumberEnd: 1044
    functionName: schProcessOnTaskStatusRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - qDebug
    - taosArrayGetSize
    - schProcessOnCbBegin
    - schProcessOnCbEnd
    - schRescheduleTask
    - qError
    - SCH_TASK_DLOG
    - jobTaskStatusStr
    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:1048,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1057,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1059,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1063,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1067,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1069,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1071,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1075,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1076,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1076,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1077,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1078,1
    - Dst: schGetTaskInJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1081,1
    - Dst: schProcessExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1084,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1087,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1089,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1092,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1102,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1104,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1108,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1111,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - pExplainRes
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1114
    functionName: schHandleExplainRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - schAcquireJob
    - tFreeSExplainRsp
    - taosArrayGet
    - qDebug
    - schJobNeedToStop
    - schReleaseJob
    - taosArrayGetSize
    - SCH_RET
    - SCH_ERR_JRET
    - schGetTaskInJob
    - qWarn
    - qError
    - schProcessExplainRsp
    - SCH_TASK_DLOG
    - jobTaskStatusStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleExplainRes(SArray *pExplainRes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1121,1
    - Dst: qSubPlanToMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1122,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1123,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1126,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1128,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1132,1
    - Dst: qSubPlanToString
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1132,1
    - Dst: SCH_TASK_DLOGL
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1133,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1134,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1138,1
    - Dst: schSetTaskCandidateAddrs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1138,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1140,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1141,1
    - Dst: schEnsureHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1141,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1144,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1116
    functionDepth: 8
    functionLinenumber: 1116
    functionLinenumberEnd: 1145
    functionName: schLaunchRemoteTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_LOCK
    - SCH_TASK_DLOGL
    - tstrerror
    - SCH_TASK_ELOG
    - SCH_UNLOCK
    - SCH_ERR_RET
    - qSubPlanToMsg
    - taosMemoryFree
    - schSetTaskCandidateAddrs
    - SCH_RET
    - schEnsureHbConnection
    - SCH_IS_QUERY_JOB
    - schBuildAndSendMsg
    - 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:1151,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1151,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1152,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1153,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1161,1
    - Dst: SCH_TASK_NEED_FETCH
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1162,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1168,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1169,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1171,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1175,1
    - Dst: qWorkerProcessLocalQuery
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1175,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1178,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1179,1
    - Dst: schHandleExplainRes
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1179,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1183,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1183,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1187,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1147
    functionDepth: 4
    functionLinenumber: 1147
    functionLinenumberEnd: 1190
    functionName: schLaunchLocalTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - SCH_IS_EXPLAIN_JOB
    - schProcessOnTaskSuccess
    - SCH_ERR_RET
    - qWorkerDestroy
    - qWorkerProcessLocalQuery
    - schHandleExplainRes
    - SCH_TASK_NEED_FETCH
    - SCH_RET
    - qWorkerInit
    - SCH_ERR_JRET
    - atomic_val_compare_exchange_ptr
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchLocalTask(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1196,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1198,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1199,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1200,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1206,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1216,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1216,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1217,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1222,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1224,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1225,1
    - Dst: SCH_LOG_TASK_START_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1227,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1229,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1230,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1230,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1231,1
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1234,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1235,1
    - Dst: schPushTaskToExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1235,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1236,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1239,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1240,1
    - Dst: schLaunchLocalTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1240,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1242,1
    - Dst: schLaunchRemoteTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1242,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1246,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1247,1
    - Dst: schEnsureHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1247,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1255,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1258,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1263,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1266,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1268,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1270,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1192
    functionDepth: 9
    functionLinenumber: 1192
    functionLinenumberEnd: 1271
    functionName: schLaunchTaskImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schLaunchLocalTask
    - schProcessOnTaskFailure
    - atomic_load_64
    - SCH_GET_TASK_STATUS
    - SCH_IS_QUERY_JOB
    - atomic_add_fetch_32
    - schAcquireJob
    - schJobNeedToStop
    - schPushTaskToExecList
    - SCH_RET
    - schLaunchRemoteTask
    - SCH_TASK_TLOG
    - SCH_ERR_JRET
    - schReleaseJob
    - SCH_IS_LOCAL_EXEC_TASK
    - schHandleJobFailure
    - SCH_SET_TASK_STATUS
    - SCH_LOG_TASK_START_TS
    - SCH_LOCK_TASK
    - qDebug
    - schEnsureHbConnection
    - SCH_UNLOCK_TASK
    - taosMemoryFree
    - SCH_TASK_DLOG
    - jobTaskStatusStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchTaskImpl(void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1274,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1276,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1284,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1284,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1286,1
    - Dst: schLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1273
    functionDepth: 10
    functionLinenumber: 1273
    functionLinenumberEnd: 1290
    functionName: schAsyncLaunchTaskImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - taosAsyncExec
    - taosMemoryCalloc
    - schLaunchTaskImpl
    - SCH_ERR_RET
    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:1297,1
    - Dst: SCH_TASK_NEED_FLOW_CTRL
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1299,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1300,1
    - Dst: schCheckIncTaskFlowQuota
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1300,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1303,1
    - Dst: schAsyncLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1303,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1306,1
    - Dst: schAsyncLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1306,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1312,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1293
    functionDepth: 11
    functionLinenumber: 1293
    functionLinenumberEnd: 1313
    functionName: schLaunchTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schAsyncLaunchTaskImpl
    - SCH_SET_TASK_HANDLE
    - schProcessOnTaskFailure
    - SCH_RET
    - schCheckIncTaskFlowQuota
    - SCH_ERR_JRET
    - SCH_TASK_NEED_FLOW_CTRL
    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:1321,1
    - Dst: schProcessOnCbBegin
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1327,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1331,1
    - Dst: schLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1332,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1334,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1315
    functionDepth: 12
    functionLinenumber: 1315
    functionLinenumberEnd: 1338
    functionName: schHandleTimerEvent
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - qDebug
    - schLaunchTask
    - atomic_load_8
    - schProcessOnCbEnd
    - SCH_TASK_DLOG
    - schProcessOnCbBegin
    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:1346,1
    - Dst: schPushTaskToExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1346,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1347,1
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1350,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1352,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1353,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1356,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1361,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1363,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1366,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1373,1
    - Dst: schLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1340
    functionDepth: 12
    functionLinenumber: 1340
    functionLinenumberEnd: 1374
    functionName: schDelayLaunchTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 4
    functionsReached:
    - SCH_TASK_ELOG
    - SCH_SET_TASK_STATUS
    - SCH_ERR_RET
    - schPushTaskToExecList
    - schLaunchTask
    - SCH_RET
    - taosTmrReset
    - taosTmrStart
    - SCH_TASK_DLOG
    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:1377,1
    - Dst: schChkJobNeedFlowCtrl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1377,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1380,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1384,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1386,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pJob
    - level
    argTypes:
    - SSchJob*
    - SSchLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1376
    functionDepth: 13
    functionLinenumber: 1376
    functionLinenumberEnd: 1390
    functionName: schLaunchLevelTasks
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - SCH_ERR_RET
    - schChkJobNeedFlowCtrl
    - SCH_TASK_TLOG
    - schDelayLaunchTask
    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:1393,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1397,1
    - Dst: schStopTaskDelayTimer
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1402,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1405,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1406,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1407,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pJob
    - list
    argTypes:
    - SSchJob*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1392
    functionDepth: 7
    functionLinenumber: 1392
    functionLinenumberEnd: 1411
    functionName: schDropTaskInHashList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - schStopTaskDelayTimer
    - schDropTaskOnExecNode
    - SCH_UNLOCK_TASK
    - SCH_JOB_NEED_DROP
    - SCH_LOCK_TASK
    linkageType: ''
    returnType: void
    signature: void schDropTaskInHashList(SSchJob *pJob, SHashObj *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1416,1
    - Dst: schNotifyTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1416,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1418,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1422,1
    - Dst: schNotifyTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1423,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1424,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1431,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pJob
    - list
    - type
    - pCurrTask
    argTypes:
    - SSchJob*
    - SHashObj*
    - ETaskNotifyType
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1413
    functionDepth: 7
    functionLinenumber: 1413
    functionLinenumberEnd: 1435
    functionName: schNotifyTaskInHashList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - schNotifyTaskOnExecNode
    - SCH_ERR_RET
    - taosHashIterate
    - SCH_RET
    - SCH_UNLOCK_TASK
    - SCH_LOCK_TASK
    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:1438,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1438,1
    - Dst: SCH_FETCH_TYPE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1437
    functionDepth: 6
    functionLinenumber: 1437
    functionLinenumberEnd: 1439
    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:1446,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1447,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1449,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1453,1
    - Dst: qWorkerProcessLocalFetch
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1453,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1456,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1457,1
    - Dst: schHandleExplainRes
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1457,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1461,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1461,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1465,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1441
    functionDepth: 3
    functionLinenumber: 1441
    functionLinenumberEnd: 1468
    functionName: schExecLocalFetch
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - schProcessFetchRsp
    - taosArrayInit
    - SCH_IS_EXPLAIN_JOB
    - SCH_ERR_RET
    - qWorkerProcessLocalFetch
    - schHandleExplainRes
    - SCH_RET
    - SCH_ERR_JRET
    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:1474,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1476,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1480,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1482,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1483,1
    - Dst: schExecLocalFetch
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1483,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1485,1
    - Dst: schExecRemoteFetch
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1485,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1492,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1471
    functionDepth: 7
    functionLinenumber: 1471
    functionLinenumberEnd: 1493
    functionName: schLaunchFetchTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 2
    functionsReached:
    - atomic_load_ptr
    - SCH_JOB_DLOG
    - SCH_SET_TASK_STATUS
    - schProcessOnTaskFailure
    - schExecLocalFetch
    - SCH_RET
    - SCH_ERR_JRET
    - schExecRemoteFetch
    - SCH_IS_LOCAL_EXEC_TASK
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchFetchTask(SSchJob *pJob)
  - 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
    - getClientId
    - SCH_ERR_RET
    - taosGetDefaultHashFunction
    - qInfo
    - taosOpenRef
    - taosHashInit
    - qError
    - 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_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:74,1
    - Dst: schSwitchJobStatus
      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_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:80,1
    - Dst: schHandleOpEndEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pReq
    - pJobId
    argTypes:
    - SSchedulerReq*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: schedulerExecJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 7
    functionsReached:
    - schHandleOpBeginEvent
    - qDebug
    - SCH_RET
    - schInitJob
    - SCH_ERR_JRET
    - schHandleOpEndEvent
    - schSwitchJobStatus
    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:84,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:89,1
    - Dst: schHandleOpBeginEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:89,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:91,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:91,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:95,1
    - Dst: schHandleOpEndEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - jobId
    - pReq
    argTypes:
    - int64_t
    - SSchedulerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: schedulerFetchRows
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 6
    functionsReached:
    - schHandleOpBeginEvent
    - qDebug
    - SCH_RET
    - SCH_ERR_JRET
    - schHandleOpEndEvent
    - schSwitchJobStatus
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerFetchRows(int64_t jobId, SSchedulerReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:102,1
    - Dst: schHandleOpBeginEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:102,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:107,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:108,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:112,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:114,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:115,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:120,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:120,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:122,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:123,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:124,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:131,1
    - Dst: schHandleOpEndEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - jobId
    - pSub
    argTypes:
    - int64_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 132
    functionName: schedulerGetTasksStatus
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - taosArrayPush
    - schHandleOpBeginEvent
    - taosArrayGet
    - SCH_RET
    - SCH_ERR_JRET
    - schHandleOpEndEvent
    - qError
    - jobTaskStatusStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerGetTasksStatus(int64_t jobId, SArray *pSub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schCleanClusterHb
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 140
    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:148,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:151,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - policy
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: schedulerUpdatePolicy
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 0
    functionsReached:
    - qError
    - qDebug
    - 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: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:169,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:171,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:175,1
    - Dst: schHandleJobDrop
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:176,1
    - Dst: schReleaseJobEx
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - jobId
    - errCode
    argTypes:
    - int64_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: schedulerFreeJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 7
    functionsReached:
    - schAcquireJob
    - qTrace
    - tstrerror
    - SCH_JOB_TLOG
    - schHandleJobDrop
    - schReleaseJobEx
    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:187,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:190,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:198,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:200,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:200,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:203,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:207,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:209,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:212,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:213,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:215,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:217,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:219,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 223
    functionName: schedulerDestroy
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 7
    functionsReached:
    - SCH_LOCK
    - atomic_store_8
    - tstrerror
    - schFreeRpcCtx
    - SCH_UNLOCK
    - qWorkerDestroy
    - taosHashIterate
    - taosHashCleanup
    - qInfo
    - qWarn
    - taosIterateRef
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: void schedulerDestroy(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:227,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:229,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:230,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:233,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:233,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:236,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:237,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:240,1
    - Dst: schValidateAndBuildJob
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:240,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:242,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:243,1
    - Dst: qExecExplainBegin
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:243,1
    - Dst: schFreeJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 251
    functionName: schedulerValidatePlan
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 0
    functionsReached:
    - qExecExplainBegin
    - taosMemoryCalloc
    - SCH_IS_EXPLAIN_JOB
    - schValidateAndBuildJob
    - SCH_ERR_RET
    - SCH_JOB_ELOG
    - schFreeJobImpl
    - SCH_ERR_JRET
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerValidatePlan(SQueryPlan* pPlan)
  - BBCount: 6
    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_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:52,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: schUpdateJobErrCode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - SCH_JOB_DLOG
    - NEED_CLIENT_HANDLE_ERROR
    - atomic_store_32
    - atomic_load_32
    - atomic_val_compare_exchange_32
    linkageType: ''
    returnType: void
    signature: void schUpdateJobErrCode(SSchJob *pJob, int32_t errCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_JOB_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: schJobDone
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - SCH_GET_JOB_STATUS
    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:62,1
    - Dst: schJobDone
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:67,1
    - Dst: schUpdateJobErrCode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pJob
    - pStatus
    argTypes:
    - SSchJob*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: schJobNeedToStop
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 3
    functionsReached:
    - schJobDone
    - SCH_GET_JOB_STATUS
    - schUpdateJobErrCode
    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:85,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:92,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:98,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:111,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:119,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:127,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:134,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:139,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:143,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:143,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:144,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:147,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:151,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:151,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:151,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:161,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:161,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:161,1
    - Dst: SCH_JOB_ELOG
      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_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:165,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 63
    argCount: 2
    argNames:
    - pJob
    - newStatus
    argTypes:
    - SSchJob*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 166
    functionName: schUpdateJobStatus
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_JOB_DLOG
    - SCH_JOB_ELOG
    - SCH_GET_JOB_STATUS
    - atomic_val_compare_exchange_8
    - SCH_RET
    - SCH_ERR_JRET
    - jobTaskStatusStr
    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:170,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:172,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:173,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:177,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:179,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:180,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:184,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:185,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:189,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:190,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:193,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:195,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:196,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:201,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:203,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:204,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:207,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:208,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:208,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:209,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:212,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:214,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:218,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:219,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:220,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:223,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: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:232,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:234,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:235,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:239,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:240,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:245,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:247,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:248,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:251,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:252,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:252,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:253,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:256,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:258,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:259,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:262,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:263,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:264,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:267,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:270,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:274,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:276,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:276,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:277,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:280,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:282,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:283,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:286,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:288,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:288,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:289,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 97
    argCount: 2
    argNames:
    - pJob
    - planToTask
    argTypes:
    - SSchJob*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 298
    functionName: schBuildTaskRalation
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosHashGet
    - taosArrayPush
    - taosArrayInit
    - nodeType
    - SCH_TASK_ELOG
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_IS_QUERY_JOB
    - SCH_JOB_ELOG
    - taosArrayGetSize
    - SCH_TASK_TLOG
    - SCH_TASK_DLOG
    - LIST_LENGTH
    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:301,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:305,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: schAppendJobDataSrc
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - SCH_IS_DATA_BIND_QRY_TASK
    - SCH_ERR_RET
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: int32_t schAppendJobDataSrc(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:317,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:318,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:321,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:321,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:323,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:326,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:328,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:329,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:332,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:333,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:334,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:337,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:338,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:341,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:343,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:344,1
    - Dst: SCH_RESET_JOB_LEVEL_IDX
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:348,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:350,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:351,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:363,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:364,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:365,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:368,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:370,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:371,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:376,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:378,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:379,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:382,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:383,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:383,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:384,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:387,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:389,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:390,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:395,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:396,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:401,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:403,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:404,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:408,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:410,1
    - Dst: schValidateSubplan
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:410,1
    - Dst: schSetJobType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:411,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:414,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:416,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:417,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:420,1
    - Dst: schInitTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:420,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:422,1
    - Dst: schAppendJobDataSrc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:422,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:424,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:426,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:426,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:427,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:430,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:432,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:433,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:439,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:443,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:444,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:447,1
    - Dst: schBuildTaskRalation
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:447,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:452,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:455,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 98
    argCount: 2
    argNames:
    - pDag
    - pJob
    argTypes:
    - SQueryPlan*
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 456
    functionName: schValidateAndBuildJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - SCH_RESET_JOB_LEVEL_IDX
    - atomic_add_fetch_64
    - tstrerror
    - schValidateSubplan
    - SCH_GET_TASK_CAPACITY
    - nodesListGetNode
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_JOB_ELOG
    - schSetJobType
    - SCH_RET
    - SCH_ERR_JRET
    - schInitTask
    - schBuildTaskRalation
    - taosGetDefaultHashFunction
    - nodeType
    - SCH_TASK_ELOG
    - SCH_JOB_TLOG
    - qDebug
    - schAppendJobDataSrc
    - taosHashPut
    - taosHashInit
    - taosHashCleanup
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t schValidateAndBuildJob(SQueryPlan *pDag, SSchJob *pJob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:459,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:462,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:467,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:469,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pJob
    - pRes
    argTypes:
    - SSchJob*
    - SExecResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: schDumpJobExecRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - SCH_LOCK
    - tstrerror
    - SCH_JOB_DLOG
    - SCH_UNLOCK
    - atomic_load_32
    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:475,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:480,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:480,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:484,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:485,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:493,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:495,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:496,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:502,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:505,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:509,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pJob
    - pData
    argTypes:
    - SSchJob*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 512
    functionName: schDumpJobFetchRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - atomic_load_ptr
    - SCH_LOCK
    - SCH_JOB_DLOG
    - SCH_UNLOCK
    - SCH_JOB_ELOG
    - SCH_ERR_JRET
    - atomic_val_compare_exchange_ptr
    - taosMemoryCalloc
    - schSwitchJobStatus
    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:515,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:517,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:518,1
    - Dst: schDumpJobExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:521,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:523,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:523,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:524,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:525,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 528
    functionName: schNotifyUserExecRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - SCH_JOB_TLOG
    - SCH_RET
    - atomic_load_32
    - qError
    - 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:533,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:534,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:535,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:538,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:538,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:539,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:540,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 543
    functionName: schNotifyUserFetchRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - SCH_JOB_DLOG
    - atomic_store_32
    - atomic_load_32
    - schDumpJobFetchRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t schNotifyUserFetchRes(SSchJob *pJob)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:547,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:550,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:550,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:555,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:555,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:555,1
    - Dst: SCH_JOB_IN_SYNC_OP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:559,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:560,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:561,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:563,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:563,1
    - Dst: SCH_JOB_IN_ASYNC_EXEC_OP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:565,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:566,1
    - Dst: schNotifyUserExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:567,1
    - Dst: SCH_JOB_IN_ASYNC_FETCH_OP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:568,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:569,1
    - Dst: schNotifyUserFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:570,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:572,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:573,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:573,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:580,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - pJob
    - op
    argTypes:
    - SSchJob*
    - SCH_OP_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 545
    functionDepth: 4
    functionLinenumber: 545
    functionLinenumberEnd: 581
    functionName: schPostJobRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - SCH_LOCK
    - schGetOpStr
    - tsem_post
    - tstrerror
    - schNotifyUserFetchRes
    - SCH_JOB_TLOG
    - SCH_UNLOCK
    - SCH_JOB_ELOG
    - SCH_JOB_IN_ASYNC_FETCH_OP
    - SCH_JOB_IN_ASYNC_EXEC_OP
    - schNotifyUserExecRes
    - SCH_JOB_IN_SYNC_OP
    - 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:585,1
    - Dst: schUpdateJobErrCode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:589,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:591,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:593,1
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:596,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 583
    functionDepth: 5
    functionLinenumber: 583
    functionLinenumberEnd: 599
    functionName: schProcessOnJobFailure
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - SCH_JOB_DLOG
    - schPostJobRes
    - SCH_RET
    - atomic_load_32
    - schUpdateJobErrCode
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnJobFailure(SSchJob *pJob, int32_t errCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 609
    functionName: schHandleJobFailure
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 2
    functionsReached:
    - schSwitchJobStatus
    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:611,1
    - Dst: schProcessOnJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 611
    functionDepth: 6
    functionLinenumber: 611
    functionLinenumberEnd: 611
    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:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 621
    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:624,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:625,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:625,1
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 8
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: schProcessOnJobPartialSuccess
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - schPostJobRes
    - SCH_ERR_RET
    - schChkCurrentOp
    - schLaunchFetchTask
    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:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 633
    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:636,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:636,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:638,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:638,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:639,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:641,1
    - Dst: SCH_IS_INSERT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:643,1
    - Dst: schProcessOnDataFetched
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pRsp
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRetrieveTableRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 635
    functionDepth: 6
    functionLinenumber: 635
    functionLinenumberEnd: 648
    functionName: schProcessOnExplainDone
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 3
    functionsReached:
    - SCH_IS_INSERT_JOB
    - htobe64
    - atomic_store_64
    - SCH_SET_TASK_STATUS
    - schProcessOnDataFetched
    - atomic_store_ptr
    - SCH_TASK_DLOG
    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:651,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:656,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:658,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:660,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:662,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:662,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:663,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:667,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:669,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:670,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:673,1
    - Dst: SCH_TASK_ALREADY_LAUNCHED
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:677,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:681,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:681,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 650
    functionDepth: 13
    functionLinenumber: 650
    functionLinenumberEnd: 686
    functionName: schLaunchJobLowerLevel
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_TASK_ALREADY_LAUNCHED
    - atomic_sub_fetch_32
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_JOB_ELOG
    - atomic_load_32
    - taosArrayGetSize
    - SCH_IS_QUERY_JOB
    - schDelayLaunchTask
    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:690,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:693,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:695,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:696,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:700,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:700,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:701,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:702,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:703,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:706,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pJob
    - rsp
    argTypes:
    - SSchJob*
    - SQueryTableRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 714
    functionName: schSaveJobExecRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_LOCK
    - taosArrayDestroy
    - taosArrayInit
    - SCH_UNLOCK
    - SCH_ERR_RET
    - taosArrayGet
    - taosArrayGetSize
    - taosArrayAddBatch
    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:717,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:719,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pJob
    - taskId
    - pTask
    argTypes:
    - SSchJob*
    - uint64_t
    - SSchTask**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: schGetTaskInJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_ERR_RET
    - SCH_JOB_ELOG
    - schGetTaskFromList
    linkageType: ''
    returnType: int32_t
    signature: int32_t schGetTaskInJob(SSchJob *pJob, uint64_t taskId, SSchTask **pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:728,1
    - Dst: qExecStaticExplain
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:728,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:729,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:729,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:731,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:733,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:733,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:734,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:737,1
    - Dst: schLaunchLevelTasks
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 726
    functionDepth: 14
    functionLinenumber: 726
    functionLinenumberEnd: 741
    functionName: schLaunchJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - qExecStaticExplain
    - SCH_ERR_RET
    - taosArrayGet
    - SCH_JOB_ELOG
    - taosArrayGetSize
    - schLaunchLevelTasks
    - schSwitchJobStatus
    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:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 8
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: schDropJobAllTasks
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - schDropTaskInHashList
    linkageType: ''
    returnType: void
    signature: void schDropJobAllTasks(SSchJob *pJob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:750,1
    - Dst: schNotifyTaskInHashList
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pJob
    - pTask
    - type
    argTypes:
    - SSchJob*
    - SSchTask*
    - ETaskNotifyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 749
    functionDepth: 8
    functionLinenumber: 749
    functionLinenumberEnd: 751
    functionName: schNotifyJobAllTasks
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_RET
    - schNotifyTaskInHashList
    linkageType: ''
    returnType: int32_t
    signature: int32_t schNotifyJobAllTasks(SSchJob *pJob, SSchTask *pTask, ETaskNotifyType
      type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:762,1
    - Dst: schDropJobAllTasks
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:764,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:766,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:768,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:770,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:774,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:776,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:778,1
    - Dst: schFreeTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:782,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:785,1
    - Dst: schFreeFlowCtrl
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:788,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:790,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:793,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:795,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:796,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:797,1
    - Dst: qExplainFreeCtx
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:799,1
    - Dst: destroyQueryExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:801,1
    - Dst: qDestroyQueryPlan
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:803,1
    - Dst: nodesReleaseAllocatorWeakRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:804,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:806,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:807,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:808,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:809,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:811,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:811,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:813,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:816,1
    - Dst: schCloseJobRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:818,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:822,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - job
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 753
    functionDepth: 9
    functionLinenumber: 753
    functionLinenumberEnd: 823
    functionName: schFreeJobImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - tsem_destroy
    - taosArrayDestroy
    - tstrerror
    - nodesReleaseAllocatorWeakRef
    - qExplainFreeCtx
    - schCloseJobRef
    - taosArrayGet
    - SCH_JOB_ELOG
    - schFreeFlowCtrl
    - qError
    - qTrace
    - schDropJobAllTasks
    - taosMemoryFreeClear
    - atomic_sub_fetch_32
    - taosArrayGetSize
    - qDestroyQueryPlan
    - destroyQueryExecRes
    - schFreeTask
    - taosHashCleanup
    - taosMemoryFree
    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:828,1
    - Dst: SCH_IS_INSERT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:828,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:829,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:829,1
    - Dst: schChkCurrentOp
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:831,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:832,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:832,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:833,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:835,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:835,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:836,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:839,1
    - Dst: schDumpJobFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:839,1
    - Dst: schChkCurrentOp
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:842,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:843,1
    - Dst: schDumpJobFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:843,1
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:845,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:849,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 825
    functionDepth: 8
    functionLinenumber: 825
    functionLinenumberEnd: 850
    functionName: schJobFetchRows
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_IS_INSERT_JOB
    - tstrerror
    - SCH_IS_EXPLAIN_JOB
    - SCH_JOB_DLOG
    - SCH_ERR_RET
    - SCH_GET_JOB_STATUS_STR
    - schPostJobRes
    - schLaunchFetchTask
    - SCH_RET
    - schDumpJobFetchRes
    - qError
    - schChkCurrentOp
    - tsem_wait
    linkageType: ''
    returnType: int32_t
    signature: int32_t schJobFetchRows(SSchJob *pJob)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:855,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:857,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:858,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:864,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:867,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:869,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:870,1
    - Dst: nodesMakeAllocatorWeakRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:875,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:877,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:878,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:888,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:889,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:891,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:893,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:894,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:895,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:899,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:899,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:899,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:902,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:902,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:903,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:906,1
    - Dst: schValidateAndBuildJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:906,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:908,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:909,1
    - Dst: qExecExplainBegin
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:909,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:912,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:912,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:915,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:916,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:919,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:920,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:921,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:924,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:926,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:926,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:927,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:930,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:934,1
    - Dst: qDestroyQueryPlan
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:941,1
    - Dst: schFreeJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:943,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:945,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:947,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:947,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:951,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 80
    argCount: 2
    argNames:
    - pJobId
    - pReq
    argTypes:
    - int64_t*
    - SSchedulerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 852
    functionDepth: 10
    functionLinenumber: 852
    functionLinenumberEnd: 952
    functionName: schInitJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - taosAddRef
    - SCH_GET_TASK_CAPACITY
    - atomic_add_fetch_32
    - SCH_JOB_DLOG
    - SCH_JOB_ELOG
    - schFreeJobImpl
    - SCH_RET
    - qInfo
    - SCH_ERR_JRET
    - taosMemoryCalloc
    - qError
    - taosRemoveRef
    - qTrace
    - SCH_IS_EXPLAIN_JOB
    - schValidateAndBuildJob
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - nodesMakeAllocatorWeakRef
    - taosStrdup
    - qExecExplainBegin
    - qDestroyQueryPlan
    - SCH_JOB_TLOG
    - taosArrayDup
    - tsem_init
    - taosHashInit
    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:956,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:958,1
    - Dst: schLaunchJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:958,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:961,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:961,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:962,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:964,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:964,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:965,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:969,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pJob
    - pReq
    argTypes:
    - SSchJob*
    - SSchedulerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 954
    functionDepth: 15
    functionLinenumber: 954
    functionLinenumberEnd: 972
    functionName: schExecJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - qTrace
    - tstrerror
    - SCH_JOB_DLOG
    - SCH_ERR_RET
    - SCH_GET_JOB_STATUS_STR
    - schLaunchJob
    - qError
    - tsem_wait
    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: 984
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 984
    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:988,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:990,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:992,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:992,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:993,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:996,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:997,1
    - Dst: schUpdateJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pJob
    - rspCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 1001
    functionName: schChkResetJobRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_LOCK
    - tstrerror
    - SCH_UNLOCK
    - SCH_ERR_RET
    - SCH_JOB_ELOG
    - schUpdateJobStatus
    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:1005,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1008,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1009,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1013,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1015,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1016,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1020,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1021,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1029,1
    - Dst: schChkResetJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1029,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1031,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1034,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1036,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1037,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1043,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1045,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1047,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1048,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1051,1
    - Dst: schChkUpdateRedirectCtx
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1053,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1055,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1056,1
    - Dst: schResetTaskForRetry
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1059,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1061,1
    - Dst: qClearSubplanExecutionNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1062,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1063,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1065,1
    - Dst: SCH_RESET_JOB_LEVEL_IDX
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1069,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1070,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: 1073
      start: 1003
    functionDepth: 5
    functionLinenumber: 1003
    functionLinenumberEnd: 1073
    functionName: schResetJobForRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - schChkUpdateRedirectCtx
    - SCH_RESET_JOB_LEVEL_IDX
    - atomic_add_fetch_64
    - qClearSubplanExecutionNode
    - atomic_val_compare_exchange_8
    - atomic_load_64
    - SCH_JOB_DLOG
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_UNLOCK
    - SCH_JOB_ELOG
    - SCH_RET
    - schChkResetJobRetry
    - taosArrayGetSize
    - schResetTaskForRetry
    - SCH_LOCK_TASK
    - SCH_LOCK
    - taosUsleep
    - SCH_UNLOCK_TASK
    - SCH_TASK_DLOG
    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:1079,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1080,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1082,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1083,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1083,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1086,1
    - Dst: schResetJobForRetry
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1086,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1087,1
    - Dst: schLaunchJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1087,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1089,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1090,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1092,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1095,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1096,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1099,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pMsg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1075
    functionDepth: 15
    functionLinenumber: 1075
    functionLinenumberEnd: 1102
    functionName: schHandleJobRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - atomic_store_8
    - tstrerror
    - taosMemoryFreeClear
    - SCH_LOCK_TASK
    - schProcessOnTaskFailure
    - SCH_RET
    - schLaunchJob
    - SCH_ERR_JRET
    - SCH_UNLOCK_TASK
    - SCH_TASK_DLOG
    - schResetJobForRetry
    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:1106,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pJob
    - op
    - sync
    argTypes:
    - SSchJob*
    - int32_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1115
    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:1123,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1124,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1126,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1126,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1126,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1127,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1129,1
    - Dst: schDumpJobExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1130,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1135,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1136,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1138,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1138,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1138,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1139,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1141,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1152,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1155,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1155,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1155,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: 1156
      start: 1117
    functionDepth: 3
    functionLinenumber: 1117
    functionLinenumberEnd: 1156
    functionName: schProcessOnOpEnd
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_LOCK
    - schGetOpStr
    - schHandleJobFailure
    - tstrerror
    - schDumpJobExecRes
    - SCH_UNLOCK
    - SCH_JOB_TLOG
    - SCH_JOB_ELOG
    - atomic_val_compare_exchange_32
    - 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:1160,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1164,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1165,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1166,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1166,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1167,1
    - Dst: schDirectPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1168,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1169,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1172,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1172,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1175,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1178,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1179,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1180,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1180,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1181,1
    - Dst: schDirectPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1182,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1183,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1186,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1186,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1193,1
    - Dst: SCH_JOB_NEED_FETCH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1195,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1196,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1196,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1197,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1201,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1201,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1202,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1208,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1209,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1213,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1214,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1217,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1218,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1218,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1218,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1219,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 3
    argNames:
    - pJob
    - type
    - pReq
    argTypes:
    - SSchJob*
    - SCH_OP_TYPE
    - SSchedulerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1158
    functionDepth: 3
    functionLinenumber: 1158
    functionLinenumberEnd: 1223
    functionName: schProcessOnOpBegin
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_LOCK
    - schGetOpStr
    - SCH_JOB_DLOG
    - SCH_UNLOCK
    - SCH_ERR_RET
    - qDebug
    - SCH_JOB_ELOG
    - SCH_GET_JOB_STATUS
    - schDirectPostJobRes
    - SCH_JOB_NEED_FETCH
    - SCH_GET_JOB_STATUS_STR
    - schJobNeedToStop
    - atomic_val_compare_exchange_32
    - jobTaskStatusStr
    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:1227,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1231,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pJob
    - pTask
    - errCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1225
    functionDepth: 3
    functionLinenumber: 1225
    functionLinenumberEnd: 1237
    functionName: schProcessOnCbEnd
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 3
    functionsReached:
    - schHandleJobFailure
    - SCH_UNLOCK_TASK
    - schReleaseJob
    linkageType: ''
    returnType: void
    signature: void schProcessOnCbEnd(SSchJob *pJob, SSchTask *pTask, int32_t errCode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1246,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1248,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1249,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1252,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1253,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1253,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1254,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1257,1
    - Dst: schGetTaskInJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1257,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1259,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1269,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1272,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - job
    - task
    - qId
    - rId
    - tId
    argTypes:
    - SSchJob**
    - SSchTask**
    - uint64_t
    - int64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1239
    functionDepth: 3
    functionLinenumber: 1239
    functionLinenumberEnd: 1276
    functionName: schProcessOnCbBegin
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 3
    functionsReached:
    - schAcquireJob
    - SCH_ERR_RET
    - schJobNeedToStop
    - schReleaseJob
    - SCH_UNLOCK_TASK
    - SCH_RET
    - SCH_ERR_JRET
    - schGetTaskInJob
    - qWarn
    - SCH_LOCK_TASK
    - SCH_TASK_DLOG
    - jobTaskStatusStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnCbBegin(SSchJob **job, SSchTask **task, uint64_t
      qId, int64_t rId, 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: 1288
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1288
    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
    - initMetricsManager
    - ASSERT_EQ
    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:
    - snprintf
    - addWriteMetrics
    - MetricsTest::PrepareRawWriteMetrics
    - ASSERT_EQ
    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_NE
    - taosHashInit
    - EXPECT_EQ
    - taosHashPut
    - taosGetDefaultHashFunction
    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:
    - taos_counter_get_keys_size
    - taos_counter_get_vgroup_ids
    - taosMemoryFree
    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:
    - MetricsTest::PrepareRawWriteMetrics
    - snprintf
    - addWriteMetrics
    - size
    - ASSERT_EQ
    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:
    - snprintf
    - ASSERT_TRUE
    - MetricsTest::CheckVgroupMetricsExist
    - ASSERT_FALSE
    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:
    - PrepareRawWriteMetrics
    - ASSERT_TRUE
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_EQ
    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:
    - PrepareRawWriteMetrics
    - ASSERT_TRUE
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_EQ
    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:
    - PrepareRawDnodeMetrics
    - addDnodeMetrics
    - ASSERT_EQ
    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:
    - PrepareRawWriteMetrics
    - snprintf
    - ASSERT_TRUE
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_EQ
    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:
    - cleanupExpiredMetrics
    - ASSERT_EQ
    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:
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - snprintf
    - ASSERT_TRUE
    - std::vector::size
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_NE
    - ASSERT_EQ
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    - ASSERT_FALSE
    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:
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - taosHashPut
    - snprintf
    - ASSERT_TRUE
    - std::vector::size
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_NE
    - ASSERT_EQ
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    - ASSERT_FALSE
    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:
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - taosHashPut
    - snprintf
    - ASSERT_TRUE
    - std::vector::size
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_NE
    - ASSERT_EQ
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    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:
    - cleanupExpiredMetrics
    - taosHashInit
    - taosHashPut
    - ASSERT_NE
    - ASSERT_EQ
    - taosGetDefaultHashFunction
    - taosHashCleanup
    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:
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - CreateValidVgroupsHash
    - ASSERT_TRUE
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_EQ
    - taosHashCleanup
    - ASSERT_FALSE
    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:
    - snprintf
    - ASSERT_TRUE
    - SimulateHighLoadMetrics
    - CheckVgroupMetricsExist
    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:
    - std::vector::emplace_back
    - snprintf
    - ASSERT_TRUE
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - join
    - ASSERT_EQ
    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:
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_EQ
    - addDnodeMetrics
    - ASSERT_FALSE
    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:
    - PrepareRawWriteMetrics
    - ASSERT_TRUE
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_EQ
    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:
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - taosHashPut
    - ASSERT_TRUE
    - std::vector::size
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_NE
    - ASSERT_EQ
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    - std::vector::push_back
    - ASSERT_FALSE
    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:
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - taosHashPut
    - ASSERT_TRUE
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_NE
    - ASSERT_EQ
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    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:
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - taosHashPut
    - ASSERT_TRUE
    - std::vector::size
    - addWriteMetrics
    - ASSERT_NE
    - CheckVgroupMetricsExist
    - ASSERT_EQ
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    - ASSERT_FALSE
    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:
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - taosHashPut
    - ASSERT_TRUE
    - addWriteMetrics
    - CheckVgroupMetricsExist
    - ASSERT_NE
    - ASSERT_EQ
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    - ASSERT_FALSE
    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:
    - taosHashGet
    - taos_counter_get_vgroup_ids
    - taos_counter_get_keys_size
    - uError
    - METRICS_DELETE_COUNTER
    - taosMemoryFree
    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_must_register_metric
    - taos_gauge_new
    - taos_counter_new
    - taos_collector_registry_default_init
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:146,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:147,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:148,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:153,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:154,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:155,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:156,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:157,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:158,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:159,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:160,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:161,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:162,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:166,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:167,1
    - Dst: taos_counter_add
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:168,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
    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: 178
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 178
    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:187,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:188,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:192,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:193,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:194,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:195,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: 198
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 198
    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:203,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:204,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:205,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:206,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:207,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:208,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:209,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:210,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:211,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:212,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:213,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:214,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:215,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:216,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:217,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:218,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - pValidVgroups
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 223
    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:
    - nodeType
    - stoi
    - string::c_str
    - to_string
    - nodesMakeNode
    - nodesDestroyNode
    - 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:
    - nodesRewriteExprPostOrder
    - nodeType
    - EXPECT_EQ
    - string
    - nodesMakeNode
    - 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_TRUE
    - ASSERT_EQ
    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: 15
    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:
    - nodesSortList
    - assert_sort_result
    - ASSERT_EQ
    - nodesListMakeAppend
    - nodesDestroyList
    - nodesMakeNode
    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:
    - nodesMatchNode
    - strcpy
    - ASSERT_TRUE
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    - ASSERT_EQ
    - nodesDestroyNode
    - nodesCloneNode
    - taosStrdup
    - ASSERT_FALSE
    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: 1
    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
    - registerCheckFunc
    - ASSERT_EQ
    - nodesMakeNode
    - 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
    - registerCheckFunc
    - ASSERT_EQ
    - nodesMakeNode
    - 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
    - registerCheckFunc
    - ASSERT_EQ
    - nodesMakeNode
    - 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
    - registerCheckFunc
    - ASSERT_EQ
    - nodesMakeNode
    - 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
    - registerCheckFunc
    - ASSERT_EQ
    - nodesMakeNode
    - 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
    - registerCheckFunc
    - ASSERT_EQ
    - nodesMakeNode
    - 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
    - registerCheckFunc
    - ASSERT_EQ
    - nodesMakeNode
    - 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
    - registerCheckFunc
    - ASSERT_EQ
    - nodesMakeNode
    - 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
    - registerCheckFunc
    - ASSERT_EQ
    - nodesMakeNode
    - 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
    - registerCheckFunc
    - ASSERT_EQ
    - nodesMakeNode
    - 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: 51
    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:124,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:130,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:133,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:138,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:142,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:144,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:156,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:158,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: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:169,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:175,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:177,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:180,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:189,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: walkExprs
      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: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:207,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:213,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:215,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:218,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:224,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 157
    argCount: 4
    argNames:
    - pNode
    - order
    - walker
    - pContext
    argTypes:
    - SNode*
    - ETraversalOrder
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 232
    functionName: dispatchExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - walkExpr
    - nodeType
    - walkExprs
    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:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pNode
    - order
    - walker
    - pContext
    argTypes:
    - SNode*
    - ETraversalOrder
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 236
    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:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pNodeList
    - order
    - walker
    - pContext
    argTypes:
    - SNodeList*
    - ETraversalOrder
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 247
    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:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 15
    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:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pNode
    - walker
    - pContext
    argTypes:
    - SNode*
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 252
    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:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pNodeList
    - walker
    - pContext
    argTypes:
    - SNodeList*
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: nodesWalkExprs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    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:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pNode
    - walker
    - pContext
    argTypes:
    - SNode*
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 262
    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:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pList
    - walker
    - pContext
    argTypes:
    - SNodeList*
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 267
    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:271,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:274,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:277,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:282,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:285,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 292
    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:295,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:297,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
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: checkParamIsFunc
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: void
    signature: void checkParamIsFunc(SFunctionNode* pFunc)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: rewriter
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:320,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:327,1
    - Dst: markOpLeftAndRightAsParam
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:335,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:336,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:338,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:343,1
    - Dst: checkParamIsFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:347,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:348,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:357,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:359,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:362,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:367,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:374,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:376,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:379,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:382,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:388,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:390,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:396,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:401,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:407,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:410,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:415,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:419,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:421,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:424,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:429,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:432,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:436,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:438,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:444,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:446,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:449,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:455,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:463,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:469,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:471,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:477,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:479,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:487,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:493,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:495,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:501,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:506,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:508,1
    - Dst: rewriter
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:518,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 185
    argCount: 4
    argNames:
    - pRawNode
    - order
    - rewriter
    - pContext
    argTypes:
    - SNode**
    - ETraversalOrder
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 522
    functionName: rewriteExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 1
    functionsReached:
    - markOpLeftAndRightAsParam
    - rewriteExprs
    - nodeType
    - rewriteExpr
    - checkParamIsFunc
    - rewriter
    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:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pNodeList
    - order
    - rewriter
    - pContext
    argTypes:
    - SNodeList*
    - ETraversalOrder
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 533
    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:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 531
    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:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pNode
    - rewriter
    - pContext
    argTypes:
    - SNode**
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    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:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pList
    - rewriter
    - pContext
    argTypes:
    - SNodeList*
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    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:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pNode
    - rewriter
    - pContext
    argTypes:
    - SNode**
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 545
    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:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pList
    - rewriter
    - pContext
    argTypes:
    - SNodeList*
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:558,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:559,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:561,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:563,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:566,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:567,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:569,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:570,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:574,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:576,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:580,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:582,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - pSelect
    - clause
    - walker
    - pContext
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 551
    functionDepth: 4
    functionLinenumber: 551
    functionLinenumberEnd: 589
    functionName: nodesWalkSelectStmtImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - nodesWalkExprs
    - nodeType
    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:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSelect
    - clause
    - walker
    - pContext
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 5
    functionLinenumber: 591
    functionLinenumberEnd: 593
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:602,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:603,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:605,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:607,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:610,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:611,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:612,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:613,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:617,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:619,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:623,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:625,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:626,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - pSelect
    - clause
    - rewriter
    - pContext
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 632
    functionName: nodesRewriteSelectStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExpr
    - nodesRewriteExprs
    - nodeType
    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: 15
    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: 15
    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_STRING_FIELD
    - MATCH_NODE_LIST_FIELD
    - MATCH_SCALAR_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:
    - nodeType
    - whenThenNodeMatch
    - functionNodeMatch
    - logicConditionNodeMatch
    - columnNodeMatch
    - valueNodeMatch
    - operatorNodeMatch
    - 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: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    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: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    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: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    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: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    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: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    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: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    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: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    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: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    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: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    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: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    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:73,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:73,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 84
    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:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    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: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    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:91,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:92,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SColumnNode*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    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:99,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:100,1
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:114,1
    - Dst: COMPARE_VARDATA_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:120,1
    - Dst: COMPARE_BLOBDATA_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SValueNode*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 132
    functionName: valueNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_SCALAR_FIELD
    - COMPARE_VARDATA_FIELD
    - COMPARE_STRING_FIELD
    - COMPARE_OBJECT_FIELD
    - COMPARE_BLOBDATA_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:135,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:136,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SOperatorNode*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 139
    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:142,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SLogicConditionNode*
    - SLogicConditionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    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:148,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:149,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 161
    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:164,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SWhenThenNode*
    - SWhenThenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    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:170,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:171,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SCaseWhenNode*
    - SCaseWhenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: caseWhenNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_NODE_FIELD
    - COMPARE_NODE_LIST_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:177,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SGroupingSetNode*
    - SGroupingSetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 180
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:191,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:191,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:195,1
    - Dst: columnNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:197,1
    - Dst: valueNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:199,1
    - Dst: operatorNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:201,1
    - Dst: logicConditionNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:203,1
    - Dst: functionNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:205,1
    - Dst: whenThenNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:207,1
    - Dst: caseWhenNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:209,1
    - Dst: groupingSetNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 224
    functionName: nodesEqualNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 5
    functionsReached:
    - functionNodeEqual
    - columnNodeEqual
    - nodeType
    - logicConditionNodeEqual
    - operatorNodeEqual
    - caseWhenNodeEqual
    - whenThenNodeEqual
    - groupingSetNodeEqual
    - valueNodeEqual
    linkageType: ''
    returnType: bool
    signature: bool nodesEqualNode(const SNode* a, const SNode* b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:231,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: nodeListNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool nodeListNodeEqual(const SNodeList* a, const SNode* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 15
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(na, a)
  - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SExprNode*
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: exprNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_CHAR_ARRAY_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:117,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:118,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c: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_CHAR_ARRAY_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_SCALAR_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_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:138,1
    - Dst: COPY_CHAR_ARRAY_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SColumnNode*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: columnNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_SCALAR_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:145,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:146,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:147,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SColumnDefNode*
    - SColumnDefNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: columnDefNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    - COPY_OBJECT_FIELD
    - COPY_CHAR_ARRAY_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:153,1
    - Dst: COPY_CHAR_POINT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:154,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:155,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:156,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c: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:168,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:175,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:179,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:185,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:191,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:192,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:196,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:200,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:201,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:205,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:209,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:212,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:214,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:218,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:219,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:223,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SValueNode*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 229
    functionName: valueNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_CHAR_POINT_FIELD
    - varDataTLen
    - COPY_SCALAR_FIELD
    - taosMemCalloc
    - memcpy
    - COPY_BASE_OBJECT_FIELD
    - getJsonValueLen
    - taosMemoryCalloc
    - blobDataTLen
    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:232,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:233,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:234,1
    - Dst: CLONE_NODE_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SOperatorNode*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: operatorNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - COPY_SCALAR_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:241,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:242,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLogicConditionNode*
    - SLogicConditionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: logicConditionNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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:248,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:249,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:250,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:251,1
    - Dst: CLONE_NODE_LIST_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: COPY_SCALAR_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_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:258,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: functionNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_BASE_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:264,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:265,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:266,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:267,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:268,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:269,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STableNode*
    - STableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 272
    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_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:275,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:276,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: tableMetaClone
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - TABLE_META_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:285,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:286,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - SVgroupsInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: vgroupsInfoClone
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - VGROUPS_INFO_SIZE
    linkageType: ''
    returnType: SVgroupsInfo
    signature: SVgroupsInfo * vgroupsInfoClone(const SVgroupsInfo* pSrc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:297,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:302,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:303,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:304,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:310,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:315,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 323
    functionName: functParamClone
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosArrayGet
    - memcpy
    - taosArrayDestroyEx
    - TARRAY_SIZE
    - 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:327,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:328,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:329,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:330,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRealTableNode*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: realTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_SCALAR_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:336,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STempTableNode*
    - STempTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 339
    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:342,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:343,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:344,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:345,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:346,1
    - Dst: CLONE_NODE_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: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:350,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:351,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:354,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:355,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SJoinTableNode*
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 358
    functionName: joinTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - COPY_SCALAR_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:361,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:362,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:363,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPlaceHolderTableNode*
    - SPlaceHolderTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: placeHolderTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_SCALAR_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:369,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:370,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STargetNode*
    - STargetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: targetNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_SCALAR_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:376,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SGroupingSetNode*
    - SGroupingSetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 379
    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:382,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:383,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SOrderByExprNode*
    - SOrderByExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: orderByExprNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_SCALAR_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:389,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLimitNode*
    - SLimitNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 392
    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:395,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:396,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SStateWindowNode*
    - SStateWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 399
    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:402,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:403,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:404,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SEventWindowNode*
    - SEventWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 407
    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:410,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:411,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SCountWindowNode*
    - SCountWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: countWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_SCALAR_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:417,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:418,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SAnomalyWindowNode*
    - SAnomalyWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: anomalyWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_CHAR_ARRAY_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: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    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:430,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:431,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:432,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:433,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:434,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SIntervalWindowNode*
    - SIntervalWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: intervalWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t intervalWindowNodeCopy(const SIntervalWindowNode* pSrc, SIntervalWindowNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:440,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SNodeListNode*
    - SNodeListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: nodeListNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_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:446,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:447,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:448,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SFillNode*
    - SFillNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: fillNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_OBJECT_FIELD
    - COPY_SCALAR_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: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: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWhenThenNode*
    - SWhenThenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 458
    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: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
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:464,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SCaseWhenNode*
    - SCaseWhenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: caseWhenNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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: 479
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 479
    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:482,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:483,1
    - Dst: copyHintValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SHintNode*
    - SHintNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: hintNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - copyHintValue
    - COPY_SCALAR_FIELD
    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:488,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:489,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWindowOffsetNode*
    - SWindowOffsetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 492
    functionName: windowOffsetCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_SCALAR_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:495,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:496,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:497,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVirtualTableNode*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 500
    functionName: virtualTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_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:503,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:504,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:505,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STimeRangeNode*
    - STimeRangeNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: timeRangeNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t timeRangeNodeCopy(const STimeRangeNode* pSrc, STimeRangeNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_LIST_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: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:513,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:514,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:515,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:516,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:517,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:518,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:519,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:520,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:521,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:522,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:523,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:524,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 527
    functionName: logicNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicNodeCopy(const SLogicNode* pSrc, SLogicNode* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:530,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:531,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:532,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:533,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:534,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:535,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:536,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:537,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:538,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:539,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:540,1
    - Dst: COPY_OBJECT_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:543,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:544,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:545,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:546,1
    - Dst: COPY_SCALAR_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:549,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:550,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:551,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:552,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c: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:556,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:557,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:558,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:559,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:560,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:561,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:562,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:563,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:564,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:565,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:566,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:567,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:568,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:569,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:570,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:571,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:572,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SScanLogicNode*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 575
    functionName: logicScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    - CLONE_OBJECT_FIELD
    - COPY_BASE_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:578,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:579,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:580,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:581,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:582,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:583,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:584,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:585,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:586,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVirtualScanLogicNode*
    - SVirtualScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 589
    functionName: logicVirtualScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    - CLONE_OBJECT_FIELD
    - COPY_BASE_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: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: COPY_SCALAR_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: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:597,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:598,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:599,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:600,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:601,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:602,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:603,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:604,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:605,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:606,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:607,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:608,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:609,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:610,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:611,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:612,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:613,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:614,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:615,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:616,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:617,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:618,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:619,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:620,1
    - Dst: CLONE_NODE_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_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SJoinLogicNode*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 625
    functionName: logicJoinCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_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:628,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:629,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:630,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:631,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:632,1
    - Dst: COPY_SCALAR_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: COPY_SCALAR_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SAggLogicNode*
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 640
    functionName: logicAggCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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:643,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:644,1
    - Dst: COPY_CHAR_ARRAY_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SProjectLogicNode*
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 649
    functionName: logicProjectCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_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: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: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:655,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:656,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:657,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:658,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:659,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:660,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:661,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:662,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:663,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:664,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVnodeModifyLogicNode*
    - SVnodeModifyLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 667
    functionName: logicVnodeModifCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_OBJECT_FIELD
    - COPY_BASE_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:670,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:671,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:672,1
    - Dst: COPY_SCALAR_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SExchangeLogicNode*
    - SExchangeLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 676
    functionName: logicExchangeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - COPY_SCALAR_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:679,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:680,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:681,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:682,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:683,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:684,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c: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: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:688,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:689,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SMergeLogicNode*
    - SMergeLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 692
    functionName: logicMergeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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:695,1
    - Dst: COPY_SCALAR_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: COPY_SCALAR_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_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:703,1
    - Dst: CLONE_NODE_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: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:706,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:707,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:708,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:709,1
    - Dst: CLONE_NODE_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: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:712,1
    - Dst: COPY_SCALAR_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_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:715,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:716,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:717,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:718,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:719,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:720,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:721,1
    - Dst: COPY_CHAR_ARRAY_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: CLONE_NODE_LIST_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWindowLogicNode*
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 729
    functionName: logicWindowCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_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:732,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:733,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:734,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:735,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:736,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:737,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:738,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:739,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SFillLogicNode*
    - SFillLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: logicFillCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_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:745,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:746,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:747,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:748,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSortLogicNode*
    - SSortLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 751
    functionName: logicSortCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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:754,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:755,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:756,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:757,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:758,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:759,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:760,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPartitionLogicNode*
    - SPartitionLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 763
    functionName: logicPartitionCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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:766,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SIndefRowsFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: logicIndefRowsFuncCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_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:772,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:773,1
    - Dst: COPY_OBJECT_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: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:779,1
    - Dst: CLONE_NODE_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: 13
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SInterpFuncLogicNode*
    - SInterpFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 784
    functionName: logicInterpFuncCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_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:787,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SForecastFuncLogicNode*
    - SForecastFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 790
    functionName: logicForecastFuncCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_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:793,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:794,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:795,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:796,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:797,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SGroupCacheLogicNode*
    - SGroupCacheLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: logicGroupCacheCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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: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: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:807,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:808,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:809,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:810,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:811,1
    - Dst: COPY_SCALAR_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_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:815,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:816,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:817,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDynQueryCtrlLogicNode*
    - SDynQueryCtrlLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: logicDynQueryCtrlCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_OBJECT_FIELD
    - COPY_BASE_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:823,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:825,1
    - Dst: COPY_SCALAR_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: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:828,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLogicSubplan*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 831
    functionName: logicSubplanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_OBJECT_FIELD
    - COPY_SCALAR_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:835,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:836,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:837,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:838,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:839,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPhysiNode*
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 842
    functionName: physiNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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:845,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:846,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:847,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:848,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:849,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:850,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:851,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SScanPhysiNode*
    - SScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 854
    functionName: physiScanCopy
    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
    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:857,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:858,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:859,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:860,1
    - Dst: CLONE_NODE_LIST_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
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:863,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:864,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVirtualScanPhysiNode*
    - SVirtualScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 867
    functionName: physiVirtualTableScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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:870,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STagScanPhysiNode*
    - STagScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 873
    functionName: physiTagScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - COPY_SCALAR_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:876,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:877,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:878,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:879,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:880,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:881,1
    - Dst: CLONE_NODE_LIST_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:884,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:885,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:886,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:887,1
    - Dst: COPY_SCALAR_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: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:893,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:894,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STableScanPhysiNode*
    - STableScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 897
    functionName: physiTableScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_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:900,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:901,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:902,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:903,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSystemTableScanPhysiNode*
    - SSystemTableScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 906
    functionName: physiSysTableScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    - COPY_SCALAR_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:909,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:910,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:911,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:912,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:913,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:914,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:915,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:916,1
    - Dst: COPY_SCALAR_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWindowPhysiNode*
    - SWindowPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 920
    functionName: physiWindowCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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:923,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:924,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:925,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:926,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:927,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:928,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SIntervalPhysiNode*
    - SIntervalPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 931
    functionName: physiIntervalCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    - COPY_SCALAR_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:934,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSessionWinodwPhysiNode*
    - SSessionWinodwPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 937
    functionName: physiSessionCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - COPY_SCALAR_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:940,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:941,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:942,1
    - Dst: CLONE_NODE_LIST_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPartitionPhysiNode*
    - SPartitionPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 947
    functionName: physiPartitionCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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: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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SProjectPhysiNode*
    - SProjectPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 956
    functionName: physiProjectCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_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: 961
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 961
    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:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataDispatcherNode*
    - SDataDispatcherNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 966
    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:969,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:970,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:971,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:972,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:973,1
    - Dst: COPY_CHAR_ARRAY_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
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:976,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SQueryInserterNode*
    - SQueryInserterNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 979
    functionName: physiQueryInserterCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_BASE_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:982,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:983,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:984,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:985,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:986,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataDeleterNode*
    - SDataDeleterNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 989
    functionName: physiDeleterCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_SCALAR_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:992,1
    - Dst: COPY_OBJECT_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_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:997,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:998,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:999,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1000,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1001,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1002,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1003,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1004,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1005,1
    - Dst: COPY_SCALAR_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1012,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSubplan*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1015
    functionName: physiSubplanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_NODE_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:1019,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1020,1
    - Dst: COPY_SCALAR_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataBlockDescNode*
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1025
    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:1028,1
    - Dst: COPY_OBJECT_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSlotDescNode*
    - SSlotDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1034
    functionName: slotDescCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_OBJECT_FIELD
    - COPY_SCALAR_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:1037,1
    - Dst: COPY_SCALAR_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1040,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1041,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1042,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDownstreamSourceNode*
    - SDownstreamSourceNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1045
    functionName: downstreamSourceCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_OBJECT_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t downstreamSourceCopy(const SDownstreamSourceNode* pSrc, SDownstreamSourceNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1048,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1049,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1050,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1051,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1052,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1053,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1054,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1055,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1056,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1059,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1060,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1061,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1062,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1063,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1064,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1065,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1066,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1067,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1068,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1069,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1070,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1071,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1072,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1073,1
    - Dst: COPY_SCALAR_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_SCALAR_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_SCALAR_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1082,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1083,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1084,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1085,1
    - Dst: COPY_SCALAR_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_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1089,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1090,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSelectStmt*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1094
    functionName: selectStmtCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t selectStmtCopy(const SSelectStmt* pSrc, SSelectStmt* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1097,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1098,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1099,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1100,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1101,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1102,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1103,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1104,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1105,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSetOperator*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1109
    functionName: setOperatorCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t setOperatorCopy(const SSetOperator* pSrc, SSetOperator* pDst)
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1117,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1117,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1122,1
    - Dst: columnNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1124,1
    - Dst: columnDefNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1127,1
    - Dst: valueNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1130,1
    - Dst: operatorNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1133,1
    - Dst: logicConditionNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1136,1
    - Dst: functionNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1139,1
    - Dst: realTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1142,1
    - Dst: tempTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1145,1
    - Dst: joinTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1148,1
    - Dst: placeHolderTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1151,1
    - Dst: groupingSetNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1154,1
    - Dst: orderByExprNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1157,1
    - Dst: limitNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1160,1
    - Dst: stateWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1163,1
    - Dst: eventWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1166,1
    - Dst: countWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1169,1
    - Dst: anomalyWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1172,1
    - Dst: sessionWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1175,1
    - Dst: intervalWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1178,1
    - Dst: nodeListNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1181,1
    - Dst: fillNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1184,1
    - Dst: targetNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1187,1
    - Dst: dataBlockDescCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1190,1
    - Dst: slotDescCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1193,1
    - Dst: downstreamSourceCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1196,1
    - Dst: whenThenNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1202,1
    - Dst: caseWhenNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1205,1
    - Dst: hintNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1208,1
    - Dst: windowOffsetCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1211,1
    - Dst: virtualTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1214,1
    - Dst: timeRangeNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1217,1
    - Dst: setOperatorCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1220,1
    - Dst: selectStmtCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1223,1
    - Dst: logicScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1226,1
    - Dst: logicJoinCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1229,1
    - Dst: logicAggCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1232,1
    - Dst: logicProjectCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1235,1
    - Dst: logicVnodeModifCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1238,1
    - Dst: logicExchangeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1241,1
    - Dst: logicMergeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1244,1
    - Dst: logicWindowCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1247,1
    - Dst: logicFillCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1250,1
    - Dst: logicSortCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1253,1
    - Dst: logicPartitionCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1256,1
    - Dst: logicIndefRowsFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1259,1
    - Dst: logicInterpFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1262,1
    - Dst: logicForecastFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1265,1
    - Dst: logicForecastFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1268,1
    - Dst: logicGroupCacheCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1271,1
    - Dst: logicDynQueryCtrlCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1274,1
    - Dst: logicVirtualScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1277,1
    - Dst: logicSubplanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1280,1
    - Dst: physiTagScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1283,1
    - Dst: physiTableScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1289,1
    - Dst: physiSysTableScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1292,1
    - Dst: physiIntervalCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1296,1
    - Dst: physiPartitionCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1299,1
    - Dst: physiVirtualTableScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1302,1
    - Dst: physiProjectCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1305,1
    - Dst: physiDispatchCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1308,1
    - Dst: physiQueryInserterCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1311,1
    - Dst: physiDeleterCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1314,1
    - Dst: physiSubplanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1317,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1325,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1326,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1326,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1326,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 215
    argCount: 2
    argNames:
    - pNode
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1111
    functionDepth: 2
    functionLinenumber: 1111
    functionLinenumberEnd: 1331
    functionName: nodesCloneNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 8
    functionsReached:
    - columnNodeCopy
    - nodesNodeName
    - whenThenNodeCopy
    - physiSysTableScanCopy
    - logicIndefRowsFuncCopy
    - physiPartitionCopy
    - logicExchangeCopy
    - logicFillCopy
    - fillNodeCopy
    - windowOffsetCopy
    - timeRangeNodeCopy
    - logicForecastFuncCopy
    - countWindowNodeCopy
    - operatorNodeCopy
    - dataBlockDescCopy
    - physiQueryInserterCopy
    - sessionWindowNodeCopy
    - nodesError
    - limitNodeCopy
    - placeHolderTableNodeCopy
    - caseWhenNodeCopy
    - physiVirtualTableScanCopy
    - physiDispatchCopy
    - physiDeleterCopy
    - nodeListNodeCopy
    - downstreamSourceCopy
    - setOperatorCopy
    - logicAggCopy
    - logicSortCopy
    - nodesMakeNode
    - valueNodeCopy
    - selectStmtCopy
    - physiTagScanCopy
    - physiProjectCopy
    - virtualTableNodeCopy
    - groupingSetNodeCopy
    - nodesDestroyNode
    - logicSubplanCopy
    - logicWindowCopy
    - columnDefNodeCopy
    - logicMergeCopy
    - logicGroupCacheCopy
    - joinTableNodeCopy
    - logicVirtualScanCopy
    - physiSubplanCopy
    - targetNodeCopy
    - slotDescCopy
    - eventWindowNodeCopy
    - anomalyWindowNodeCopy
    - stateWindowNodeCopy
    - logicJoinCopy
    - physiTableScanCopy
    - intervalWindowNodeCopy
    - physiIntervalCopy
    - nodeType
    - logicScanCopy
    - realTableNodeCopy
    - functionNodeCopy
    - orderByExprNodeCopy
    - tempTableNodeCopy
    - hintNodeCopy
    - logicConditionNodeCopy
    - logicInterpFuncCopy
    - logicDynQueryCtrlCopy
    - logicProjectCopy
    - logicVnodeModifCopy
    - logicPartitionCopy
    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:1342,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1344,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1347,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pList
    - ppList
    argTypes:
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1333
    functionDepth: 3
    functionLinenumber: 1333
    functionLinenumberEnd: 1355
    functionName: nodesCloneList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - nodesDestroyList
    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:1342,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1344,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1347,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1340
    functionDepth: 3
    functionLinenumber: 1340
    functionLinenumberEnd: 1352
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 15
    functionsReached:
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 68
    argCount: 1
    argNames:
    - type
    argTypes:
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 92
    functionName: operatorTypeStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *operatorTypeStr(EOperatorType type)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - type
    argTypes:
    - ELogicConditionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    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:109,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: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:117,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:121,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:123,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:127,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:129,1
    - Dst: nodesGetStrValueFromNode
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:136,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:138,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:139,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:142,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:144,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:147,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:149,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:153,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:159,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:161,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:161,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:164,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:164,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:167,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:167,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:170,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:179,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:181,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:183,1
    - Dst: logicConditionTypeStr
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:183,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:185,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:185,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:189,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:198,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:200,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:202,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:204,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:204,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:208,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:218,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:220,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:222,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:225,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:230,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:230,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:234,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:242,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:242,1
    - Dst: NODES_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:243,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 95
    argCount: 5
    argNames:
    - pNode
    - buf
    - bufSize
    - len
    - longFormat
    argTypes:
    - SNode*
    - char*
    - int32_t
    - int32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 244
    functionName: nodesNodeToSQLFormat
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: 2
    functionsReached:
    - nodesGetStrValueFromNode
    - nodesNodeName
    - strlen
    - nodesError
    - NODES_RET
    - nodesNodeToSQLFormat
    - tsnprintf
    - NODES_ERR_RET
    - logicConditionTypeStr
    - operatorTypeStr
    - taosMemoryFree
    - FOREACH
    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:
    - memcpy
    - taosMemoryRealloc
    - htons
    - TMAX
    - htonl
    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:
    - tlvEncodeImpl
    - htonl
    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:
    - htonll
    - tlvEncodeImpl
    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:
    - htonll
    - tlvEncodeValueImpl
    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:
    - htonll
    - tlvEncodeImpl
    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:
    - htonll
    - tlvEncodeValueImpl
    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:
    - htonll
    - tlvEncodeImpl
    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:
    - htonll
    - tlvEncodeValueImpl
    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:
    - tlvEncodeImpl
    - htonl
    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:
    - taosMemoryRealloc
    - htons
    - TMAX
    - func
    - htonl
    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:
    - tlvEncodeObj
    - htonl
    - 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:
    - tlvDecodeImpl
    - ntohs
    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:
    - tlvDecodeValueImpl
    - ntohs
    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:
    - tlvDecodeImpl
    - ntohl
    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:
    - tlvDecodeImpl
    - ntohll
    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
    - taosSetInt64Aligned
    - taosGetInt64Aligned
    - ntohll
    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:
    - tlvDecodeImpl
    - ntohs
    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:
    - tlvDecodeValueImpl
    - ntohs
    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:
    - tlvDecodeImpl
    - ntohll
    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:
    - convertIntegerType
    - tlvDecodeI32
    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:
    - convertIntegerType
    - tlvDecodeValueI32
    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:
    - tlvGetNextTlv
    - tlvDecodeObjFromTlv
    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:
    - makeFunc
    - tlvDecodeObjFromTlv
    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:
    - tlvGetNextTlv
    - tlvDecodeDynObjFromTlv
    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:
    - tlvEncodeValueI32
    - tlvEncodeValueU8
    - tlvEncodeValueI8
    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:
    - tlvEncodeI8
    - tlvEncodeU8
    - tlvEncodeI32
    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:
    - tlvDecodeValueI8
    - tlvDecodeValueI32
    - tlvDecodeValueU8
    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:
    - tlvDecodeI8
    - tlvDecodeU8
    - 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:
    - tlvDecodeI8
    - tlvDecodeU8
    - 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:676,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:678,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 684
    functionName: exprNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t exprNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:694,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:697,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 708
    functionName: msgToExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToExprNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:694,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:697,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 705
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: dataTypeInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:715,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:717,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:720,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:723,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:726,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:729,1
    - Dst: tlvEncodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:732,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:735,1
    - Dst: tlvEncodeValueCStr
      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: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:747,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:750,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:753,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:756,1
    - Dst: tlvEncodeValueI16
      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: tlvEncodeValueBool
      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: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:771,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:774,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:777,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 712
    functionDepth: 4
    functionLinenumber: 712
    functionLinenumberEnd: 780
    functionName: columnNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - dataTypeInlineToMsg
    - tlvEncodeValueEnum
    - tlvEncodeValueU64
    - tlvEncodeValueBool
    - tlvEncodeValueI32
    - tlvEncodeValueCStr
    - tlvEncodeValueI8
    - tlvEncodeValueI16
    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:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 784
    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:789,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:791,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:794,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:797,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:800,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:803,1
    - Dst: tlvDecodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:806,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:809,1
    - Dst: tlvDecodeValueCStr
      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: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:821,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:824,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:827,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:830,1
    - Dst: tlvDecodeValueI16
      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: tlvDecodeValueBool
      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: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:845,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:848,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:851,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 786
    functionDepth: 3
    functionLinenumber: 786
    functionLinenumberEnd: 854
    functionName: msgToColumnNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueU64
    - msgToDataTypeInline
    - tlvDecodeValueBool
    - tlvDecodeValueCStr
    - tlvDecodeValueEnum
    - 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:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 872
    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:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 869
    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:892,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:899,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:905,1
    - Dst: tlvEncodeDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:909,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:915,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:915,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:918,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:918,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:921,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:924,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:927,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:927,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 884
    functionDepth: 3
    functionLinenumber: 884
    functionLinenumberEnd: 935
    functionName: datumToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - varDataTLen
    - tlvEncodeDouble
    - tlvEncodeBinary
    - tlvEncodeBool
    - tlvEncodeU64
    - tlvEncodeI64
    - getJsonValueLen
    - blobDataTLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t datumToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:940,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:942,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:945,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:948,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:951,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:954,1
    - Dst: datumToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:957,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    functionLinenumberEnd: 961
    functionName: valueNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - datumToMsg
    - tlvEncodeCStr
    - tlvEncodeObj
    - tlvEncodeBool
    - tlvEncodeI32
    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:971,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:975,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:979,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:983,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:987,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:991,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:995,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:999,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1003,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1007,1
    - Dst: tlvDecodeDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1011,1
    - Dst: tlvDecodeDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1015,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1026,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1031,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1033,1
    - Dst: tlvDecodeDynBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1042,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1046,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1051,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1054,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1062,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1067,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1069,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 963
    functionDepth: 3
    functionLinenumber: 963
    functionLinenumberEnd: 1078
    functionName: msgToDatum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeDynBinary
    - tlvDecodeDouble
    - tlvDecodeU64
    - tlvDecodeBinary
    - tlvDecodeI64
    - blobDataSetLen
    - taosMemoryCalloc
    - tlvDecodeBool
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToDatum(STlv* pTlv, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1088,1
    - Dst: tlvDecodeCStrP
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1091,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1094,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1097,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1100,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1103,1
    - Dst: msgToDatum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1080
    functionDepth: 4
    functionLinenumber: 1080
    functionLinenumberEnd: 1114
    functionName: msgToValueNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeCStrP
    - msgToDatum
    - tlvDecodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToValueNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1088,1
    - Dst: tlvDecodeCStrP
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1091,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1094,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1097,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1100,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1103,1
    - Dst: msgToDatum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1111
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeCStrP
    - msgToDatum
    - tlvDecodeBool
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1121,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1123,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1126,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1118
    functionDepth: 3
    functionLinenumber: 1118
    functionLinenumberEnd: 1133
    functionName: operatorNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeEnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t operatorNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1143,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1146,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1149,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1160
    functionName: msgToOperatorNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToOperatorNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1143,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1146,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1149,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1140
    functionDepth: 3
    functionLinenumber: 1140
    functionLinenumberEnd: 1157
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeEnum
    - 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:1167,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1169,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1164
    functionDepth: 3
    functionLinenumber: 1164
    functionLinenumberEnd: 1176
    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:1186,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1189,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1178
    functionDepth: 3
    functionLinenumber: 1178
    functionLinenumberEnd: 1200
    functionName: msgToLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    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:1186,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1189,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1183
    functionDepth: 3
    functionLinenumber: 1183
    functionLinenumberEnd: 1197
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1220,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1222,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1225,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1228,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1231,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1234,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1237,1
    - Dst: tlvEncodeI32
      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: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1246,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1249,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1252,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1217
    functionDepth: 3
    functionLinenumber: 1217
    functionLinenumberEnd: 1256
    functionName: functionNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeCStr
    - tlvEncodeObj
    - 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:1266,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1269,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1272,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1275,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1278,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1281,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1284,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1287,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1290,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1293,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1296,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1299,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1258
    functionDepth: 3
    functionLinenumber: 1258
    functionLinenumberEnd: 1306
    functionName: msgToFunctionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeEnum
    - tlvDecodeCStr
    - tlvDecodeBool
    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:1266,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1269,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1272,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1275,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1278,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1281,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1284,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1287,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1290,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1293,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1296,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1299,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1263
    functionDepth: 3
    functionLinenumber: 1263
    functionLinenumberEnd: 1303
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeEnum
    - tlvDecodeCStr
    - tlvDecodeBool
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1313,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1315,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1310
    functionDepth: 3
    functionLinenumber: 1310
    functionLinenumberEnd: 1322
    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:1332,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1335,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1324
    functionDepth: 3
    functionLinenumber: 1324
    functionLinenumberEnd: 1346
    functionName: msgToOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeEnum
    - msgToNodeFromTlv
    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:1332,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1335,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1329
    functionDepth: 3
    functionLinenumber: 1329
    functionLinenumberEnd: 1343
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeEnum
    - 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:1353,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1350
    functionDepth: 2
    functionLinenumber: 1350
    functionLinenumberEnd: 1359
    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:1369,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1380
    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:1369,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1377
    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:1387,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1389,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1392,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1384
    functionDepth: 3
    functionLinenumber: 1384
    functionLinenumberEnd: 1399
    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:1409,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1412,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1415,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1426
    functionName: msgToName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeCStr
    - tlvDecodeU8
    - tlvDecodeI32
    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:1409,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1412,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1415,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1406
    functionDepth: 2
    functionLinenumber: 1406
    functionLinenumberEnd: 1423
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeCStr
    - tlvDecodeU8
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1433,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1430
    functionDepth: 3
    functionLinenumber: 1430
    functionLinenumberEnd: 1439
    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:1449,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1441
    functionDepth: 2
    functionLinenumber: 1441
    functionLinenumberEnd: 1460
    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:1449,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1446
    functionDepth: 2
    functionLinenumber: 1446
    functionLinenumberEnd: 1457
    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:1467,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1464
    functionDepth: 2
    functionLinenumber: 1464
    functionLinenumberEnd: 1473
    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:1483,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1494
    functionName: msgToNodeListNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    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:1483,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1491
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1501,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1498
    functionDepth: 3
    functionLinenumber: 1498
    functionLinenumberEnd: 1507
    functionName: targetNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - 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:1512,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1509
    functionDepth: 2
    functionLinenumber: 1509
    functionLinenumberEnd: 1518
    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: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1523,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1529
    functionName: msgToTargetNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - 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:1539,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1550
    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:1539,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1547
    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:1559,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1561,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1556
    functionDepth: 3
    functionLinenumber: 1556
    functionLinenumberEnd: 1568
    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:1578,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1581,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1570
    functionDepth: 3
    functionLinenumber: 1570
    functionLinenumberEnd: 1592
    functionName: msgToTimeRangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeBool
    - msgToNodeFromTlv
    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:1578,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1581,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1575
    functionDepth: 3
    functionLinenumber: 1575
    functionLinenumberEnd: 1589
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeBool
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1599,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1601,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1604,1
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1596
    functionDepth: 3
    functionLinenumber: 1596
    functionLinenumberEnd: 1611
    functionName: dataBlockDescNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueI16
    - tlvEncodeValueI32
    - tlvEncodeValueU8
    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:1616,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1613
    functionDepth: 2
    functionLinenumber: 1613
    functionLinenumberEnd: 1622
    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: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1627,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1629,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1632,1
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1624
    functionDepth: 2
    functionLinenumber: 1624
    functionLinenumberEnd: 1639
    functionName: msgToDataBlockDescNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueU8
    - tlvDecodeValueI16
    - tlvDecodeValueI32
    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:1649,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1660
    functionName: msgToDataBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    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:1649,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1646
    functionDepth: 1
    functionLinenumber: 1646
    functionLinenumberEnd: 1657
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1667,1
    - Dst: dataTypeInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1669,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1672,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1675,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1664
    functionDepth: 4
    functionLinenumber: 1664
    functionLinenumberEnd: 1682
    functionName: slotDescNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueBool
    - tlvEncodeValueI16
    - dataTypeInlineToMsg
    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:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1686
    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:1691,1
    - Dst: msgToDataTypeInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1693,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1696,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1699,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1688
    functionDepth: 3
    functionLinenumber: 1688
    functionLinenumberEnd: 1706
    functionName: msgToSlotDescNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueBool
    - tlvDecodeValueI16
    - msgToDataTypeInline
    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:1716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1708
    functionDepth: 1
    functionLinenumber: 1708
    functionLinenumberEnd: 1724
    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:1716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1721
    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:1731,1
    - Dst: tlvEncodeValueU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1728
    functionDepth: 4
    functionLinenumber: 1728
    functionLinenumberEnd: 1737
    functionName: epInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueU16
    - tlvEncodeValueCStr
    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:1742,1
    - Dst: tlvEncodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1739
    functionDepth: 3
    functionLinenumber: 1739
    functionLinenumberEnd: 1748
    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:1753,1
    - Dst: tlvDecodeValueU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1750
    functionDepth: 3
    functionLinenumber: 1750
    functionLinenumberEnd: 1759
    functionName: msgToEpInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueU16
    - tlvDecodeValueCStr
    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:1769,1
    - Dst: tlvDecodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1761
    functionDepth: 2
    functionLinenumber: 1761
    functionLinenumberEnd: 1780
    functionName: msgToEp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeCStr
    - tlvDecodeU16
    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:1769,1
    - Dst: tlvDecodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1766
    functionDepth: 2
    functionLinenumber: 1766
    functionLinenumberEnd: 1777
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeCStr
    - tlvDecodeU16
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1787,1
    - Dst: tlvEncodeValueArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1784
    functionDepth: 4
    functionLinenumber: 1784
    functionLinenumberEnd: 1793
    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:1798,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1800,1
    - Dst: tlvEncodeObjArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1795
    functionDepth: 3
    functionLinenumber: 1795
    functionLinenumberEnd: 1807
    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:1812,1
    - Dst: tlvDecodeValueArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1809
    functionDepth: 3
    functionLinenumber: 1809
    functionLinenumberEnd: 1820
    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:1830,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1833,1
    - Dst: tlvDecodeObjArrayFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1836,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1822
    functionDepth: 3
    functionLinenumber: 1822
    functionLinenumberEnd: 1844
    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:1830,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1833,1
    - Dst: tlvDecodeObjArrayFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1836,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1827
    functionDepth: 3
    functionLinenumber: 1827
    functionLinenumberEnd: 1841
    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:1851,1
    - Dst: epSetInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1848
    functionDepth: 5
    functionLinenumber: 1848
    functionLinenumberEnd: 1857
    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:1862,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1859
    functionDepth: 3
    functionLinenumber: 1859
    functionLinenumberEnd: 1868
    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:1873,1
    - Dst: msgToEpSetInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1870
    functionDepth: 4
    functionLinenumber: 1870
    functionLinenumberEnd: 1879
    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:1889,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1881
    functionDepth: 2
    functionLinenumber: 1881
    functionLinenumberEnd: 1898
    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:1889,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1895
    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:1905,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1907,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1910,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1913,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1916,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1902
    functionDepth: 6
    functionLinenumber: 1902
    functionLinenumberEnd: 1923
    functionName: downstreamSourceNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueU64
    - queryNodeAddrInlineToMsg
    - tlvEncodeValueI32
    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:1926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1925
    functionDepth: 2
    functionLinenumber: 1925
    functionLinenumberEnd: 1927
    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:1932,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1934,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1937,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1940,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1943,1
    - Dst: tlvDecodeEnd
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1945,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1929
    functionDepth: 5
    functionLinenumber: 1929
    functionLinenumberEnd: 1950
    functionName: msgToDownstreamSourceNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueU64
    - tlvDecodeEnd
    - msgToQueryNodeAddrInline
    - 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:1960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1952
    functionDepth: 1
    functionLinenumber: 1952
    functionLinenumberEnd: 1968
    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:1960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1957
    functionDepth: 1
    functionLinenumber: 1957
    functionLinenumberEnd: 1965
    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:1975,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1977,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1972
    functionDepth: 2
    functionLinenumber: 1972
    functionLinenumberEnd: 1984
    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:1994,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1997,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1986
    functionDepth: 1
    functionLinenumber: 1986
    functionLinenumberEnd: 2008
    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:1994,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1997,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1991
    functionDepth: 1
    functionLinenumber: 1991
    functionLinenumberEnd: 2005
    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:2015,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2017,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2020,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2012
    functionDepth: 2
    functionLinenumber: 2012
    functionLinenumberEnd: 2027
    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:2037,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2040,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2043,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2046,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2029
    functionDepth: 1
    functionLinenumber: 2029
    functionLinenumberEnd: 2054
    functionName: msgToCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    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:2037,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2040,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2043,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2046,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2051
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - 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:2061,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2058
    functionDepth: 2
    functionLinenumber: 2058
    functionLinenumberEnd: 2067
    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:2077,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2069
    functionDepth: 1
    functionLinenumber: 2069
    functionLinenumberEnd: 2088
    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:2077,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2074
    functionDepth: 1
    functionLinenumber: 2074
    functionLinenumberEnd: 2085
    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:2106,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2108,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2111,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2114,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2117,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2120,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2123,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2126,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2103
    functionDepth: 3
    functionLinenumber: 2103
    functionLinenumberEnd: 2133
    functionName: physiNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeBool
    - tlvEncodeEnum
    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:2143,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2146,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2149,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2152,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2155,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2158,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2161,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2164,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2135
    functionDepth: 3
    functionLinenumber: 2135
    functionLinenumberEnd: 2175
    functionName: msgToPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    - tlvDecodeBool
    - msgToNodeFromTlv
    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:2143,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2146,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2149,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2152,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2155,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2158,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2161,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2164,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2140
    functionDepth: 3
    functionLinenumber: 2140
    functionLinenumberEnd: 2172
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    - tlvDecodeBool
    - 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:2192,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2194,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2197,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2200,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2203,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2206,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2209,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2212,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2189
    functionDepth: 3
    functionLinenumber: 2189
    functionLinenumberEnd: 2219
    functionName: physiScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeU64
    - tlvEncodeI8
    - tlvEncodeBool
    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:2229,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2232,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2235,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2238,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2241,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2244,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2247,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2250,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2221
    functionDepth: 3
    functionLinenumber: 2221
    functionLinenumberEnd: 2260
    functionName: msgToPhysiScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeU64
    - tlvDecodeObjFromTlv
    - tlvDecodeI8
    - tlvDecodeBool
    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:2229,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2232,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2235,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2238,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2241,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2244,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2247,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2250,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2226
    functionDepth: 3
    functionLinenumber: 2226
    functionLinenumberEnd: 2257
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeU64
    - tlvDecodeObjFromTlv
    - tlvDecodeI8
    - 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:2277,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2280,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2284,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2288,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2292,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2296,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2300,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2304,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2274
    functionDepth: 3
    functionLinenumber: 2274
    functionLinenumberEnd: 2312
    functionName: physiVirtualTableScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI8
    - 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:2322,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2325,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2328,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2331,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2334,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2337,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2340,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2343,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2314
    functionDepth: 3
    functionLinenumber: 2314
    functionLinenumberEnd: 2354
    functionName: msgToPhysiVirtualTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeI8
    - tlvDecodeBool
    - msgToNodeFromTlv
    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:2322,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2325,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2328,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2331,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2334,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2337,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2340,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2343,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2319
    functionDepth: 3
    functionLinenumber: 2319
    functionLinenumberEnd: 2351
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeI8
    - tlvDecodeBool
    - 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:2364,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2361
    functionDepth: 3
    functionLinenumber: 2361
    functionLinenumberEnd: 2370
    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:2380,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2372
    functionDepth: 3
    functionLinenumber: 2372
    functionLinenumberEnd: 2391
    functionName: msgToPhysiTagScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    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:2380,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2377
    functionDepth: 3
    functionLinenumber: 2377
    functionLinenumberEnd: 2388
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2405,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2407,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2410,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2413,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2416,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2402
    functionDepth: 3
    functionLinenumber: 2402
    functionLinenumberEnd: 2423
    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:2433,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2436,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2439,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2442,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2445,1
    - Dst: msgToSArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2425
    functionDepth: 3
    functionLinenumber: 2425
    functionLinenumberEnd: 2457
    functionName: msgToPhysiLastRowScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - msgToSArray
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    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:2433,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2436,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2439,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2442,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2445,1
    - Dst: msgToSArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2430
    functionDepth: 3
    functionLinenumber: 2430
    functionLinenumberEnd: 2454
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - msgToSArray
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2472,1
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2474,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2477,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2480,1
    - Dst: tlvEncodeValueDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2483,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2486,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2489,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2492,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2495,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2498,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2501,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2504,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2507,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2510,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2513,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2516,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2519,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2522,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2525,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2528,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2531,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2469
    functionDepth: 3
    functionLinenumber: 2469
    functionLinenumberEnd: 2534
    functionName: physiTableScanNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueI64
    - tlvEncodeValueBool
    - tlvEncodeValueI32
    - tlvEncodeValueDouble
    - tlvEncodeValueU8
    - tlvEncodeValueI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiTableScanNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2539,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2541,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2544,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2547,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2550,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2553,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2536
    functionDepth: 2
    functionLinenumber: 2536
    functionLinenumberEnd: 2560
    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:2565,1
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2567,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2570,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2573,1
    - Dst: tlvDecodeValueDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2576,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2579,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2582,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2585,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2588,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2591,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2594,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2597,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2600,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2603,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2606,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2609,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2612,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2615,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2618,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2621,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2624,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2562
    functionDepth: 3
    functionLinenumber: 2562
    functionLinenumberEnd: 2627
    functionName: msgToPhysiTableScanNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueDouble
    - tlvDecodeValueBool
    - tlvDecodeValueI64
    - tlvDecodeValueI8
    - tlvDecodeValueU8
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiTableScanNodeInline(STlvDecoder* pDecoder, void*
      pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2637,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2640,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2643,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2646,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2649,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2652,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2655,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2629
    functionDepth: 1
    functionLinenumber: 2629
    functionLinenumberEnd: 2663
    functionName: msgToPhysiTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiTableScanNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2637,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2640,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2643,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2646,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2649,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2652,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2655,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2634
    functionDepth: 1
    functionLinenumber: 2634
    functionLinenumberEnd: 2660
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2676,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2678,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2681,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2684,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2673
    functionDepth: 3
    functionLinenumber: 2673
    functionLinenumberEnd: 2691
    functionName: physiSysTableScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI32
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiSysTableScanNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2701,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2704,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2707,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2710,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2713,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2693
    functionDepth: 3
    functionLinenumber: 2693
    functionLinenumberEnd: 2721
    functionName: msgToPhysiSysTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiSysTableScanNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2701,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2704,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2707,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2710,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2713,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2698
    functionDepth: 3
    functionLinenumber: 2698
    functionLinenumberEnd: 2718
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - 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:2734,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2736,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2739,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2742,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2731
    functionDepth: 3
    functionLinenumber: 2731
    functionLinenumberEnd: 2749
    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:2759,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2762,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2765,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2768,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2751
    functionDepth: 3
    functionLinenumber: 2751
    functionLinenumberEnd: 2779
    functionName: msgToPhysiProjectNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    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:2759,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2762,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2765,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2768,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2756
    functionDepth: 3
    functionLinenumber: 2756
    functionLinenumberEnd: 2776
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2808,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2810,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2813,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2816,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2819,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2822,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2825,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2828,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2831,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2834,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2837,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2840,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2843,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2846,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2849,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2852,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2855,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2858,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2861,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2864,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2867,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2805
    functionDepth: 3
    functionLinenumber: 2805
    functionLinenumberEnd: 2871
    functionName: physiMergeJoinNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeObj
    - tlvEncodeBool
    - tlvEncodeI32
    - tlvEncodeI64
    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:2881,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2884,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2887,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2890,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2893,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2896,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2899,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2902,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2905,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2908,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2911,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2914,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2917,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2920,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2923,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2926,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2929,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2932,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2935,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2938,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2941,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2873
    functionDepth: 3
    functionLinenumber: 2873
    functionLinenumberEnd: 2949
    functionName: msgToPhysiMergeJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeI32
    - tlvDecodeObjFromTlv
    - tlvDecodeEnum
    - tlvDecodeI64
    - tlvDecodeBool
    - msgToNodeFromTlv
    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:2881,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2884,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2887,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2890,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2893,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2896,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2899,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2902,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2905,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2908,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2911,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2914,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2917,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2920,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2923,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2926,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2929,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2932,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2935,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2938,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2941,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2878
    functionDepth: 3
    functionLinenumber: 2878
    functionLinenumberEnd: 2946
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeI32
    - tlvDecodeObjFromTlv
    - tlvDecodeEnum
    - tlvDecodeI64
    - tlvDecodeBool
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2978,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2980,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2983,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2986,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2989,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2992,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2995,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2998,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3001,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3004,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3007,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3010,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3013,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3016,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3019,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3022,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3025,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3028,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3031,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3034,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 2975
    functionDepth: 3
    functionLinenumber: 2975
    functionLinenumberEnd: 3038
    functionName: physiHashJoinNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI32
    - tlvEncodeI64
    - 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:3049,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3052,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3055,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3058,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3061,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3064,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3067,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3070,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3073,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3076,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3079,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3082,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3085,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3088,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3091,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3094,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3097,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3100,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3103,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3106,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3114
      start: 3041
    functionDepth: 3
    functionLinenumber: 3041
    functionLinenumberEnd: 3114
    functionName: msgToPhysiHashJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeI32
    - tlvDecodeObjFromTlv
    - tlvDecodeEnum
    - tlvDecodeI64
    - msgToNodeFromTlv
    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:3049,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3052,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3055,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3058,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3061,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3064,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3067,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3070,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3073,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3076,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3079,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3082,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3085,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3088,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3091,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3094,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3097,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3100,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3103,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3106,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3111
      start: 3046
    functionDepth: 3
    functionLinenumber: 3046
    functionLinenumberEnd: 3111
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeI32
    - tlvDecodeObjFromTlv
    - tlvDecodeEnum
    - tlvDecodeI64
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3130,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3132,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3135,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3138,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3141,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3144,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 3127
    functionDepth: 3
    functionLinenumber: 3127
    functionLinenumberEnd: 3151
    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:3161,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3164,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3167,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3170,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3173,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3176,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3153
    functionDepth: 3
    functionLinenumber: 3153
    functionLinenumberEnd: 3187
    functionName: msgToPhysiAggNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    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:3161,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3164,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3167,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3170,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3173,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3176,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3158
    functionDepth: 3
    functionLinenumber: 3158
    functionLinenumberEnd: 3184
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3202,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3204,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3207,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3210,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3213,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3216,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3199
    functionDepth: 3
    functionLinenumber: 3199
    functionLinenumberEnd: 3223
    functionName: physiExchangeNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI32
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiExchangeNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3233,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3236,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3239,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3242,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3245,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3248,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3225
    functionDepth: 3
    functionLinenumber: 3225
    functionLinenumberEnd: 3259
    functionName: msgToPhysiExchangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiExchangeNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3233,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3236,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3239,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3242,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3245,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3248,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3230
    functionDepth: 3
    functionLinenumber: 3230
    functionLinenumberEnd: 3256
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - 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:3276,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3278,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3281,1
    - Dst: tlvEncodeI32
      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: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3290,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3293,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3296,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3273
    functionDepth: 3
    functionLinenumber: 3273
    functionLinenumberEnd: 3303
    functionName: physiMergeNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI32
    - 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:3313,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3316,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3319,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3322,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3325,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3328,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3331,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3334,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3305
    functionDepth: 3
    functionLinenumber: 3305
    functionLinenumberEnd: 3345
    functionName: msgToPhysiMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    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:3313,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3316,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3319,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3322,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3325,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3328,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3331,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3334,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3342
      start: 3310
    functionDepth: 3
    functionLinenumber: 3310
    functionLinenumberEnd: 3342
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - 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:3359,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3361,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3364,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3367,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3370,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3377
      start: 3356
    functionDepth: 3
    functionLinenumber: 3356
    functionLinenumberEnd: 3377
    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:3387,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3390,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3393,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3396,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3399,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3379
    functionDepth: 3
    functionLinenumber: 3379
    functionLinenumberEnd: 3409
    functionName: msgToPhysiSortNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    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:3387,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3390,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3393,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3396,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3399,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3406
      start: 3384
    functionDepth: 3
    functionLinenumber: 3384
    functionLinenumberEnd: 3406
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3430,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3432,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3435,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3438,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3441,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3444,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3447,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3450,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3453,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3456,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3459,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3463
      start: 3427
    functionDepth: 3
    functionLinenumber: 3427
    functionLinenumberEnd: 3463
    functionName: physiWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI8
    - tlvEncodeI64
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiWindowNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3473,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3476,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3479,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3482,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3485,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3488,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3491,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3494,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3497,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3500,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3503,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3511
      start: 3465
    functionDepth: 3
    functionLinenumber: 3465
    functionLinenumberEnd: 3511
    functionName: msgToPhysiWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    - tlvDecodeI8
    - tlvDecodeBool
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3473,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3476,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3479,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3482,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3485,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3488,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3491,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3494,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3497,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3500,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3503,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3508
      start: 3470
    functionDepth: 3
    functionLinenumber: 3470
    functionLinenumberEnd: 3508
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    - tlvDecodeI8
    - tlvDecodeBool
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3518,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3520,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3523,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3526,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3533
      start: 3515
    functionDepth: 3
    functionLinenumber: 3515
    functionLinenumberEnd: 3533
    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:3538,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3540,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3535
    functionDepth: 2
    functionLinenumber: 3535
    functionLinenumberEnd: 3547
    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:3552,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3554,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3557,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3560,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3549
    functionDepth: 2
    functionLinenumber: 3549
    functionLinenumberEnd: 3567
    functionName: msgToPhysiIntervalNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueI8
    - tlvDecodeValueI64
    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:3577,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3580,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3590
      start: 3569
    functionDepth: 1
    functionLinenumber: 3569
    functionLinenumberEnd: 3590
    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:3577,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3580,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3587
      start: 3574
    functionDepth: 1
    functionLinenumber: 3574
    functionLinenumberEnd: 3587
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3608,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3610,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3613,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3616,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3619,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3622,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3625,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3628,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3631,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3605
    functionDepth: 3
    functionLinenumber: 3605
    functionLinenumberEnd: 3634
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3644,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3647,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3650,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3653,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3656,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3659,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3662,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3665,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3668,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3676
      start: 3636
    functionDepth: 3
    functionLinenumber: 3636
    functionLinenumberEnd: 3676
    functionName: msgToPhysiFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiFillNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3644,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3647,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3650,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3653,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3656,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3659,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3662,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3665,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3668,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3673
      start: 3641
    functionDepth: 3
    functionLinenumber: 3641
    functionLinenumberEnd: 3673
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - 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:3683,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3689
      start: 3680
    functionDepth: 3
    functionLinenumber: 3680
    functionLinenumberEnd: 3689
    functionName: physiSessionWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI64
    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:3699,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3710
      start: 3691
    functionDepth: 2
    functionLinenumber: 3691
    functionLinenumberEnd: 3710
    functionName: msgToPhysiSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    - tlvDecodeObjFromTlv
    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:3699,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3707
      start: 3696
    functionDepth: 2
    functionLinenumber: 3696
    functionLinenumberEnd: 3707
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3721,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3723,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3726,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3729,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3732,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3719
    functionDepth: 3
    functionLinenumber: 3719
    functionLinenumberEnd: 3739
    functionName: physiExternalWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI64
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiExternalWindowNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3749,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3752,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3755,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3758,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3761,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3771
      start: 3741
    functionDepth: 3
    functionLinenumber: 3741
    functionLinenumberEnd: 3771
    functionName: msgToPhysiExternalWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiExternalWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3749,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3752,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3755,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3758,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3761,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3769
      start: 3746
    functionDepth: 3
    functionLinenumber: 3746
    functionLinenumberEnd: 3769
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    - tlvDecodeBool
    - 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:3778,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3780,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3783,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3790
      start: 3775
    functionDepth: 3
    functionLinenumber: 3775
    functionLinenumberEnd: 3790
    functionName: physiStateWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI32
    - tlvEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiStateWindowNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3800,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3803,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3806,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3816
      start: 3792
    functionDepth: 2
    functionLinenumber: 3792
    functionLinenumberEnd: 3816
    functionName: msgToPhysiStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI32
    - tlvDecodeI64
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiStateWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3800,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3803,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3806,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3813
      start: 3797
    functionDepth: 2
    functionLinenumber: 3797
    functionLinenumberEnd: 3813
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI32
    - tlvDecodeI64
    - 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:3823,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3825,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3828,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3835
      start: 3820
    functionDepth: 3
    functionLinenumber: 3820
    functionLinenumberEnd: 3835
    functionName: physiEventWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiEventWindowNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3845,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3848,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3851,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3862
      start: 3837
    functionDepth: 2
    functionLinenumber: 3837
    functionLinenumberEnd: 3862
    functionName: msgToPhysiEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiEventWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3845,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3848,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3851,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3842
    functionDepth: 2
    functionLinenumber: 3842
    functionLinenumberEnd: 3859
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    - 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:3869,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3871,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3878
      start: 3866
    functionDepth: 3
    functionLinenumber: 3866
    functionLinenumberEnd: 3878
    functionName: physiCountWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI64
    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:3888,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3891,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3902
      start: 3880
    functionDepth: 2
    functionLinenumber: 3880
    functionLinenumberEnd: 3902
    functionName: msgToPhysiCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    - tlvDecodeObjFromTlv
    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:3888,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3891,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3885
    functionDepth: 2
    functionLinenumber: 3885
    functionLinenumberEnd: 3899
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    - 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:3909,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3911,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3918
      start: 3906
    functionDepth: 3
    functionLinenumber: 3906
    functionLinenumberEnd: 3918
    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:3928,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3931,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3920
    functionDepth: 1
    functionLinenumber: 3920
    functionLinenumberEnd: 3942
    functionName: msgToPhysiAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeCStr
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    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:3928,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3931,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3939
      start: 3925
    functionDepth: 1
    functionLinenumber: 3925
    functionLinenumberEnd: 3939
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeCStr
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3956,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3958,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3961,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3964,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3967,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3970,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3974
      start: 3953
    functionDepth: 3
    functionLinenumber: 3953
    functionLinenumberEnd: 3974
    functionName: physiPartitionNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI32
    - 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:3984,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3987,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3990,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3993,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3996,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3999,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4007
      start: 3976
    functionDepth: 3
    functionLinenumber: 3976
    functionLinenumberEnd: 4007
    functionName: msgToPhysiPartitionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    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:3984,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3987,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3990,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3993,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3996,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3999,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 3981
    functionDepth: 3
    functionLinenumber: 3981
    functionLinenumberEnd: 4004
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - 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:4014,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4016,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 4011
    functionDepth: 2
    functionLinenumber: 4011
    functionLinenumberEnd: 4023
    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:4033,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4036,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4039,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4047
      start: 4025
    functionDepth: 1
    functionLinenumber: 4025
    functionLinenumberEnd: 4047
    functionName: msgToPhysiIndefRowsFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    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:4033,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4036,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4039,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4044
      start: 4030
    functionDepth: 1
    functionLinenumber: 4030
    functionLinenumberEnd: 4044
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4066,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4068,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4071,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4074,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4077,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4080,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4083,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4086,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4089,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4092,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4095,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4063
    functionDepth: 3
    functionLinenumber: 4063
    functionLinenumberEnd: 4099
    functionName: physiInterpFuncNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeI64
    - 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:4109,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4112,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4115,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4118,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4121,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4124,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4127,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4130,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4133,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4136,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4147
      start: 4101
    functionDepth: 3
    functionLinenumber: 4101
    functionLinenumberEnd: 4147
    functionName: msgToPhysiInterpFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeEnum
    - tlvDecodeI64
    - tlvDecodeI8
    - msgToNodeFromTlv
    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:4109,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4112,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4115,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4118,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4121,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4124,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4127,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4130,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4133,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4136,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4144
      start: 4106
    functionDepth: 3
    functionLinenumber: 4106
    functionLinenumberEnd: 4144
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeEnum
    - tlvDecodeI64
    - tlvDecodeI8
    - 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:4158,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4160,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4167
      start: 4155
    functionDepth: 2
    functionLinenumber: 4155
    functionLinenumberEnd: 4167
    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:4177,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4180,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4191
      start: 4169
    functionDepth: 1
    functionLinenumber: 4169
    functionLinenumberEnd: 4191
    functionName: msgToPhysiForecastFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    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:4177,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4180,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4188
      start: 4174
    functionDepth: 1
    functionLinenumber: 4174
    functionLinenumberEnd: 4188
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4198
      start: 4195
    functionDepth: 2
    functionLinenumber: 4195
    functionLinenumberEnd: 4198
    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:4208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4216
      start: 4200
    functionDepth: 1
    functionLinenumber: 4200
    functionLinenumberEnd: 4216
    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:4208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4213
      start: 4205
    functionDepth: 1
    functionLinenumber: 4205
    functionLinenumberEnd: 4213
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4223
      start: 4220
    functionDepth: 2
    functionLinenumber: 4220
    functionLinenumberEnd: 4223
    functionName: physiDispatchNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiDispatchNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4241
      start: 4225
    functionDepth: 1
    functionLinenumber: 4225
    functionLinenumberEnd: 4241
    functionName: msgToPhysiDispatchNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiDispatchNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4238
      start: 4230
    functionDepth: 1
    functionLinenumber: 4230
    functionLinenumberEnd: 4238
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4258,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4260,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4263,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4266,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4269,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4272,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4275,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4278,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4285
      start: 4255
    functionDepth: 3
    functionLinenumber: 4255
    functionLinenumberEnd: 4285
    functionName: physiQueryInsertNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI8
    - tlvEncodeCStr
    - tlvEncodeObj
    - tlvEncodeBool
    - tlvEncodeI32
    - tlvEncodeU64
    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:4295,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4298,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4301,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4304,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4307,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4310,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4313,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4316,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4319,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4327
      start: 4287
    functionDepth: 3
    functionLinenumber: 4287
    functionLinenumberEnd: 4327
    functionName: msgToPhysiQueryInsertNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeU64
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeCStr
    - tlvDecodeI8
    - tlvDecodeBool
    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:4295,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4298,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4301,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4304,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4307,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4310,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4313,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4316,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4319,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4324
      start: 4292
    functionDepth: 3
    functionLinenumber: 4292
    functionLinenumberEnd: 4324
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeU64
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeCStr
    - tlvDecodeI8
    - 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:4344,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4346,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4349,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4352,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4355,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4358,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4361,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4364,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4371
      start: 4341
    functionDepth: 3
    functionLinenumber: 4341
    functionLinenumberEnd: 4371
    functionName: physiDeleteNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeU64
    - tlvEncodeI8
    - tlvEncodeCStr
    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:4381,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4384,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4387,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4390,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4393,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4396,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4399,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4402,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4405,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4413
      start: 4373
    functionDepth: 2
    functionLinenumber: 4373
    functionLinenumberEnd: 4413
    functionName: msgToPhysiDeleteNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeU64
    - tlvDecodeObjFromTlv
    - tlvDecodeCStr
    - tlvDecodeI8
    - msgToNodeFromTlv
    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:4381,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4384,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4387,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4390,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4393,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4396,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4399,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4402,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4405,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4410
      start: 4378
    functionDepth: 2
    functionLinenumber: 4378
    functionLinenumberEnd: 4410
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeU64
    - tlvDecodeObjFromTlv
    - tlvDecodeCStr
    - tlvDecodeI8
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4427,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4429,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4432,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4435,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4438,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4445
      start: 4424
    functionDepth: 3
    functionLinenumber: 4424
    functionLinenumberEnd: 4445
    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:4455,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4458,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4461,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4464,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4467,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4478
      start: 4447
    functionDepth: 3
    functionLinenumber: 4447
    functionLinenumberEnd: 4478
    functionName: msgToPhysiGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    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:4455,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4458,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4461,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4464,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4467,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4475
      start: 4452
    functionDepth: 3
    functionLinenumber: 4452
    functionLinenumberEnd: 4475
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4508,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4510,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4515,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4517,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4520,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4523,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4526,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4529,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4532,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4537,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4539,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4542,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4545,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4548,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4551,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4554,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4557,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4560,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4563,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4566,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4575,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4578
      start: 4505
    functionDepth: 3
    functionLinenumber: 4505
    functionLinenumberEnd: 4578
    functionName: physiDynQueryCtrlNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeCStr
    - tlvEncodeObj
    - tlvEncodeBool
    - tlvEncodeI32
    - tlvEncodeU64
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiDynQueryCtrlNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4588,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4591,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4594,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4597,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4600,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4603,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4606,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4609,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4612,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4615,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4618,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4621,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4624,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4627,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4630,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4633,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4636,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4639,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4642,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4645,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4648,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4656
      start: 4580
    functionDepth: 3
    functionLinenumber: 4580
    functionLinenumberEnd: 4656
    functionName: msgToPhysiDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeU64
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeEnum
    - tlvDecodeCStr
    - tlvDecodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiDynQueryCtrlNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4588,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4591,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4594,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4597,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4600,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4603,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4606,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4609,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4612,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4615,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4618,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4621,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4624,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4627,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4630,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4633,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4636,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4639,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4642,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4645,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4648,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4653
      start: 4585
    functionDepth: 3
    functionLinenumber: 4585
    functionLinenumberEnd: 4653
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeU64
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeEnum
    - tlvDecodeCStr
    - tlvDecodeBool
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4665,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4667,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4674
      start: 4662
    functionDepth: 3
    functionLinenumber: 4662
    functionLinenumberEnd: 4674
    functionName: subplanIdInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueU64
    - tlvEncodeValueI32
    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:4679,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4681,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4688
      start: 4676
    functionDepth: 3
    functionLinenumber: 4676
    functionLinenumberEnd: 4688
    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:4693,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4695,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4702
      start: 4690
    functionDepth: 2
    functionLinenumber: 4690
    functionLinenumberEnd: 4702
    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:4712,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4715,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4726
      start: 4704
    functionDepth: 2
    functionLinenumber: 4704
    functionLinenumberEnd: 4726
    functionName: msgToSubplanId
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeU64
    - tlvDecodeI32
    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:4712,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4715,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4723
      start: 4709
    functionDepth: 2
    functionLinenumber: 4709
    functionLinenumberEnd: 4723
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeU64
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: subplanIdInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4739,1
    - Dst: tlvEncodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4741,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4744,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4747,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4750,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4753,1
    - Dst: queryNodeAddrInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4756,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4759,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4762,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4765,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4768,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4771,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4774,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4777,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4780
      start: 4736
    functionDepth: 6
    functionLinenumber: 4736
    functionLinenumberEnd: 4780
    functionName: subplanInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - queryNodeAddrInlineToMsg
    - tlvEncodeValueEnum
    - subplanIdInlineToMsg
    - tlvEncodeValueBool
    - tlvEncodeValueCStr
    - tlvEncodeValueI32
    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:4785,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4787,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4790,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4793,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4800
      start: 4782
    functionDepth: 2
    functionLinenumber: 4782
    functionLinenumberEnd: 4800
    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:4805,1
    - Dst: tlvDecodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4807,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4810,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4813,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4816,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4819,1
    - Dst: msgToQueryNodeAddrInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4822,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4825,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4828,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4831,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4834,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4837,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4840,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4843,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4846
      start: 4802
    functionDepth: 5
    functionLinenumber: 4802
    functionLinenumberEnd: 4846
    functionName: msgToSubplanInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToQueryNodeAddrInline
    - tlvDecodeValueBool
    - tlvDecodeValueCStr
    - msgToSubplanIdInline
    - tlvDecodeValueEnum
    - 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:4856,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4859,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4862,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4865,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4876
      start: 4848
    functionDepth: 1
    functionLinenumber: 4848
    functionLinenumberEnd: 4876
    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:4856,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4859,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4862,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4865,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4873
      start: 4853
    functionDepth: 1
    functionLinenumber: 4853
    functionLinenumberEnd: 4873
    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:4883,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4889
      start: 4880
    functionDepth: 3
    functionLinenumber: 4880
    functionLinenumberEnd: 4889
    functionName: queryPlanInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueU64
    - tlvEncodeValueI32
    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:4894,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4900
      start: 4891
    functionDepth: 2
    functionLinenumber: 4891
    functionLinenumberEnd: 4900
    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:4905,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4911
      start: 4902
    functionDepth: 2
    functionLinenumber: 4902
    functionLinenumberEnd: 4911
    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:4921,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4932
      start: 4913
    functionDepth: 1
    functionLinenumber: 4913
    functionLinenumberEnd: 4932
    functionName: msgToQueryPlan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    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:4921,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4929
      start: 4918
    functionDepth: 1
    functionLinenumber: 4918
    functionLinenumberEnd: 4929
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4937,1
    - Dst: columnNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4939,1
    - Dst: valueNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4942,1
    - Dst: operatorNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4945,1
    - Dst: logicConditionNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4948,1
    - Dst: functionNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4951,1
    - Dst: orderByExprNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4954,1
    - Dst: limitNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4957,1
    - Dst: nodeListNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4960,1
    - Dst: targetNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4963,1
    - Dst: timeRangeNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4966,1
    - Dst: dataBlockDescNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4969,1
    - Dst: slotDescNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4972,1
    - Dst: downstreamSourceNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4975,1
    - Dst: whenThenNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4980,1
    - Dst: caseWhenNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4983,1
    - Dst: windowOffsetNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4986,1
    - Dst: physiTagScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4989,1
    - Dst: physiScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4992,1
    - Dst: physiLastRowScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4996,1
    - Dst: physiTableScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5001,1
    - Dst: physiSysTableScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5004,1
    - Dst: physiProjectNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5007,1
    - Dst: physiMergeJoinNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5010,1
    - Dst: physiHashJoinNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5013,1
    - Dst: physiAggNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5016,1
    - Dst: physiExchangeNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5019,1
    - Dst: physiMergeNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5022,1
    - Dst: physiSortNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5026,1
    - Dst: physiIntervalNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5030,1
    - Dst: physiFillNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5033,1
    - Dst: physiSessionWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5036,1
    - Dst: physiExternalWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5041,1
    - Dst: physiStateWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5044,1
    - Dst: physiEventWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5047,1
    - Dst: physiCountWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5050,1
    - Dst: physiAnomalyWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5053,1
    - Dst: physiPartitionNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5056,1
    - Dst: physiIndefRowsFuncNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5059,1
    - Dst: physiInterpFuncNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5062,1
    - Dst: physiForecastFuncNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5066,1
    - Dst: physiDispatchNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5069,1
    - Dst: physiQueryInsertNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5072,1
    - Dst: physiDeleteNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5075,1
    - Dst: physiGroupCacheNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5078,1
    - Dst: physiDynQueryCtrlNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5081,1
    - Dst: physiVirtualTableScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5084,1
    - Dst: subplanToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5087,1
    - Dst: queryPlanToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5090,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5096,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5096,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5096,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 163
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5100
      start: 4934
    functionDepth: 5
    functionLinenumber: 4934
    functionLinenumberEnd: 5100
    functionName: specificNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - physiPartitionNodeToMsg
    - nodesNodeName
    - physiEventWindowNodeToMsg
    - downstreamSourceNodeToMsg
    - physiStateWindowNodeToMsg
    - logicConditionNodeToMsg
    - limitNodeToMsg
    - slotDescNodeToMsg
    - physiCountWindowNodeToMsg
    - physiAnomalyWindowNodeToMsg
    - physiDispatchNodeToMsg
    - physiDynQueryCtrlNodeToMsg
    - physiIndefRowsFuncNodeToMsg
    - physiIntervalNodeToMsg
    - physiSortNodeToMsg
    - operatorNodeToMsg
    - dataBlockDescNodeToMsg
    - nodesError
    - physiProjectNodeToMsg
    - physiHashJoinNodeToMsg
    - physiForecastFuncNodeToMsg
    - physiMergeJoinNodeToMsg
    - physiExchangeNodeToMsg
    - physiSessionWindowNodeToMsg
    - physiDeleteNodeToMsg
    - nodeListNodeToMsg
    - physiFillNodeToMsg
    - physiVirtualTableScanNodeToMsg
    - physiSysTableScanNodeToMsg
    - whenThenNodeToMsg
    - caseWhenNodeToMsg
    - physiLastRowScanNodeToMsg
    - physiInterpFuncNodeToMsg
    - physiTagScanNodeToMsg
    - physiQueryInsertNodeToMsg
    - physiMergeNodeToMsg
    - physiAggNodeToMsg
    - orderByExprNodeToMsg
    - targetNodeToMsg
    - queryPlanToMsg
    - columnNodeToMsg
    - timeRangeNodeToMsg
    - nodeType
    - windowOffsetNodeToMsg
    - physiTableScanNodeToMsg
    - subplanToMsg
    - physiGroupCacheNodeToMsg
    - valueNodeToMsg
    - physiScanNodeToMsg
    - functionNodeToMsg
    - physiExternalWindowNodeToMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t specificNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5104,1
    - Dst: msgToColumnNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5106,1
    - Dst: msgToValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5109,1
    - Dst: msgToOperatorNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5112,1
    - Dst: msgToLogicConditionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5115,1
    - Dst: msgToFunctionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5118,1
    - Dst: msgToOrderByExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5121,1
    - Dst: msgToLimitNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5124,1
    - Dst: msgToNodeListNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5127,1
    - Dst: msgToTargetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5130,1
    - Dst: msgToTimeRangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5133,1
    - Dst: msgToDataBlockDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5136,1
    - Dst: msgToSlotDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5139,1
    - Dst: msgToDownstreamSourceNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5142,1
    - Dst: msgToWhenThenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5146,1
    - Dst: msgToCaseWhenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5149,1
    - Dst: msgToWindowOffsetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5152,1
    - Dst: msgToPhysiTagScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5155,1
    - Dst: msgToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5158,1
    - Dst: msgToPhysiLastRowScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5162,1
    - Dst: msgToPhysiTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5167,1
    - Dst: msgToPhysiSysTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5170,1
    - Dst: msgToPhysiProjectNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5173,1
    - Dst: msgToPhysiMergeJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5176,1
    - Dst: msgToPhysiHashJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5179,1
    - Dst: msgToPhysiAggNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5182,1
    - Dst: msgToPhysiExchangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5185,1
    - Dst: msgToPhysiMergeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5188,1
    - Dst: msgToPhysiSortNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5192,1
    - Dst: msgToPhysiIntervalNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5196,1
    - Dst: msgToPhysiFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5199,1
    - Dst: msgToPhysiSessionWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5202,1
    - Dst: msgToPhysiExternalWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5207,1
    - Dst: msgToPhysiStateWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5210,1
    - Dst: msgToPhysiEventWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5213,1
    - Dst: msgToPhysiCountWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5216,1
    - Dst: msgToPhysiAnomalyWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5219,1
    - Dst: msgToPhysiPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5222,1
    - Dst: msgToPhysiIndefRowsFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5225,1
    - Dst: msgToPhysiInterpFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5228,1
    - Dst: msgToPhysiForecastFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5232,1
    - Dst: msgToPhysiDispatchNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5235,1
    - Dst: msgToPhysiQueryInsertNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5238,1
    - Dst: msgToPhysiDeleteNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5241,1
    - Dst: msgToPhysiGroupCacheNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5244,1
    - Dst: msgToPhysiDynQueryCtrlNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5247,1
    - Dst: msgToPhysiVirtualTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5250,1
    - Dst: msgToSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5253,1
    - Dst: msgToQueryPlan
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5256,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5262,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5262,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5262,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 162
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5265
      start: 5102
    functionDepth: 5
    functionLinenumber: 5102
    functionLinenumberEnd: 5265
    functionName: msgToSpecificNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - nodesNodeName
    - msgToCaseWhenNode
    - msgToPhysiInterpFuncNode
    - msgToDataBlockDescNode
    - msgToPhysiHashJoinNode
    - msgToPhysiPartitionNode
    - msgToSlotDescNode
    - msgToPhysiAnomalyWindowNode
    - msgToPhysiDeleteNode
    - msgToPhysiProjectNode
    - msgToPhysiVirtualTableScanNode
    - msgToLimitNode
    - msgToPhysiScanNode
    - msgToWindowOffsetNode
    - msgToPhysiEventWindowNode
    - msgToPhysiSessionWindowNode
    - msgToPhysiGroupCacheNode
    - msgToDownstreamSourceNode
    - msgToFunctionNode
    - msgToPhysiTableScanNode
    - msgToPhysiSysTableScanNode
    - msgToPhysiMergeNode
    - msgToTimeRangeNode
    - nodesError
    - msgToQueryPlan
    - msgToPhysiMergeJoinNode
    - msgToPhysiDispatchNode
    - msgToPhysiIntervalNode
    - msgToPhysiIndefRowsFuncNode
    - msgToPhysiExchangeNode
    - msgToPhysiForecastFuncNode
    - msgToValueNode
    - msgToPhysiAggNode
    - msgToPhysiTagScanNode
    - msgToPhysiFillNode
    - msgToPhysiSortNode
    - msgToPhysiStateWindowNode
    - msgToSubplan
    - msgToNodeListNode
    - msgToPhysiCountWindowNode
    - msgToColumnNode
    - msgToOrderByExprNode
    - msgToOperatorNode
    - msgToLogicConditionNode
    - msgToTargetNode
    - nodeType
    - msgToPhysiDynQueryCtrlNode
    - msgToPhysiLastRowScanNode
    - msgToWhenThenNode
    - msgToPhysiExternalWindowNode
    - msgToPhysiQueryInsertNode
    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:5268,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5269
      start: 5267
    functionDepth: 2
    functionLinenumber: 5267
    functionLinenumberEnd: 5269
    functionName: nodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - nodeType
    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:5272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5273
      start: 5271
    functionDepth: 3
    functionLinenumber: 5271
    functionLinenumberEnd: 5273
    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:5277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5278
      start: 5275
    functionDepth: 4
    functionLinenumber: 5275
    functionLinenumberEnd: 5278
    functionName: msgToNodeFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 46
    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:5285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5292
      start: 5280
    functionDepth: 3
    functionLinenumber: 5280
    functionLinenumberEnd: 5292
    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:5285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5289
      start: 5284
    functionDepth: 3
    functionLinenumber: 5284
    functionLinenumberEnd: 5289
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 16
    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:5304,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5307,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5310,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5316
      start: 5300
    functionDepth: 3
    functionLinenumber: 5300
    functionLinenumberEnd: 5316
    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:5322,1
    - Dst: tlvDecodeEnd
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5324,1
    - Dst: msgToNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5326,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5328,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5337
      start: 5319
    functionDepth: 4
    functionLinenumber: 5319
    functionLinenumberEnd: 5337
    functionName: msgToNodeList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeEnd
    - nodesDestroyList
    - nodesListAppend
    - nodesMakeList
    - msgToNode
    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:5350,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5353,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5356,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5359,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5366,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5372,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5375,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5384,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5390,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5393,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5397
      start: 5339
    functionDepth: 2
    functionLinenumber: 5339
    functionLinenumberEnd: 5397
    functionName: msgToSArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - tlvDecodeI32
    - tlvDecodeBinary
    - tlvForEach
    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:5402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5403
      start: 5400
    functionDepth: 5
    functionLinenumber: 5400
    functionLinenumberEnd: 5403
    functionName: msgToNodeListFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 54
    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:5412,1
    - Dst: nodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5414,1
    - Dst: endTlvEncode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5417,1
    - Dst: clearTlvEncoder
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pNode
    - pMsg
    - pLen
    argTypes:
    - SNode*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5423
      start: 5405
    functionDepth: 3
    functionLinenumber: 5405
    functionLinenumberEnd: 5423
    functionName: nodesNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - nodeToMsg
    - endTlvEncode
    - clearTlvEncoder
    - initTlvEncoder
    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:5431,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pMsg
    - len
    - pNode
    argTypes:
    - char*
    - int32_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5439
      start: 5425
    functionDepth: 4
    functionLinenumber: 5425
    functionLinenumberEnd: 5439
    functionName: nodesMsgToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMsgToNode(const char* pMsg, int32_t len, SNode** pNode)
  - BBCount: 248
    BranchProfiles: []
    Callsites:
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 496
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 526
    functionName: nodesNodeName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 4
    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:529,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:530,1
    - Dst: tjsonAddItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pJson
    - pName
    - pList
    argTypes:
    - SJson*
    - char*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 543
    functionName: nodeListToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddArrayToObject
    - tjsonAddItem
    - LIST_LENGTH
    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:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 16
    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:546,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:548,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:556,1
    - Dst: makeNodeByJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:558,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pJsonArray
    - pList
    argTypes:
    - SJson*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 567
    functionName: jsonToNodeListImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetArrayItem
    - nodesListAppend
    - nodesMakeList
    - tjsonGetArraySize
    - makeNodeByJson
    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:570,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pJson
    - pName
    - pList
    argTypes:
    - SJson*
    - char*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: jsonToNodeList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeListImpl
    - tjsonGetObjectItem
    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:581,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:583,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:586,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 593
    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:599,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:601,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:604,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 611
    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:622,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:624,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:627,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:630,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 637
    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:643,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:645,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:648,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:651,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 658
    functionName: jsonToSchema
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetStringValue
    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:669,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:671,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:674,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:677,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 684
    functionName: refColToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    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:690,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:692,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:695,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:698,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 705
    functionName: jsonToRefCol
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetSmallIntValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRefCol(const SJson* pJson, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:723,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:725,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:728,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:731,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:734,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:737,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:741,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:744,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:747,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:750,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:753,1
    - Dst: TABLE_TOTAL_COL_NUM
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:754,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 758
    functionName: tableMetaToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - TABLE_TOTAL_COL_NUM
    - tjsonAddArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableMetaToJson(const void* pObj, SJson* pJson)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:764,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:766,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:769,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:772,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:775,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:778,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:781,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:784,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:787,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:790,1
    - Dst: TABLE_TOTAL_COL_NUM
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:793,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:794,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 798
    functionName: jsonToTableMeta
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - TABLE_TOTAL_COL_NUM
    - tjsonGetNumberValue
    - tjsonToArray
    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:812,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:814,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:817,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:820,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:823,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:826,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:829,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:832,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 836
    functionName: logicPlanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddIntegerToObject
    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:841,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:843,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:846,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:849,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:852,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:855,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:858,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:861,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 865
    functionName: jsonToLogicPlanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeList
    - jsonToNodeObject
    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:887,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:889,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:892,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:895,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:898,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:901,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:904,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:907,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:910,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:913,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:916,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:919,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:922,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:925,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:928,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:931,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:934,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 884
    functionDepth: 3
    functionLinenumber: 884
    functionLinenumberEnd: 937
    functionName: logicScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - logicPlanNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - 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:943,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:945,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:948,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:951,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:954,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:957,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:960,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:963,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:966,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:969,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:972,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: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:981,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:984,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:987,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:990,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 939
    functionDepth: 4
    functionLinenumber: 939
    functionLinenumberEnd: 993
    functionName: jsonToLogicScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetIntValue
    - jsonToLogicPlanNode
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetBoolValue
    - tjsonGetUTinyIntValue
    - 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:1002,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1004,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1007,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 999
    functionDepth: 3
    functionLinenumber: 999
    functionLinenumberEnd: 1014
    functionName: logicProjectNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddBoolToObject
    - logicPlanNodeToJson
    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:1019,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1021,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1024,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1027,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1016
    functionDepth: 4
    functionLinenumber: 1016
    functionLinenumberEnd: 1030
    functionName: jsonToLogicProjectNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - 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:1039,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1041,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1044,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1036
    functionDepth: 3
    functionLinenumber: 1036
    functionLinenumberEnd: 1051
    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:1056,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1058,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1061,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1053
    functionDepth: 4
    functionLinenumber: 1053
    functionLinenumberEnd: 1068
    functionName: jsonToLogicVnodeModifyNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeObject
    - tjsonGetIntValue
    - jsonToLogicPlanNode
    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:1076,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1078,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1073
    functionDepth: 3
    functionLinenumber: 1073
    functionLinenumberEnd: 1085
    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:1090,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1092,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1087
    functionDepth: 4
    functionLinenumber: 1087
    functionLinenumberEnd: 1099
    functionName: jsonToLogicExchangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    - jsonToLogicPlanNode
    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:1110,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1112,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1115,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1118,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1121,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1107
    functionDepth: 3
    functionLinenumber: 1107
    functionLinenumberEnd: 1127
    functionName: logicMergeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    - logicPlanNodeToJson
    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:1132,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1134,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1137,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1140,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1143,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1129
    functionDepth: 4
    functionLinenumber: 1129
    functionLinenumberEnd: 1149
    functionName: jsonToLogicMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetIntValue
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicMergeNode(const SJson* pJson, void* pObj)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1173,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1175,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1178,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1181,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1184,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1187,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1190,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1193,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1196,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1199,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1202,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1205,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1208,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1211,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1214,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1217,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1220,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1223,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1226,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1170
    functionDepth: 3
    functionLinenumber: 1170
    functionLinenumberEnd: 1230
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1235,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1237,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1240,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1243,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1246,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1249,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1252,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1255,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1258,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1261,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1264,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1267,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1270,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1273,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1276,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1279,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1282,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1285,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1288,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1232
    functionDepth: 4
    functionLinenumber: 1232
    functionLinenumberEnd: 1292
    functionName: jsonToLogicWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetBigIntValue
    - jsonToLogicPlanNode
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1303,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1305,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1308,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1311,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1314,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1300
    functionDepth: 3
    functionLinenumber: 1300
    functionLinenumberEnd: 1321
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1326,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1328,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1331,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1334,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1337,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1323
    functionDepth: 4
    functionLinenumber: 1323
    functionLinenumberEnd: 1344
    functionName: jsonToLogicFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - jsonToLogicPlanNode
    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:1351,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1348
    functionDepth: 3
    functionLinenumber: 1348
    functionLinenumberEnd: 1357
    functionName: logicSortNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - logicPlanNodeToJson
    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:1362,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 4
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    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:1375,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1372
    functionDepth: 3
    functionLinenumber: 1372
    functionLinenumberEnd: 1381
    functionName: logicPartitionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - logicPlanNodeToJson
    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:1386,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1383
    functionDepth: 4
    functionLinenumber: 1383
    functionLinenumberEnd: 1392
    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:1399,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1396
    functionDepth: 3
    functionLinenumber: 1396
    functionLinenumberEnd: 1405
    functionName: logicIndefRowsFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - logicPlanNodeToJson
    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:1410,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1407
    functionDepth: 4
    functionLinenumber: 1407
    functionLinenumberEnd: 1416
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1433,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1435,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1438,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1441,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1444,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1447,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1450,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1453,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1456,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1459,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1462,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1465,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1430
    functionDepth: 3
    functionLinenumber: 1430
    functionLinenumberEnd: 1469
    functionName: logicInterpFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - logicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicInterpFuncNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1474,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1476,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1479,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1482,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1485,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1488,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1491,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1494,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1497,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1500,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1503,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1506,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1471
    functionDepth: 4
    functionLinenumber: 1471
    functionLinenumberEnd: 1510
    functionName: jsonToLogicInterpFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetBigIntValue
    - jsonToLogicPlanNode
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - jsonToNodeObject
    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:1518,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1515
    functionDepth: 3
    functionLinenumber: 1515
    functionLinenumberEnd: 1524
    functionName: logicForecastFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - logicPlanNodeToJson
    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:1529,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1526
    functionDepth: 4
    functionLinenumber: 1526
    functionLinenumberEnd: 1535
    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:1540,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1546
    functionName: logicImputationFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - logicPlanNodeToJson
    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:1551,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1548
    functionDepth: 4
    functionLinenumber: 1548
    functionLinenumberEnd: 1557
    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:1567,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1569,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1572,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1575,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1564
    functionDepth: 3
    functionLinenumber: 1564
    functionLinenumberEnd: 1582
    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:1587,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1589,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1592,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1595,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1584
    functionDepth: 4
    functionLinenumber: 1584
    functionLinenumberEnd: 1602
    functionName: jsonToLogicGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - 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:1613,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1615,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1618,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1621,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1624,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1610
    functionDepth: 3
    functionLinenumber: 1610
    functionLinenumberEnd: 1631
    functionName: logicDynQueryCtrlNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    - logicPlanNodeToJson
    - 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:1636,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1638,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1641,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1644,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1647,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1633
    functionDepth: 4
    functionLinenumber: 1633
    functionLinenumberEnd: 1654
    functionName: jsonToLogicDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetNumberValue
    - jsonToNodeList
    - jsonToLogicPlanNode
    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:1663,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1665,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1660
    functionDepth: 1
    functionLinenumber: 1660
    functionLinenumberEnd: 1672
    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:1677,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1679,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1686
    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:1694,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1700
    functionName: epToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t epToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1705,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1702
    functionDepth: 1
    functionLinenumber: 1702
    functionLinenumberEnd: 1711
    functionName: jsonToEp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetSmallIntValue
    - tjsonGetStringValue
    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:1720,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1722,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1729
    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:1734,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1736,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1731
    functionDepth: 1
    functionLinenumber: 1731
    functionLinenumberEnd: 1743
    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:1754,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1756,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1759,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1762,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1751
    functionDepth: 1
    functionLinenumber: 1751
    functionLinenumberEnd: 1769
    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:1774,1
    - Dst: tjsonGetUIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1776,1
    - Dst: tjsonGetUIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1779,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1782,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1789
    functionName: jsonToVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetIntValue
    - tjsonGetUIntValue
    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:1797,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1804
    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:1809,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1815
    functionName: jsonToVgroupsInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    - tjsonToArray
    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:1830,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1832,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1835,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1838,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1841,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1841,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1844,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1847,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1850,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1853,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1827
    functionDepth: 2
    functionLinenumber: 1827
    functionLinenumberEnd: 1857
    functionName: logicSubplanToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddIntegerToObject
    - 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:1862,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1864,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1867,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1870,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1874,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1877,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1880,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1883,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1886,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1859
    functionDepth: 3
    functionLinenumber: 1859
    functionLinenumberEnd: 1890
    functionName: jsonToLogicSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonMakeObject
    - tjsonToObject
    - tjsonGetNumberValue
    - tjsonGetIntValue
    - jsonToNodeList
    - jsonToNodeObject
    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:1896,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1894
    functionDepth: 1
    functionLinenumber: 1894
    functionLinenumberEnd: 1897
    functionName: logicPlanToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - nodesListGetNode
    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:1902,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1907
    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:1919,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1921,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1924,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1927,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1930,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1933,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1916
    functionDepth: 3
    functionLinenumber: 1916
    functionLinenumberEnd: 1939
    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:1944,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1946,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1949,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1952,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1955,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1958,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1961,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1941
    functionDepth: 4
    functionLinenumber: 1941
    functionLinenumberEnd: 1965
    functionName: jsonToLogicJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeObject
    - jsonToLogicPlanNode
    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:1978,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1980,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1983,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1986,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1989,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1992,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1995,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1998,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1975
    functionDepth: 3
    functionLinenumber: 1975
    functionLinenumberEnd: 2001
    functionName: logicVirtualTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - logicPlanNodeToJson
    - nodeListToJson
    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:2007,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2009,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2012,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2015,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2018,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2021,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2024,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2027,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2003
    functionDepth: 4
    functionLinenumber: 2003
    functionLinenumberEnd: 2030
    functionName: jsonToLogicVirtualTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToLogicPlanNode
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - tjsonGetBoolValue
    - 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:2047,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2049,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2052,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2055,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2058,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2061,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2064,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2067,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2070,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2044
    functionDepth: 2
    functionLinenumber: 2044
    functionLinenumberEnd: 2074
    functionName: physicPlanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    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:2079,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2081,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2084,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2087,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2090,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2093,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2096,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2099,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2076
    functionDepth: 3
    functionLinenumber: 2076
    functionLinenumberEnd: 2106
    functionName: jsonToPhysicPlanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetNumberValue
    - jsonToNodeList
    - jsonToNodeObject
    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:2116,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2118,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2121,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2128
    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:2133,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2135,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2138,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2130
    functionDepth: 1
    functionLinenumber: 2130
    functionLinenumberEnd: 2145
    functionName: jsonToName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetUTinyIntValue
    - tjsonGetIntValue
    - tjsonGetStringValue
    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:2159,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2161,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2164,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2167,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2170,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2173,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2176,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2179,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2156
    functionDepth: 3
    functionLinenumber: 2156
    functionLinenumberEnd: 2186
    functionName: physiScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    - physicPlanNodeToJson
    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:2191,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2193,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2196,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2199,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2202,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2205,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2208,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2211,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2188
    functionDepth: 4
    functionLinenumber: 2188
    functionLinenumberEnd: 2218
    functionName: jsonToPhysiScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetBoolValue
    - 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:2225,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2222
    functionDepth: 4
    functionLinenumber: 2222
    functionLinenumberEnd: 2231
    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:2236,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2233
    functionDepth: 5
    functionLinenumber: 2233
    functionLinenumberEnd: 2242
    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:2254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2256
    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:2261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2258
    functionDepth: 1
    functionLinenumber: 2258
    functionLinenumberEnd: 2263
    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:2268,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2270,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2273,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2276,1
    - Dst: tjsonAddTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2279,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2265
    functionDepth: 4
    functionLinenumber: 2265
    functionLinenumberEnd: 2286
    functionName: physiLastRowScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddTArray
    - tjsonAddBoolToObject
    - physiScanNodeToJson
    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:2291,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2293,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2296,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2299,1
    - Dst: tjsonToTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2302,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2288
    functionDepth: 5
    functionLinenumber: 2288
    functionLinenumberEnd: 2309
    functionName: jsonToPhysiLastRowScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToTArray
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiLastRowScanNode(const SJson* pJson, void* pObj)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2346,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2348,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2351,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2354,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2357,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2360,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2363,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2366,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2369,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2372,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2375,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2378,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2381,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2384,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2387,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2390,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2393,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2396,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2399,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2402,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2405,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2408,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2411,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2414,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2417,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2420,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2423,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2343
    functionDepth: 4
    functionLinenumber: 2343
    functionLinenumberEnd: 2426
    functionName: physiTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddDoubleToObject
    - physiScanNodeToJson
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiTableScanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2431,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2433,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2436,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2439,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2442,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2445,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2448,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2451,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2454,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2457,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2460,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2463,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2466,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2469,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2472,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2475,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2478,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2481,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2484,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2487,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2490,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2493,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2496,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2499,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2502,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2505,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2508,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2428
    functionDepth: 5
    functionLinenumber: 2428
    functionLinenumberEnd: 2511
    functionName: jsonToPhysiTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - tjsonGetIntValue
    - tjsonGetTinyIntValue
    - tjsonGetDoubleValue
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    - tjsonGetUTinyIntValue
    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:2524,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2527,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2531,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2535,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2539,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2543,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2547,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2551,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2555,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2521
    functionDepth: 4
    functionLinenumber: 2521
    functionLinenumberEnd: 2559
    functionName: physiVirtualTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - physiScanNodeToJson
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - 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:2564,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2566,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2569,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2572,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2575,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2579,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2583,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2587,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2561
    functionDepth: 5
    functionLinenumber: 2561
    functionLinenumberEnd: 2595
    functionName: jsonToPhysiVirtualTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiVirtualTableScanNode(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2605,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2607,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2610,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2613,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2602
    functionDepth: 4
    functionLinenumber: 2602
    functionLinenumberEnd: 2620
    functionName: physiSysTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    - physiScanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiSysTableScanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2625,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2627,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2630,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2633,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2622
    functionDepth: 5
    functionLinenumber: 2622
    functionLinenumberEnd: 2640
    functionName: jsonToPhysiSysTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    - tjsonGetNumberValue
    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:2650,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2652,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2655,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2658,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2664
      start: 2647
    functionDepth: 3
    functionLinenumber: 2647
    functionLinenumberEnd: 2664
    functionName: physiProjectNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - physicPlanNodeToJson
    - tjsonAddBoolToObject
    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:2669,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2671,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2674,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2677,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2666
    functionDepth: 4
    functionLinenumber: 2666
    functionLinenumberEnd: 2683
    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:2718,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2720,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2723,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2726,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2729,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2732,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2735,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2738,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2741,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2744,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2747,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2750,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2753,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2756,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2759,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2762,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2765,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2768,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2771,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2774,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2777,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2781
      start: 2715
    functionDepth: 3
    functionLinenumber: 2715
    functionLinenumberEnd: 2781
    functionName: physiMergeJoinNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    - physicPlanNodeToJson
    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:2786,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2788,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2791,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2794,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2797,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2800,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2803,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2806,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2809,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2812,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2815,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2818,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2821,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2824,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2827,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2830,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2833,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2836,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2839,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2842,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2845,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2783
    functionDepth: 4
    functionLinenumber: 2783
    functionLinenumberEnd: 2849
    functionName: jsonToPhysiMergeJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeList
    - jsonToNodeObject
    - jsonToPhysicPlanNode
    - 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:2854,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2856,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2859,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2862,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2865,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2868,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2871,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2874,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2877,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2880,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2883,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2886,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2889,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2892,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2895,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2898,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2901,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2904,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2907,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2910,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2851
    functionDepth: 3
    functionLinenumber: 2851
    functionLinenumberEnd: 2914
    functionName: physiHashJoinNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - physicPlanNodeToJson
    - 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:2919,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2921,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2924,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2927,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2930,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2933,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2936,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2939,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2942,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2945,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2948,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2951,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2954,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2957,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2960,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2963,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2966,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2969,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2972,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2975,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2916
    functionDepth: 4
    functionLinenumber: 2916
    functionLinenumberEnd: 2979
    functionName: jsonToPhysiHashJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetBigIntValue
    - jsonToNodeList
    - jsonToNodeObject
    - jsonToPhysicPlanNode
    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:2991,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2993,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2996,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2999,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3002,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3005,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 2988
    functionDepth: 3
    functionLinenumber: 2988
    functionLinenumberEnd: 3012
    functionName: physiAggNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - physicPlanNodeToJson
    - tjsonAddBoolToObject
    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:3017,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3019,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3022,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3025,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3028,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3031,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3034,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3014
    functionDepth: 4
    functionLinenumber: 3014
    functionLinenumberEnd: 3038
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3050,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3052,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3055,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3058,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3061,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3064,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3067,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3047
    functionDepth: 3
    functionLinenumber: 3047
    functionLinenumberEnd: 3071
    functionName: physiExchangeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - nodeListToJson
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiExchangeNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3076,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3078,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3081,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3084,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3087,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3090,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3097
      start: 3073
    functionDepth: 4
    functionLinenumber: 3073
    functionLinenumberEnd: 3097
    functionName: jsonToPhysiExchangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetIntValue
    - jsonToPhysicPlanNode
    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:3112,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3114,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3117,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3120,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3123,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3126,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3129,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3132,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3135,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3109
    functionDepth: 3
    functionLinenumber: 3109
    functionLinenumberEnd: 3142
    functionName: physiMergeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddBoolToObject
    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:3147,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3149,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3152,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3155,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3158,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3161,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3164,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3167,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3174
      start: 3144
    functionDepth: 4
    functionLinenumber: 3144
    functionLinenumberEnd: 3174
    functionName: jsonToPhysiMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetIntValue
    - jsonToPhysicPlanNode
    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:3185,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3187,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3190,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3193,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3196,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3182
    functionDepth: 3
    functionLinenumber: 3182
    functionLinenumberEnd: 3203
    functionName: physiSortNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - physicPlanNodeToJson
    - tjsonAddBoolToObject
    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:3208,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3210,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3213,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3216,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3219,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3226
      start: 3205
    functionDepth: 4
    functionLinenumber: 3205
    functionLinenumberEnd: 3226
    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:3246,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3248,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3251,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3254,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3257,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3260,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3263,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3266,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3269,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3272,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3275,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3278,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3281,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3285
      start: 3243
    functionDepth: 3
    functionLinenumber: 3243
    functionLinenumberEnd: 3285
    functionName: physiWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    - physicPlanNodeToJson
    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:3290,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3292,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3295,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3298,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3301,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3304,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3307,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3310,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3313,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3316,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3319,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3322,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3287
    functionDepth: 4
    functionLinenumber: 3287
    functionLinenumberEnd: 3329
    functionName: jsonToPhysiWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - jsonToNodeObject
    - jsonToPhysicPlanNode
    - tjsonGetBoolValue
    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:3342,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3344,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3347,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3350,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3353,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3356,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3359,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3339
    functionDepth: 4
    functionLinenumber: 3339
    functionLinenumberEnd: 3366
    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:3371,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3373,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3376,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3379,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3382,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3385,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3388,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3368
    functionDepth: 5
    functionLinenumber: 3368
    functionLinenumberEnd: 3395
    functionName: jsonToPhysiIntervalNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetTinyIntValue
    - tjsonGetBigIntValue
    - jsonToPhysiWindowNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiIntervalNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3406,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3408,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3411,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3414,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3417,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3403
    functionDepth: 4
    functionLinenumber: 3403
    functionLinenumberEnd: 3424
    functionName: physiExternalNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    - physiWindowNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiExternalNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3429,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3431,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3434,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3437,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3440,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3447
      start: 3426
    functionDepth: 5
    functionLinenumber: 3426
    functionLinenumberEnd: 3447
    functionName: jsonToPhysiExternalNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    - tjsonGetBigIntValue
    - jsonToPhysiWindowNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiExternalNode(const SJson* pJson, void* pObj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3462,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3464,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3467,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3470,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3473,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3476,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3479,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3482,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3485,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3459
    functionDepth: 3
    functionLinenumber: 3459
    functionLinenumberEnd: 3492
    functionName: physiFillNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - physicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiFillNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3497,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3499,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3502,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3505,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3508,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3511,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3514,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3517,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3520,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3523,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3494
    functionDepth: 4
    functionLinenumber: 3494
    functionLinenumberEnd: 3527
    functionName: jsonToPhysiFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetBigIntValue
    - jsonToNodeList
    - jsonToNodeObject
    - jsonToPhysicPlanNode
    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:3534,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3531
    functionDepth: 4
    functionLinenumber: 3531
    functionLinenumberEnd: 3540
    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:3545,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3551
      start: 3542
    functionDepth: 5
    functionLinenumber: 3542
    functionLinenumberEnd: 3551
    functionName: jsonToPhysiSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToPhysiWindowNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiSessionWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3560,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3562,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3565,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3572
      start: 3557
    functionDepth: 4
    functionLinenumber: 3557
    functionLinenumberEnd: 3572
    functionName: physiStateWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - physiWindowNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiStateWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3577,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3579,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3582,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3589
      start: 3574
    functionDepth: 5
    functionLinenumber: 3574
    functionLinenumberEnd: 3589
    functionName: jsonToPhysiStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - jsonToPhysiWindowNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiStateWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3598,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3600,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3603,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3610
      start: 3595
    functionDepth: 4
    functionLinenumber: 3595
    functionLinenumberEnd: 3610
    functionName: physiEventWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - physiWindowNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiEventWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3615,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3617,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3620,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3612
    functionDepth: 5
    functionLinenumber: 3612
    functionLinenumberEnd: 3627
    functionName: jsonToPhysiEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - jsonToPhysiWindowNode
    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:3635,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3637,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3643
      start: 3632
    functionDepth: 4
    functionLinenumber: 3632
    functionLinenumberEnd: 3643
    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:3648,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3650,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3645
    functionDepth: 5
    functionLinenumber: 3645
    functionLinenumberEnd: 3657
    functionName: jsonToPhysiCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToPhysiWindowNode
    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:3665,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3667,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3673
      start: 3662
    functionDepth: 4
    functionLinenumber: 3662
    functionLinenumberEnd: 3673
    functionName: physiAnomalyWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    - physiWindowNodeToJson
    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:3678,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3680,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3687
      start: 3675
    functionDepth: 5
    functionLinenumber: 3675
    functionLinenumberEnd: 3687
    functionName: jsonToPhysiAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    - jsonToNodeObject
    - 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:3698,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3700,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3703,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3706,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3709,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3716
      start: 3695
    functionDepth: 3
    functionLinenumber: 3695
    functionLinenumberEnd: 3716
    functionName: physiPartitionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddBoolToObject
    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:3721,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3723,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3726,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3729,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3732,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3718
    functionDepth: 4
    functionLinenumber: 3718
    functionLinenumberEnd: 3739
    functionName: jsonToPhysiPartitionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetIntValue
    - jsonToPhysicPlanNode
    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:3747,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3749,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3744
    functionDepth: 3
    functionLinenumber: 3744
    functionLinenumberEnd: 3756
    functionName: physiIndefRowsFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - physicPlanNodeToJson
    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:3761,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3763,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3770
      start: 3758
    functionDepth: 4
    functionLinenumber: 3758
    functionLinenumberEnd: 3770
    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:3788,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3790,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3793,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3796,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3799,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3802,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3805,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3808,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3811,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3814,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3817,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3820,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3823,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3827
      start: 3785
    functionDepth: 3
    functionLinenumber: 3785
    functionLinenumberEnd: 3827
    functionName: physiInterpFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddObject
    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:3832,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3834,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3837,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3840,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3843,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3846,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3849,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3852,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3855,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3858,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3861,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3864,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3867,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3871
      start: 3829
    functionDepth: 4
    functionLinenumber: 3829
    functionLinenumberEnd: 3871
    functionName: jsonToPhysiInterpFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetBigIntValue
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - jsonToNodeObject
    - jsonToPhysicPlanNode
    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:3879,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3881,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3876
    functionDepth: 3
    functionLinenumber: 3876
    functionLinenumberEnd: 3888
    functionName: physiForecastFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - physicPlanNodeToJson
    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:3893,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3895,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3902
      start: 3890
    functionDepth: 4
    functionLinenumber: 3890
    functionLinenumberEnd: 3902
    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:3908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3906
    functionDepth: 1
    functionLinenumber: 3906
    functionLinenumberEnd: 3909
    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:3913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3914
      start: 3911
    functionDepth: 1
    functionLinenumber: 3911
    functionLinenumberEnd: 3914
    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:3916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3916
      start: 3916
    functionDepth: 2
    functionLinenumber: 3916
    functionLinenumberEnd: 3916
    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:3918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3918
      start: 3918
    functionDepth: 2
    functionLinenumber: 3918
    functionLinenumberEnd: 3918
    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:3932,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3934,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3937,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3940,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3943,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3946,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3949,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3952,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3955,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3959
      start: 3929
    functionDepth: 2
    functionLinenumber: 3929
    functionLinenumberEnd: 3959
    functionName: physiQueryInsertNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - physicDataSinkNodeToJson
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - 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:3964,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3966,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3969,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3972,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3975,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3978,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3981,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3984,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3987,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3961
    functionDepth: 3
    functionLinenumber: 3961
    functionLinenumberEnd: 3991
    functionName: jsonToPhysiQueryInsertNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetStringValue
    - tjsonGetIntValue
    - tjsonGetTinyIntValue
    - jsonToPhysicDataSinkNode
    - jsonToNodeList
    - tjsonGetBoolValue
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiQueryInsertNode(const SJson* pJson, void* pObj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: physicDataSinkNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4006,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4008,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4011,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4014,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4017,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4020,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4023,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4026,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4029,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4032,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4036
      start: 4003
    functionDepth: 2
    functionLinenumber: 4003
    functionLinenumberEnd: 4036
    functionName: physiDeleteNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physicDataSinkNodeToJson
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiDeleteNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4041,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4043,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4046,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4049,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4052,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4055,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4058,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4061,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4064,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4067,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4071
      start: 4038
    functionDepth: 2
    functionLinenumber: 4038
    functionLinenumberEnd: 4071
    functionName: jsonToPhysiDeleteNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - tjsonGetStringValue
    - tjsonGetTinyIntValue
    - jsonToPhysicDataSinkNode
    - jsonToNodeObject
    - 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:4082,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4084,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4087,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4090,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4093,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4079
    functionDepth: 3
    functionLinenumber: 4079
    functionLinenumberEnd: 4099
    functionName: physiGroupCacheNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - physicPlanNodeToJson
    - tjsonAddBoolToObject
    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:4104,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4106,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4109,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4112,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4115,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4121
      start: 4101
    functionDepth: 4
    functionLinenumber: 4101
    functionLinenumberEnd: 4121
    functionName: jsonToPhysiGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiGroupCacheNode(const SJson* pJson, void* pObj)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4147,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4149,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4154,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4156,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4159,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4162,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4165,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4168,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4171,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4176,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4178,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4181,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4184,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4187,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4190,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4193,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4196,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4199,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4202,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4205,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4214,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4217
      start: 4144
    functionDepth: 3
    functionLinenumber: 4144
    functionLinenumberEnd: 4217
    functionName: physiDynQueryCtrlNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiDynQueryCtrlNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4222,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4224,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4229,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4231,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4234,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4237,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4240,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4243,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4246,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4249,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4254,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4256,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4259,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4262,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4265,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4268,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4271,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4274,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4277,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4280,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4283,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4292,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4295
      start: 4219
    functionDepth: 4
    functionLinenumber: 4219
    functionLinenumberEnd: 4295
    functionName: jsonToPhysiDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetNumberValue
    - tjsonGetStringValue
    - tjsonGetIntValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetBoolValue
    - 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:4305,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4307,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4310,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4317
      start: 4302
    functionDepth: 1
    functionLinenumber: 4302
    functionLinenumberEnd: 4317
    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:4322,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4324,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4327,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4334
      start: 4319
    functionDepth: 1
    functionLinenumber: 4319
    functionLinenumberEnd: 4334
    functionName: jsonToQueryNodeAddr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    - tjsonToArray
    - 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:4341,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4347
      start: 4338
    functionDepth: 1
    functionLinenumber: 4338
    functionLinenumberEnd: 4347
    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:4356,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4356,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4361,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4370,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4371,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4373,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4377,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4381,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4381,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4381,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4392
      start: 4354
    functionDepth: 1
    functionLinenumber: 4354
    functionLinenumberEnd: 4392
    functionName: oTableHashToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGetSize
    - tjsonAddStringToObject
    - tjsonAddArray
    - tjsonAddItemToArray
    - tjsonAddIntegerToObject
    - tjsonAddArrayToObject
    - taosArrayGetSize
    - tjsonCreateObject
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - TARRAY_GET_ELEM
    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:4400,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4400,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4405,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4414,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4415,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4417,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4421,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4425,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4436
      start: 4398
    functionDepth: 1
    functionLinenumber: 4398
    functionLinenumberEnd: 4436
    functionName: vtablesHashToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGetSize
    - tjsonAddItemToArray
    - tjsonAddIntegerToObject
    - tjsonAddArrayToObject
    - tjsonAddObject
    - tjsonCreateObject
    - tSimpleHashIterate
    - tSimpleHashGetKey
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtablesHashToJson(const void* pObj, SJson* pJson)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4466,1
    - Dst: tjsonAddIntegerToObject
      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: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4477,1
    - Dst: tjsonAddStringToObject
      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: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4489,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4492,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4495,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4498,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4501,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4504,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4507,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4510,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4513,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4516,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4519,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4522,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4526
      start: 4463
    functionDepth: 2
    functionLinenumber: 4463
    functionLinenumberEnd: 4526
    functionName: subplanToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - 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:4533,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4534,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4539,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4540,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4542,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4544,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4554
      start: 4528
    functionDepth: 1
    functionLinenumber: 4528
    functionLinenumberEnd: 4554
    functionName: jsonToOtableCols
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetArrayItem
    - taosArrayPush
    - taosArrayInit
    - tjsonGetSmallIntValue
    - tjsonGetStringValue
    - tjsonGetArraySize
    - 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:4559,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4561,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4561,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4565,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4567,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4572,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4575,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4577,1
    - Dst: jsonToOtableCols
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4578,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4580,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4580,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4586
      start: 4556
    functionDepth: 2
    functionLinenumber: 4556
    functionLinenumberEnd: 4586
    functionName: jsonToOtableHash
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetArrayItem
    - strlen
    - jsonToOtableCols
    - tjsonGetIntValue
    - tjsonGetStringValue
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - tjsonGetObjectItem
    - tSimpleHashInit
    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:4593,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4595,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4595,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4599,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4600,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4605,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4608,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4610,1
    - Dst: jsonToOtableHash
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4611,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4619
      start: 4590
    functionDepth: 3
    functionLinenumber: 4590
    functionLinenumberEnd: 4619
    functionName: jsonToVtablesHash
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetArrayItem
    - tjsonGetIntValue
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - jsonToOtableHash
    - tjsonGetUBigIntValue
    - tjsonGetObjectItem
    - tSimpleHashInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToVtablesHash(const SJson* pJson, void* pObj)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4625,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4627,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4630,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4633,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4636,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4639,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4642,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4645,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4648,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4651,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4654,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4657,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4660,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4663,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4666,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4669,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4672,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4675,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4679,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4680,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4682,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4687,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4690,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4694
      start: 4622
    functionDepth: 3
    functionLinenumber: 4622
    functionLinenumberEnd: 4694
    functionName: jsonToSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    - tjsonToObject
    - tjsonGetNumberValue
    - tjsonGetStringValue
    - tjsonGetIntValue
    - nodesListMakeAppend
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetBoolValue
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSubplan(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4703,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4705,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4708,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4712
      start: 4700
    functionDepth: 1
    functionLinenumber: 4700
    functionLinenumberEnd: 4712
    functionName: planToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodesListGetNode
    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:4716,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4718,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4722,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4726,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4729,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pSubplan
    - level
    - pSubplans
    argTypes:
    - SNode*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4735
      start: 4714
    functionDepth: 1
    functionLinenumber: 4714
    functionLinenumberEnd: 4735
    functionName: pushSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesListGetNode
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    - LIST_LENGTH
    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:4740,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4745,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4751,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4752,1
    - Dst: buildSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4753,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pSubplan
    - pQueryPlan
    argTypes:
    - SSubplan*
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4761
      start: 4737
    functionDepth: 1
    functionLinenumber: 4737
    functionLinenumberEnd: 4761
    functionName: buildSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 1
    functionsReached:
    - buildSubplan
    - nodeType
    - pushSubplan
    - nodesDestroyNode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildSubplan(SSubplan* pSubplan, SQueryPlan* pQueryPlan)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4766,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4769,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4773,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4776,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4780,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4781,1
    - Dst: buildSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4782,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4790,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4792,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4795,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4795,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4800
      start: 4763
    functionDepth: 2
    functionLinenumber: 4763
    functionLinenumberEnd: 4800
    functionName: jsonToPlan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesNodeName
    - buildSubplan
    - nodeType
    - nodesError
    - tjsonGetIntValue
    - nodesMakeList
    - jsonToNodeObject
    - nodesDestroyNode
    - nodesClearList
    - tjsonGetUBigIntValue
    - FOREACH
    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:4808,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4810,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4817
      start: 4805
    functionDepth: 3
    functionLinenumber: 4805
    functionLinenumberEnd: 4817
    functionName: logicAggNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - logicPlanNodeToJson
    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:4822,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4824,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4831
      start: 4819
    functionDepth: 4
    functionLinenumber: 4819
    functionLinenumberEnd: 4831
    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:4841,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4843,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4846,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4853
      start: 4838
    functionDepth: 1
    functionLinenumber: 4838
    functionLinenumberEnd: 4853
    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:4858,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4860,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4863,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4870
      start: 4855
    functionDepth: 1
    functionLinenumber: 4855
    functionLinenumberEnd: 4870
    functionName: jsonToDataType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetUTinyIntValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDataType(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4881,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4883,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4886,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4889,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4896
      start: 4878
    functionDepth: 1
    functionLinenumber: 4878
    functionLinenumberEnd: 4896
    functionName: exprNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t exprNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4901,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4903,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4906,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4909,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4912,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4916
      start: 4898
    functionDepth: 1
    functionLinenumber: 4898
    functionLinenumberEnd: 4916
    functionName: jsonToExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetStringValue
    - 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:4942,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4944,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4947,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4950,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4953,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4956,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4959,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4962,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4965,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4968,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4971,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4974,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4977,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4980,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4983,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4986,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4989,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4992,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4995,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4998,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5001,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5004
      start: 4939
    functionDepth: 2
    functionLinenumber: 4939
    functionLinenumberEnd: 5004
    functionName: columnNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - exprNodeToJson
    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:5009,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5011,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5014,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5017,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5020,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5023,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5026,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5029,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5032,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5035,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5038,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5041,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5044,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5047,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5050,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5053,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5056,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5059,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5062,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5065,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5068,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5071
      start: 5006
    functionDepth: 2
    functionLinenumber: 5006
    functionLinenumberEnd: 5071
    functionName: jsonToColumnNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetSmallIntValue
    - tjsonGetStringValue
    - tjsonGetTinyIntValue
    - jsonToExprNode
    - tjsonGetBoolValue
    - 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:5090,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5097,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5103,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5107,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5111,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5112,1
    - Dst: taosHexEncode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5114,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5114,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5114,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5116,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5120,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5126,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5126,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5129,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5131,1
    - Dst: taosHexEncode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5133,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5135,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5138,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5139,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5145,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5145,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5152
      start: 5082
    functionDepth: 1
    functionLinenumber: 5082
    functionLinenumberEnd: 5152
    functionName: datumToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddDoubleToObject
    - varDataLen
    - varDataVal
    - tjsonAddStringToObject
    - taosMemoryFree
    - tjsonAddBoolToObject
    - blobDataVal
    - tjsonAddIntegerToObject
    - getJsonValueLen
    - taosMemoryCalloc
    - taosHexEncode
    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:5157,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5159,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5159,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5162,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5165,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5168,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5171,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5174,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5177,1
    - Dst: datumToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5180,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5184
      start: 5154
    functionDepth: 2
    functionLinenumber: 5154
    functionLinenumberEnd: 5184
    functionName: valueNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - strlen
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - exprNodeToJson
    - datumToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t valueNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5194,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5198,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5202,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5206,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5210,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5214,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5218,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5222,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5226,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5230,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5234,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5238,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5245,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5250,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5252,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5259,1
    - Dst: taosHexDecode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5262,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5262,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5264,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5267,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5269,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5269,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5274,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5279,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5284,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5286,1
    - Dst: taosHexDecode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5289,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5291,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5294,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5300,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5305,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5306,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5306,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 122
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5315
      start: 5186
    functionDepth: 1
    functionLinenumber: 5186
    functionLinenumberEnd: 5315
    functionName: jsonToDatum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - taosMemoryFree
    - tjsonGetBigIntValue
    - tjsonGetStringValue
    - taosHexDecode
    - blobDataVal
    - tjsonGetDoubleValue
    - blobDataSetLen
    - tjsonGetBoolValue
    - taosMemoryCalloc
    - tjsonGetUBigIntValue
    - 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:5320,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5323,1
    - Dst: tjsonDupStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5326,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5329,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5332,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5335,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5338,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5341,1
    - Dst: jsonToDatum
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5348
      start: 5317
    functionDepth: 2
    functionLinenumber: 5317
    functionLinenumberEnd: 5348
    functionName: jsonToValueNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonDupStringValue
    - tjsonGetIntValue
    - tjsonGetTinyIntValue
    - jsonToExprNode
    - tjsonGetBoolValue
    - jsonToDatum
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToValueNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5357,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5359,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5362,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5369
      start: 5354
    functionDepth: 2
    functionLinenumber: 5354
    functionLinenumberEnd: 5369
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5374,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5376,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5379,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5386
      start: 5371
    functionDepth: 2
    functionLinenumber: 5371
    functionLinenumberEnd: 5386
    functionName: jsonToOperatorNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToExprNode
    - tjsonGetNumberValue
    - jsonToNodeObject
    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:5394,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5396,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5403
      start: 5391
    functionDepth: 2
    functionLinenumber: 5391
    functionLinenumberEnd: 5403
    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:5408,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5410,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5417
      start: 5405
    functionDepth: 3
    functionLinenumber: 5405
    functionLinenumberEnd: 5417
    functionName: jsonToLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToExprNode
    - tjsonGetNumberValue
    - jsonToNodeList
    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:5434,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5436,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5439,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5442,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5445,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5448,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5451,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5454,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5457,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5460,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5463,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5466,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5469
      start: 5431
    functionDepth: 2
    functionLinenumber: 5431
    functionLinenumberEnd: 5469
    functionName: functionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - exprNodeToJson
    - 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:5474,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5476,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5479,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5482,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5485,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5488,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5491,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5494,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5497,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5500,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5503,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5506,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5510
      start: 5471
    functionDepth: 3
    functionLinenumber: 5471
    functionLinenumberEnd: 5510
    functionName: jsonToFunctionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetNumberValue
    - tjsonGetStringValue
    - tjsonGetIntValue
    - jsonToNodeList
    - jsonToExprNode
    - tjsonGetBoolValue
    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:5519,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5521,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5524,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5531
      start: 5516
    functionDepth: 2
    functionLinenumber: 5516
    functionLinenumberEnd: 5531
    functionName: tableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - exprNodeToJson
    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:5536,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5538,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5541,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5548
      start: 5533
    functionDepth: 2
    functionLinenumber: 5533
    functionLinenumberEnd: 5548
    functionName: jsonToTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToExprNode
    - tjsonGetStringValue
    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:5563,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5565,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5568,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5571,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5574,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5577,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5580,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5583,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5590
      start: 5560
    functionDepth: 1
    functionLinenumber: 5560
    functionLinenumberEnd: 5590
    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:5595,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5597,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5600,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5603,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5606,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5609,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5612,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5615,1
    - Dst: tjsonDupStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5622
      start: 5592
    functionDepth: 1
    functionLinenumber: 5592
    functionLinenumberEnd: 5622
    functionName: jsonToTableIndexInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonDupStringValue
    - tjsonToObject
    - tjsonGetIntValue
    - tjsonGetBigIntValue
    - tjsonGetTinyIntValue
    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:5633,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5635,1
    - Dst: TABLE_META_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5635,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5638,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5641,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5641,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5644,1
    - Dst: tjsonAddTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5651
      start: 5630
    functionDepth: 3
    functionLinenumber: 5630
    functionLinenumberEnd: 5651
    functionName: realTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddTArray
    - VGROUPS_INFO_SIZE
    - tableNodeToJson
    - TABLE_META_SIZE
    - tjsonAddIntegerToObject
    - tjsonAddObject
    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:5657,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5659,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5662,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5665,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5668,1
    - Dst: tjsonToTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5676
      start: 5653
    functionDepth: 3
    functionLinenumber: 5653
    functionLinenumberEnd: 5676
    functionName: jsonToRealTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToTableNode
    - tjsonMakeObject
    - tjsonToTArray
    - 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:5683,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5689
      start: 5680
    functionDepth: 3
    functionLinenumber: 5680
    functionLinenumberEnd: 5689
    functionName: tempTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - tableNodeToJson
    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:5694,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5700
      start: 5691
    functionDepth: 3
    functionLinenumber: 5691
    functionLinenumberEnd: 5700
    functionName: jsonToTempTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToTableNode
    - jsonToNodeObject
    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:5711,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5713,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5716,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5719,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5722,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5729
      start: 5708
    functionDepth: 3
    functionLinenumber: 5708
    functionLinenumberEnd: 5729
    functionName: joinTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - tableNodeToJson
    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:5734,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5736,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5739,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5742,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5745,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5752
      start: 5731
    functionDepth: 3
    functionLinenumber: 5731
    functionLinenumberEnd: 5752
    functionName: jsonToJoinTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToTableNode
    - tjsonGetNumberValue
    - jsonToNodeObject
    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:5763,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5765,1
    - Dst: TABLE_META_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5765,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5768,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5771,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5771,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5774,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5777,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5782
      start: 5760
    functionDepth: 3
    functionLinenumber: 5760
    functionLinenumberEnd: 5782
    functionName: virtualTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - VGROUPS_INFO_SIZE
    - tableNodeToJson
    - TABLE_META_SIZE
    - tjsonAddIntegerToObject
    - 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:5788,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5790,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5793,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5796,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5799,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5806
      start: 5784
    functionDepth: 3
    functionLinenumber: 5784
    functionLinenumberEnd: 5806
    functionName: jsonToVirtualTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToTableNode
    - tjsonMakeObject
    - jsonToNodeList
    - 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:5817,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5819,1
    - Dst: TABLE_META_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5819,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5822,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5825,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5825,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5828,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5831,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5834
      start: 5814
    functionDepth: 3
    functionLinenumber: 5814
    functionLinenumberEnd: 5834
    functionName: placeHolderTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - VGROUPS_INFO_SIZE
    - tableNodeToJson
    - TABLE_META_SIZE
    - tjsonAddIntegerToObject
    - 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:5838,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5841,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5844,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5847,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5850,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5853,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5856
      start: 5836
    functionDepth: 3
    functionLinenumber: 5836
    functionLinenumberEnd: 5856
    functionName: jsonToPlaceHolderTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToTableNode
    - tjsonMakeObject
    - 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:5864,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5869
      start: 5862
    functionDepth: 1
    functionLinenumber: 5862
    functionLinenumberEnd: 5869
    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:5873,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5879
      start: 5871
    functionDepth: 1
    functionLinenumber: 5871
    functionLinenumberEnd: 5879
    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:5886,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5891
      start: 5884
    functionDepth: 1
    functionLinenumber: 5884
    functionLinenumberEnd: 5891
    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:5895,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5901
      start: 5893
    functionDepth: 1
    functionLinenumber: 5893
    functionLinenumberEnd: 5901
    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:5911,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5913,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5916,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5919,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5925
      start: 5909
    functionDepth: 2
    functionLinenumber: 5909
    functionLinenumberEnd: 5925
    functionName: streamTriggerNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    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:5929,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5931,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5934,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5937,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5940,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5943
      start: 5927
    functionDepth: 3
    functionLinenumber: 5927
    functionLinenumberEnd: 5943
    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:5950,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5952,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5958
      start: 5948
    functionDepth: 2
    functionLinenumber: 5948
    functionLinenumberEnd: 5958
    functionName: streamNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - exprNodeToJson
    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:5962,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5964,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5970
      start: 5960
    functionDepth: 2
    functionLinenumber: 5960
    functionLinenumberEnd: 5970
    functionName: jsonToStreamNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToExprNode
    - tjsonGetStringValue
    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:5979,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: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5987
      start: 5977
    functionDepth: 1
    functionLinenumber: 5977
    functionLinenumberEnd: 5987
    functionName: streamTagDefNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamTagDefNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5991,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5993,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5999
      start: 5989
    functionDepth: 1
    functionLinenumber: 5989
    functionLinenumberEnd: 5999
    functionName: jsonToStreamTagDefNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - jsonToNodeObject
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToStreamTagDefNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6008,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6010,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6013,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 6006
    functionDepth: 2
    functionLinenumber: 6006
    functionLinenumberEnd: 6019
    functionName: externalWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t externalWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6023,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6025,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6028,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6034
      start: 6021
    functionDepth: 3
    functionLinenumber: 6021
    functionLinenumberEnd: 6034
    functionName: jsonToExternalWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - 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:6042,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6048
      start: 6039
    functionDepth: 2
    functionLinenumber: 6039
    functionLinenumberEnd: 6048
    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:6054,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6060
      start: 6050
    functionDepth: 3
    functionLinenumber: 6050
    functionLinenumberEnd: 6060
    functionName: jsonToGroupingSetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeList
    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:6069,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6071,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6078
      start: 6066
    functionDepth: 1
    functionLinenumber: 6066
    functionLinenumberEnd: 6078
    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:6083,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6085,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6088,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6092
      start: 6080
    functionDepth: 1
    functionLinenumber: 6080
    functionLinenumberEnd: 6092
    functionName: jsonToOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeObject
    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:6100,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6106
      start: 6097
    functionDepth: 1
    functionLinenumber: 6097
    functionLinenumberEnd: 6106
    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:6111,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6117
      start: 6108
    functionDepth: 1
    functionLinenumber: 6108
    functionLinenumberEnd: 6117
    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:6125,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6127,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6133
      start: 6123
    functionDepth: 1
    functionLinenumber: 6123
    functionLinenumberEnd: 6133
    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:6138,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6140,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6146
      start: 6135
    functionDepth: 1
    functionLinenumber: 6135
    functionLinenumberEnd: 6146
    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:6154,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6159
      start: 6151
    functionDepth: 1
    functionLinenumber: 6151
    functionLinenumberEnd: 6159
    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:6164,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6169
      start: 6161
    functionDepth: 1
    functionLinenumber: 6161
    functionLinenumberEnd: 6169
    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:6179,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6181,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6184,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6190
      start: 6176
    functionDepth: 1
    functionLinenumber: 6176
    functionLinenumberEnd: 6190
    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:6195,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6197,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6200,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6206
      start: 6192
    functionDepth: 1
    functionLinenumber: 6192
    functionLinenumberEnd: 6206
    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:6215,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6217,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6223
      start: 6212
    functionDepth: 1
    functionLinenumber: 6212
    functionLinenumberEnd: 6223
    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:6228,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6230,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6236
      start: 6225
    functionDepth: 1
    functionLinenumber: 6225
    functionLinenumberEnd: 6236
    functionName: jsonToCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToNodeObject
    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:6245,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6247,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6253
      start: 6242
    functionDepth: 1
    functionLinenumber: 6242
    functionLinenumberEnd: 6253
    functionName: anomalyWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    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:6258,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6260,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6266
      start: 6255
    functionDepth: 1
    functionLinenumber: 6255
    functionLinenumberEnd: 6266
    functionName: jsonToAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAnomalyWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6279,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6281,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6284,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6287,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6290,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6293,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6300
      start: 6276
    functionDepth: 1
    functionLinenumber: 6276
    functionLinenumberEnd: 6300
    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:6305,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6307,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6310,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6313,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6316,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6319,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6326
      start: 6302
    functionDepth: 1
    functionLinenumber: 6302
    functionLinenumberEnd: 6326
    functionName: jsonToIntervalWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToIntervalWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6334,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6340
      start: 6331
    functionDepth: 2
    functionLinenumber: 6331
    functionLinenumberEnd: 6340
    functionName: nodeListNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodeListNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6345,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6351
      start: 6342
    functionDepth: 3
    functionLinenumber: 6342
    functionLinenumberEnd: 6351
    functionName: jsonToNodeListNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToNodeListNode(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6362,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6364,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6367,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6370,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6377
      start: 6359
    functionDepth: 1
    functionLinenumber: 6359
    functionLinenumberEnd: 6377
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6383,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6385,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6388,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6391,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6398
      start: 6379
    functionDepth: 1
    functionLinenumber: 6379
    functionLinenumberEnd: 6398
    functionName: jsonToFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetBigIntValue
    - jsonToNodeObject
    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:6407,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6409,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6416
      start: 6404
    functionDepth: 1
    functionLinenumber: 6404
    functionLinenumberEnd: 6416
    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: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6421,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6423,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6430
      start: 6418
    functionDepth: 1
    functionLinenumber: 6418
    functionLinenumberEnd: 6430
    functionName: jsonToTargetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetSmallIntValue
    - jsonToNodeObject
    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:6442,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6444,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6447,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6450,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6453,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6460
      start: 6439
    functionDepth: 1
    functionLinenumber: 6439
    functionLinenumberEnd: 6460
    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:6465,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6467,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6470,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6473,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6476,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6483
      start: 6462
    functionDepth: 1
    functionLinenumber: 6462
    functionLinenumberEnd: 6483
    functionName: jsonToSlotDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetBoolValue
    - tjsonGetSmallIntValue
    - tjsonGetStringValue
    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:6494,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6496,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6499,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6506
      start: 6491
    functionDepth: 1
    functionLinenumber: 6491
    functionLinenumberEnd: 6506
    functionName: columnDefNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnDefNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6511,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6513,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6516,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6522
      start: 6508
    functionDepth: 1
    functionLinenumber: 6508
    functionLinenumberEnd: 6522
    functionName: jsonToColumnDefNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetBoolValue
    - jsonToNodeObject
    - tjsonGetStringValue
    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:6534,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6536,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6539,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6542,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6545,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6552
      start: 6531
    functionDepth: 1
    functionLinenumber: 6531
    functionLinenumberEnd: 6552
    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:6557,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6559,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6562,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6565,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6568,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6575
      start: 6554
    functionDepth: 1
    functionLinenumber: 6554
    functionLinenumberEnd: 6575
    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:6582,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6587
      start: 6579
    functionDepth: 1
    functionLinenumber: 6579
    functionLinenumberEnd: 6587
    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:6592,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6597
      start: 6589
    functionDepth: 1
    functionLinenumber: 6589
    functionLinenumberEnd: 6597
    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:6636,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6638,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6641,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6644,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6647,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6650,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6653,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6656,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6659,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6662,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6665,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6668,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6671,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6674,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6677,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6680,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6683,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6686,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6689,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6692,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6695,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6698,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6701,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6704,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6707,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6710,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6714
      start: 6633
    functionDepth: 2
    functionLinenumber: 6633
    functionLinenumberEnd: 6714
    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:6719,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6721,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6724,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6727,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6730,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6733,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6736,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6739,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6742,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6745,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6748,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6751,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6754,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6757,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6760,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6763,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6766,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6769,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6772,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6775,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6776,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6778,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6782,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6783,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6785,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6789,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6790,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6792,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6796,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6797,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6799,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6803,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6806,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6809,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 93
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6813
      start: 6716
    functionDepth: 3
    functionLinenumber: 6716
    functionLinenumberEnd: 6813
    functionName: jsonToDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    - tjsonGetStringValue
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetObjectItem
    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:6826,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6828,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6831,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6834,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6837,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6840,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6847
      start: 6823
    functionDepth: 2
    functionLinenumber: 6823
    functionLinenumberEnd: 6847
    functionName: tableOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableOptionsToJson(const void* pObj, SJson* pJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6852,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6854,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6857,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6860,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6863,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6866,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6873
      start: 6849
    functionDepth: 3
    functionLinenumber: 6849
    functionLinenumberEnd: 6873
    functionName: jsonToTableOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetStringValue
    - 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:6880,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6881,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6884
      start: 6878
    functionDepth: 1
    functionLinenumber: 6878
    functionLinenumberEnd: 6884
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6889,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6890,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6893
      start: 6886
    functionDepth: 1
    functionLinenumber: 6886
    functionLinenumberEnd: 6893
    functionName: jsonToColumnOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:6904,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6906,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6909,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6912,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6919
      start: 6901
    functionDepth: 2
    functionLinenumber: 6901
    functionLinenumberEnd: 6919
    functionName: indexOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    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:6924,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6926,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6929,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6932,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6939
      start: 6921
    functionDepth: 3
    functionLinenumber: 6921
    functionLinenumberEnd: 6939
    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:6947,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6953
      start: 6944
    functionDepth: 1
    functionLinenumber: 6944
    functionLinenumberEnd: 6953
    functionName: explainOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddDoubleToObject
    - tjsonAddBoolToObject
    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:6958,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6964
      start: 6955
    functionDepth: 1
    functionLinenumber: 6955
    functionLinenumberEnd: 6964
    functionName: jsonToExplainOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetDoubleValue
    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: 6978
      start: 6974
    functionDepth: 0
    functionLinenumber: 6974
    functionLinenumberEnd: 6978
    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: 6984
      start: 6980
    functionDepth: 0
    functionLinenumber: 6980
    functionLinenumberEnd: 6984
    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:6993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6996
      start: 6991
    functionDepth: 2
    functionLinenumber: 6991
    functionLinenumberEnd: 6996
    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:7000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7004
      start: 6998
    functionDepth: 3
    functionLinenumber: 6998
    functionLinenumberEnd: 7004
    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:7012,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7014,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7017,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7023
      start: 7010
    functionDepth: 1
    functionLinenumber: 7010
    functionLinenumberEnd: 7023
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7028,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7030,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7033,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7039
      start: 7025
    functionDepth: 1
    functionLinenumber: 7025
    functionLinenumberEnd: 7039
    functionName: jsonToColumnReference
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:7047,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7049,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7056
      start: 7044
    functionDepth: 2
    functionLinenumber: 7044
    functionLinenumberEnd: 7056
    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:7061,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7063,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7070
      start: 7058
    functionDepth: 2
    functionLinenumber: 7058
    functionLinenumberEnd: 7070
    functionName: jsonToWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToExprNode
    - jsonToNodeObject
    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:7079,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7081,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7084,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7087,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7091
      start: 7076
    functionDepth: 2
    functionLinenumber: 7076
    functionLinenumberEnd: 7091
    functionName: caseWhenNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - exprNodeToJson
    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:7096,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7098,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7101,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7108
      start: 7093
    functionDepth: 3
    functionLinenumber: 7093
    functionLinenumberEnd: 7108
    functionName: jsonToCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToExprNode
    - jsonToNodeList
    - jsonToNodeObject
    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:7119,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7121,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7124,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7127,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7134
      start: 7116
    functionDepth: 2
    functionLinenumber: 7116
    functionLinenumberEnd: 7134
    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: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7139,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7141,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7144,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7147,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7154
      start: 7136
    functionDepth: 3
    functionLinenumber: 7136
    functionLinenumberEnd: 7154
    functionName: jsonToDataBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetUTinyIntValue
    - tjsonGetSmallIntValue
    - tjsonGetIntValue
    - jsonToNodeList
    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:7166,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7168,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7171,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7174,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7177,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7184
      start: 7163
    functionDepth: 2
    functionLinenumber: 7163
    functionLinenumberEnd: 7184
    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:7190,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7192,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7195,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7198,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7201,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7208
      start: 7186
    functionDepth: 3
    functionLinenumber: 7186
    functionLinenumberEnd: 7208
    functionName: jsonToSetOperator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeList
    - jsonToNodeObject
    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:7217,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7219,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7225
      start: 7214
    functionDepth: 1
    functionLinenumber: 7214
    functionLinenumberEnd: 7225
    functionName: timeRangeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - tjsonAddBoolToObject
    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:7230,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7232,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7238
      start: 7227
    functionDepth: 1
    functionLinenumber: 7227
    functionLinenumberEnd: 7238
    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:7264,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7266,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7269,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7272,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7275,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7278,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7281,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7284,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7287,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7290,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7293,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7296,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7299,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7302,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7305,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7308,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7311,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7314,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7318
      start: 7261
    functionDepth: 2
    functionLinenumber: 7261
    functionLinenumberEnd: 7318
    functionName: selectStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddBoolToObject
    - 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:7323,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7325,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7328,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7331,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7334,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7337,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7340,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7343,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7346,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7349,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7352,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7355,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7358,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7361,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7364,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7367,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7370,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7373,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7377
      start: 7320
    functionDepth: 3
    functionLinenumber: 7320
    functionLinenumberEnd: 7377
    functionName: jsonToSelectStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetStringValue
    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:7386,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7388,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7395
      start: 7383
    functionDepth: 1
    functionLinenumber: 7383
    functionLinenumberEnd: 7395
    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:7401,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7403,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7410
      start: 7397
    functionDepth: 1
    functionLinenumber: 7397
    functionLinenumberEnd: 7410
    functionName: jsonToVnodeModifyStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetIntValue
    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:7419,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7421,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7428
      start: 7416
    functionDepth: 1
    functionLinenumber: 7416
    functionLinenumberEnd: 7428
    functionName: createDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7433,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7435,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7442
      start: 7430
    functionDepth: 1
    functionLinenumber: 7430
    functionLinenumberEnd: 7442
    functionName: jsonToCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    - tjsonGetStringValue
    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:7450,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7456
      start: 7447
    functionDepth: 1
    functionLinenumber: 7447
    functionLinenumberEnd: 7456
    functionName: alterDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7461,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7467
      start: 7458
    functionDepth: 1
    functionLinenumber: 7458
    functionLinenumberEnd: 7467
    functionName: jsonToAlterDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - tjsonGetStringValue
    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:7475,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7481
      start: 7472
    functionDepth: 1
    functionLinenumber: 7472
    functionLinenumberEnd: 7481
    functionName: trimDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t trimDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7486,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7492
      start: 7483
    functionDepth: 1
    functionLinenumber: 7483
    functionLinenumberEnd: 7492
    functionName: jsonToTrimDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    - 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:7499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7502
      start: 7496
    functionDepth: 1
    functionLinenumber: 7496
    functionLinenumberEnd: 7502
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7510
      start: 7504
    functionDepth: 1
    functionLinenumber: 7504
    functionLinenumberEnd: 7510
    functionName: jsonToSsMigrateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:7521,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7523,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7526,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7533
      start: 7518
    functionDepth: 1
    functionLinenumber: 7518
    functionLinenumberEnd: 7533
    functionName: createMountStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMountStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7538,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7540,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7543,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7550
      start: 7535
    functionDepth: 1
    functionLinenumber: 7535
    functionLinenumberEnd: 7550
    functionName: jsonToCreateMountStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    - 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:7555,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7560
      start: 7552
    functionDepth: 1
    functionLinenumber: 7552
    functionLinenumberEnd: 7560
    functionName: dropMountStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropMountStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7565,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7570
      start: 7562
    functionDepth: 1
    functionLinenumber: 7562
    functionLinenumberEnd: 7570
    functionName: jsonToDropMountStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    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:7582,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7584,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7587,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7590,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7593,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7600
      start: 7579
    functionDepth: 2
    functionLinenumber: 7579
    functionLinenumberEnd: 7600
    functionName: createTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7605,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7607,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7610,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7613,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7616,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7619,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7623
      start: 7602
    functionDepth: 3
    functionLinenumber: 7602
    functionLinenumberEnd: 7623
    functionName: jsonToCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    - jsonToNodeList
    - tjsonGetStringValue
    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:7637,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7639,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7642,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7645,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7648,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7651,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7654,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7657,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7661
      start: 7634
    functionDepth: 2
    functionLinenumber: 7634
    functionLinenumberEnd: 7661
    functionName: createSubTableClauseToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSubTableClauseToJson(const void* pObj, SJson* pJson)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7666,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7668,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7671,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7674,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7677,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7680,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7683,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7690
      start: 7663
    functionDepth: 3
    functionLinenumber: 7663
    functionLinenumberEnd: 7690
    functionName: jsonToCreateSubTableClause
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    - jsonToNodeList
    - tjsonGetStringValue
    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:7696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7697
      start: 7694
    functionDepth: 2
    functionLinenumber: 7694
    functionLinenumberEnd: 7697
    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:7701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7702
      start: 7699
    functionDepth: 3
    functionLinenumber: 7699
    functionLinenumberEnd: 7702
    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:7712,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7714,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7717,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7723
      start: 7709
    functionDepth: 2
    functionLinenumber: 7709
    functionLinenumberEnd: 7723
    functionName: createVTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7729,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7731,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7734,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7740
      start: 7726
    functionDepth: 3
    functionLinenumber: 7726
    functionLinenumberEnd: 7740
    functionName: jsonToCreateVTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateVTableStmt(const SJson* pJson, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7755,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7757,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7760,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7763,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7766,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7769,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7772,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7775,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7778,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7781
      start: 7752
    functionDepth: 2
    functionLinenumber: 7752
    functionLinenumberEnd: 7781
    functionName: createVSubTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVSubTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7786,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7788,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7791,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7794,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7797,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7800,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7803,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7806,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7809,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7813
      start: 7783
    functionDepth: 3
    functionLinenumber: 7783
    functionLinenumberEnd: 7813
    functionName: jsonToCreateVSubTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetStringValue
    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:7822,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7824,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7831
      start: 7819
    functionDepth: 1
    functionLinenumber: 7819
    functionLinenumberEnd: 7831
    functionName: dropTableClauseToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropTableClauseToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7836,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7838,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7845
      start: 7833
    functionDepth: 1
    functionLinenumber: 7833
    functionLinenumberEnd: 7845
    functionName: jsonToDropTableClause
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    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:7851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7852
      start: 7849
    functionDepth: 2
    functionLinenumber: 7849
    functionLinenumberEnd: 7852
    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:7856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7857
      start: 7854
    functionDepth: 3
    functionLinenumber: 7854
    functionLinenumberEnd: 7857
    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:7867,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7869,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7872,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7879
      start: 7864
    functionDepth: 1
    functionLinenumber: 7864
    functionLinenumberEnd: 7879
    functionName: dropStableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropStableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7884,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7886,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7889,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7896
      start: 7881
    functionDepth: 1
    functionLinenumber: 7881
    functionLinenumberEnd: 7896
    functionName: jsonToDropStableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    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:7906,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7908,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7911,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7918
      start: 7903
    functionDepth: 1
    functionLinenumber: 7903
    functionLinenumberEnd: 7918
    functionName: dropVtableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropVtableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7923,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7925,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7928,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7935
      start: 7920
    functionDepth: 1
    functionLinenumber: 7920
    functionLinenumberEnd: 7935
    functionName: jsonToDropVtableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    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:7949,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7951,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7954,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7957,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7960,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7963,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7966,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7969,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7973
      start: 7946
    functionDepth: 1
    functionLinenumber: 7946
    functionLinenumberEnd: 7973
    functionName: alterTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7978,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7980,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7983,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7986,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7989,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7992,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7995,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7998,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8002
      start: 7975
    functionDepth: 1
    functionLinenumber: 7975
    functionLinenumberEnd: 8002
    functionName: jsonToAlterTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - jsonToNodeObject
    - tjsonGetStringValue
    - 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:8004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8004
      start: 8004
    functionDepth: 2
    functionLinenumber: 8004
    functionLinenumberEnd: 8004
    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:8006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8006
      start: 8006
    functionDepth: 2
    functionLinenumber: 8006
    functionLinenumberEnd: 8006
    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:8015,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8017,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8024
      start: 8012
    functionDepth: 1
    functionLinenumber: 8012
    functionLinenumberEnd: 8024
    functionName: createUserStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createUserStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8029,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8031,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8038
      start: 8026
    functionDepth: 1
    functionLinenumber: 8026
    functionLinenumberEnd: 8038
    functionName: jsonToCreateUserStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateUserStmt(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8050,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8052,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8055,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8058,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8061,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8064,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8068
      start: 8047
    functionDepth: 1
    functionLinenumber: 8047
    functionLinenumberEnd: 8068
    functionName: alterUserStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterUserStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8073,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8075,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8078,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8081,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8084,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8091
      start: 8070
    functionDepth: 1
    functionLinenumber: 8070
    functionLinenumberEnd: 8091
    functionName: jsonToAlterUserStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    - 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:8097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8098
      start: 8095
    functionDepth: 1
    functionLinenumber: 8095
    functionLinenumberEnd: 8098
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8103
      start: 8100
    functionDepth: 1
    functionLinenumber: 8100
    functionLinenumberEnd: 8103
    functionName: jsonToDropUserStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropUserStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8110
      start: 8107
    functionDepth: 1
    functionLinenumber: 8107
    functionLinenumberEnd: 8110
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8115
      start: 8112
    functionDepth: 1
    functionLinenumber: 8112
    functionLinenumberEnd: 8115
    functionName: jsonToUseDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:8123,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8129
      start: 8120
    functionDepth: 1
    functionLinenumber: 8120
    functionLinenumberEnd: 8129
    functionName: createDnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8134,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8140
      start: 8131
    functionDepth: 1
    functionLinenumber: 8131
    functionLinenumberEnd: 8140
    functionName: jsonToCreateDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    - 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:8149,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8151,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8158
      start: 8146
    functionDepth: 1
    functionLinenumber: 8146
    functionLinenumberEnd: 8158
    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:8163,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8165,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8172
      start: 8160
    functionDepth: 1
    functionLinenumber: 8160
    functionLinenumberEnd: 8172
    functionName: jsonToAlterDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    - 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:8186,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8188,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8191,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8194,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8197,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8200,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8203,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8210
      start: 8183
    functionDepth: 2
    functionLinenumber: 8183
    functionLinenumberEnd: 8210
    functionName: createIndexStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - 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:8216,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8218,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8221,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8224,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8227,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8230,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8233,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8240
      start: 8212
    functionDepth: 3
    functionLinenumber: 8212
    functionLinenumberEnd: 8240
    functionName: jsonToCreateIndexStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetStringValue
    - jsonToNodeList
    - jsonToNodeObject
    - 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:8249,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8251,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8258
      start: 8246
    functionDepth: 1
    functionLinenumber: 8246
    functionLinenumberEnd: 8258
    functionName: dropIndexStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    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:8263,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8265,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8272
      start: 8260
    functionDepth: 1
    functionLinenumber: 8260
    functionLinenumberEnd: 8272
    functionName: jsonToDropIndexStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    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:8278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8279
      start: 8276
    functionDepth: 1
    functionLinenumber: 8276
    functionLinenumberEnd: 8279
    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:8283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8284
      start: 8281
    functionDepth: 1
    functionLinenumber: 8281
    functionLinenumberEnd: 8284
    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:8290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8291
      start: 8288
    functionDepth: 1
    functionLinenumber: 8288
    functionLinenumberEnd: 8291
    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:8295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8296
      start: 8293
    functionDepth: 1
    functionLinenumber: 8293
    functionLinenumberEnd: 8296
    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:8299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8300
      start: 8298
    functionDepth: 2
    functionLinenumber: 8298
    functionLinenumberEnd: 8300
    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:8303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8304
      start: 8302
    functionDepth: 2
    functionLinenumber: 8302
    functionLinenumberEnd: 8304
    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:8306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8306
      start: 8306
    functionDepth: 2
    functionLinenumber: 8306
    functionLinenumberEnd: 8306
    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:8308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8308
      start: 8308
    functionDepth: 2
    functionLinenumber: 8308
    functionLinenumberEnd: 8308
    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:8315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8316
      start: 8313
    functionDepth: 1
    functionLinenumber: 8313
    functionLinenumberEnd: 8316
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8321
      start: 8318
    functionDepth: 1
    functionLinenumber: 8318
    functionLinenumberEnd: 8321
    functionName: jsonToCreateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:8325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8326
      start: 8323
    functionDepth: 1
    functionLinenumber: 8323
    functionLinenumberEnd: 8326
    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:8330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8331
      start: 8328
    functionDepth: 1
    functionLinenumber: 8328
    functionLinenumberEnd: 8331
    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:8335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8336
      start: 8333
    functionDepth: 1
    functionLinenumber: 8333
    functionLinenumberEnd: 8336
    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:8340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8341
      start: 8338
    functionDepth: 1
    functionLinenumber: 8338
    functionLinenumberEnd: 8341
    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: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8348
      start: 8345
    functionDepth: 1
    functionLinenumber: 8345
    functionLinenumberEnd: 8348
    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:8352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8353
      start: 8350
    functionDepth: 1
    functionLinenumber: 8350
    functionLinenumberEnd: 8353
    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:8357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8358
      start: 8355
    functionDepth: 1
    functionLinenumber: 8355
    functionLinenumberEnd: 8358
    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:8362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8363
      start: 8360
    functionDepth: 1
    functionLinenumber: 8360
    functionLinenumberEnd: 8363
    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:8366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8367
      start: 8365
    functionDepth: 2
    functionLinenumber: 8365
    functionLinenumberEnd: 8367
    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:8370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8371
      start: 8369
    functionDepth: 2
    functionLinenumber: 8369
    functionLinenumberEnd: 8371
    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:8373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8373
      start: 8373
    functionDepth: 2
    functionLinenumber: 8373
    functionLinenumberEnd: 8373
    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:8375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8375
      start: 8375
    functionDepth: 2
    functionLinenumber: 8375
    functionLinenumberEnd: 8375
    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:8378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8379
      start: 8377
    functionDepth: 2
    functionLinenumber: 8377
    functionLinenumberEnd: 8379
    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:8382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8383
      start: 8381
    functionDepth: 2
    functionLinenumber: 8381
    functionLinenumberEnd: 8383
    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:8385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8385
      start: 8385
    functionDepth: 2
    functionLinenumber: 8385
    functionLinenumberEnd: 8385
    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:8387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8387
      start: 8387
    functionDepth: 2
    functionLinenumber: 8387
    functionLinenumberEnd: 8387
    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:8398,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8400,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8403,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8406,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8413
      start: 8395
    functionDepth: 1
    functionLinenumber: 8395
    functionLinenumberEnd: 8413
    functionName: dropDnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    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:8418,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8420,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8423,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8426,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8433
      start: 8415
    functionDepth: 1
    functionLinenumber: 8415
    functionLinenumberEnd: 8433
    functionName: jsonToDropDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropDnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8440
      start: 8437
    functionDepth: 1
    functionLinenumber: 8437
    functionLinenumberEnd: 8440
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8445
      start: 8442
    functionDepth: 1
    functionLinenumber: 8442
    functionLinenumberEnd: 8445
    functionName: jsonToRestoreComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - 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:8448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8449
      start: 8447
    functionDepth: 2
    functionLinenumber: 8447
    functionLinenumberEnd: 8449
    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:8451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8452
      start: 8450
    functionDepth: 2
    functionLinenumber: 8450
    functionLinenumberEnd: 8452
    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:8454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8455
      start: 8453
    functionDepth: 2
    functionLinenumber: 8453
    functionLinenumberEnd: 8455
    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:8457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8458
      start: 8456
    functionDepth: 2
    functionLinenumber: 8456
    functionLinenumberEnd: 8458
    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:8468,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8470,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8473,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8480
      start: 8465
    functionDepth: 1
    functionLinenumber: 8465
    functionLinenumberEnd: 8480
    functionName: createTopicStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTopicStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8485,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8487,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8490,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8497
      start: 8482
    functionDepth: 1
    functionLinenumber: 8482
    functionLinenumberEnd: 8497
    functionName: jsonToCreateTopicStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    - tjsonGetStringValue
    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:8505,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8511
      start: 8502
    functionDepth: 1
    functionLinenumber: 8502
    functionLinenumberEnd: 8511
    functionName: dropTopicStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropTopicStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8516,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8522
      start: 8513
    functionDepth: 1
    functionLinenumber: 8513
    functionLinenumberEnd: 8522
    functionName: jsonToDropTopicStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    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:8531,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8533,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8540
      start: 8528
    functionDepth: 1
    functionLinenumber: 8528
    functionLinenumberEnd: 8540
    functionName: dropConsumerGroupStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropConsumerGroupStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8545,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8547,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8554
      start: 8542
    functionDepth: 1
    functionLinenumber: 8542
    functionLinenumberEnd: 8554
    functionName: jsonToDropConsumerGroupStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    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:8562,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8568
      start: 8559
    functionDepth: 1
    functionLinenumber: 8559
    functionLinenumberEnd: 8568
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8573,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8579
      start: 8570
    functionDepth: 1
    functionLinenumber: 8570
    functionLinenumberEnd: 8579
    functionName: jsonToAlterClusterStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:8587,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8593
      start: 8584
    functionDepth: 1
    functionLinenumber: 8584
    functionLinenumberEnd: 8593
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8598,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8604
      start: 8595
    functionDepth: 1
    functionLinenumber: 8595
    functionLinenumberEnd: 8604
    functionName: jsonToAlterLocalStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterLocalStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8613,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8615,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8622
      start: 8610
    functionDepth: 1
    functionLinenumber: 8610
    functionLinenumberEnd: 8622
    functionName: explainStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - tjsonAddBoolToObject
    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:8627,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8629,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8636
      start: 8624
    functionDepth: 1
    functionLinenumber: 8624
    functionLinenumberEnd: 8636
    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:8644,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8650
      start: 8641
    functionDepth: 1
    functionLinenumber: 8641
    functionLinenumberEnd: 8650
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8655,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8661
      start: 8652
    functionDepth: 1
    functionLinenumber: 8652
    functionLinenumberEnd: 8661
    functionName: jsonToDescribeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:8668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8669
      start: 8666
    functionDepth: 1
    functionLinenumber: 8666
    functionLinenumberEnd: 8669
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8674
      start: 8671
    functionDepth: 1
    functionLinenumber: 8671
    functionLinenumberEnd: 8674
    functionName: jsonToCompactDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:8678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8679
      start: 8676
    functionDepth: 1
    functionLinenumber: 8676
    functionLinenumberEnd: 8679
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8684
      start: 8681
    functionDepth: 1
    functionLinenumber: 8681
    functionLinenumberEnd: 8684
    functionName: jsonToRollupDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:8688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8689
      start: 8686
    functionDepth: 1
    functionLinenumber: 8686
    functionLinenumberEnd: 8689
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8694
      start: 8691
    functionDepth: 1
    functionLinenumber: 8691
    functionLinenumberEnd: 8694
    functionName: jsonToScanDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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: 8699
      start: 8696
    functionDepth: 0
    functionLinenumber: 8696
    functionLinenumberEnd: 8699
    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: 8704
      start: 8701
    functionDepth: 0
    functionLinenumber: 8701
    functionLinenumberEnd: 8704
    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: 8709
      start: 8706
    functionDepth: 0
    functionLinenumber: 8706
    functionLinenumberEnd: 8709
    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: 8714
      start: 8711
    functionDepth: 0
    functionLinenumber: 8711
    functionLinenumberEnd: 8714
    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: 8719
      start: 8716
    functionDepth: 0
    functionLinenumber: 8716
    functionLinenumberEnd: 8719
    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: 8724
      start: 8721
    functionDepth: 0
    functionLinenumber: 8721
    functionLinenumberEnd: 8724
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8740,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8742,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8745,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8748,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8751,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8754,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8757,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8760,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8763,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8766,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8769
      start: 8737
    functionDepth: 2
    functionLinenumber: 8737
    functionLinenumberEnd: 8769
    functionName: createStreamStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8774,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8776,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8779,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8782,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8785,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8788,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8791,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8794,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8797,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8800,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8803
      start: 8771
    functionDepth: 3
    functionLinenumber: 8771
    functionLinenumberEnd: 8803
    functionName: jsonToCreateStreamStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    - jsonToNodeList
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateStreamStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8812,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8814,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8821
      start: 8809
    functionDepth: 1
    functionLinenumber: 8809
    functionLinenumberEnd: 8821
    functionName: dropStreamStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropStreamStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8826,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8828,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8835
      start: 8823
    functionDepth: 1
    functionLinenumber: 8823
    functionLinenumberEnd: 8835
    functionName: jsonToDropStreamStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    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:8843,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8849
      start: 8840
    functionDepth: 1
    functionLinenumber: 8840
    functionLinenumberEnd: 8849
    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:8854,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8860
      start: 8851
    functionDepth: 1
    functionLinenumber: 8851
    functionLinenumberEnd: 8860
    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:8871,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8873,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8876,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8879,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8886
      start: 8868
    functionDepth: 2
    functionLinenumber: 8868
    functionLinenumberEnd: 8886
    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:8891,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8893,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8896,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8899,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8906
      start: 8888
    functionDepth: 3
    functionLinenumber: 8888
    functionLinenumberEnd: 8906
    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:8913,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8919
      start: 8911
    functionDepth: 1
    functionLinenumber: 8911
    functionLinenumberEnd: 8919
    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:8923,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8929
      start: 8921
    functionDepth: 1
    functionLinenumber: 8921
    functionLinenumberEnd: 8929
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8938,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8940,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8947
      start: 8935
    functionDepth: 1
    functionLinenumber: 8935
    functionLinenumberEnd: 8947
    functionName: grantStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t grantStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8952,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8954,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8961
      start: 8949
    functionDepth: 1
    functionLinenumber: 8949
    functionLinenumberEnd: 8961
    functionName: jsonToGrantStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - tjsonGetStringValue
    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:8963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8963
      start: 8963
    functionDepth: 2
    functionLinenumber: 8963
    functionLinenumberEnd: 8963
    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:8965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8965
      start: 8965
    functionDepth: 2
    functionLinenumber: 8965
    functionLinenumberEnd: 8965
    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:8974,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8976,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8983
      start: 8971
    functionDepth: 1
    functionLinenumber: 8971
    functionLinenumberEnd: 8983
    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:8988,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8990,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8997
      start: 8985
    functionDepth: 1
    functionLinenumber: 8985
    functionLinenumberEnd: 8997
    functionName: jsonToShowStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeObject
    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:8999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8999
      start: 8999
    functionDepth: 2
    functionLinenumber: 8999
    functionLinenumberEnd: 8999
    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:9001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9001
      start: 9001
    functionDepth: 2
    functionLinenumber: 9001
    functionLinenumberEnd: 9001
    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:9003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9003
      start: 9003
    functionDepth: 2
    functionLinenumber: 9003
    functionLinenumberEnd: 9003
    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:9005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9005
      start: 9005
    functionDepth: 2
    functionLinenumber: 9005
    functionLinenumberEnd: 9005
    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:9007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9007
      start: 9007
    functionDepth: 2
    functionLinenumber: 9007
    functionLinenumberEnd: 9007
    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:9009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9009
      start: 9009
    functionDepth: 2
    functionLinenumber: 9009
    functionLinenumberEnd: 9009
    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:9011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9011
      start: 9011
    functionDepth: 2
    functionLinenumber: 9011
    functionLinenumberEnd: 9011
    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:9013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9013
      start: 9013
    functionDepth: 2
    functionLinenumber: 9013
    functionLinenumberEnd: 9013
    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:9015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9015
      start: 9015
    functionDepth: 2
    functionLinenumber: 9015
    functionLinenumberEnd: 9015
    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:9017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9017
      start: 9017
    functionDepth: 2
    functionLinenumber: 9017
    functionLinenumberEnd: 9017
    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:9019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9019
      start: 9019
    functionDepth: 2
    functionLinenumber: 9019
    functionLinenumberEnd: 9019
    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:9021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9021
      start: 9021
    functionDepth: 2
    functionLinenumber: 9021
    functionLinenumberEnd: 9021
    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:9023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9023
      start: 9023
    functionDepth: 2
    functionLinenumber: 9023
    functionLinenumberEnd: 9023
    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:9025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9025
      start: 9025
    functionDepth: 2
    functionLinenumber: 9025
    functionLinenumberEnd: 9025
    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:9027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9027
      start: 9027
    functionDepth: 2
    functionLinenumber: 9027
    functionLinenumberEnd: 9027
    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:9029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9029
      start: 9029
    functionDepth: 2
    functionLinenumber: 9029
    functionLinenumberEnd: 9029
    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:9031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9031
      start: 9031
    functionDepth: 2
    functionLinenumber: 9031
    functionLinenumberEnd: 9031
    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:9033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9033
      start: 9033
    functionDepth: 2
    functionLinenumber: 9033
    functionLinenumberEnd: 9033
    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:9035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9035
      start: 9035
    functionDepth: 2
    functionLinenumber: 9035
    functionLinenumberEnd: 9035
    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:9037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9037
      start: 9037
    functionDepth: 2
    functionLinenumber: 9037
    functionLinenumberEnd: 9037
    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:9039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9039
      start: 9039
    functionDepth: 2
    functionLinenumber: 9039
    functionLinenumberEnd: 9039
    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:9041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9041
      start: 9041
    functionDepth: 2
    functionLinenumber: 9041
    functionLinenumberEnd: 9041
    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:9043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9043
      start: 9043
    functionDepth: 2
    functionLinenumber: 9043
    functionLinenumberEnd: 9043
    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:9045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9045
      start: 9045
    functionDepth: 2
    functionLinenumber: 9045
    functionLinenumberEnd: 9045
    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:9047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9047
      start: 9047
    functionDepth: 2
    functionLinenumber: 9047
    functionLinenumberEnd: 9047
    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:9049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9049
      start: 9049
    functionDepth: 2
    functionLinenumber: 9049
    functionLinenumberEnd: 9049
    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:9051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9051
      start: 9051
    functionDepth: 2
    functionLinenumber: 9051
    functionLinenumberEnd: 9051
    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:9053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9053
      start: 9053
    functionDepth: 2
    functionLinenumber: 9053
    functionLinenumberEnd: 9053
    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:9055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9055
      start: 9055
    functionDepth: 2
    functionLinenumber: 9055
    functionLinenumberEnd: 9055
    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:9057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9057
      start: 9057
    functionDepth: 2
    functionLinenumber: 9057
    functionLinenumberEnd: 9057
    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:9059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9059
      start: 9059
    functionDepth: 2
    functionLinenumber: 9059
    functionLinenumberEnd: 9059
    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:9061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9061
      start: 9061
    functionDepth: 2
    functionLinenumber: 9061
    functionLinenumberEnd: 9061
    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:9063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9063
      start: 9063
    functionDepth: 2
    functionLinenumber: 9063
    functionLinenumberEnd: 9063
    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:9065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9065
      start: 9065
    functionDepth: 2
    functionLinenumber: 9065
    functionLinenumberEnd: 9065
    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:9067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9067
      start: 9067
    functionDepth: 2
    functionLinenumber: 9067
    functionLinenumberEnd: 9067
    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:9069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9069
      start: 9069
    functionDepth: 2
    functionLinenumber: 9069
    functionLinenumberEnd: 9069
    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:9071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9071
      start: 9071
    functionDepth: 2
    functionLinenumber: 9071
    functionLinenumberEnd: 9071
    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:9073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9073
      start: 9073
    functionDepth: 2
    functionLinenumber: 9073
    functionLinenumberEnd: 9073
    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:9075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9075
      start: 9075
    functionDepth: 2
    functionLinenumber: 9075
    functionLinenumberEnd: 9075
    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:9077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9077
      start: 9077
    functionDepth: 2
    functionLinenumber: 9077
    functionLinenumberEnd: 9077
    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:9079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9079
      start: 9079
    functionDepth: 2
    functionLinenumber: 9079
    functionLinenumberEnd: 9079
    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:9081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9081
      start: 9081
    functionDepth: 2
    functionLinenumber: 9081
    functionLinenumberEnd: 9081
    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:9083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9083
      start: 9083
    functionDepth: 2
    functionLinenumber: 9083
    functionLinenumberEnd: 9083
    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:9085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9085
      start: 9085
    functionDepth: 2
    functionLinenumber: 9085
    functionLinenumberEnd: 9085
    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:9087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9087
      start: 9087
    functionDepth: 2
    functionLinenumber: 9087
    functionLinenumberEnd: 9087
    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:9088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9088
      start: 9088
    functionDepth: 2
    functionLinenumber: 9088
    functionLinenumberEnd: 9088
    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:9089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9089
      start: 9089
    functionDepth: 2
    functionLinenumber: 9089
    functionLinenumberEnd: 9089
    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:9090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9090
      start: 9090
    functionDepth: 2
    functionLinenumber: 9090
    functionLinenumberEnd: 9090
    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:9091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9091
      start: 9091
    functionDepth: 2
    functionLinenumber: 9091
    functionLinenumberEnd: 9091
    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:9092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9092
      start: 9092
    functionDepth: 2
    functionLinenumber: 9092
    functionLinenumberEnd: 9092
    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:9100,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9106
      start: 9097
    functionDepth: 1
    functionLinenumber: 9097
    functionLinenumberEnd: 9106
    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:9111,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9117
      start: 9108
    functionDepth: 1
    functionLinenumber: 9108
    functionLinenumberEnd: 9117
    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:9119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9119
      start: 9119
    functionDepth: 2
    functionLinenumber: 9119
    functionLinenumberEnd: 9119
    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:9121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9121
      start: 9121
    functionDepth: 2
    functionLinenumber: 9121
    functionLinenumberEnd: 9121
    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:9123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9123
      start: 9123
    functionDepth: 2
    functionLinenumber: 9123
    functionLinenumberEnd: 9123
    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:9125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9125
      start: 9125
    functionDepth: 2
    functionLinenumber: 9125
    functionLinenumberEnd: 9125
    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:9133,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9139
      start: 9130
    functionDepth: 1
    functionLinenumber: 9130
    functionLinenumberEnd: 9139
    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:9144,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9150
      start: 9141
    functionDepth: 1
    functionLinenumber: 9141
    functionLinenumberEnd: 9150
    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:9152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9152
      start: 9152
    functionDepth: 2
    functionLinenumber: 9152
    functionLinenumberEnd: 9152
    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:9154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9154
      start: 9154
    functionDepth: 2
    functionLinenumber: 9154
    functionLinenumberEnd: 9154
    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: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9161
      start: 9158
    functionDepth: 1
    functionLinenumber: 9158
    functionLinenumberEnd: 9161
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9166
      start: 9163
    functionDepth: 1
    functionLinenumber: 9163
    functionLinenumberEnd: 9166
    functionName: jsonToShowCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:9174,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9180
      start: 9171
    functionDepth: 1
    functionLinenumber: 9171
    functionLinenumberEnd: 9180
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9185,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9191
      start: 9182
    functionDepth: 1
    functionLinenumber: 9182
    functionLinenumberEnd: 9191
    functionName: jsonToShowCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:9194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9195
      start: 9193
    functionDepth: 2
    functionLinenumber: 9193
    functionLinenumberEnd: 9195
    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:9198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9199
      start: 9197
    functionDepth: 2
    functionLinenumber: 9197
    functionLinenumberEnd: 9199
    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:9207,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9213
      start: 9204
    functionDepth: 1
    functionLinenumber: 9204
    functionLinenumberEnd: 9213
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9218,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9224
      start: 9215
    functionDepth: 1
    functionLinenumber: 9215
    functionLinenumberEnd: 9224
    functionName: jsonToShowCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    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:9232,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9238
      start: 9229
    functionDepth: 1
    functionLinenumber: 9229
    functionLinenumberEnd: 9238
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9243,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9249
      start: 9240
    functionDepth: 1
    functionLinenumber: 9240
    functionLinenumberEnd: 9249
    functionName: jsonToShowTableDistributedStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowTableDistributedStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9251
      start: 9251
    functionDepth: 2
    functionLinenumber: 9251
    functionLinenumberEnd: 9251
    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:9253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9253
      start: 9253
    functionDepth: 2
    functionLinenumber: 9253
    functionLinenumberEnd: 9253
    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:9262,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9264,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9271
      start: 9259
    functionDepth: 2
    functionLinenumber: 9259
    functionLinenumberEnd: 9271
    functionName: showTableTagsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    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:9276,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9278,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9285
      start: 9273
    functionDepth: 3
    functionLinenumber: 9273
    functionLinenumberEnd: 9285
    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:9299,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9301,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9304,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9307,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9310,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9313,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9316,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9323
      start: 9296
    functionDepth: 1
    functionLinenumber: 9296
    functionLinenumberEnd: 9323
    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:9328,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9330,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9333,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9336,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9339,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9342,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9345,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9352
      start: 9325
    functionDepth: 1
    functionLinenumber: 9325
    functionLinenumberEnd: 9352
    functionName: jsonToDeleteStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetUTinyIntValue
    - tjsonGetBoolValue
    - tjsonGetBigIntValue
    - jsonToNodeObject
    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:9362,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9364,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9367,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9374
      start: 9359
    functionDepth: 2
    functionLinenumber: 9359
    functionLinenumberEnd: 9374
    functionName: insertStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddIntegerToObject
    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:9379,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9381,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9384,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9391
      start: 9376
    functionDepth: 3
    functionLinenumber: 9376
    functionLinenumberEnd: 9391
    functionName: jsonToInsertStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetUTinyIntValue
    - jsonToNodeList
    - jsonToNodeObject
    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:9400,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9402,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9408
      start: 9398
    functionDepth: 2
    functionLinenumber: 9398
    functionLinenumberEnd: 9408
    functionName: tsmaOptionToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddIntegerToObject
    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:9412,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9414,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9420
      start: 9410
    functionDepth: 3
    functionLinenumber: 9410
    functionLinenumberEnd: 9420
    functionName: jsonToTSMAOption
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetUTinyIntValue
    - jsonToNodeList
    - jsonToNodeObject
    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:9430,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9432,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9435,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9438,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9444
      start: 9428
    functionDepth: 1
    functionLinenumber: 9428
    functionLinenumberEnd: 9444
    functionName: createTSMAStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    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:9448,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9450,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9453,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9456,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9462
      start: 9446
    functionDepth: 1
    functionLinenumber: 9446
    functionLinenumberEnd: 9462
    functionName: jsonToCreateTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    - tjsonGetStringValue
    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:9470,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9472,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9478
      start: 9468
    functionDepth: 1
    functionLinenumber: 9468
    functionLinenumberEnd: 9478
    functionName: dropTSMAStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    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:9482,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9484,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9490
      start: 9480
    functionDepth: 1
    functionLinenumber: 9480
    functionLinenumberEnd: 9490
    functionName: jsonToDropTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropTSMAStmt(const SJson* pJson, void* pObj)
  - BBCount: 217
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9493,1
    - Dst: columnNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9495,1
    - Dst: valueNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9497,1
    - Dst: operatorNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9499,1
    - Dst: logicConditionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9501,1
    - Dst: functionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9503,1
    - Dst: realTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9505,1
    - Dst: tempTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9507,1
    - Dst: joinTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9509,1
    - Dst: virtualTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9511,1
    - Dst: placeHolderTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9513,1
    - Dst: slidingWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9515,1
    - Dst: periodWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9517,1
    - Dst: streamTriggerNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9519,1
    - Dst: streamNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9521,1
    - Dst: streamTagDefNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9523,1
    - Dst: externalWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9525,1
    - Dst: groupingSetNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9527,1
    - Dst: orderByExprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9529,1
    - Dst: limitNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9531,1
    - Dst: stateWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9533,1
    - Dst: sessionWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9535,1
    - Dst: intervalWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9537,1
    - Dst: nodeListNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9539,1
    - Dst: fillNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9541,1
    - Dst: targetNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9545,1
    - Dst: dataBlockDescNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9547,1
    - Dst: slotDescNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9549,1
    - Dst: columnDefNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9551,1
    - Dst: downstreamSourceNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9553,1
    - Dst: databaseOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9555,1
    - Dst: tableOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9557,1
    - Dst: columnOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9559,1
    - Dst: indexOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9561,1
    - Dst: explainOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9563,1
    - Dst: streamOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9565,1
    - Dst: columnReferenceToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9569,1
    - Dst: whenThenNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9571,1
    - Dst: caseWhenNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9573,1
    - Dst: eventWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9575,1
    - Dst: windowOffsetNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9577,1
    - Dst: countWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9579,1
    - Dst: anomalyWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9581,1
    - Dst: streamNotifyOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9583,1
    - Dst: setOperatorToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9585,1
    - Dst: timeRangeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9587,1
    - Dst: selectStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9589,1
    - Dst: vnodeModifyStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9591,1
    - Dst: createDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9593,1
    - Dst: alterDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9595,1
    - Dst: trimDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9597,1
    - Dst: ssMigrateDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9599,1
    - Dst: createTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9601,1
    - Dst: createSubTableClauseToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9603,1
    - Dst: createVTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9605,1
    - Dst: createVSubTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9607,1
    - Dst: createMultiTablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9609,1
    - Dst: dropTableClauseToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9611,1
    - Dst: dropTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9613,1
    - Dst: dropStableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9615,1
    - Dst: dropVtableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9617,1
    - Dst: alterTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9619,1
    - Dst: alterStableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9621,1
    - Dst: createUserStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9623,1
    - Dst: alterUserStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9625,1
    - Dst: dropUserStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9627,1
    - Dst: useDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9629,1
    - Dst: createDnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9631,1
    - Dst: dropDnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9633,1
    - Dst: alterDnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9635,1
    - Dst: createIndexStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9637,1
    - Dst: dropIndexStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9639,1
    - Dst: createQnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9641,1
    - Dst: dropQnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9643,1
    - Dst: createAnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9645,1
    - Dst: dropAnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9647,1
    - Dst: updateAnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9649,1
    - Dst: createBnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9651,1
    - Dst: dropBnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9653,1
    - Dst: createSnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9655,1
    - Dst: dropSnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9657,1
    - Dst: createMnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9659,1
    - Dst: dropMnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9661,1
    - Dst: createTopicStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9663,1
    - Dst: dropTopicStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9665,1
    - Dst: dropConsumerGroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9667,1
    - Dst: alterLocalStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9669,1
    - Dst: explainStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9671,1
    - Dst: describeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9673,1
    - Dst: compactDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9675,1
    - Dst: rollupDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9677,1
    - Dst: scanDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9679,1
    - Dst: compactVgroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9681,1
    - Dst: rollupVgroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9683,1
    - Dst: scanVgroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9685,1
    - Dst: createStreamStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9687,1
    - Dst: dropStreamStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9689,1
    - Dst: mergeVgroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9699,1
    - Dst: redistributeVgroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9701,1
    - Dst: splitVgroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9703,1
    - Dst: grantStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9705,1
    - Dst: revokeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9707,1
    - Dst: alterClusterStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9709,1
    - Dst: createDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9711,1
    - Dst: createDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9713,1
    - Dst: showDnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9715,1
    - Dst: showMnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9717,1
    - Dst: showQnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9719,1
    - Dst: showAnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9721,1
    - Dst: showAnodesFullStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9723,1
    - Dst: showArbGroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9725,1
    - Dst: showClusterStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9727,1
    - Dst: showDatabasesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9729,1
    - Dst: showFunctionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9731,1
    - Dst: showIndexesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9733,1
    - Dst: showStablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9735,1
    - Dst: showStreamsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9737,1
    - Dst: showTablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9740,1
    - Dst: showTagsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9742,1
    - Dst: showUsersStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9745,1
    - Dst: showVgroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9747,1
    - Dst: showConsumersStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9749,1
    - Dst: showVariablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9751,1
    - Dst: showGrantsFullStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9753,1
    - Dst: showGrantsLogsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9755,1
    - Dst: showClusterMachinesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9757,1
    - Dst: showEncryptionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9759,1
    - Dst: showDnodeVariablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9761,1
    - Dst: showTransactionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9763,1
    - Dst: showSubscriptionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9765,1
    - Dst: showVnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9767,1
    - Dst: showUserPrivilegesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9769,1
    - Dst: showCreateDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9771,1
    - Dst: showCreateTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9774,1
    - Dst: showCreateStableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9776,1
    - Dst: showCreateViewStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9778,1
    - Dst: showTableDistributedStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9780,1
    - Dst: showLocalVariablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9782,1
    - Dst: showTableTagsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9784,1
    - Dst: showUsageStmtStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9786,1
    - Dst: showMountsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9788,1
    - Dst: showRsmasStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9790,1
    - Dst: showRsmasStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9792,1
    - Dst: showRsmasStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9794,1
    - Dst: deleteStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9796,1
    - Dst: insertStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9798,1
    - Dst: logicScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9800,1
    - Dst: logicJoinNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9802,1
    - Dst: logicVirtualTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9804,1
    - Dst: logicAggNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9806,1
    - Dst: logicProjectNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9808,1
    - Dst: logicVnodeModifyNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9810,1
    - Dst: logicExchangeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9812,1
    - Dst: logicMergeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9814,1
    - Dst: logicWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9816,1
    - Dst: logicFillNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9818,1
    - Dst: logicSortNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9820,1
    - Dst: logicPartitionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9822,1
    - Dst: logicIndefRowsFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9824,1
    - Dst: logicInterpFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9826,1
    - Dst: logicForecastFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9828,1
    - Dst: logicImputationFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9830,1
    - Dst: logicGroupCacheNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9832,1
    - Dst: logicDynQueryCtrlNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9834,1
    - Dst: logicSubplanToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9836,1
    - Dst: logicPlanToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9838,1
    - Dst: physiTagScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9840,1
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9842,1
    - Dst: physiLastRowScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9845,1
    - Dst: physiTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9849,1
    - Dst: physiVirtualTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9851,1
    - Dst: physiSysTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9853,1
    - Dst: physiProjectNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9855,1
    - Dst: physiMergeJoinNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9857,1
    - Dst: physiHashJoinNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9859,1
    - Dst: physiAggNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9861,1
    - Dst: physiExchangeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9863,1
    - Dst: physiMergeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9865,1
    - Dst: physiSortNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9868,1
    - Dst: physiIntervalNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9871,1
    - Dst: physiExternalNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9875,1
    - Dst: physiFillNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9877,1
    - Dst: physiSessionWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9879,1
    - Dst: physiStateWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9881,1
    - Dst: physiEventWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9883,1
    - Dst: physiCountWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9885,1
    - Dst: physiAnomalyWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9887,1
    - Dst: physiPartitionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9889,1
    - Dst: physiIndefRowsFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9891,1
    - Dst: physiInterpFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9893,1
    - Dst: physiForecastFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9895,1
    - Dst: physiForecastFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9897,1
    - Dst: physiDispatchNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9899,1
    - Dst: physiQueryInsertNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9903,1
    - Dst: physiDeleteNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9905,1
    - Dst: physiGroupCacheNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9907,1
    - Dst: physiDynQueryCtrlNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9909,1
    - Dst: subplanToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9911,1
    - Dst: planToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9913,1
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9917,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9917,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9917,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 427
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9919
      start: 9492
    functionDepth: 5
    functionLinenumber: 9492
    functionLinenumberEnd: 9919
    functionName: specificNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showClusterStmtToJson
    - physiSessionWindowNodeToJson
    - targetNodeToJson
    - dropSnodeStmtToJson
    - describeStmtToJson
    - physiExchangeNodeToJson
    - anomalyWindowNodeToJson
    - insertStmtToJson
    - createTopicStmtToJson
    - logicImputationFuncNodeToJson
    - showMnodesStmtToJson
    - showClusterMachinesStmtToJson
    - periodWindowNodeToJson
    - physiDeleteNodeToJson
    - databaseOptionsToJson
    - physiAnomalyWindowNodeToJson
    - windowOffsetNodeToJson
    - alterDnodeStmtToJson
    - limitNodeToJson
    - planToJson
    - createVTableStmtToJson
    - dataBlockDescNodeToJson
    - updateAnodeStmtToJson
    - showGrantsLogsStmtToJson
    - logicSortNodeToJson
    - physiDispatchNodeToJson
    - showTableTagsStmtToJson
    - logicMergeNodeToJson
    - dropUserStmtToJson
    - physiTableScanNodeToJson
    - scanVgroupsStmtToJson
    - showVgroupsStmtToJson
    - streamNotifyOptionsToJson
    - showQnodesStmtToJson
    - physiHashJoinNodeToJson
    - logicDynQueryCtrlNodeToJson
    - logicForecastFuncNodeToJson
    - physiLastRowScanNodeToJson
    - createQnodeStmtToJson
    - physiTagScanNodeToJson
    - showStablesStmtToJson
    - dropConsumerGroupStmtToJson
    - showUsersStmtToJson
    - showDnodeVariablesStmtToJson
    - showCreateDatabaseStmtToJson
    - rollupVgroupsStmtToJson
    - logicVnodeModifyNodeToJson
    - subplanToJson
    - logicPlanToJson
    - tempTableNodeToJson
    - orderByExprNodeToJson
    - dropStreamStmtToJson
    - logicFillNodeToJson
    - nodesNodeName
    - stateWindowNodeToJson
    - createTableStmtToJson
    - alterStableStmtToJson
    - caseWhenNodeToJson
    - dropMnodeStmtToJson
    - showCreateTableStmtToJson
    - compactVgroupsStmtToJson
    - physiSortNodeToJson
    - compactDatabaseStmtToJson
    - showFunctionsStmtToJson
    - physiSysTableScanNodeToJson
    - createDnodeStmtToJson
    - slidingWindowNodeToJson
    - groupingSetNodeToJson
    - physiStateWindowNodeToJson
    - showAnodesStmtToJson
    - createDatabaseStmtToJson
    - showDnodesStmtToJson
    - showIndexesStmtToJson
    - showTransactionsStmtToJson
    - selectStmtToJson
    - virtualTableNodeToJson
    - createAnodeStmtToJson
    - showTagsStmtToJson
    - showTablesStmtToJson
    - dropBnodeStmtToJson
    - columnDefNodeToJson
    - logicScanNodeToJson
    - logicJoinNodeToJson
    - logicProjectNodeToJson
    - showCreateViewStmtToJson
    - streamNodeToJson
    - physiIntervalNodeToJson
    - showRsmasStmtToJson
    - revokeStmtToJson
    - trimDatabaseStmtToJson
    - logicInterpFuncNodeToJson
    - physiProjectNodeToJson
    - explainStmtToJson
    - logicIndefRowsFuncNodeToJson
    - streamTriggerNodeToJson
    - functionNodeToJson
    - explainOptionsToJson
    - createStreamStmtToJson
    - indexOptionsToJson
    - dropAnodeStmtToJson
    - physiIndefRowsFuncNodeToJson
    - createMultiTablesStmtToJson
    - columnReferenceToJson
    - dropDnodeStmtToJson
    - alterTableStmtToJson
    - joinTableNodeToJson
    - logicPartitionNodeToJson
    - showGrantsFullStmtToJson
    - alterUserStmtToJson
    - logicExchangeNodeToJson
    - countWindowNodeToJson
    - operatorNodeToJson
    - showEncryptionsStmtToJson
    - sessionWindowNodeToJson
    - columnOptionsToJson
    - createMnodeStmtToJson
    - splitVgroupStmtToJson
    - showVariablesStmtToJson
    - logicVirtualTableScanNodeToJson
    - columnNodeToJson
    - dropTableClauseToJson
    - showLocalVariablesStmtToJson
    - physiExternalNodeToJson
    - useDatabaseStmtToJson
    - externalWindowNodeToJson
    - physiDynQueryCtrlNodeToJson
    - redistributeVgroupStmtToJson
    - streamTagDefNodeToJson
    - timeRangeNodeToJson
    - physiFillNodeToJson
    - physiVirtualTableScanNodeToJson
    - slotDescNodeToJson
    - alterLocalStmtToJson
    - showUsageStmtStmtToJson
    - realTableNodeToJson
    - physiGroupCacheNodeToJson
    - showCreateStableStmtToJson
    - physiInterpFuncNodeToJson
    - showConsumersStmtToJson
    - placeHolderTableNodeToJson
    - physiQueryInsertNodeToJson
    - showVnodesStmtToJson
    - createBnodeStmtToJson
    - setOperatorToJson
    - whenThenNodeToJson
    - createSubTableClauseToJson
    - rollupDatabaseStmtToJson
    - nodesWarn
    - deleteStmtToJson
    - tableOptionsToJson
    - physiMergeJoinNodeToJson
    - dropQnodeStmtToJson
    - eventWindowNodeToJson
    - physiPartitionNodeToJson
    - createIndexStmtToJson
    - showArbGroupsStmtToJson
    - scanDatabaseStmtToJson
    - dropIndexStmtToJson
    - showTableDistributedStmtToJson
    - createUserStmtToJson
    - logicSubplanToJson
    - physiMergeNodeToJson
    - logicWindowNodeToJson
    - physiCountWindowNodeToJson
    - downstreamSourceNodeToJson
    - dropTopicStmtToJson
    - showAnodesFullStmtToJson
    - showMountsStmtToJson
    - physiEventWindowNodeToJson
    - showSubscriptionsStmtToJson
    - mergeVgroupStmtToJson
    - dropVtableStmtToJson
    - dropStableStmtToJson
    - showStreamsStmtToJson
    - vnodeModifyStmtToJson
    - intervalWindowNodeToJson
    - alterClusterStmtToJson
    - fillNodeToJson
    - streamOptionsToJson
    - alterDatabaseStmtToJson
    - grantStmtToJson
    - physiForecastFuncNodeToJson
    - valueNodeToJson
    - nodeListNodeToJson
    - dropTableStmtToJson
    - physiAggNodeToJson
    - ssMigrateDatabaseStmtToJson
    - showDatabasesStmtToJson
    - logicConditionNodeToJson
    - nodeType
    - physiScanNodeToJson
    - createVSubTableStmtToJson
    - logicGroupCacheNodeToJson
    - createSnodeStmtToJson
    - logicAggNodeToJson
    - showUserPrivilegesStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t specificNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 212
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9922,1
    - Dst: jsonToColumnNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9924,1
    - Dst: jsonToValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9926,1
    - Dst: jsonToOperatorNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9928,1
    - Dst: jsonToLogicConditionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9930,1
    - Dst: jsonToFunctionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9932,1
    - Dst: jsonToRealTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9934,1
    - Dst: jsonToTempTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9936,1
    - Dst: jsonToJoinTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9938,1
    - Dst: jsonToVirtualTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9940,1
    - Dst: jsonToPlaceHolderTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9942,1
    - Dst: jsonToSlidingWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9944,1
    - Dst: jsonToPeriodWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9946,1
    - Dst: jsonToStreamTriggerNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9948,1
    - Dst: jsonToStreamNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9950,1
    - Dst: jsonToStreamTagDefNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9952,1
    - Dst: jsonToExternalWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9954,1
    - Dst: jsonToGroupingSetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9956,1
    - Dst: jsonToOrderByExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9958,1
    - Dst: jsonToLimitNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9960,1
    - Dst: jsonToStateWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9962,1
    - Dst: jsonToSessionWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9964,1
    - Dst: jsonToIntervalWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9966,1
    - Dst: jsonToNodeListNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9968,1
    - Dst: jsonToFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9970,1
    - Dst: jsonToTargetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9972,1
    - Dst: jsonToDataBlockDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9974,1
    - Dst: jsonToSlotDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9976,1
    - Dst: jsonToColumnDefNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9978,1
    - Dst: jsonToDownstreamSourceNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9980,1
    - Dst: jsonToDatabaseOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9982,1
    - Dst: jsonToTableOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9984,1
    - Dst: jsonToColumnOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9986,1
    - Dst: jsonToIndexOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9988,1
    - Dst: jsonToExplainOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9990,1
    - Dst: jsonToStreamOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9992,1
    - Dst: jsonToColumnReference
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9996,1
    - Dst: jsonToWhenThenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9998,1
    - Dst: jsonToCaseWhenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10000,1
    - Dst: jsonToEventWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10002,1
    - Dst: jsonToWindowOffsetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10004,1
    - Dst: jsonToCountWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10006,1
    - Dst: jsonToAnomalyWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10008,1
    - Dst: jsonToStreamNotifyOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10010,1
    - Dst: jsonToSetOperator
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10012,1
    - Dst: jsonToTimeRangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10014,1
    - Dst: jsonToSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10016,1
    - Dst: jsonToVnodeModifyStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10018,1
    - Dst: jsonToCreateDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10020,1
    - Dst: jsonToAlterDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10022,1
    - Dst: jsonToTrimDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10024,1
    - Dst: jsonToSsMigrateDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10026,1
    - Dst: jsonToCreateTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10028,1
    - Dst: jsonToCreateSubTableClause
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10030,1
    - Dst: jsonToCreateVTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10032,1
    - Dst: jsonToCreateVSubTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10034,1
    - Dst: jsonToCreateMultiTablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10036,1
    - Dst: jsonToDropTableClause
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10038,1
    - Dst: jsonToDropTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10040,1
    - Dst: jsonToDropStableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10042,1
    - Dst: jsonToDropVtableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10044,1
    - Dst: jsonToAlterTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10046,1
    - Dst: jsonToAlterStableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10048,1
    - Dst: jsonToCreateUserStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10050,1
    - Dst: jsonToAlterUserStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10052,1
    - Dst: jsonToDropUserStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10054,1
    - Dst: jsonToUseDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10056,1
    - Dst: jsonToCreateDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10058,1
    - Dst: jsonToDropDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10060,1
    - Dst: jsonToAlterDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10062,1
    - Dst: jsonToCreateIndexStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10064,1
    - Dst: jsonToDropIndexStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10066,1
    - Dst: jsonToCreateQnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10068,1
    - Dst: jsonToDropQnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10070,1
    - Dst: jsonToCreateSnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10072,1
    - Dst: jsonToDropSnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10074,1
    - Dst: jsonToCreateMnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10076,1
    - Dst: jsonToDropMnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10078,1
    - Dst: jsonToCreateTopicStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10080,1
    - Dst: jsonToDropTopicStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10082,1
    - Dst: jsonToDropConsumerGroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10084,1
    - Dst: jsonToAlterLocalStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10086,1
    - Dst: jsonToExplainStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10088,1
    - Dst: jsonToDescribeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10090,1
    - Dst: jsonToCompactDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10092,1
    - Dst: jsonToRollupDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10094,1
    - Dst: jsonToScanDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10096,1
    - Dst: jsonToCompactVgroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10098,1
    - Dst: jsonToRollupVgroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10100,1
    - Dst: jsonToScanVgroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10102,1
    - Dst: jsonToCreateStreamStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10104,1
    - Dst: jsonToDropStreamStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10106,1
    - Dst: jsonToMergeVgroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10116,1
    - Dst: jsonToRedistributeVgroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10118,1
    - Dst: jsonToSplitVgroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10120,1
    - Dst: jsonToGrantStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10122,1
    - Dst: jsonToRevokeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10124,1
    - Dst: jsonToAlterClusterStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10126,1
    - Dst: jsonToShowDnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10128,1
    - Dst: jsonToShowMnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10130,1
    - Dst: jsonToShowQnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10132,1
    - Dst: jsonToShowAnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10134,1
    - Dst: jsonToShowAnodesFullStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10136,1
    - Dst: jsonToShowArbGroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10138,1
    - Dst: jsonToShowClusterStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10140,1
    - Dst: jsonToShowDatabasesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10142,1
    - Dst: jsonToShowFunctionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10144,1
    - Dst: jsonToShowIndexesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10146,1
    - Dst: jsonToShowStablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10148,1
    - Dst: jsonToShowStreamsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10150,1
    - Dst: jsonToShowTablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10153,1
    - Dst: jsonToShowTagsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10155,1
    - Dst: jsonToShowUsersStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10158,1
    - Dst: jsonToShowVgroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10160,1
    - Dst: jsonToShowConsumersStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10162,1
    - Dst: jsonToShowVariablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10164,1
    - Dst: jsonToShowGrantsFullStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10166,1
    - Dst: jsonToShowGrantsLogsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10168,1
    - Dst: jsonToShowClusterMachinesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10170,1
    - Dst: jsonToShowEncryptionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10172,1
    - Dst: jsonToShowDnodeVariablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10174,1
    - Dst: jsonToShowTransactionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10176,1
    - Dst: jsonToShowSubscriptionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10178,1
    - Dst: jsonToShowVnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10180,1
    - Dst: jsonToShowUserPrivilegesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10182,1
    - Dst: jsonToShowCreateDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10184,1
    - Dst: jsonToShowCreateTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10187,1
    - Dst: jsonToShowCreateStableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10189,1
    - Dst: jsonToShowCreateViewStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10191,1
    - Dst: jsonToShowTableDistributedStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10193,1
    - Dst: jsonToShowLocalVariablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10195,1
    - Dst: jsonToShowTableTagsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10197,1
    - Dst: jsonToShowUsageStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10199,1
    - Dst: jsonToShowMountsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10201,1
    - Dst: jsonToShowRsmasStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10203,1
    - Dst: jsonToShowRsmasStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10205,1
    - Dst: jsonToShowRsmasStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10207,1
    - Dst: jsonToDeleteStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10209,1
    - Dst: jsonToInsertStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10211,1
    - Dst: jsonToRestoreDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10213,1
    - Dst: jsonToRestoreQnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10215,1
    - Dst: jsonToRestoreMnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10217,1
    - Dst: jsonToRestoreVnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10219,1
    - Dst: jsonToLogicScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10221,1
    - Dst: jsonToLogicJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10223,1
    - Dst: jsonToLogicVirtualTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10225,1
    - Dst: jsonToLogicAggNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10227,1
    - Dst: jsonToLogicProjectNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10229,1
    - Dst: jsonToLogicVnodeModifyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10231,1
    - Dst: jsonToLogicExchangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10233,1
    - Dst: jsonToLogicMergeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10235,1
    - Dst: jsonToLogicWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10237,1
    - Dst: jsonToLogicFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10239,1
    - Dst: jsonToLogicSortNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10241,1
    - Dst: jsonToLogicPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10243,1
    - Dst: jsonToLogicIndefRowsFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10245,1
    - Dst: jsonToLogicInterpFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10247,1
    - Dst: jsonToLogicImputationFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10249,1
    - Dst: jsonToLogicForecastFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10251,1
    - Dst: jsonToLogicGroupCacheNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10253,1
    - Dst: jsonToLogicDynQueryCtrlNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10255,1
    - Dst: jsonToLogicSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10257,1
    - Dst: jsonToLogicPlan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10259,1
    - Dst: jsonToPhysiTagScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10261,1
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10264,1
    - Dst: jsonToPhysiLastRowScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10266,1
    - Dst: jsonToPhysiTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10270,1
    - Dst: jsonToPhysiVirtualTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10272,1
    - Dst: jsonToPhysiSysTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10274,1
    - Dst: jsonToPhysiProjectNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10276,1
    - Dst: jsonToPhysiMergeJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10278,1
    - Dst: jsonToPhysiHashJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10280,1
    - Dst: jsonToPhysiAggNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10282,1
    - Dst: jsonToPhysiExchangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10284,1
    - Dst: jsonToPhysiMergeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10286,1
    - Dst: jsonToPhysiSortNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10289,1
    - Dst: jsonToPhysiIntervalNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10292,1
    - Dst: jsonToPhysiExternalNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10296,1
    - Dst: jsonToPhysiFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10298,1
    - Dst: jsonToPhysiSessionWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10300,1
    - Dst: jsonToPhysiStateWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10302,1
    - Dst: jsonToPhysiEventWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10304,1
    - Dst: jsonToPhysiCountWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10306,1
    - Dst: jsonToPhysiAnomalyWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10308,1
    - Dst: jsonToPhysiPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10310,1
    - Dst: jsonToPhysiIndefRowsFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10312,1
    - Dst: jsonToPhysiInterpFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10314,1
    - Dst: jsonToPhysiForecastFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10317,1
    - Dst: jsonToPhysiDispatchNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10319,1
    - Dst: jsonToPhysiQueryInsertNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10321,1
    - Dst: jsonToPhysiDeleteNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10323,1
    - Dst: jsonToPhysiGroupCacheNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10325,1
    - Dst: jsonToPhysiDynQueryCtrlNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10327,1
    - Dst: jsonToSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10329,1
    - Dst: jsonToPlan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10331,1
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10335,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10335,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 416
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10337
      start: 9921
    functionDepth: 6
    functionLinenumber: 9921
    functionLinenumberEnd: 10337
    functionName: jsonToSpecificNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeListNode
    - jsonToPhysiExternalNode
    - jsonToDropSnodeStmt
    - jsonToLogicAggNode
    - jsonToSelectStmt
    - jsonToDescribeStmt
    - jsonToLogicFillNode
    - jsonToPhysiLastRowScanNode
    - jsonToCaseWhenNode
    - jsonToCreateMultiTablesStmt
    - jsonToOperatorNode
    - jsonToStreamTriggerNode
    - jsonToLogicImputationFuncNode
    - jsonToShowIndexesStmt
    - jsonToPhysiExchangeNode
    - jsonToDownstreamSourceNode
    - jsonToPhysiEventWindowNode
    - jsonToShowTablesStmt
    - jsonToShowCreateStableStmt
    - jsonToCreateSnodeStmt
    - jsonToIntervalWindowNode
    - jsonToColumnReference
    - jsonToStateWindowNode
    - jsonToVirtualTableNode
    - jsonToShowStreamsStmt
    - jsonToAlterDnodeStmt
    - jsonToGrantStmt
    - jsonToPhysiTagScanNode
    - jsonToScanDatabaseStmt
    - jsonToEventWindowNode
    - jsonToPhysiDynQueryCtrlNode
    - jsonToShowTagsStmt
    - jsonToSplitVgroupStmt
    - jsonToMergeVgroupStmt
    - jsonToShowCreateDatabaseStmt
    - jsonToAlterLocalStmt
    - jsonToPhysiSysTableScanNode
    - jsonToPhysiSortNode
    - jsonToPhysiQueryInsertNode
    - jsonToCountWindowNode
    - jsonToCreateSubTableClause
    - jsonToShowFunctionsStmt
    - jsonToPhysiIntervalNode
    - jsonToShowRsmasStmt
    - jsonToRealTableNode
    - jsonToShowVgroupsStmt
    - jsonToShowCreateViewStmt
    - jsonToFunctionNode
    - jsonToTrimDatabaseStmt
    - jsonToPlan
    - jsonToLogicSubplan
    - nodesNodeName
    - jsonToDataBlockDescNode
    - jsonToShowTransactionsStmt
    - jsonToShowClusterStmt
    - jsonToPhysiMergeJoinNode
    - jsonToPhysiMergeNode
    - jsonToLogicSortNode
    - jsonToAlterUserStmt
    - jsonToShowConsumersStmt
    - jsonToWhenThenNode
    - jsonToShowAnodesFullStmt
    - jsonToRestoreQnodeStmt
    - jsonToPhysiStateWindowNode
    - jsonToPhysiInterpFuncNode
    - jsonToSlidingWindowNode
    - jsonToPhysiSessionWindowNode
    - jsonToDropDnodeStmt
    - jsonToAlterTableStmt
    - jsonToShowTableDistributedStmt
    - jsonToLogicIndefRowsFuncNode
    - jsonToShowDnodesStmt
    - jsonToShowEncryptionsStmt
    - jsonToDatabaseOptions
    - jsonToSessionWindowNode
    - jsonToShowClusterMachinesStmt
    - jsonToLogicInterpFuncNode
    - jsonToPhysiTableScanNode
    - jsonToSsMigrateDatabaseStmt
    - jsonToGroupingSetNode
    - jsonToShowUsageStmt
    - jsonToShowQnodesStmt
    - jsonToValueNode
    - jsonToDropVtableStmt
    - jsonToColumnOptions
    - jsonToCompactVgroupsStmt
    - jsonToPhysiAggNode
    - jsonToCreateDatabaseStmt
    - jsonToSubplan
    - jsonToVnodeModifyStmt
    - jsonToInsertStmt
    - jsonToTempTableNode
    - jsonToRestoreMnodeStmt
    - jsonToExplainOptions
    - jsonToLogicProjectNode
    - jsonToShowGrantsFullStmt
    - jsonToDeleteStmt
    - jsonToLogicDynQueryCtrlNode
    - jsonToCreateDnodeStmt
    - jsonToPhysiGroupCacheNode
    - jsonToPhysiHashJoinNode
    - jsonToShowMnodesStmt
    - jsonToLogicScanNode
    - jsonToJoinTableNode
    - jsonToTimeRangeNode
    - jsonToCompactDatabaseStmt
    - jsonToAlterClusterStmt
    - jsonToShowSubscriptionsStmt
    - jsonToDropQnodeStmt
    - jsonToLogicVirtualTableScanNode
    - jsonToExternalWindowNode
    - jsonToStreamOptions
    - jsonToShowStablesStmt
    - jsonToCreateTopicStmt
    - jsonToShowDnodeVariablesStmt
    - jsonToShowVnodesStmt
    - jsonToPhysiForecastFuncNode
    - jsonToSetOperator
    - jsonToColumnDefNode
    - jsonToIndexOptions
    - jsonToDropTopicStmt
    - jsonToPeriodWindowNode
    - jsonToPhysiPartitionNode
    - jsonToShowUserPrivilegesStmt
    - jsonToWindowOffsetNode
    - jsonToLogicForecastFuncNode
    - jsonToCreateUserStmt
    - jsonToDropTableStmt
    - jsonToPhysiAnomalyWindowNode
    - jsonToCreateVTableStmt
    - jsonToUseDatabaseStmt
    - jsonToLimitNode
    - jsonToAnomalyWindowNode
    - jsonToLogicPartitionNode
    - jsonToShowMountsStmt
    - jsonToLogicMergeNode
    - jsonToLogicGroupCacheNode
    - jsonToDropMnodeStmt
    - jsonToPhysiIndefRowsFuncNode
    - jsonToShowGrantsLogsStmt
    - jsonToCreateIndexStmt
    - jsonToRedistributeVgroupStmt
    - jsonToShowUsersStmt
    - jsonToDropIndexStmt
    - jsonToAlterStableStmt
    - jsonToShowAnodesStmt
    - jsonToPhysiProjectNode
    - jsonToPhysiCountWindowNode
    - nodesWarn
    - jsonToStreamTagDefNode
    - jsonToRollupVgroupsStmt
    - jsonToPhysiDispatchNode
    - jsonToRevokeStmt
    - jsonToLogicWindowNode
    - jsonToLogicPlan
    - jsonToFillNode
    - jsonToStreamNotifyOptions
    - jsonToCreateTableStmt
    - jsonToLogicVnodeModifyNode
    - jsonToShowVariablesStmt
    - jsonToScanVgroupsStmt
    - jsonToShowLocalVariablesStmt
    - jsonToAlterDatabaseStmt
    - jsonToDropStreamStmt
    - jsonToTableOptions
    - jsonToPhysiDeleteNode
    - jsonToShowArbGroupsStmt
    - jsonToRestoreVnodeStmt
    - jsonToDropStableStmt
    - jsonToPhysiFillNode
    - jsonToCreateVSubTableStmt
    - jsonToDropUserStmt
    - jsonToRollupDatabaseStmt
    - jsonToStreamNode
    - jsonToLogicExchangeNode
    - jsonToColumnNode
    - jsonToSlotDescNode
    - jsonToPhysiVirtualTableScanNode
    - jsonToShowCreateTableStmt
    - jsonToLogicJoinNode
    - jsonToCreateStreamStmt
    - jsonToCreateMnodeStmt
    - nodeType
    - jsonToShowDatabasesStmt
    - jsonToDropTableClause
    - jsonToDropConsumerGroupStmt
    - jsonToOrderByExprNode
    - jsonToLogicConditionNode
    - jsonToPlaceHolderTableNode
    - jsonToTargetNode
    - jsonToRestoreDnodeStmt
    - jsonToCreateQnodeStmt
    - jsonToShowTableTagsStmt
    - jsonToPhysiScanNode
    - jsonToExplainStmt
    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:10345,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10347,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10347,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10350,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10350,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10352,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10357
      start: 10342
    functionDepth: 2
    functionLinenumber: 10342
    functionLinenumberEnd: 10357
    functionName: nodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesNodeName
    - nodesError
    - tjsonAddStringToObject
    - 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:10363,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10365,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10365,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10367,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10372
      start: 10359
    functionDepth: 2
    functionLinenumber: 10359
    functionLinenumberEnd: 10372
    functionName: jsonToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetNumberValue
    - nodesNodeName
    - nodesError
    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:10376,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10378,1
    - Dst: jsonToNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pJson
    - pNode
    argTypes:
    - SJson*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10386
      start: 10374
    functionDepth: 3
    functionLinenumber: 10374
    functionLinenumberEnd: 10386
    functionName: makeNodeByJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 1
    functionsReached:
    - jsonToNode
    - tjsonGetIntValue
    - nodesMakeNode
    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:10389,1
    - Dst: makeNodeByJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pJson
    - pName
    - pNode
    argTypes:
    - SJson*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10394
      start: 10388
    functionDepth: 4
    functionLinenumber: 10388
    functionLinenumberEnd: 10394
    functionName: jsonToNodeObject
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 68
    functionsReached:
    - makeNodeByJson
    - tjsonGetObjectItem
    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:10402,1
    - Dst: nodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10407,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10413,1
    - Dst: tjsonToUnformattedString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10413,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10414,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10417,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: 10421
      start: 10396
    functionDepth: 3
    functionLinenumber: 10396
    functionLinenumberEnd: 10421
    functionName: nodesNodeToString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToString
    - tjsonToUnformattedString
    - strlen
    - tjsonDelete
    - nodeToJson
    - tjsonCreateObject
    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:10427,1
    - Dst: makeNodeByJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10431,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10432,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pStr
    - pNode
    argTypes:
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10440
      start: 10423
    functionDepth: 4
    functionLinenumber: 10423
    functionLinenumberEnd: 10440
    functionName: nodesStringToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 5
    functionsReached:
    - nodesDestroyNode
    - tjsonParse
    - makeNodeByJson
    - tjsonDelete
    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:10448,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10452,1
    - Dst: tjsonAddItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10459,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10466,1
    - Dst: tjsonToUnformattedString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10466,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10467,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10469,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: 10471
      start: 10442
    functionDepth: 1
    functionLinenumber: 10442
    functionLinenumberEnd: 10471
    functionName: nodesListToString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToString
    - tjsonToUnformattedString
    - strlen
    - tjsonAddItem
    - tjsonDelete
    - tjsonCreateArray
    - LIST_LENGTH
    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:10459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10464
      start: 10458
    functionDepth: 1
    functionLinenumber: 10458
    functionLinenumberEnd: 10464
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 19
    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:10477,1
    - Dst: jsonToNodeListImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10481,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10482,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pStr
    - pList
    argTypes:
    - char*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10490
      start: 10473
    functionDepth: 2
    functionLinenumber: 10473
    functionLinenumberEnd: 10490
    functionName: nodesStringToList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 3
    functionsReached:
    - tjsonParse
    - jsonToNodeListImpl
    - tjsonDelete
    - nodesDestroyList
    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: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    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: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    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: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    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:77,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:79,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:82,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:85,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:87,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:90,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:93,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:101,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:109,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:112,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - ppDst
    - ppSrc
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 118
    functionName: mergeJoinConds
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesListStrictAppendList
    - nodesListMakeStrictAppend
    - nodeType
    - nodesMakeNode
    - nodesDestroyNode
    - TSWAP
    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:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pAllocator
    - pOutChunk
    argTypes:
    - SNodeAllocator*
    - SNodeMemChunk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 140
    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:144,1
    - Dst: callocNodeChunk
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:154,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - size
    - pOut
    argTypes:
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: nodesCallocImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemFreeClear
    - taosMemoryCalloc
    - callocNodeChunk
    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:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - num
    - size
    - pOut
    argTypes:
    - int32_t
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 182
    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:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    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:193,1
    - Dst: callocNodeChunk
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:198,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:200,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:203,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - chunkSize
    - pAllocator
    argTypes:
    - int32_t
    - SNodeAllocator**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: createNodeAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMemoryFreeClear
    - taosThreadMutexInit
    - callocNodeChunk
    - 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:216,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:222,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:225,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: destroyNodeAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexDestroy
    - taosMemoryFree
    - nodesDebug
    linkageType: ''
    returnType: void
    signature: void destroyNodeAllocator(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:231,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:235,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: nodesInitAllocatorSet
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosOpenRef
    - nodesWarn
    - nodesError
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesInitAllocatorSet()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:246,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:250,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:252,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:255,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: nodesDestroyAllocatorSet
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosIterateRef
    - nodesError
    - taosRemoveRef
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: void nodesDestroyAllocatorSet()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createNodeAllocator
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:263,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:265,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: 273
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 273
    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:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 285
    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:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 293
    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:300,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    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:315,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:323,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 325
    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:332,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 338
    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:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 340
    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:347,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 352
    functionName: nodesDestroyAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesError
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: void nodesDestroyAllocator(int64_t allocatorId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:356,1
    - Dst: setNodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - type
    - size
    - ppNode
    argTypes:
    - ENodeType
    - int32_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: makeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesCalloc
    - setNodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeNode(ENodeType type, int32_t size, SNode** ppNode)
  - BBCount: 281
    BranchProfiles: []
    Callsites:
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:369,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:372,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:375,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:378,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:381,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:384,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:387,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:390,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:393,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:396,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:399,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:402,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:405,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:408,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:411,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:414,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:417,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:420,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:423,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:426,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:429,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:432,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:435,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:438,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:441,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:444,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:447,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:450,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:453,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:456,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:459,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:462,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:465,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:468,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:471,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:474,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:477,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:480,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:483,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:486,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:489,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:492,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:495,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:498,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:501,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:504,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:507,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:510,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:513,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:516,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:519,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:522,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:525,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:528,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:531,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:534,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:537,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:540,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:543,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:546,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:549,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:552,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:555,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:558,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:561,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:564,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:567,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:570,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:573,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:576,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:579,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:584,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:587,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:590,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:593,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:596,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:599,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:602,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:605,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:608,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:611,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:614,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:617,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:620,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:623,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:626,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:629,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:632,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:635,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:638,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:641,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:644,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:650,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:656,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:659,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:662,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:665,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:668,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:671,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:674,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:677,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:680,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:683,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:686,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:689,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:692,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:695,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:698,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:701,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:704,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:707,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:710,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:713,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:716,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:743,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:746,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:749,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:795,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:798,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:801,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:804,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:813,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:816,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:828,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:831,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:834,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:837,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:840,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:843,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:846,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:854,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:857,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:860,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:863,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:869,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:872,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:875,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:878,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:881,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:884,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:887,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:890,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:893,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:896,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:899,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:902,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:905,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:908,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:911,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:914,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:917,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:920,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:923,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:926,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:929,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:932,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:935,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:938,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:941,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:944,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:959,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:1069,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1079,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1079,1
    CyclomaticComplexity: 217
    EdgeCount: 217
    ICount: 716
    argCount: 2
    argNames:
    - type
    - ppNodeOut
    argTypes:
    - ENodeType
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 1084
    functionName: nodesMakeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 74
    functionsReached:
    - nodesNodeName
    - makeNode
    - 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:1087,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1089,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1090,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1091,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1094
    functionName: destroyVgDataBlockArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void destroyVgDataBlockArray(SArray* pArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1097,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1098,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1099,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1100,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1101,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1103
    functionName: destroyLogicNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: void destroyLogicNode(SLogicNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1106,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1107,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1108,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1109,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1111
    functionName: destroyPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: void destroyPhysiNode(SPhysiNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1114,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1115,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1116,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1117,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1118,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SWindowPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1113
    functionDepth: 2
    functionLinenumber: 1113
    functionLinenumberEnd: 1120
    functionName: destroyWinodwPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - destroyPhysiNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: void destroyWinodwPhysiNode(SWindowPhysiNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1123,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1124,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1125,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPartitionPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1122
    functionDepth: 2
    functionLinenumber: 1122
    functionLinenumberEnd: 1127
    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:1130,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1131,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1133
    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:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SDataSinkNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1135
    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:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1137
    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:1143,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1150
    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:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pIndex
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1152
    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:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pValue
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1154
    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:1162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - EHintOption
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1163
    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: 288
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1170,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1172,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1176,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1177,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1178,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1179,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1185,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1186,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1187,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1191,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1192,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1195,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1196,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1200,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1201,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1202,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1203,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1204,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1209,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1210,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1211,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1215,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1219,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1220,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1225,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1226,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1231,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1236,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1237,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1238,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1239,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1244,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1245,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1246,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1247,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1248,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1249,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1253,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1256,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1261,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1266,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1267,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1268,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1269,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
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1280,1
    - Dst: nodesDestroyNode
      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: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1284,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1285,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1290,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1291,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1296,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1297,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1301,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1305,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1306,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1307,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1311,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1314,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1317,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1320,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1325,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1331,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1332,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1333,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1334,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1335,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1336,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1337,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1338,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1343,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1344,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1345,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1346,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1347,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1348,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1357,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1358,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1359,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1360,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1361,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1368,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1369,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1370,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1371,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1372,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1377,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1378,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1383,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1384,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1385,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1386,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1387,1
    - Dst: nodesDestroyList
      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: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1401,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1402,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1403,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1408,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1409,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1410,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1411,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1416,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1417,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1418,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1419,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1424,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1425,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1430,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1435,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1436,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1441,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1442,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1443,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1444,1
    - Dst: destroyHintValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1448,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1453,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1454,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1455,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1460,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1461,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1466,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1467,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1472,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1473,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1478,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1479,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1480,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1481,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:1487,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1488,1
    - Dst: nodesDestroyList
      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: nodesDestroyList
      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: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1494,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1495,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1496,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1497,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: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1500,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1501,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1502,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1503,1
    - Dst: destroyVgDataBlockArray
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1508,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1509,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1510,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1511,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1512,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1513,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1514,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1515,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1516,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1517,1
    - Dst: SVnodeModifyOpStmt*::freeHashFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1519,1
    - Dst: SVnodeModifyOpStmt*::freeArrayFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1522,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1524,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1525,1
    - Dst: SVnodeModifyOpStmt*::freeStbRowsCxtFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1527,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1529,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1531,1
    - Dst: SVnodeModifyOpStmt*::destroyParseFileCxt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1534,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1537,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1539,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1545,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1546,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1553,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1554,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1564,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1565,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1566,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1571,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: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1578,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1583,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1584,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1585,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1586,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1591,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1595,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1600,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1609,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1610,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1616,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1617,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1628,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1629,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1634,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1639,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1640,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1645,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:1660,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1670,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1671,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1685,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:1694,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1695,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1699,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: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1711,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1712,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: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1723,1
    - Dst: nodesDestroyList
      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: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1731,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1732,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1733,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1734,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1739,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1740,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1741,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1742,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1750,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1751,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1752,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1753,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1754,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1767,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1773,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1776,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1825,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1826,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1831,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1832,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1833,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1837,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1838,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1846,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1851,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1858,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1862,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1867,1
    - Dst: destroyTableCfg
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1868,1
    - Dst: tFreeRsmaInfoRsp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1883,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1884,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1890,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1891,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1892,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1893,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1894,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1895,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1900,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1901,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1902,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1907,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1908,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1909,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1910,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1912,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1913,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1915,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1916,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1917,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1918,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1919,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1920,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1930,1
    - Dst: tFreeSCMCreateViewReq
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1931,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:1939,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1944,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1949,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1950,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1951,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1952,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1953,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1954,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1955,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1956,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1957,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1958,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1959,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1960,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1961,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1966,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1967,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1968,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1969,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1970,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1971,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c: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:1974,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1975,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1976,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1977,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1978,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1979,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1984,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1985,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1986,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1987,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1992,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1993,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1994,1
    - Dst: destroyLogicNode
      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: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2005,1
    - Dst: destroyVgDataBlockArray
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2006,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2008,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2009,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2010,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2011,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2012,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2016,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2020,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2021,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2022,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2027,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2028,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:2030,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2031,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:2033,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2034,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2035,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2036,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2041,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2042,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2043,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2044,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2045,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2046,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2047,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2052,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2053,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2058,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2059,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2060,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2061,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2062,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2067,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2068,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2073,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2074,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2075,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2076,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2081,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2082,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2087,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2088,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2093,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2094,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2099,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2101,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2102,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2108,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2109,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2110,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2111,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2115,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2120,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2124,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2125,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2126,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2127,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2128,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2135,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2136,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2142,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2143,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2144,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2145,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2153,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2154,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2155,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2156,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2157,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2158,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2163,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2164,1
    - Dst: destroyPhysiNode
      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:2173,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2174,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2175,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2176,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:2180,1
    - Dst: destroyPhysiNode
      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: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2187,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2188,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2189,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2190,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2191,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2192,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2193,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2194,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2195,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2197,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2198,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2199,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2205,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2206,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2207,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2208,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2213,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2214,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2219,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2220,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2221,1
    - Dst: destroyPhysiNode
      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: nodesDestroyList
      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: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2236,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2240,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2241,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2242,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2243,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2244,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2245,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2246,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2250,1
    - Dst: destroyWinodwPhysiNode
      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: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2261,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2262,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2267,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2272,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2273,1
    - Dst: destroyPartitionPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2277,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2282,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2283,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2284,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2289,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2290,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2291,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2292,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2293,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2299,1
    - Dst: nodesDestroyList
      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: destroyDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2305,1
    - Dst: destroyDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2309,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2310,1
    - Dst: destroyDataSinkNode
      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: destroyDataSinkNode
      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: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2329,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2330,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2336,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2337,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2339,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2345,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2346,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2347,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2352,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2353,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2354,1
    - Dst: nodesDestroyNode
      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: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2357,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2358,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2362,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2367,1
    CyclomaticComplexity: 186
    EdgeCount: 186
    ICount: 1074
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 1165
    functionDepth: 3
    functionLinenumber: 1165
    functionLinenumberEnd: 2369
    functionName: nodesDestroyNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 111
    functionsReached:
    - taosArrayDestroy
    - SVnodeModifyOpStmt*::freeStbRowsCxtFunc
    - WHERE_EACH
    - tFreeSCMCreateViewReq
    - destroyLogicNode
    - SVnodeModifyOpStmt*::destroyParseFileCxt
    - destroyPhysiNode
    - nodesClearList
    - tdDestroySVCreateTbReq
    - taosCloseFile
    - nodesError
    - IS_VAR_DATA_TYPE
    - SVnodeModifyOpStmt*::freeArrayFunc
    - taosArrayDestroyP
    - destroyVgDataBlockArray
    - tFreeRsmaInfoRsp
    - nodesFree
    - taosMemoryFreeClear
    - destroyExprNode
    - SVnodeModifyOpStmt*::freeHashFunc
    - destroyDataSinkNode
    - ERASE_NODE
    - taosMemFreeClear
    - nodeType
    - tSimpleHashCleanup
    - destroyHintValue
    - taosArrayDestroyEx
    - nodesDestroyList
    - destroyWinodwPhysiNode
    - destroyTableCfg
    - destroyScanPhysiNode
    - destroyPartitionPhysiNode
    - nodesDestroyNode
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void nodesDestroyNode(SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1616,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1614
    functionDepth: 4
    functionLinenumber: 1614
    functionLinenumberEnd: 1618
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 19
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pSubNode, pNodeList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ppListOut
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2371
    functionDepth: 3
    functionLinenumber: 2371
    functionLinenumberEnd: 2378
    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:2385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2380
    functionDepth: 3
    functionLinenumber: 2380
    functionLinenumberEnd: 2400
    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:2406,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2402
    functionDepth: 4
    functionLinenumber: 2402
    functionLinenumberEnd: 2411
    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:2415,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2413
    functionDepth: 4
    functionLinenumber: 2413
    functionLinenumberEnd: 2421
    functionName: nodesListMakeAppend
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 3
    functionsReached:
    - nodesListAppend
    - nodesMakeList
    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:2425,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2423
    functionDepth: 5
    functionLinenumber: 2423
    functionLinenumberEnd: 2431
    functionName: nodesListMakeStrictAppend
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 4
    functionsReached:
    - nodesListStrictAppend
    - nodesMakeList
    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:2448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pTarget
    - pSrc
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2433
    functionDepth: 1
    functionLinenumber: 2433
    functionLinenumberEnd: 2451
    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:2457,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTarget
    - pSrc
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2453
    functionDepth: 2
    functionLinenumber: 2453
    functionLinenumberEnd: 2462
    functionName: nodesListStrictAppendList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - nodesListAppendList
    - nodesDestroyList
    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:2466,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTarget
    - pSrc
    argTypes:
    - SNodeList**
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2464
    functionDepth: 4
    functionLinenumber: 2464
    functionLinenumberEnd: 2472
    functionName: nodesListMakeStrictAppendList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppendList
    - nodesMakeList
    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:2476,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2474
    functionDepth: 4
    functionLinenumber: 2474
    functionLinenumberEnd: 2482
    functionName: nodesListMakePushFront
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListPushFront
    - nodesMakeList
    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:2489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2484
    functionDepth: 3
    functionLinenumber: 2484
    functionLinenumberEnd: 2502
    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:2517,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pList
    - pCell
    argTypes:
    - SNodeList*
    - SListCell*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2505
    functionDepth: 4
    functionLinenumber: 2505
    functionLinenumberEnd: 2521
    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:2538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pTarget
    - pPos
    - pSrc
    argTypes:
    - SNodeList*
    - SListCell*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2523
    functionDepth: 1
    functionLinenumber: 2523
    functionLinenumberEnd: 2539
    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:2558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pTarget
    - pPos
    - pSrc
    argTypes:
    - SNodeList*
    - SListCell*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2541
    functionDepth: 1
    functionLinenumber: 2541
    functionLinenumberEnd: 2559
    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: 2569
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2569
    functionName: nodesListGetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 10
    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: 2567
      start: 2563
    functionDepth: 0
    functionLinenumber: 2563
    functionLinenumberEnd: 2567
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 19
    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: 2579
      start: 2571
    functionDepth: 0
    functionLinenumber: 2571
    functionLinenumberEnd: 2579
    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: 2577
      start: 2573
    functionDepth: 0
    functionLinenumber: 2573
    functionLinenumberEnd: 2577
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2588,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2581
    functionDepth: 5
    functionLinenumber: 2581
    functionLinenumberEnd: 2591
    functionName: nodesDestroyList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 21
    functionsReached:
    - nodesListErase
    - nodesFree
    linkageType: ''
    returnType: void
    signature: void nodesDestroyList(SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2602,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2593
    functionDepth: 1
    functionLinenumber: 2593
    functionLinenumberEnd: 2605
    functionName: nodesClearList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 2
    functionsReached:
    - nodesFree
    linkageType: ''
    returnType: void
    signature: void nodesClearList(SNodeList* pList)
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2635
    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: 2710
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2710
    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: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2715,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2720,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2728,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2733,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2740,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2745,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2750,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2755,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2762,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2763,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2768,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2768,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2772,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2773,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2778,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2778,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2712
    functionDepth: 1
    functionLinenumber: 2712
    functionLinenumberEnd: 2786
    functionName: nodesGetStrValueFromNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - 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:2789,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2788
    functionDepth: 1
    functionLinenumber: 2788
    functionLinenumberEnd: 2792
    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: 2810
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 2810
    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: 2824
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2824
    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: 2837
      start: 2826
    functionDepth: 0
    functionLinenumber: 2826
    functionLinenumberEnd: 2837
    functionName: nodesIsBasicArithmeticOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nodesIsBasicArithmeticOp(const SOperatorNode* pOp)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2867
    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: 2878
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 2878
    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: 2891
      start: 2880
    functionDepth: 0
    functionLinenumber: 2880
    functionLinenumberEnd: 2891
    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: 2902
      start: 2893
    functionDepth: 0
    functionLinenumber: 2893
    functionLinenumberEnd: 2902
    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: 2913
      start: 2904
    functionDepth: 0
    functionLinenumber: 2904
    functionLinenumberEnd: 2913
    functionName: nodesIsBitwiseOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nodesIsBitwiseOp(const SOperatorNode* pOp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2928,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2930,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2933,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2933,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2934,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2936,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2938,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2941,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2943,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pNode
    argTypes:
    - SCollectColumnsCxt*
    - SColumnNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2924
    functionDepth: 5
    functionLinenumber: 2924
    functionLinenumberEnd: 2949
    functionName: doCollect
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosHashGet
    - nodesListStrictAppend
    - taosHashBinary
    - tsnprintf
    - taosHashPut
    - 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: 2956
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2956
    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:2960,1
    - Dst: isCollectType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2962,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2962,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2963,1
    - Dst: doCollect
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2958
    functionDepth: 6
    functionLinenumber: 2958
    functionLinenumberEnd: 2968
    functionName: collectColumns
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - doCollect
    - strcmp
    - nodeType
    - isCollectType
    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:2972,1
    - Dst: isCollectType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2974,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2974,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2977,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2977,1
    - Dst: doCollect
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2982
      start: 2970
    functionDepth: 6
    functionLinenumber: 2970
    functionLinenumberEnd: 2982
    functionName: collectColumnsExt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - strlen
    - doCollect
    - nodeType
    - isCollectType
    - tSimpleHashGet
    - strcmp
    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:2991,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3001,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3001,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3006,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3007,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3009,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3012,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3015,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: 3019
      start: 2984
    functionDepth: 6
    functionLinenumber: 2984
    functionLinenumberEnd: 3019
    functionName: nodesCollectColumns
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesWalkSelectStmt
    - taosHashInit
    - nodesDestroyList
    - nodesMakeList
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - LIST_LENGTH
    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:3029,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3041,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3041,1
    - Dst: nodesWalkSelectStmtImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3046,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3047,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3049,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3052,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3055,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: 3059
      start: 3021
    functionDepth: 6
    functionLinenumber: 3021
    functionLinenumberEnd: 3059
    functionName: nodesCollectColumnsExt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - nodesWalkSelectStmtImpl
    - nodesDestroyList
    - nodesMakeList
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t nodesCollectColumnsExt(SSelectStmt* pSelect, ESqlClause clause,
      SSHashObj* pMultiTableAlias,\n                               ECollectColType
      type, SNodeList** pCols)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3067,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3078,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3078,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3084,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3086,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3088,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3091,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3094,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - node
    - pTableAlias
    - type
    - pCols
    argTypes:
    - SNode*
    - char*
    - ECollectColType
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 3061
    functionDepth: 6
    functionLinenumber: 3061
    functionLinenumberEnd: 3098
    functionName: nodesCollectColumnsFromNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 2
    functionsReached:
    - nodesWalkExpr
    - taosHashInit
    - nodesDestroyList
    - nodesMakeList
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - LIST_LENGTH
    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:3109,1
    - Dst: SCollectFuncsCxt*::classifier
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3109,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3112,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3113,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3120,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3121,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3128,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3107
    functionDepth: 5
    functionLinenumber: 3107
    functionLinenumberEnd: 3136
    functionName: collectFuncs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListStrictAppend
    - nodeType
    - strcmp
    - SCollectFuncsCxt*::classifier
    - nodesEqualNode
    - nodesCloneNode
    - FOREACH
    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:3140,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pKey
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3138
    functionDepth: 1
    functionLinenumber: 3138
    functionLinenumberEnd: 3141
    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:3147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3143
    functionDepth: 3
    functionLinenumber: 3143
    functionLinenumberEnd: 3148
    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:3159,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: 3161
      start: 3150
    functionDepth: 6
    functionLinenumber: 3150
    functionLinenumberEnd: 3161
    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:3170,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3183,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3185,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3188,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3191,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: 3195
      start: 3163
    functionDepth: 6
    functionLinenumber: 3163
    functionLinenumberEnd: 3195
    functionName: nodesCollectFuncs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesWalkSelectStmt
    - nodesMakeList
    - LIST_LENGTH
    - nodesDestroyList
    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:3205,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3207,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3203
    functionDepth: 5
    functionLinenumber: 3203
    functionLinenumberEnd: 3214
    functionName: collectSpecialNodes
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesCloneNode
    - nodeType
    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:3222,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3230,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3232,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3235,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - pSelect
    - clause
    - type
    - ppNodes
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - ENodeType
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3216
    functionDepth: 6
    functionLinenumber: 3216
    functionLinenumberEnd: 3242
    functionName: nodesCollectSpecialNodes
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesWalkSelectStmt
    - nodesMakeList
    - LIST_LENGTH
    - nodesDestroyList
    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:3245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3250
      start: 3244
    functionDepth: 1
    functionLinenumber: 3244
    functionLinenumberEnd: 3250
    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:3254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3252
    functionDepth: 3
    functionLinenumber: 3252
    functionLinenumberEnd: 3256
    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:3260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3258
    functionDepth: 4
    functionLinenumber: 3258
    functionLinenumberEnd: 3262
    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: 3285
      start: 3264
    functionDepth: 0
    functionLinenumber: 3264
    functionLinenumberEnd: 3285
    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: 3293
      start: 3287
    functionDepth: 0
    functionLinenumber: 3287
    functionLinenumberEnd: 3293
    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: 3314
      start: 3295
    functionDepth: 0
    functionLinenumber: 3295
    functionLinenumberEnd: 3314
    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: 3311
      start: 3302
    functionDepth: 0
    functionLinenumber: 3302
    functionLinenumberEnd: 3311
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pSlots)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3355,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3357,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3357,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3363,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3364,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3366,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3375,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3380,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3383,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3384,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3386,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3386,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 2
    argNames:
    - pNode
    - pVal
    argTypes:
    - SValueNode*
    - SVariant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3316
    functionDepth: 1
    functionLinenumber: 3316
    functionLinenumberEnd: 3395
    functionName: nodesValueNodeToVariant
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - blobDataLen
    - varDataTLen
    - memcpy
    - getJsonValueLen
    - taosMemoryCalloc
    - blobDataVal
    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:3402,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3403,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3404,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SNode**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3397
    functionDepth: 5
    functionLinenumber: 3397
    functionLinenumberEnd: 3420
    functionName: nodesMergeConds
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - nodesClearList
    - LIST_LENGTH
    - 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: 3436
      start: 3422
    functionDepth: 0
    functionLinenumber: 3422
    functionLinenumberEnd: 3436
    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:3439,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3441,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - literal
    - ppValNode
    argTypes:
    - char*
    - SValueNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3453
      start: 3438
    functionDepth: 5
    functionLinenumber: 3438
    functionLinenumberEnd: 3453
    functionName: nodesMakeDurationValueNodeFromString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - tstrdup
    - strlen
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMakeDurationValueNodeFromString(char* literal, SValueNode**
      ppValNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3456,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3458,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3462,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3466,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3467,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3467,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - literal
    - ppValNode
    argTypes:
    - char*
    - SValueNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3455
    functionDepth: 5
    functionLinenumber: 3455
    functionLinenumberEnd: 3475
    functionName: nodesMakeValueNodeFromString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - strlen
    - memcpy
    - tstrdup
    - nodesMakeNode
    - varDataVal
    - 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:3479,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3483,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - b
    - ppValNode
    argTypes:
    - bool
    - SValueNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3493
      start: 3477
    functionDepth: 5
    functionLinenumber: 3477
    functionLinenumberEnd: 3493
    functionName: nodesMakeValueNodeFromBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesSetValueNodeValue
    - nodesMakeNode
    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:3497,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3501,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - value
    - ppNode
    argTypes:
    - int32_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3511
      start: 3495
    functionDepth: 5
    functionLinenumber: 3495
    functionLinenumberEnd: 3511
    functionName: nodesMakeValueNodeFromInt32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesSetValueNodeValue
    - nodesMakeNode
    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:3515,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3519,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - value
    - ppNode
    argTypes:
    - int64_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3529
      start: 3513
    functionDepth: 5
    functionLinenumber: 3513
    functionLinenumberEnd: 3529
    functionName: nodesMakeValueNodeFromInt64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesSetValueNodeValue
    - nodesMakeNode
    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:3533,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3537,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - value
    - ppNode
    argTypes:
    - int64_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3531
    functionDepth: 5
    functionLinenumber: 3531
    functionLinenumberEnd: 3547
    functionName: nodesMakeValueNodeFromTimestamp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesSetValueNodeValue
    - nodesMakeNode
    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:3550,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3549
    functionDepth: 1
    functionLinenumber: 3549
    functionLinenumberEnd: 3552
    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:3555,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3557
      start: 3554
    functionDepth: 1
    functionLinenumber: 3554
    functionLinenumberEnd: 3557
    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:3594,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3624
      start: 3559
    functionDepth: 0
    functionLinenumber: 3559
    functionLinenumberEnd: 3624
    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:3629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3626
    functionDepth: 3
    functionLinenumber: 3626
    functionLinenumberEnd: 3634
    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:3629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3628
    functionDepth: 3
    functionLinenumber: 3628
    functionLinenumberEnd: 3632
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 20
    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:3637,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3638,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3639,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3640,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3641,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3642,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3643,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3648,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3651,1
    - Dst: nodesListFindNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3652,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3654,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3655,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3661,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3664,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3667
      start: 3636
    functionDepth: 6
    functionLinenumber: 3636
    functionLinenumberEnd: 3667
    functionName: nodesListDeduplicate
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListStrictAppend
    - nodesListGetCell
    - nodesListFindNode
    - nodesListErase
    - nodesDestroyList
    - nodesMakeList
    - nodesEqualNode
    - nodesCloneNode
    - LIST_LENGTH
    - FOREACH
    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:3670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pNode
    - num
    argTypes:
    - SExprNode*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3669
    functionDepth: 1
    functionLinenumber: 3669
    functionLinenumberEnd: 3672
    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: 3676
      start: 3674
    functionDepth: 0
    functionLinenumber: 3674
    functionLinenumberEnd: 3676
    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:3684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3690
      start: 3682
    functionDepth: 1
    functionLinenumber: 3682
    functionLinenumberEnd: 3690
    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:3698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3701
      start: 3692
    functionDepth: 3
    functionLinenumber: 3692
    functionLinenumberEnd: 3701
    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:3705,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3712,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3715,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3723
      start: 3703
    functionDepth: 5
    functionLinenumber: 3703
    functionLinenumberEnd: 3723
    functionName: mergeNodeToLogic
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesListMakeAppend
    - nodesMakeNode
    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:3728,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3733,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3735,1
    - Dst: mergeNodeToLogic
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCond
    - pAdditionalCond
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3726
    functionDepth: 6
    functionLinenumber: 3726
    functionLinenumberEnd: 3744
    functionName: nodesMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListAppend
    - TSWAP
    - mergeNodeToLogic
    - nodeType
    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:3753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3754
      start: 3746
    functionDepth: 1
    functionLinenumber: 3746
    functionLinenumberEnd: 3754
    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:3762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3756
    functionDepth: 1
    functionLinenumber: 3756
    functionLinenumberEnd: 3763
    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:3772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3773
      start: 3766
    functionDepth: 1
    functionLinenumber: 3766
    functionLinenumberEnd: 3773
    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:3782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3783
      start: 3776
    functionDepth: 1
    functionLinenumber: 3776
    functionLinenumberEnd: 3783
    functionName: tFreeStreamVtbDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void tFreeStreamVtbDbVgInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:34,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SAuditCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: auditInit
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexInit
    - taosArrayInit
    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: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: auditSetDnodeId
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void auditSetDnodeId(int32_t dnodeId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:43,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - record
    argTypes:
    - SAuditRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:50,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:51,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:52,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: auditCleanup
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosThreadMutexDestroy
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void auditCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auditRecordImp
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auditAddRecordImp
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auditSendRecordsInBatchImp
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    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: 7
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    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, \n                    char *detail, int32_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    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:
    - TAOS_STRCPY
    - ASSERT
    - rpcSendRecv
    - rpcMallocCont
    - ASSERT_EQ
    - 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:
    - TAOS_STRCPY
    - ASSERT
    - printf
    - taosInitLog
    - ctgdEnableDebug
    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
    - ctgTestGetVgNumFromVgVersion
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    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:
    - TAOS_STRCPY
    - ASSERT
    - taosMemoryCalloc
    - sprintf
    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:
    - TAOS_STRCPY
    - rpcFreeCont
    - ASSERT
    - taosArrayPush
    - tSerializeSUseDbRsp
    - taosArrayInit
    - taosArrayDestroy
    - rpcMallocCont
    - htonl
    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:
    - TAOS_STRCPY
    - tSerializeSTableMetaRsp
    - ASSERT
    - taosMemoryMalloc
    - tFreeSTableMetaRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - tSerializeSTableMetaRsp
    - ASSERT
    - taosMemoryMalloc
    - tFreeSTableMetaRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - tSerializeSTableMetaRsp
    - ASSERT
    - taosMemoryMalloc
    - tFreeSTableMetaRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - taosMemoryMalloc
    - ASSERT
    - tSerializeSTableMetaRsp
    - sprintf
    - tFreeSTableMetaRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - ASSERT
    - tSerializeSGetUserAuthRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - tSerializeSTableCfgRsp
    - ASSERT
    - taosMemoryMalloc
    - tFreeSTableCfgRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - ASSERT
    - taosArrayPush
    - taosArrayInit
    - rpcMallocCont
    - tSerializeSTableIndexRsp
    - taosMemoryCalloc
    - tFreeSTableIndexRsp
    - 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:
    - tSerializeSDbCfgRsp
    - rpcMallocCont
    - 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:
    - ASSERT
    - taosArrayPush
    - taosArrayInit
    - tFreeSQnodeListRsp
    - tSerializeSQnodeListRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - ASSERT
    - taosArrayPush
    - taosArrayInit
    - taosGetTimestampMs
    - tFreeSRetrieveFuncRsp
    - rpcMallocCont
    - tSerializeSRetrieveFuncRsp
    - 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:
    - TAOS_STRCPY
    - tSerializeSServerVerRsp
    - ASSERT
    - rpcMallocCont
    - 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:
    - ASSERT
    - tstrncpy
    - taosArrayPush
    - taosArrayInit
    - tSerializeSDnodeListRsp
    - tFreeSDnodeListRsp
    - rpcMallocCont
    - 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:
    - ctgTestRspUdfInfo
    - ctgTestRspDBCfg
    - ctgTestRspSvrVer
    - ctgTestRspDbVgroups
    - ctgTestRspTableIndex
    - ctgTestRspTableCfg
    - ctgTestRspDndeList
    - ctgTestRspQnodeList
    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:
    - ctgTestRspQnodeList
    - ASSERT
    - ctgTestRspUdfInfo
    - ctgTestRspDBCfg
    - ctgTestRspTableMetaNotExist
    - ctgTestRspAuto
    - ctgTestRspSvrVer
    - ctgTestRspDbVgroups
    - ctgTestRspMultiSTableMeta
    - ctgTestRspTableMeta
    - ctgTestRspTableCfg
    - ctgTestRspErrIndexInfo
    - ctgTestRspCTableMeta
    - ctgTestRspDndeList
    - ctgTestRspUserAuth
    - ctgTestRspTableIndex
    - ctgTestRspSTableMeta
    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:
    - ctgTestRspDbVgroups
    - ASSERT
    - ctgTestSetRspSTableMeta
    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:
    - ctgTestRspDbVgroups
    - ASSERT
    - ctgTestSetRspMultiSTableMeta
    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::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: 0
    functionLinenumber: 943
    functionLinenumberEnd: 964
    functionName: ctgTestSetRspDbVgroups
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 966
    functionLinenumberEnd: 987
    functionName: ctgTestSetRspTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1010
    functionName: ctgTestSetRspCTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1033
    functionName: ctgTestSetRspSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: ctgTestSetRspMultiSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1079
    functionName: ctgTestSetRspByIdx
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1102
    functionName: ctgTestSetRspDbVgroupsAndNormalMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1125
    functionName: ctgTestSetRspDbVgroupsAndChildMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1148
    functionName: ctgTestSetRspDbVgroupsAndSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1171
    functionName: ctgTestSetRspDbVgroupsAndMultiSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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:
    - TAOS_STRCPY
    - ASSERT
    - rpcSendRecv
    - rpcMallocCont
    - ASSERT_EQ
    - 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:
    - TAOS_STRCPY
    - ASSERT
    - printf
    - taosInitLog
    - ctgdEnableDebug
    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
    - ctgTestGetVgNumFromVgVersion
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    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:
    - TAOS_STRCPY
    - ASSERT
    - taosMemoryCalloc
    - sprintf
    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:
    - TAOS_STRCPY
    - rpcFreeCont
    - ASSERT
    - taosArrayPush
    - tSerializeSUseDbRsp
    - taosArrayInit
    - taosArrayDestroy
    - rpcMallocCont
    - htonl
    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:
    - TAOS_STRCPY
    - tSerializeSTableMetaRsp
    - ASSERT
    - taosMemoryMalloc
    - tFreeSTableMetaRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - tSerializeSTableMetaRsp
    - ASSERT
    - taosMemoryMalloc
    - tFreeSTableMetaRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - tSerializeSTableMetaRsp
    - ASSERT
    - taosMemoryMalloc
    - tFreeSTableMetaRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - taosMemoryMalloc
    - ASSERT
    - tSerializeSTableMetaRsp
    - sprintf
    - tFreeSTableMetaRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - ASSERT
    - tSerializeSGetUserAuthRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - tSerializeSTableCfgRsp
    - ASSERT
    - taosMemoryMalloc
    - tFreeSTableCfgRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - ASSERT
    - taosArrayPush
    - taosArrayInit
    - rpcMallocCont
    - tSerializeSTableIndexRsp
    - taosMemoryCalloc
    - tFreeSTableIndexRsp
    - 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:
    - tSerializeSDbCfgRsp
    - rpcMallocCont
    - 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:
    - ASSERT
    - taosArrayPush
    - taosArrayInit
    - tFreeSQnodeListRsp
    - tSerializeSQnodeListRsp
    - rpcMallocCont
    - 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:
    - TAOS_STRCPY
    - ASSERT
    - taosArrayPush
    - taosArrayInit
    - taosGetTimestampMs
    - tFreeSRetrieveFuncRsp
    - rpcMallocCont
    - tSerializeSRetrieveFuncRsp
    - 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:
    - TAOS_STRCPY
    - tSerializeSServerVerRsp
    - ASSERT
    - rpcMallocCont
    - 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:
    - ASSERT
    - tstrncpy
    - taosArrayPush
    - taosArrayInit
    - tSerializeSDnodeListRsp
    - tFreeSDnodeListRsp
    - rpcMallocCont
    - 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:
    - ctgTestRspUdfInfo
    - ctgTestRspDBCfg
    - ctgTestRspSvrVer
    - ctgTestRspDbVgroups
    - ctgTestRspTableIndex
    - ctgTestRspTableCfg
    - ctgTestRspDndeList
    - ctgTestRspQnodeList
    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:
    - ctgTestRspQnodeList
    - ASSERT
    - ctgTestRspUdfInfo
    - ctgTestRspDBCfg
    - ctgTestRspTableMetaNotExist
    - ctgTestRspAuto
    - ctgTestRspSvrVer
    - ctgTestRspDbVgroups
    - ctgTestRspMultiSTableMeta
    - ctgTestRspTableMeta
    - ctgTestRspTableCfg
    - ctgTestRspErrIndexInfo
    - ctgTestRspCTableMeta
    - ctgTestRspDndeList
    - ctgTestRspUserAuth
    - ctgTestRspTableIndex
    - ctgTestRspSTableMeta
    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:
    - ctgTestRspDbVgroups
    - ASSERT
    - ctgTestSetRspSTableMeta
    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:
    - ctgTestRspDbVgroups
    - ASSERT
    - ctgTestSetRspMultiSTableMeta
    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::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: 0
    functionLinenumber: 943
    functionLinenumberEnd: 964
    functionName: ctgTestSetRspDbVgroups
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 966
    functionLinenumberEnd: 987
    functionName: ctgTestSetRspTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1010
    functionName: ctgTestSetRspCTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1033
    functionName: ctgTestSetRspSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: ctgTestSetRspMultiSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1079
    functionName: ctgTestSetRspByIdx
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1102
    functionName: ctgTestSetRspDbVgroupsAndNormalMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1125
    functionName: ctgTestSetRspDbVgroupsAndChildMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1148
    functionName: ctgTestSetRspDbVgroupsAndSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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::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: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1171
    functionName: ctgTestSetRspDbVgroupsAndMultiSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    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:
    - taosArrayDestroy
    - TD_ALWAYS_ASSERT
    - catalogGetDBVgList
    - taosUsleep
    - printf
    - taosRand
    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:
    - catalogUpdateDBVgInfo
    - ctgTestBuildDBVgroup
    - TD_ALWAYS_ASSERT
    - taosUsleep
    - printf
    - taosRand
    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:
    - catalogUpdateDBVgInfo
    - ctgTestBuildDBVgroup
    - TD_ALWAYS_ASSERT
    - taosUsleep
    - printf
    - taosRand
    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:
    - TAOS_STRCPY
    - taosMemoryFreeClear
    - ctgReadTbMetaFromCache
    - TD_ALWAYS_ASSERT
    - taosUsleep
    - printf
    - taosRand
    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
    - ASSERT
    - ctgOpUpdateTbMeta
    - TD_ALWAYS_ASSERT
    - taosUsleep
    - printf
    - taosRand
    - ctgTestBuildCTableMetaOutput
    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_MEMSET
    - taos_fetch_fields
    - taos_fetch_row
    - taos_print_row
    - printf
    - taos_num_fields
    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:
    - ctgTestFetchRows
    - ASSERT
    - taos_errno
    - taos_query
    - taos_free_result
    - ASSERT_EQ
    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:
    - ASSERT
    - catalogGetHandle
    - printf
    - ctgTestSetRspTableMeta
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    - catalogGetExpiredDBs
    - catalogGetExpiredSTables
    - TAOS_MEMSET
    - ctgTestInitLogFile
    - catalogDestroy
    - taosMsleep
    - catalogGetCachedTableHashVgroup
    - catalogGetTableMeta
    - catalogGetTableHashVgroup
    - ctgTestSetRspDbVgroups
    - TAOS_STRCPY
    - catalogGetCachedTableMeta
    - taosSsleep
    - catalogInit
    - ctgdGetClusterCacheNum
    - ctgdGetStatNum
    - taosMemoryFree
    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:
    - TAOS_STRCPY
    - catalogGetExpiredDBs
    - catalogGetExpiredSTables
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosMemoryFree
    - taosMemoryFreeClear
    - catalogDestroy
    - taosSsleep
    - taosMsleep
    - printf
    - catalogInit
    - ctgdGetClusterCacheNum
    - ASSERT_EQ
    - catalogGetTableMeta
    - ctgTestSetRspDbVgroupsAndChildMeta
    - initQueryModuleMsgHandle
    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: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1743
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogGetCachedSTableMeta
    - catalogGetExpiredDBs
    - catalogGetExpiredSTables
    - catalogGetHandle
    - ctgTestSetRspCTableMeta
    - taosMemoryFree
    - catalogDestroy
    - ctgTestSetRspDbVgroupsAndSuperMeta
    - catalogRefreshGetTableMeta
    - taosSsleep
    - taosMsleep
    - printf
    - catalogInit
    - ctgdGetClusterCacheNum
    - ASSERT_EQ
    - catalogGetTableMeta
    - initQueryModuleMsgHandle
    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:
    - TAOS_STRCPY
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosMemoryFree
    - catalogDestroy
    - ctgTestSetRspDbVgroupsAndSuperMeta
    - catalogRemoveStbMeta
    - taosMsleep
    - catalogInit
    - ctgdGetClusterCacheNum
    - ASSERT_EQ
    - catalogGetTableMeta
    - initQueryModuleMsgHandle
    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:
    - TAOS_STRCPY
    - catalogUpdateTableMeta
    - ASSERT
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosMemoryFreeClear
    - catalogDestroy
    - catalogAsyncUpdateTableMeta
    - ctgTestSetRspDbVgroupsAndSuperMeta
    - taosMsleep
    - catalogInit
    - ctgdGetClusterCacheNum
    - ctgTestBuildSTableMetaRsp
    - ASSERT_EQ
    - catalogGetTableMeta
    - ctgdGetStatNum
    - initQueryModuleMsgHandle
    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:
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - ctgTestSetRspByIdx
    - catalogDestroy
    - ASSERT_TRUE
    - catalogGetIndexMeta
    - catalogInit
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    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:
    - TAOS_STRCPY
    - ASSERT
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosMemoryFreeClear
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogRefreshGetTableMeta
    - taosMsleep
    - catalogInit
    - ctgdGetClusterCacheNum
    - ASSERT_EQ
    - catalogGetTableMeta
    - catalogGetTableHashVgroup
    - ctgdGetStatNum
    - initQueryModuleMsgHandle
    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:
    - TAOS_STRCPY
    - ASSERT
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosMemoryFreeClear
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogRefreshGetTableMeta
    - ASSERT_TRUE
    - taosMsleep
    - catalogInit
    - ctgdGetClusterCacheNum
    - ASSERT_EQ
    - catalogGetTableMeta
    - catalogGetTableHashVgroup
    - ctgdGetStatNum
    - initQueryModuleMsgHandle
    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:
    - TAOS_STRCPY
    - ASSERT
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosMemoryFreeClear
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogRefreshGetTableMeta
    - taosMsleep
    - catalogInit
    - ctgdGetClusterCacheNum
    - ASSERT_EQ
    - catalogGetTableMeta
    - catalogGetTableHashVgroup
    - ctgdGetStatNum
    - initQueryModuleMsgHandle
    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:
    - TAOS_STRCPY
    - ASSERT
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosMemoryFreeClear
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogRefreshGetTableMeta
    - taosMsleep
    - catalogInit
    - ctgdGetClusterCacheNum
    - ASSERT_EQ
    - catalogGetTableMeta
    - catalogGetTableHashVgroup
    - ctgdGetStatNum
    - initQueryModuleMsgHandle
    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:
    - TAOS_STRCPY
    - ASSERT
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosMemoryFreeClear
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogRefreshGetTableMeta
    - taosMsleep
    - catalogInit
    - ctgdGetClusterCacheNum
    - ASSERT_EQ
    - catalogGetTableMeta
    - catalogGetTableHashVgroup
    - ctgdGetStatNum
    - initQueryModuleMsgHandle
    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:
    - TAOS_STRCPY
    - ASSERT
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosMemoryFreeClear
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogRefreshGetTableMeta
    - taosMsleep
    - catalogInit
    - ctgdGetClusterCacheNum
    - ASSERT_EQ
    - catalogGetTableMeta
    - catalogGetTableHashVgroup
    - ctgdGetStatNum
    - initQueryModuleMsgHandle
    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
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - catalogGetTableDistVgInfo
    - ctgTestSetRspByIdx
    - catalogDestroy
    - ASSERT_TRUE
    - catalogInit
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    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
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - catalogGetTableDistVgInfo
    - ctgTestSetRspByIdx
    - catalogDestroy
    - ASSERT_TRUE
    - catalogInit
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    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
    - taosArrayDestroy
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - catalogGetTableDistVgInfo
    - taosArrayGet
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogInit
    - taosArrayGetSize
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    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:
    - taosArrayDestroy
    - ASSERT
    - catalogGetHandle
    - catalogGetDBVgList
    - catalogUpdateDBVgInfo
    - catalogGetTableDistVgInfo
    - ctgTestSetRspByIdx
    - catalogGetDBVgVersion
    - ASSERT_TRUE
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    - TAOS_MEMSET
    - ctgTestInitLogFile
    - ctgTestBuildDBVgroup
    - catalogDestroy
    - taosMsleep
    - taosArrayGetSize
    - catalogGetTableHashVgroup
    - TAOS_STRCPY
    - catalogInit
    - ctgdGetStatNum
    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
    - catalogGetHandle
    - ctgTestInitLogFile
    - catalogDestroy
    - taosThreadAttrInit
    - taosThreadCreate
    - taosSsleep
    - catalogInit
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    - ctgTestSetRspDbVgroups
    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
    - catalogGetHandle
    - ctgTestInitLogFile
    - catalogDestroy
    - taosThreadAttrInit
    - taosThreadCreate
    - taosSsleep
    - catalogInit
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    - ctgTestSetRspDbVgroups
    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
    - catalogGetHandle
    - ctgTestInitLogFile
    - catalogDestroy
    - taosThreadAttrInit
    - taosThreadCreate
    - taosSsleep
    - catalogInit
    - ASSERT_EQ
    - ctgTestSetRspDbVgroupsAndChildMeta
    - initQueryModuleMsgHandle
    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
    - catalogGetExpiredDBs
    - catalogGetExpiredSTables
    - catalogGetSTableMeta
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosMemoryFree
    - catalogDestroy
    - sprintf
    - taosSsleep
    - ctgTestSetRspDbVgroupsAndMultiSuperMeta
    - taosMsleep
    - catalogInit
    - ctgdGetClusterCacheNum
    - printf
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    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:
    - catalogRefreshDBVgInfo
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogInit
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    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:2928,1
    - Dst: ASSERT_EQ
      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: catalogChkAuth
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2932,1
    - Dst: ASSERT_EQ
      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
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2938,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2938,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2940,1
    - Dst: catalogChkAuthFromCache
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2946,1
    - Dst: ASSERT_EQ
      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: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2901
    functionDepth: 2
    functionLinenumber: 2901
    functionLinenumberEnd: 2952
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - ASSERT
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - toName
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogChkAuth
    - taosMsleep
    - catalogInit
    - ASSERT_EQ
    - ctgdGetStatNum
    - catalogChkAuthFromCache
    - initQueryModuleMsgHandle
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogChkAuth_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2959,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2961,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2966,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2968,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2970,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2971,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2973,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2974,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2977,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2978,1
    - Dst: catalogRefreshGetTableCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2981,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2982,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2983,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2984,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2986,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2987,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2954
    functionDepth: 2
    functionLinenumber: 2954
    functionLinenumberEnd: 2990
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - catalogRefreshGetTableCfg
    - taosMemoryFree
    - ctgTestSetRspByIdx
    - catalogDestroy
    - ASSERT_TRUE
    - catalogInit
    - tFreeSTableCfgRsp
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogRefreshGetTableCfg_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2997,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2999,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3003,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3005,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3007,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3008,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3010,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3011,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3014,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3015,1
    - Dst: catalogGetTableIndex
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3018,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3019,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3020,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3021,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3021,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3023,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 2992
    functionDepth: 2
    functionLinenumber: 2992
    functionLinenumberEnd: 3026
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - ctgTestSetRspByIdx
    - catalogDestroy
    - taosArrayDestroyEx
    - ASSERT_TRUE
    - catalogGetTableIndex
    - catalogInit
    - taosArrayGetSize
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetTableIndex_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3034,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3036,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3040,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3042,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3044,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3045,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3047,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3048,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3051,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3052,1
    - Dst: catalogGetDBCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3055,1
    - Dst: ASSERT_EQ
      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: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3060
      start: 3029
    functionDepth: 2
    functionLinenumber: 3029
    functionLinenumberEnd: 3060
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - catalogGetDBCfg
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogInit
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetDBCfg_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3067,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3069,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3073,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3075,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3077,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3078,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3080,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3081,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3083,1
    - Dst: catalogGetQnodeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3084,1
    - Dst: ASSERT_EQ
      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: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3086,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3089,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3090,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3062
    functionDepth: 2
    functionLinenumber: 3062
    functionLinenumberEnd: 3094
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - taosArrayInit
    - taosArrayGet
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogInit
    - taosArrayGetSize
    - ASSERT_EQ
    - catalogGetQnodeList
    - initQueryModuleMsgHandle
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetQnodeList_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3101,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3103,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3107,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3109,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3111,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3112,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3114,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3115,1
    - Dst: catalogGetUdfInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3118,1
    - Dst: ASSERT_EQ
      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: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3096
    functionDepth: 2
    functionLinenumber: 3096
    functionLinenumberEnd: 3123
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - catalogGetUdfInfo
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogInit
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetUdfInfo_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3130,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3132,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3136,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3138,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3140,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3141,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3143,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3144,1
    - Dst: catalogGetServerVersion
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3147,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3148,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3149,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3149,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3125
    functionDepth: 2
    functionLinenumber: 3125
    functionLinenumberEnd: 3152
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - catalogGetServerVersion
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - ctgTestSetRspByIdx
    - catalogDestroy
    - ASSERT_TRUE
    - catalogInit
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    - strcmp
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetServerVersion_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3159,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3161,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3165,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3167,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3169,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3170,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3172,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3173,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3176,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3177,1
    - Dst: catalogUpdateTableIndex
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3180,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3181,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3154
    functionDepth: 2
    functionLinenumber: 3154
    functionLinenumberEnd: 3184
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogInit
    - catalogUpdateTableIndex
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogUpdateTableIndex_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3191,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3193,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3197,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3199,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3201,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3202,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3204,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3205,1
    - Dst: catalogGetDnodeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3208,1
    - Dst: ASSERT_EQ
      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: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3210,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3212,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3186
    functionDepth: 2
    functionLinenumber: 3186
    functionLinenumberEnd: 3215
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - catalogGetDnodeList
    - taosArrayDestroy
    - TAOS_MEMSET
    - catalogGetHandle
    - ctgTestInitLogFile
    - ctgTestSetRspByIdx
    - catalogDestroy
    - catalogInit
    - taosArrayGetSize
    - ASSERT_EQ
    - initQueryModuleMsgHandle
    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:3221,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3222,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3224,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: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3229,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: ctgdGetOneHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3234,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3237,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3239,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3246,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3248,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3250,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3252,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3253,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3255,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3257,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3258,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3260,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3262,1
    - Dst: taos_close
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3218
    functionDepth: 3
    functionLinenumber: 3218
    functionLinenumberEnd: 3265
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgdGetOneHandle
    - taos_close
    - taos_connect
    - ASSERT_TRUE
    - taosMsleep
    - ctgTestExecQuery
    - ctgdGetClusterCacheNum
    - ASSERT_EQ
    - ctgdGetStatNum
    - ctgdEnableDebug
    linkageType: ''
    returnType: void
    signature: void TEST(intTest, autoCreateTableTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3270,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3272
      start: 3269
    functionDepth: 1
    functionLinenumber: 3269
    functionLinenumberEnd: 3272
    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: 707
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 707
    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: 708
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 708
    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: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    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: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    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: 713
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 713
    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: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    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: 715
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 715
    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: 717
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 717
    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: 718
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 718
    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: 719
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 719
    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: 720
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 720
    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: 721
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 721
    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: 722
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 722
    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: 723
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 723
    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: 724
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 724
    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: 726
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 726
    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: 727
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 727
    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: 728
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 728
    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: 729
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 729
    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: 731
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 731
    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: 732
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 732
    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: 733
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 733
    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: 734
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 734
    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: 755
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 755
    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: 776
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 776
    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: 797
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 797
    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: 799
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 799
    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: 801
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 801
    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: 802
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 802
    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: 803
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 803
    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: 804
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 804
    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: 805
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 805
    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: 806
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 806
    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: 816
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 816
    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: 818
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 818
    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: 819
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 819
    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: 820
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 820
    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: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    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: 822
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 822
    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: 823
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 823
    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: 829
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 829
    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: 831
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 831
    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: 834
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 834
    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: 839
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 839
    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: 842
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 842
    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: 845
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 845
    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: 847
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 847
    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: 849
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 849
    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: 851
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 851
    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: 852
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 852
    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: 854
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 854
    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: 855
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 855
    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: 856
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 856
    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: 857
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 857
    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: 858
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 858
    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: 859
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 859
    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: 861
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 861
    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: 862
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 862
    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: 863
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 863
    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: 864
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 864
    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: 865
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 865
    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: 866
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 866
    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: 873
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 873
    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: 879
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 879
    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: 885
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 885
    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: 916
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 916
    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: 945
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 945
    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: 954
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 954
    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: 962
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 962
    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: 970
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 970
    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: 978
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 978
    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: 985
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 985
    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: 994
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 994
    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: 1003
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1003
    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: 1012
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1012
    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: 1019
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1019
    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: 1027
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1027
    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:
    - qError
    - taosMemoryCalloc
    - qDebug
    - 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
    - taosArrayInit
    - CTG_UNLOCK
    - abs
    - qDebug
    - CTG_LOCK
    - CTG_ERR_JRET
    - CTG_RET
    - qError
    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_UNLOCK
    - abs
    - TAOS_MEMCPY
    - qDebug
    - ctgMetaRentAdd
    - CTG_LOCK
    - taosArrayGetSize
    - taosArraySort
    - CTG_ERR_JRET
    - taosArraySearch
    - CTG_RET
    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_UNLOCK
    - abs
    - qDebug
    - CTG_LOCK
    - taosArraySort
    - taosArraySearchIdx
    - CTG_ERR_JRET
    - taosArrayRemove
    - CTG_RET
    - qError
    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:
    - taosMemoryMalloc
    - CTG_UNLOCK
    - taosArrayGet
    - TAOS_MEMCPY
    - qDebug
    - atomic_store_16
    - CTG_LOCK
    - atomic_add_fetch_16
    - taosArrayGetSize
    - CTG_ERR_JRET
    - CTG_RET
    - qError
    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:
    - taosGetTimestampMs
    - ctgMetaRentGetImpl
    - qDebug
    - atomic_val_compare_exchange_64
    - atomic_load_64
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgMetaRentGet(SCtgRentMgmt *mgmt, void **res, uint32_t *num,
      int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c: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:
    - taosHashGetKey
    - taosGetUInt64Aligned
    - taosHashIterate
    - ctgMetaRentRemove
    - ctgDebug
    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:
    - ctgMetaRentRemove
    - taosHashIterate
    - 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:
    - CTG_UNLOCK
    - taosArrayGetP
    - taosHashIterate
    - CTG_LOCK
    - ctgMetaRentRemove
    - ctgDebug
    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:
    - ctgMetaRentUpdate
    - tstrncpy
    - CTG_ERR_RET
    - ctgDebug
    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:
    - ctgMetaRentUpdate
    - tstrncpy
    - CTG_ERR_RET
    - ctgDebug
    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:
    - ctgMetaRentUpdate
    - tstrncpy
    - CTG_ERR_RET
    - ctgDebug
    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_LOCK
    - CTG_UNLOCK
    - ctgDebug
    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_LOCK
    - CTG_ERR_RET
    - CTG_UNLOCK
    - ctgDebug
    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:
    - taosHashRelease
    - CTG_UNLOCK
    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:
    - IS_SYS_DBNAME
    - taosHashGet
    - strlen
    - ctgTrace
    - strchr
    - CTG_LOCK
    - ctgReleaseDBCache
    - taosHashAcquire
    - CTG_CACHE_HIT_INC
    - CTG_CACHE_NHIT_INC
    - ctgDebug
    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:
    - ctgAcquireDBCacheImpl
    - CTG_RET
    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:
    - ctgAcquireDBCacheImpl
    - CTG_RET
    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:
    - ctgRUnlockVgInfo
    - ctgReleaseDBCache
    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:
    - taosHashRelease
    - ctgReleaseDBCache
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: void ctgReleaseTbMetaToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      SCtgTbCache *pCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c: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:
    - taosHashRelease
    - ctgReleaseDBCache
    - CTG_UNLOCK
    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:
    - taosHashRelease
    - ctgReleaseDBCache
    - CTG_UNLOCK
    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:
    - taosHashRelease
    - ctgRUnlockVgInfo
    - ctgReleaseDBCache
    - CTG_UNLOCK
    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:
    - taosHashRelease
    - ctgReleaseDBCache
    - CTG_UNLOCK
    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:
    - ctgRLockVgInfo
    - ctgTrace
    - ctgAcquireDBCache
    - ctgReleaseDBCache
    - CTG_ERR_JRET
    - CTG_CACHE_HIT_INC
    - CTG_CACHE_NHIT_INC
    - ctgDebug
    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:
    - CTG_META_NHIT_INC
    - CTG_META_HIT_INC
    - strlen
    - CTG_ERR_JRET
    - ctgTrace
    - ctgAcquireDBCache
    - CTG_LOCK
    - ctgReleaseTbMetaToCache
    - taosHashAcquire
    - ctgDebug
    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:
    - CTG_META_NHIT_INC
    - CTG_META_HIT_INC
    - strlen
    - CTG_UNLOCK
    - taosHashRelease
    - taosHashAcquire
    - ctgRUnlockVgInfo
    - ctgRLockVgInfo
    - ctgTrace
    - ctgAcquireDBCache
    - CTG_LOCK
    - ctgReleaseDBCache
    - CTG_ERR_JRET
    - CTG_CACHE_HIT_INC
    - CTG_CACHE_NHIT_INC
    - ctgDebug
    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:
    - CTG_META_NHIT_INC
    - CTG_META_HIT_INC
    - strlen
    - taosHashRelease
    - ctgTrace
    - CTG_LOCK
    - ctgReleaseTbMetaToCache
    - taosHashAcquire
    - ctgDebug
    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:
    - strlen
    - ctgReleaseTbIndexToCache
    - CTG_ERR_JRET
    - ctgAcquireDBCache
    - CTG_LOCK
    - taosHashAcquire
    - CTG_CACHE_HIT_INC
    - CTG_CACHE_NHIT_INC
    - ctgDebug
    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:
    - CTG_ERR_RET
    - ctgReleaseTbMetaToCache
    - ctgAcquireTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTbMetaExistInCache(SCatalog *pCtg, const char *dbFName,
      const char *tbName, int32_t *exist)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:544,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:545,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:548,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:551,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:553,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:556,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:557,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:559,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:563,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:565,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:571,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:579,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:582,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:585,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:586,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:588,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:590,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:591,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:594,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:598,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:599,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:602,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:605,1
    - Dst: ctgAcquireStbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:605,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:607,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:608,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:610,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:618,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:619,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:620,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:621,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:624,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:629,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:631,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:632,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:635,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:638,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:645,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:650,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 88
    argCount: 6
    argNames:
    - pCtg
    - ctx
    - pDb
    - pTb
    - pTableMeta
    - dbFName
    argTypes:
    - SCatalog*
    - SCtgTbMetaCtx*
    - SCtgDBCache**
    - SCtgTbCache**
    - STableMeta**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 652
    functionName: ctgCopyTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - hasRefCol
    - ctgError
    - CTG_UNLOCK
    - taosMemoryFreeClear
    - withExtSchema
    - TAOS_MEMCPY
    - taosHashRelease
    - taosMemoryRealloc
    - CTG_ERR_RET
    - CTG_META_SIZE
    - taosMemoryCalloc
    - ctgAcquireStbMetaFromCache
    - ctgDebug
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgCopyTbMeta(SCatalog *pCtg, SCtgTbMetaCtx *ctx, SCtgDBCache
      **pDb, SCtgTbCache **pTb, STableMeta **pTableMeta,\n                      char
      *dbFName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:662,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:663,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:665,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:668,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:668,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:670,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:674,1
    - Dst: ctgCopyTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:674,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:676,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:678,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:684,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:685,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - pCtg
    - ctx
    - pTableMeta
    argTypes:
    - SCatalog*
    - SCtgTbMetaCtx*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 654
    functionDepth: 5
    functionLinenumber: 654
    functionLinenumberEnd: 689
    functionName: ctgReadTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 1
    functionsReached:
    - TAOS_STRCPY
    - taosMemoryFreeClear
    - CTG_FLAG_IS_SYS_DB
    - ctgAcquireTbMetaFromCache
    - tNameGetFullDbName
    - ctgCopyTbMeta
    - ctgReleaseTbMetaToCache
    - CTG_ERR_JRET
    - CTG_RET
    - ctgDebug
    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:699,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:701,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:701,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:703,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:710,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:716,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:719,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:727,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:728,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:731,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:733,1
    - Dst: ctgAcquireStbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:733,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:736,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:742,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:743,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:744,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:748,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:750,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: 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: 762
      start: 691
    functionDepth: 5
    functionLinenumber: 691
    functionLinenumberEnd: 762
    functionName: ctgReadTbVerFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - hasRefCol
    - ctgError
    - CTG_UNLOCK
    - taosHashGetKey
    - taosHashRelease
    - ctgAcquireTbMetaFromCache
    - tNameGetFullDbName
    - CTG_ERR_RET
    - ctgReleaseTbMetaToCache
    - TAOS_STRNCPY
    - ctgAcquireStbMetaFromCache
    - ctgDebug
    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:767,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:767,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:769,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: 10
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - tbName
    - tbType
    argTypes:
    - SCatalog*
    - char*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 764
    functionDepth: 5
    functionLinenumber: 764
    functionLinenumberEnd: 779
    functionName: ctgReadTbTypeFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - CTG_ERR_RET
    - ctgReleaseTbMetaToCache
    - ctgAcquireTbMetaFromCache
    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:784,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:784,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:786,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:792,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:794,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: 797
      start: 781
    functionDepth: 5
    functionLinenumber: 781
    functionLinenumberEnd: 797
    functionName: ctgReadTbTypeSuidFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - CTG_ERR_RET
    - ctgReleaseTbMetaToCache
    - ctgAcquireTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgReadTbTypeSuidFromCache(SCatalog *pCtg, char *dbFName, char
      *tbName, int32_t *tbType, int64_t* suid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:806,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:810,1
    - Dst: ctgAcquireTbIndexFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:810,1
    - Dst: ctgReleaseTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:812,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:816,1
    - Dst: ctgCloneTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:816,1
    - Dst: ctgReleaseTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:820,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 801
    functionDepth: 5
    functionLinenumber: 801
    functionLinenumberEnd: 823
    functionName: ctgReadTbIndexFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgReleaseTbIndexToCache
    - CTG_RET
    - ctgCloneTableIndex
    - tNameGetFullDbName
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - ctgAcquireTbIndexFromCache
    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:829,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:829,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:831,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:833,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:837,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:841,1
    - Dst: ctgCloneDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:841,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:843,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:844,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:845,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:848,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:854,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:855,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pDbCfg
    argTypes:
    - SCatalog*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 825
    functionDepth: 4
    functionLinenumber: 825
    functionLinenumberEnd: 859
    functionName: ctgReadDBCfgFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - TAOS_MEMCPY
    - ctgTrace
    - ctgAcquireDBCache
    - CTG_LOCK
    - CTG_ERR_RET
    - ctgReleaseDBCache
    - CTG_ERR_JRET
    - CTG_CACHE_HIT_INC
    - ctgCloneDbCfgInfo
    - taosMemoryFree
    - CTG_CACHE_NHIT_INC
    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:866,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:866,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:868,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:872,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:874,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:875,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:879,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:884,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:885,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: 888
      start: 861
    functionDepth: 4
    functionLinenumber: 861
    functionLinenumberEnd: 888
    functionName: ctgGetCachedStbNameFromSuid
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosHashRelease
    - ctgAcquireDBCache
    - ctgReleaseDBCache
    - CTG_ERR_RET
    - taosHashAcquire
    - taosStrdup
    - ctgDebug
    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:894,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:894,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:896,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:902,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:903,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:910,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:911,1
    - Dst: ctgChkSetAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:912,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:913,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:914,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:920,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:925,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:926,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: 929
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 929
    functionName: ctgChkAuthFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - CTG_UNLOCK
    - CTG_RET
    - TAOS_MEMCPY
    - ctgTrace
    - ctgChkSetAuthRes
    - CTG_LOCK
    - CTG_ERR_JRET
    - CTG_CACHE_HIT_INC
    - CTG_CACHE_NHIT_INC
    - ctgDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkAuthFromCache(SCatalog *pCtg, SUserAuthInfo *pReq, bool
      tbNotExists, bool *inCache, SCtgAuthRsp *pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_QUEUE_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:937,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - op
    argTypes:
    - SCtgCacheOperation**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 942
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:946,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:948,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:949,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:950,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:951,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:959,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:961,1
    - Dst: ctgFreeQNode
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:962,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:963,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:968,1
    - Dst: ctgFreeQNode
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:971,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:972,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:973,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:981,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:983,1
    - Dst: CTG_QUEUE_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:985,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:986,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:988,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:990,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:991,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:996,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:998,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1000,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1002,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1002,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1003,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1009,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1009,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 2
    argNames:
    - pCtg
    - operation
    argTypes:
    - SCatalog*
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 1012
    functionName: ctgEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - tsem_destroy
    - taosMemoryCalloc
    - CTG_STAT_RT_INC
    - CTG_UNLOCK
    - tsem_post
    - TAOS_UNUSED
    - taosMemoryFreeClear
    - ctgFreeQNode
    - CTG_QUEUE_INC
    - CTG_LOCK
    - tsem_init
    - CTG_ERR_JRET
    - CTG_RET
    - qError
    - taosMemoryFree
    - tsem_wait
    - ctgDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgEnqueue(SCatalog *pCtg, SCtgCacheOperation *operation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1016,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1018,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1019,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1025,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1027,1
    - Dst: taosMemoryFree
      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: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1032,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1033,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1038,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1043,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1043,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1050
    functionName: ctgDropDbCacheEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_SYS_DBNAME
    - tstrncpy
    - ctgError
    - ctgEnqueue
    - strchr
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1054,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1056,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1057,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1063,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1065,1
    - Dst: taosMemoryFree
      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: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1070,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1071,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1076,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1080,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1080,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1086,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1087
    functionName: ctgDropDbVgroupEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_SYS_DBNAME
    - tstrncpy
    - ctgError
    - ctgEnqueue
    - strchr
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1092,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1094,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1095,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1101,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1103,1
    - Dst: taosMemoryFree
      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: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1109,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1111,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1120,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1120,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1126,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: 1127
      start: 1089
    functionDepth: 2
    functionLinenumber: 1089
    functionLinenumberEnd: 1127
    functionName: ctgDropStbMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrncpy
    - ctgError
    - ctgEnqueue
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1131,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1133,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1134,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1140,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1142,1
    - Dst: taosMemoryFree
      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: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1148,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1149,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1154,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1154,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1160,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: 1161
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1161
    functionName: ctgDropTbMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrncpy
    - ctgError
    - ctgEnqueue
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1165,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1167,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1168,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1174,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1176,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1177,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1178,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1179,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1182,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1183,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1187,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1189,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1190,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1191,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1192,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1195,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1202,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1202,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1208,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1209,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: 1210
      start: 1163
    functionDepth: 2
    functionLinenumber: 1163
    functionLinenumberEnd: 1210
    functionName: ctgUpdateVgroupEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_SYS_DBNAME
    - tstrncpy
    - ctgError
    - ctgEnqueue
    - strchr
    - freeVgInfo
    - ctgMakeVgArray
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1215,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1217,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1218,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1224,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1226,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1227,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1228,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1229,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1232,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1233,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1237,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1244,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1244,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1250,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1251,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: 1252
      start: 1213
    functionDepth: 2
    functionLinenumber: 1213
    functionLinenumberEnd: 1252
    functionName: ctgUpdateDbCfgEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_SYS_DBNAME
    - tstrncpy
    - ctgError
    - ctgEnqueue
    - strchr
    - freeDbCfgInfo
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1257,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1259,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1260,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1266,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1268,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1269,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1270,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1273,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1274,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1275,1
    - Dst: TAOS_MEMMOVE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1276,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1284,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1284,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1291,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1292,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1293,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - pCtg
    - output
    - syncOp
    argTypes:
    - SCatalog*
    - STableMetaOutput*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1255
    functionDepth: 2
    functionLinenumber: 1255
    functionLinenumberEnd: 1297
    functionName: ctgUpdateTbMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_SYS_DBNAME
    - strlen
    - ctgError
    - ctgEnqueue
    - CTG_RET
    - strchr
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - TAOS_MEMMOVE
    - taosMemoryCalloc
    - taosMemoryFree
    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:1301,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1303,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1304,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1309,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1311,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1312,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1313,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1317,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1323,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1323,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1329,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: 1330
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1330
    functionName: ctgUpdateVgEpsetEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrncpy
    - ctgError
    - ctgEnqueue
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateVgEpsetEnqueue(SCatalog *pCtg, char *dbFName, int32_t
      vgId, SEpSet *pEpSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1334,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1336,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1337,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1343,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1345,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1346,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1347,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1355,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1355,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1361,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pCtg
    - pAuth
    - syncOp
    argTypes:
    - SCatalog*
    - SGetUserAuthRsp*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1332
    functionDepth: 2
    functionLinenumber: 1332
    functionLinenumberEnd: 1364
    functionName: ctgUpdateUserEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ctgError
    - ctgEnqueue
    - tFreeSGetUserAuthRsp
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1368,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1370,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1371,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1377,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1379,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1380,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1381,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1389,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1389,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1396,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1397,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - pCtg
    - pIndex
    - syncOp
    argTypes:
    - SCatalog*
    - STableIndex**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1366
    functionDepth: 2
    functionLinenumber: 1366
    functionLinenumberEnd: 1400
    functionName: ctgUpdateTbIndexEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ctgError
    - ctgEnqueue
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1404,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1406,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1407,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1413,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1415,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1416,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1417,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1421,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1422,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1426,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1426,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pCtg
    - pName
    - syncOp
    argTypes:
    - SCatalog*
    - SName*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1402
    functionDepth: 2
    functionLinenumber: 1402
    functionLinenumberEnd: 1433
    functionName: ctgDropTbIndexEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TAOS_STRCPY
    - ctgError
    - ctgEnqueue
    - tNameGetFullDbName
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1437,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1439,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1440,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1448,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1451,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1452,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1460,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1460,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1466,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: 1467
      start: 1435
    functionDepth: 2
    functionLinenumber: 1435
    functionLinenumberEnd: 1467
    functionName: ctgClearCacheEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ctgError
    - ctgEnqueue
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1471,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1473,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1474,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1480,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1482,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1483,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1484,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1487,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1488,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1489,1
    - Dst: TAOS_MEMMOVE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1490,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1498,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1498,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1506,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1507,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pCtg
    - pRsp
    - syncOp
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1469
    functionDepth: 2
    functionLinenumber: 1469
    functionLinenumberEnd: 1511
    functionName: ctgUpdateViewMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_SYS_DBNAME
    - strlen
    - ctgError
    - ctgEnqueue
    - CTG_RET
    - strchr
    - CTG_ERR_RET
    - tFreeSViewMetaRsp
    - CTG_ERR_JRET
    - TAOS_MEMMOVE
    - taosMemoryCalloc
    - taosMemoryFree
    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:1515,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1517,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1518,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1524,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1526,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1527,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1528,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1532,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1533,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1539,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1539,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1545,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: 1546
      start: 1513
    functionDepth: 2
    functionLinenumber: 1513
    functionLinenumberEnd: 1546
    functionName: ctgDropViewMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrncpy
    - ctgError
    - ctgEnqueue
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1550,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1552,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1553,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1559,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1561,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1562,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1563,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1573,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1573,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1580,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: 1581
      start: 1548
    functionDepth: 2
    functionLinenumber: 1548
    functionLinenumberEnd: 1581
    functionName: ctgUpdateTbTSMAEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ctgError
    - ctgEnqueue
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1585,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1587,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1588,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1594,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1596,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1597,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1598,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1605,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1606,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1607,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1610,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1610,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - pCtg
    - pTsma
    - syncOp
    argTypes:
    - SCatalog*
    - STSMACache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1583
    functionDepth: 2
    functionLinenumber: 1583
    functionLinenumberEnd: 1617
    functionName: ctgDropTbTSMAEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - ctgError
    - ctgEnqueue
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1621,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1623,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1624,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1627,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1629,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1630,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1631,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1641,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1642,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - pCtg
    - pCache
    - syncOp
    - ppOp
    argTypes:
    - SCatalog*
    - STSMACache*
    - bool
    - SCtgCacheOperation**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1649
    functionName: createDropAllTbTsmaCtgCacheOp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - ctgError
    - CTG_ERR_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1652,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1659,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1661,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1661,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1666,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1666,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1671,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1673,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1677,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1679,1
    - Dst: createDropAllTbTsmaCtgCacheOp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1683,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1685,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1686,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1688,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1691,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1693,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1693,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1700,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1703,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1706,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1707,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1710,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - pCtg
    - pName
    - syncOp
    argTypes:
    - SCatalog*
    - SName*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1651
    functionDepth: 4
    functionLinenumber: 1651
    functionLinenumberEnd: 1711
    functionName: ctgDropTSMAForTbEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - strlen
    - ctgError
    - ctgEnqueue
    - CTG_UNLOCK
    - createDropAllTbTsmaCtgCacheOp
    - CTG_ERR_JRET
    - taosHashRelease
    - taosArrayGetP
    - ctgAcquireDBCache
    - tNameGetFullDbName
    - CTG_LOCK
    - ctgReleaseDBCache
    - taosHashAcquire
    - CTG_RET
    - taosMemoryFree
    - ctgDebug
    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:1715,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1717,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1718,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1724,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1727,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1728,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1735,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1739,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1739,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1745,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: 1746
      start: 1713
    functionDepth: 2
    functionLinenumber: 1713
    functionLinenumberEnd: 1746
    functionName: ctgUpdateDbTsmaVersionEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ctgError
    - ctgEnqueue
    - memcpy
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:1755,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1755,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1758,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1759,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1762,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1762,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1765,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1766,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1769,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1769,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1772,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1773,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1776,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1776,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1779,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1780,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1783,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1783,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1785,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1786,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1790,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1791,1
    - Dst: CTG_CACHE_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1794,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1797,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1799,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1801,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1802,1
    - Dst: ctgMetaRentAdd
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1802,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1804,1
    - Dst: ctgFreeDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1811,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1813,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1749
    functionDepth: 2
    functionLinenumber: 1749
    functionLinenumberEnd: 1814
    functionName: ctgAddNewDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - ctgError
    - IS_SYS_DBNAME
    - ctgFreeDbCache
    - CTG_RET
    - taosHashInit
    - taosHashPut
    - HASH_NODE_EXIST
    - CTG_CACHE_NUM_INC
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - ctgMetaRentAdd
    - taosGetDefaultHashFunction
    - ctgDebug
    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:1819,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1821,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1823,1
    - Dst: ctgRemoveStbRent
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1824,1
    - Dst: ctgRemoveViewRent
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1825,1
    - Dst: ctgRemoveTSMARent
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1826,1
    - Dst: ctgFreeDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1827,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1829,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1831,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1831,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1832,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1834,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1834,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1835,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1836,1
    - Dst: CTG_CACHE_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1839,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - dbFName
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1816
    functionDepth: 3
    functionLinenumber: 1816
    functionLinenumberEnd: 1843
    functionName: ctgRemoveDBFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - strlen
    - atomic_store_8
    - ctgFreeDbCache
    - ctgInfo
    - CTG_UNLOCK
    - ctgRemoveStbRent
    - taosHashRemove
    - CTG_CACHE_NUM_DEC
    - CTG_LOCK
    - CTG_ERR_RET
    - ctgMetaRentRemove
    - ctgRemoveTSMARent
    - ctgRemoveViewRent
    - ctgDebug
    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:1848,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1848,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1874,1
    - Dst: ctgRemoveDBFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1874,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1877,1
    - Dst: ctgAddNewDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1877,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1879,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1879,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: 1884
      start: 1845
    functionDepth: 4
    functionLinenumber: 1845
    functionLinenumberEnd: 1884
    functionName: ctgGetAddDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgGetDBCache
    - ctgAddNewDBCache
    - CTG_ERR_RET
    - ctgRemoveDBFromCache
    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:1889,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1890,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1891,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1895,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1895,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1904,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1905,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1910,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1912,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1913,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1914,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1916,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1917,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1926,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1926,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1927,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1928,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1929,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1932,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1932,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1932,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1934,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1934,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1936,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1939,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1941,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1944,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1944,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1944,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1946,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1949,1
    - Dst: CTG_META_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1952,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1954,1
    - Dst: ctgdShowTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1955,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1961,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1961,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1962,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1963,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1966,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1966,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1968,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1971,1
    - Dst: ctgUpdateRentStbVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1971,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: 1974
      start: 1886
    functionDepth: 4
    functionLinenumber: 1886
    functionLinenumberEnd: 1974
    functionName: ctgWriteTbMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - ctgError
    - ctgGetTbMetaCacheSize
    - atomic_sub_fetch_64
    - atomic_add_fetch_64
    - CTG_META_NUM_DEC
    - CTG_UNLOCK
    - ctgdShowTableMeta
    - CTG_LOCK
    - CTG_ERR_RET
    - CTG_META_NUM_INC
    - taosHashPut
    - taosHashRemove
    - ctgUpdateRentStbVersion
    - taosMemoryFree
    - ctgDebug
    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:1978,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1979,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1980,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1981,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1986,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1986,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1991,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1991,1
    - Dst: ctgFreeSTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1992,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1993,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1994,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1995,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1998,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1998,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1998,1
    - Dst: CTG_DB_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2000,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2003,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2004,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2007,1
    - Dst: ctgUpdateRentStbVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2007,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2013,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2016,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2016,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2020,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2021,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2025,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2027,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2027,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2031,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2032,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2035,1
    - Dst: ctgUpdateRentStbVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2035,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: 2039
      start: 1976
    functionDepth: 4
    functionLinenumber: 1976
    functionLinenumberEnd: 2039
    functionName: ctgWriteTbIndexToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - ctgError
    - atomic_add_fetch_64
    - atomic_sub_fetch_64
    - CTG_UNLOCK
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - CTG_LOCK
    - CTG_DB_NUM_INC
    - CTG_ERR_RET
    - taosArrayGetSize
    - taosHashPut
    - ctgUpdateRentStbVersion
    - ctgGetTbIndexCacheSize
    - ctgFreeSTableIndex
    - ctgDebug
    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:2044,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2045,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2048,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2048,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2053,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2053,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2054,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2055,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2058,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2058,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2058,1
    - Dst: CTG_DB_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2060,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2062,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2065,1
    - Dst: ctgUpdateRentViewVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2065,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2070,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2073,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2073,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2074,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2075,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2079,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2081,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2081,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2083,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2086,1
    - Dst: ctgUpdateRentViewVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2086,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_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2097,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: 2098
      start: 2041
    functionDepth: 4
    functionLinenumber: 2041
    functionLinenumberEnd: 2098
    functionName: ctgWriteViewMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgUpdateRentViewVersion
    - taosHashGet
    - strlen
    - ctgError
    - ctgWarn
    - atomic_add_fetch_64
    - atomic_sub_fetch_64
    - CTG_ERR_JRET
    - ctgGetViewMetaCacheSize
    - CTG_UNLOCK
    - ctgFreeSViewMeta
    - CTG_LOCK
    - CTG_DB_NUM_INC
    - CTG_ERR_RET
    - taosHashPut
    - CTG_RET
    - taosMemoryFree
    - ctgDebug
    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:2104,1
    - Dst: ctgCloneMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2104,1
    - Dst: ctgUpdateTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2105,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2107,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2113,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCtg
    - pOut
    - syncReq
    argTypes:
    - SCatalog*
    - STableMetaOutput*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2100
    functionDepth: 3
    functionLinenumber: 2100
    functionLinenumberEnd: 2115
    functionName: ctgUpdateTbMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgUpdateTbMetaEnqueue
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - ctgCloneMetaOutput
    - ctgFreeSTableMetaOutput
    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:2118,1
    - Dst: ctgUpdateViewMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCtg
    - pRsp
    - syncReq
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2117
    functionDepth: 3
    functionLinenumber: 2117
    functionLinenumberEnd: 2119
    functionName: ctgUpdateViewMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgUpdateViewMetaEnqueue
    - CTG_RET
    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:2125,1
    - Dst: ctgClearHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2130,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2135
    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:2140,1
    - Dst: ctgFreeHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2145,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2148,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2137
    functionDepth: 1
    functionLinenumber: 2137
    functionLinenumberEnd: 2152
    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: 2165
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2165
    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:2173,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2174,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2180,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2180,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2183,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2188,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2189,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2192,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2192,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2193,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2194,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2197,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2197,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2197,1
    - Dst: CTG_DB_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2199,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2200,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2202,1
    - Dst: ctgUpdateRentTSMAVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2202,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2208,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2213,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2215,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2216,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2220,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2225,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2226,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2227,1
    - Dst: tFreeTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2229,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2230,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2236,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2238,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2239,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2244,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2249,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2249,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2251,1
    - Dst: ctgUpdateRentTSMAVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2251,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2253,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2256,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2260,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: 2261
      start: 2170
    functionDepth: 4
    functionLinenumber: 2170
    functionLinenumberEnd: 2261
    functionName: ctgWriteTbTSMAToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - atomic_add_fetch_64
    - CTG_LOCK
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - ctgError
    - atomic_sub_fetch_64
    - ctgGetTbTSMACacheSize
    - CTG_DB_NUM_INC
    - ctgUpdateRentTSMAVersion
    - taosArrayRemove
    - CTG_RET
    - taosHashGet
    - strlen
    - taosMemoryFreeClear
    - tFreeTableTSMAInfo
    - CTG_UNLOCK
    - taosArrayGetP
    - taosHashPut
    - ctgDebug
    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:2275,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2275,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2276,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2277,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2278,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2286,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2286,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2288,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2289,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2294,1
    - Dst: ctgWLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2294,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2300,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2302,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2309,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2311,1
    - Dst: ctgGetDbVgroupCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2316,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2317,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2319,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2321,1
    - Dst: CTG_DB_NUM_RESET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2322,1
    - Dst: CTG_DB_NUM_SET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2332,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2334,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2337,1
    - Dst: ctgGetDbVgroupCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2339,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2340,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2341,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2346,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2347,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2347,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2353,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2354,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2356,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2264
    functionDepth: 5
    functionLinenumber: 2264
    functionLinenumberEnd: 2357
    functionName: ctgOpUpdateVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_64
    - freeVgInfo
    - CTG_ERR_JRET
    - ctgMetaRentUpdate
    - ctgInfo
    - ctgGetDbVgroupCacheSize
    - atomic_sub_fetch_64
    - ctgTrace
    - ctgGetAddDBCache
    - CTG_RET
    - taosHashGetSize
    - IS_SYS_DBNAME
    - tstrncpy
    - CTG_DB_NUM_SET
    - taosMemoryFreeClear
    - CTG_DB_NUM_RESET
    - ctgWLockVgInfo
    - ctgWUnlockVgInfo
    - ctgDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateVgroup(SCtgCacheOperation *operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2371,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2372,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2376,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2376,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2378,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2379,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2384,1
    - Dst: ctgWLockDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2397,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2399,1
    - Dst: ctgWUnlockDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2403,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2405,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2408,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2408,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2414,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2415,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2359
    functionDepth: 5
    functionLinenumber: 2359
    functionLinenumberEnd: 2418
    functionName: ctgOpUpdateDbCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - ctgInfo
    - CTG_RET
    - ctgWLockDbCfgInfo
    - taosMemoryFreeClear
    - ctgWUnlockDbCfgInfo
    - freeDbCfgInfo
    - ctgGetAddDBCache
    - CTG_ERR_JRET
    - ctgMetaRentUpdate
    - ctgDebug
    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:2431,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2431,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2437,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2442,1
    - Dst: ctgRemoveDBFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2442,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2446,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2421
    functionDepth: 4
    functionLinenumber: 2421
    functionLinenumberEnd: 2449
    functionName: ctgOpDropDbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgInfo
    - ctgGetDBCache
    - taosMemoryFreeClear
    - ctgRemoveDBFromCache
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpDropDbCache(SCtgCacheOperation *operation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2461,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2461,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2466,1
    - Dst: ctgWLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2466,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2468,1
    - Dst: ctgGetDbVgroupCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2468,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2470,1
    - Dst: CTG_DB_NUM_RESET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2473,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2474,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2476,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2480,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2451
    functionDepth: 4
    functionLinenumber: 2451
    functionLinenumberEnd: 2483
    functionName: ctgOpDropDbVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_DB_NUM_RESET
    - ctgWLockVgInfo
    - atomic_sub_fetch_64
    - ctgGetDbVgroupCacheSize
    - ctgGetDBCache
    - taosMemoryFreeClear
    - CTG_RET
    - freeVgInfo
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - ctgWUnlockVgInfo
    - ctgDebug
    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:2496,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2496,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2497,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2498,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2501,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2502,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2504,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2505,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2508,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2508,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2510,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2511,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2514,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2514,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2514,1
    - Dst: ctgWriteTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2515,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2517,1
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2520,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2520,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2521,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2523,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2525,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2526,1
    - Dst: ctgWriteTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2526,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2530,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2530,1
    - Dst: ctgWriteTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2531,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2533,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2538,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2539,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2540,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2542,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2544,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2485
    functionDepth: 5
    functionLinenumber: 2485
    functionLinenumberEnd: 2545
    functionName: ctgOpUpdateTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - CTG_IS_META_VCTABLE
    - ctgError
    - CTG_IS_META_BOTH
    - ctgInfo
    - CTG_IS_META_TABLE
    - ctgWriteTbMetaToCache
    - taosMemoryFreeClear
    - TAOS_MEMCPY
    - CTG_IS_META_CTABLE
    - ctgGetAddDBCache
    - CTG_ERR_JRET
    - CTG_RET
    - 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:2558,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2558,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2564,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2570,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2573,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2576,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2577,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2578,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2581,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2584,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2588,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2588,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2590,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2595,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2596,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2596,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2597,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2599,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2599,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2600,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2602,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2603,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2603,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2606,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2608,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2608,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2610,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2614,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2616,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2547
    functionDepth: 4
    functionLinenumber: 2547
    functionLinenumberEnd: 2617
    functionName: ctgOpDropStbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgFreeTbCacheImpl
    - taosHashGet
    - tstrncpy
    - strlen
    - ctgGetTbMetaCacheSize
    - atomic_sub_fetch_64
    - ctgError
    - ctgGetDBCache
    - CTG_META_NUM_DEC
    - ctgInfo
    - ctgMetaRentRemove
    - taosMemoryFreeClear
    - CTG_ERR_JRET
    - taosHashRemove
    - CTG_RET
    - ctgGetTbIndexCacheSize
    - ctgDebug
    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:2630,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2630,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2636,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2641,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2641,1
    - Dst: ctgDebug
      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:2648,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2648,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2649,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2650,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2652,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2652,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2653,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2654,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2656,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2656,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2657,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2660,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2664,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2666,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2619
    functionDepth: 4
    functionLinenumber: 2619
    functionLinenumberEnd: 2667
    functionName: ctgOpDropTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgFreeTbCacheImpl
    - taosHashGet
    - strlen
    - ctgGetTbMetaCacheSize
    - ctgError
    - atomic_sub_fetch_64
    - ctgGetDBCache
    - CTG_META_NUM_DEC
    - taosMemoryFreeClear
    - CTG_ERR_JRET
    - taosHashRemove
    - CTG_RET
    - ctgGetTbIndexCacheSize
    - ctgDebug
    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:2678,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2678,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2686,1
    - Dst: ctgGetUserCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2687,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2689,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2689,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2690,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2691,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2694,1
    - Dst: CTG_CACHE_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2696,1
    - Dst: ctgRemoveCacheUser
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2700,1
    - Dst: CTG_CACHE_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2701,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2706,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2708,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2709,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2710,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2711,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2712,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2713,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2714,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2715,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2716,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2717,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2719,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2732,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2734,1
    - Dst: ctgGetUserCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2734,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2738,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2739,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2740,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2741,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2742,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2743,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2744,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2745,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2746,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2747,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2749,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2751,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2669
    functionDepth: 1
    functionLinenumber: 2669
    functionLinenumberEnd: 2752
    functionName: ctgOpUpdateUser
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - ctgError
    - ctgRemoveCacheUser
    - CTG_UNLOCK
    - CTG_ERR_JRET
    - taosMemoryFreeClear
    - TAOS_MEMCPY
    - atomic_store_64
    - CTG_CACHE_NUM_DEC
    - CTG_LOCK
    - taosHashCleanup
    - CTG_CACHE_NUM_INC
    - taosHashPut
    - CTG_RET
    - ctgGetUserCacheSize
    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:2764,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2764,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2766,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2770,1
    - Dst: ctgWLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2770,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2774,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2778,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2780,1
    - Dst: taosArraySearch
      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: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2792,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2802,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2805,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2807,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2754
    functionDepth: 4
    functionLinenumber: 2754
    functionLinenumberEnd: 2808
    functionName: ctgOpUpdateEpset
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgWLockVgInfo
    - taosHashGet
    - CTG_RET
    - ctgGetDBCache
    - taosMemoryFreeClear
    - CTG_ERR_JRET
    - taosArraySearch
    - ctgWUnlockVgInfo
    - ctgDebug
    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:2821,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2821,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2823,1
    - Dst: ctgWriteTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2823,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2828,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2829,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2832,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2810
    functionDepth: 5
    functionLinenumber: 2810
    functionLinenumberEnd: 2835
    functionName: ctgOpUpdateTbIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - ctgGetAddDBCache
    - CTG_ERR_JRET
    - CTG_RET
    - ctgWriteTbIndexToCache
    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:2847,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2847,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2852,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2854,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2856,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2857,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2860,1
    - Dst: ctgWriteTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2860,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2865,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2866,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2869,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2871,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2837
    functionDepth: 5
    functionLinenumber: 2837
    functionLinenumberEnd: 2872
    functionName: ctgOpDropTbIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - ctgGetDBCache
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - ctgWriteTbIndexToCache
    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:2883,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2889,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2889,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2891,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2892,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2895,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2897,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2900,1
    - Dst: dupViewMetaFromRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2900,1
    - Dst: ctgWriteViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2902,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2907,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2908,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2909,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2910,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2912,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2913
      start: 2875
    functionDepth: 5
    functionLinenumber: 2875
    functionLinenumberEnd: 2913
    functionName: ctgOpUpdateViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgInfo
    - taosMemoryFreeClear
    - ctgWriteViewMetaToCache
    - ctgFreeSViewMeta
    - dupViewMetaFromRsp
    - tFreeSViewMetaRsp
    - ctgGetAddDBCache
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:2926,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2926,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2932,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2937,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2937,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2939,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2945,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2949,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2949,1
    - Dst: ctgFreeViewCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2950,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2952,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2952,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2953,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2954,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2956,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2956,1
    - Dst: CTG_DB_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2957,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2960,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2962,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2962,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2964,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2968,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2970,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2915
    functionDepth: 4
    functionLinenumber: 2915
    functionLinenumberEnd: 2971
    functionName: ctgOpDropViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - ctgError
    - ctgMetaRentRemove
    - atomic_sub_fetch_64
    - ctgGetDBCache
    - ctgGetViewMetaCacheSize
    - taosMemoryFreeClear
    - CTG_DB_NUM_DEC
    - CTG_ERR_JRET
    - taosHashRemove
    - CTG_RET
    - ctgFreeViewCacheImpl
    - ctgDebug
    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:2978,1
    - Dst: ctgFreeHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2982,1
    - Dst: ctgClearHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2984,1
    - Dst: ctgFreeAllHandles
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2987,1
    - Dst: ctgClearAllHandles
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2989,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2993
      start: 2974
    functionDepth: 2
    functionLinenumber: 2974
    functionLinenumberEnd: 2993
    functionName: ctgClearFreeCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - ctgFreeHandle
    - CTG_LOCK
    - ctgClearHandle
    - ctgClearAllHandles
    - ctgFreeAllHandles
    linkageType: ''
    returnType: void
    signature: void ctgClearFreeCache(SCtgCacheOperation *operation)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctgClearHandleMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3004,1
    - Dst: ctgClearAllHandleMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3006,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3009,1
    - Dst: ctgGetGlobalCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3011,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3012,1
    - Dst: CTG_CACHE_LOW
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3014,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3015,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3016,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3017,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3023,1
    - Dst: ctgClearFreeCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3024,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3025,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3026,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3031,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3033,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3033,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3034,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3035,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 2995
    functionDepth: 3
    functionLinenumber: 2995
    functionLinenumberEnd: 3038
    functionName: ctgClearMetaCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgClearAllHandleMeta
    - tstrerror
    - ctgClearFreeCache
    - qDebug
    - CTG_CACHE_LOW
    - ctgGetGlobalCacheSize
    - atomic_load_32
    - ctgClearHandleMeta
    - ctgClearCacheEnqueue
    - qError
    - taosTmrReset
    linkageType: ''
    returnType: void
    signature: void ctgClearMetaCache(SCtgCacheOperation *operation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgClearMetaCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3045,1
    - Dst: ctgClearFreeCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3047,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3052,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3055
      start: 3040
    functionDepth: 4
    functionLinenumber: 3040
    functionLinenumberEnd: 3055
    functionName: ctgOpClearCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ctgClearMetaCache
    - 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:3068,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3068,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3073,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3073,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3081,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3084,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3086,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3090,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3091,1
    - Dst: CTG_DB_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3093,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3096,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3100,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3101,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3103,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3106,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3108,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3110,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3112,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3117,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3122,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3124,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3133,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3134,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3136,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3137,1
    - Dst: CTG_DB_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3139,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3145,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3148,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3152,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3154,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3058
    functionDepth: 4
    functionLinenumber: 3058
    functionLinenumberEnd: 3155
    functionName: ctgOpDropTbTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - CTG_DB_NUM_DEC
    - CTG_LOCK
    - CTG_ERR_JRET
    - ctgError
    - atomic_sub_fetch_64
    - ctgGetDBCache
    - ctgGetTbTSMACacheSize
    - tFreeAndClearTableTSMAInfo
    - taosArrayRemove
    - CTG_RET
    - taosHashGet
    - strlen
    - taosMemoryFreeClear
    - ctgMetaRentRemove
    - CTG_UNLOCK
    - taosArrayGetP
    - taosHashRemove
    - taosArrayDestroyP
    - ctgDebug
    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:3166,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3176,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3176,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pDbCache
    - pMsg
    argTypes:
    - SCtgDBCache*
    - SCtgUpdateTbTSMAMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3157
    functionDepth: 3
    functionLinenumber: 3157
    functionLinenumberEnd: 3181
    functionName: ctgOpUpdateDbRentForTsmaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgMetaRentUpdate
    - tstrncpy
    - CTG_RET
    - CTG_ERR_JRET
    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:3194,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3194,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3195,1
    - Dst: ctgWriteTbTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3195,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3196,1
    - Dst: ctgOpUpdateDbRentForTsmaVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3196,1
    - Dst: tFreeTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3201,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3202,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3205,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3183
    functionDepth: 5
    functionLinenumber: 3183
    functionLinenumberEnd: 3208
    functionName: ctgOpUpdateTbTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - taosMemoryFreeClear
    - ctgWriteTbTSMAToCache
    - ctgGetAddDBCache
    - CTG_ERR_JRET
    - tFreeTableTSMAInfo
    - ctgOpUpdateDbRentForTsmaVersion
    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:3218,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3218,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3219,1
    - Dst: ctgOpUpdateDbRentForTsmaVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3219,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3222,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3224
      start: 3210
    functionDepth: 5
    functionLinenumber: 3210
    functionLinenumberEnd: 3224
    functionName: ctgOpUpdateDbTsmaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - taosMemoryFreeClear
    - ctgGetAddDBCache
    - CTG_ERR_JRET
    - ctgOpUpdateDbRentForTsmaVersion
    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:3235,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3236,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3241,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3242,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3243,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3244,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3256,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3261,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3262,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3263,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3264,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3265,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3266,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3267,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3268,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3269,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3270,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3271,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3277,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3278,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3280,1
    - Dst: tFreeTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3286,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3287,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3292,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 1
    argNames:
    - op
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3296
      start: 3227
    functionDepth: 1
    functionLinenumber: 3227
    functionLinenumberEnd: 3296
    functionName: ctgFreeCacheOperationData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - freeVgInfo
    - tFreeTableTSMAInfo
    - qError
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void ctgFreeCacheOperationData(SCtgCacheOperation *op)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3312,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3315,1
    - Dst: ctgFreeCacheOperationData
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3317,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3318,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3322,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3324,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3324,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3327,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3332,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3338,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3298
    functionDepth: 2
    functionLinenumber: 3298
    functionLinenumberEnd: 3346
    functionName: ctgCleanupCacheQueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgFreeCacheOperationData
    - tsem_post
    - tstrerror
    - taosMemoryFreeClear
    - taosUsleep
    - CTG_STAT_RT_INC
    - qError
    - taosMemoryFree
    - ctgDebug
    linkageType: ''
    returnType: void
    signature: void ctgCleanupCacheQueue(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3349,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3352,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3355,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3356,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3356,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3359,1
    - Dst: ctgCleanupCacheQueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3360,1
    - Dst: ctgDequeue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3365,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3368,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3373,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3375,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3375,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3378,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3381,1
    - Dst: ctgdShowCacheInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3383,1
    - Dst: ctgdShowStatInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3384,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3390
      start: 3348
    functionDepth: 3
    functionLinenumber: 3348
    functionLinenumberEnd: 3390
    functionName: ctgUpdateThreadFunc
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgError
    - tstrerror
    - ctgCleanupCacheQueue
    - tsem_post
    - taosMemoryFreeClear
    - ctgdShowStatInfo
    - ctgdShowCacheInfo
    - atomic_load_8
    - qInfo
    - ctgDequeue
    - setThreadName
    - CTG_STAT_RT_INC
    - qError
    - tsem_wait
    - ctgDebug
    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:3395,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3395,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3396,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3396,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3398,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3398,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3401,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3402,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3403,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3406,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3411,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3392
    functionDepth: 1
    functionLinenumber: 3392
    functionLinenumberEnd: 3416
    functionName: ctgStartUpdateThread
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - taosThreadAttrDestroy
    - taosThreadAttrSetDetachState
    - taosThreadAttrSetStackSize
    - CTG_ERR_RET
    - CTG_ERR_JRET
    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:3419,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3420,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3423,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3423,1
    - Dst: CTG_FLAG_MATCH_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3426,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3427,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3427,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3431,1
    - Dst: CTG_FLAG_IS_UNKNOWN_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3435,1
    - Dst: CTG_FLAG_SET_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pCtg
    - ctx
    - pTableMeta
    argTypes:
    - SCatalog*
    - SCtgTbMetaCtx*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3440
      start: 3418
    functionDepth: 6
    functionLinenumber: 3418
    functionLinenumberEnd: 3440
    functionName: ctgGetTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_FLAG_SET_SYS_DB
    - IS_SYS_DBNAME
    - CTG_FLAG_IS_FORCE_UPDATE
    - taosMemoryFreeClear
    - CTG_FLAG_IS_SYS_DB
    - ctgReadTbMetaFromCache
    - CTG_FLAG_MATCH_STB
    - CTG_ERR_RET
    - CTG_FLAG_IS_UNKNOWN_STB
    - CTG_FLAG_SET_STB
    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:3444,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3445,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3449,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3454,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3455,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3459,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3459,1
    - Dst: CTG_FLAG_MATCH_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3463,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3464,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3464,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3467,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3473,1
    - Dst: CTG_FLAG_IS_UNKNOWN_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3476,1
    - Dst: CTG_FLAG_SET_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3477,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3485,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3488,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3492,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - ctx
    - pResList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbMetasCtx*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3496
      start: 3443
    functionDepth: 6
    functionLinenumber: 3443
    functionLinenumberEnd: 3496
    functionName: ctgGetTbMetaBFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_FLAG_SET_SYS_DB
    - IS_SYS_DBNAME
    - taosArrayPush
    - CTG_FLAG_IS_FORCE_UPDATE
    - taosArrayInit
    - taosArrayGet
    - taosMemoryFreeClear
    - CTG_FLAG_IS_SYS_DB
    - ctgReadTbMetaFromCache
    - CTG_FLAG_MATCH_STB
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_FLAG_IS_UNKNOWN_STB
    - CTG_FLAG_SET_STB
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbMetaBFromCache(SCatalog* pCtg, SRequestConnInfo *pConn,
      SCtgTbMetasCtx* ctx, SArray** pResList)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3501,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3508,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3510,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3510,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3514,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3515,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3516,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3518,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3523,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3523,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3526,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3528,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3528,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3529,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3530,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3538,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3540,1
    - Dst: taosArrayGetSize
      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: CTG_FLAG_SET_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3546,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3549,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3549,1
    - Dst: ctgDebug
      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: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3552,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3553,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3554,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3557,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3562,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3564,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3565,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3567,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3569,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3569,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3570,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3571,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3574,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3581,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3595,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3596,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3599,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3603,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3605,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3606,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3609,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3610,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3612,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3616,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3619,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3624,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3625,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3627,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3630,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3631,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3640,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3642,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3643,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3644,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3647,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3649,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3650,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3652,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3655,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3656,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3664,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3667,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3669,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3670,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3673,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3676,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3677,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3678,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3681,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3683,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3684,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3686,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3689,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3691,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3692,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3692,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3693,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3694,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3696,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3698,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3702,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3702,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3704,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3705,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3707,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3707,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3708,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3709,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3711,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3713,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3718,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3720,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3722,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3723,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3724,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3726,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3726,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3727,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3728,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3731,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3733,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3739,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3740,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3742,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3745,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3745,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3746,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3747,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3750,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3752,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3760,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3761,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3763,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3764,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3765,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3768,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3769,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3778,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3783,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3785,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3786,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3788,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3791,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3792,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3800,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3801,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 215
    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: 3804
      start: 3499
    functionDepth: 4
    functionLinenumber: 3499
    functionLinenumberEnd: 3804
    functionName: ctgGetTbMetasFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - withExtSchema
    - taosMemoryRealloc
    - ctgAcquireDBCache
    - CTG_LOCK
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - cloneTableMeta
    - CTG_FLAG_SET_SYS_DB
    - CTG_META_NHIT_INC
    - ctgError
    - ctgAddFetch
    - taosArrayGet
    - TAOS_MEMCPY
    - ctgTrace
    - taosMemoryCalloc
    - CTG_META_HIT_INC
    - IS_SYS_DBNAME
    - strlen
    - hasRefCol
    - taosMemoryFreeClear
    - tNameGetFullDbName
    - taosArrayGetSize
    - ctgReleaseDBCache
    - taosHashAcquire
    - CTG_META_SIZE
    - TAOS_STRCPY
    - CTG_UNLOCK
    - taosHashRelease
    - ctgReleaseTbMetaToCache
    - CTG_FLAG_SET_STB
    - ctgDebug
    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:3813,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3813,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3817,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3820,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3820,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3822,1
    - Dst: ctgDropTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3822,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3823,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3823,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3825,1
    - Dst: ctgDropTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3825,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3828,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3831,1
    - Dst: ctgDropTSMAForTbEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3831,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3835,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - syncReq
    - related
    argTypes:
    - SCatalog*
    - SName*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3806
    functionDepth: 6
    functionLinenumber: 3806
    functionLinenumberEnd: 3838
    functionName: ctgRemoveTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDropTbMetaEnqueue
    - taosMemoryFreeClear
    - ctgReadTbMetaFromCache
    - ctgDropTSMAForTbEnqueue
    - tNameGetFullDbName
    - ctgDropStbMetaEnqueue
    - CTG_ERR_JRET
    - CTG_RET
    - ctgDebug
    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:3842,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3848,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3850,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3850,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3851,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3854,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3855,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3856,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3858,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3861,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3863,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3863,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3864,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3865,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: 3871
      start: 3840
    functionDepth: 1
    functionLinenumber: 3840
    functionLinenumberEnd: 3871
    functionName: ctgGetTbNamesFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_FLAG_SET_SYS_DB
    - TAOS_STRCPY
    - IS_SYS_DBNAME
    - taosArrayPush
    - ctgError
    - ctgAddFetch
    - taosArrayGet
    - tNameGetFullDbName
    - taosArrayGetSize
    - CTG_ERR_JRET
    - ctgDebug
    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:3874,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3875,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3876,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3882,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3884,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3884,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3891,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3893,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3895,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3895,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3900,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3904,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3873
    functionDepth: 5
    functionLinenumber: 3873
    functionLinenumberEnd: 3908
    functionName: ctgGetTbHashVgroupFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgReleaseVgInfoToCache
    - IS_SYS_DBNAME
    - ctgError
    - ctgAcquireVgInfoFromCache
    - taosMemoryFreeClear
    - ctgGetVgInfoFromHashValue
    - tNameGetFullDbName
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    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:3913,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3919,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3921,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3921,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3925,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3926,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3927,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3929,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3934,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3934,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3937,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3939,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3939,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3940,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3941,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3949,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3951,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3951,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3952,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3955,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3955,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3957,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3958,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3958,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3959,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3960,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3962,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3967,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3969,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3970,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3971,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3972,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3972,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3973,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3974,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3976,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3981,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3984,1
    - Dst: ctgReleaseViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3986,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3987,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3990,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3991,1
    - Dst: tstrdup
      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: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3996,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3997,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3998,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3999,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4001,1
    - Dst: ctgReleaseViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4003,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4004,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4005,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4006,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4008,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4010,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4011,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4013,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4016,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4017,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4023,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: 4026
      start: 3911
    functionDepth: 4
    functionLinenumber: 3911
    functionLinenumberEnd: 4026
    functionName: ctgGetViewsFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - ctgFreeSViewMeta
    - ctgAcquireDBCache
    - tstrdup
    - CTG_LOCK
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_FLAG_SET_SYS_DB
    - ctgReleaseViewMetaToCache
    - ctgError
    - ctgAddFetch
    - taosArrayGet
    - TAOS_MEMCPY
    - taosMemoryCalloc
    - IS_SYS_DBNAME
    - strlen
    - tNameGetFullDbName
    - taosArrayGetSize
    - ctgReleaseDBCache
    - taosHashAcquire
    - CTG_CACHE_HIT_INC
    - CTG_CACHE_NHIT_INC
    - TAOS_STRCPY
    - CTG_UNLOCK
    - taosHashRelease
    - taosMemoryFree
    - ctgDebug
    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:4037,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4039,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4041,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4041,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4045,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4048,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4051,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4051,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4053,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4055,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4055,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4056,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4057,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4066,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4068,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4068,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4069,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4072,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4072,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4074,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4075,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4075,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4076,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4077,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4083,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4085,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4086,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4088,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4088,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4089,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4090,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4093,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4099,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4101,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4106,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4108,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4108,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4108,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4109,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4111,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4113,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4113,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4114,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4115,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4123,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4123,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4125,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4126,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4127,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4131,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4133,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4134,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4135,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4137,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4138,1
    - Dst: hasOutOfDateTSMACache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4142,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4143,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4145,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4147,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4147,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4148,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4149,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4150,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4153,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4154,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4156,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4157,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4161,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4163,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4165,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4166,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4169,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4171,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4172,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4173,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4179,1
    - Dst: tCloneTbTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4180,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4182,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4183,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4184,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4188,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4189,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4190,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4191,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4192,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4196,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4197,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4198,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4199,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4205,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4207,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: 4208
      start: 4028
    functionDepth: 4
    functionLinenumber: 4028
    functionLinenumberEnd: 4208
    functionName: ctgGetTbTSMAFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - ctgAcquireDBCache
    - snprintf
    - tFreeTableTSMAInfoRsp
    - CTG_LOCK
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - TMIN
    - ctgError
    - taosArrayGet
    - ctgTrace
    - ctgAddTSMAFetch
    - CTG_RET
    - taosMemoryCalloc
    - IS_SYS_DBNAME
    - strlen
    - ctgReleaseTSMAToCache
    - taosMemoryFreeClear
    - tNameGetFullDbName
    - hasOutOfDateTSMACache
    - taosArrayGetSize
    - ctgReleaseDBCache
    - taosHashAcquire
    - CTG_CACHE_HIT_INC
    - CTG_CACHE_NHIT_INC
    - tCloneTbTSMAInfo
    - CTG_UNLOCK
    - taosHashRelease
    - taosArrayGetP
    - ctgDebug
    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:4218,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4220,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4220,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4222,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4223,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4226,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4231,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4234,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4236,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4240,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4242,1
    - Dst: tCloneTbTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4243,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4247,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4253,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4256,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4259,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4261,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4262,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4266,1
    - Dst: tFreeAndClearTableTSMAInfo
      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: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4272,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4273,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4274,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4277,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4278,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4284,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4286,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - pCtg
    - pCtx
    - pTsmaName
    argTypes:
    - SCatalog*
    - SCtgTbTSMACtx*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4287
      start: 4210
    functionDepth: 4
    functionLinenumber: 4210
    functionLinenumberEnd: 4287
    functionName: ctgGetTSMAFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosHashIterate
    - ctgAcquireDBCache
    - CTG_LOCK
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - ctgError
    - ctgTrace
    - tFreeAndClearTableTSMAInfo
    - CTG_RET
    - taosMemoryCalloc
    - memcmp
    - tNameGetFullDbName
    - ctgReleaseDBCache
    - CTG_CACHE_NHIT_INC
    - tCloneTbTSMAInfo
    - CTG_UNLOCK
    - taosHashCancelIterate
    - taosArrayGetP
    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:
    - tstrerror
    - taosArrayGet
    - qDebug
    - taosArrayGetSize
    - taosMemoryFree
    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
    - tstrncpy
    - taosArrayDestroy
    - taosArrayInit
    - tNameFromString
    - catalogAsyncGetAllMeta
    - CTG_ERR_JRET
    - CTG_RET
    - 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:
    - strcasecmp
    - qError
    - qDebug
    - taosHashIterate
    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:
    - strlen
    - ctgdEnableDebug
    - taosMemoryFree
    - taosStr2Int32
    - CTG_RET
    - taosStrdup
    - isspace
    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:
    - taosHashCancelIterate
    - taosHashIterate
    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:
    - strcasecmp
    - qError
    - atomic_load_64
    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:
    - ctgdGetStbNum
    - ctgError
    - ctgdGetViewNum
    - ctgdGetRentNum
    - taosHashIterate
    - ctgdGetTbMetaNum
    - taosHashGetSize
    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:514,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:517,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:521,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:526,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:529,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:532,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:537,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:553,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - pCtg
    - dbHash
    argTypes:
    - SCatalog*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 558
    functionName: ctgdShowDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - taosHashGetKey
    - taosHashIterate
    - CTG_LOCK
    - taosHashGetSize
    - ctgDebug
    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:565,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:566,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:566,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:567,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:567,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:568,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:568,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:569,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:569,1
    - Dst: ctgdShowDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:571,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 574
    functionName: ctgdShowClusterCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    functionsReached:
    - ctgdGetClusterCacheNum
    - ctgdShowDBCache
    - ctgDebug
    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:581,1
    - Dst: ctgGetGlobalCacheStat
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:586,1
    - Dst: ctgGetGlobalCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:587,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:589,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c: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:594,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:595,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 598
    functionName: ctgdShowStatInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 1
    functionsReached:
    - qDebug
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetGlobalCacheSize
    - 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:606,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:608,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:608,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:611,1
    - Dst: ctgdShowClusterCache
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:616,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:619,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 601
    functionDepth: 4
    functionLinenumber: 601
    functionLinenumberEnd: 623
    functionName: ctgdShowCacheInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 1
    functionsReached:
    - qDebug
    - taosHashIterate
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - taosHashGetSize
    - ctgdShowClusterCache
    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:
    - ctgError
    - CTG_RET
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - TMSG_INFO
    - taosArrayDestroyEx
    - taosArrayGetSize
    - tDeserializeSBatchRsp
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - taosGetDefaultHashFunction
    - taosHashInit
    - ctgFreeBatchs
    - ctgLaunchBatchs
    - ctgDebug
    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:
    - tstrerror
    - qDebug
    - CTG_TABLE_NOT_EXIST
    - TMSG_INFO
    - taosArrayGetSize
    - CTG_ERR_RET
    - SET_META_TYPE_NULL
    - qError
    - TMSG_INDEX
    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:
    - ctgHandleBatchRsp
    - ctgError
    - taosReleaseRef
    - tstrerror
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - qDebug
    - taosMemoryFree
    - TMSG_INFO
    - CTG_API_LEAVE
    - taosArrayGetSize
    - taosAcquireRef
    - CTG_ERR_JRET
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    - CTG_API_JENTER
    - ctgLaunchBatchs
    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:
    - taosArrayDestroy
    - destroySendMsgInfo
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - CTG_RET
    - qError
    - taosMemoryFree
    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:
    - ctgError
    - tstrerror
    - asyncSendMsgToServer
    - ctgMakeMsgSendInfo
    - ctgUpdateSendTargetInfo
    - TMSG_INFO
    - CTG_ERR_JRET
    - CTG_RET
    - destroySendMsgInfo
    - ctgDebug
    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:
    - taosHashGet
    - taosArrayDestroy
    - ctgError
    - taosArrayInit
    - taosArrayPush
    - atomic_add_fetch_32
    - ctgFreeBatch
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - taosHashPut
    - qDebug
    - TMSG_INFO
    - tNameGetFullDbName
    - taosArrayGetSize
    - CTG_ERR_JRET
    - ctgGetFetchName
    - taosMemoryFree
    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:
    - tSerializeSBatchReq
    - taosMemoryCalloc
    - qTrace
    - taosArrayGetSize
    - CTG_ERR_RET
    - qError
    - taosMemoryFree
    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:
    - ctgBuildBatchReqMsg
    - taosHashGetKey
    - qDebug
    - taosHashCancelIterate
    - taosHashIterate
    - ctgAsyncSendMsg
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryFree
    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:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - taosArrayInit
    - ctgUpdateMsgCtx
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - TMSG_INDEX
    - ctgDebug
    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:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - TMSG_INDEX
    - ctgDebug
    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:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    - ctgDebug
    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:
    - rpcFreeCont
    - ctgError
    - tstrerror
    - rpcSendRecvWithTimeout
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - TMSG_INDEX
    - ctgDebug
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetRsmaMetaFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const char* name, SRsmaMetaOutput* out,\n                                SCtgTaskReq*
      tReq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1078,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1080,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1082,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1082,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1083,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1087,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1089,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1092,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1092,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1092,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1098,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1098,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1100,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1102,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1104,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1105,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1106,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1109,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1109,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1120,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1120,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1122,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1122,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1124,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: 1127
      start: 1070
    functionDepth: 6
    functionLinenumber: 1070
    functionLinenumberEnd: 1127
    functionName: ctgGetDBCfgFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    - ctgDebug
    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:1137,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1139,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1141,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1141,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1142,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1146,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1148,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1151,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1151,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1151,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1157,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1157,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1159,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1161,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1163,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1164,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1165,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1168,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1168,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1179,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1179,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1181,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1181,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1183,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: 1186
      start: 1129
    functionDepth: 6
    functionLinenumber: 1129
    functionLinenumberEnd: 1186
    functionName: ctgGetIndexInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    - ctgDebug
    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:1197,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1199,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1201,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1201,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1203,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1206,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1208,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1208,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1209,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1213,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1215,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1218,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1218,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1218,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1224,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1224,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1226,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1228,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1230,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1231,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1232,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1235,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1235,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1246,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1246,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1248,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1248,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1250,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: 1253
      start: 1188
    functionDepth: 6
    functionLinenumber: 1188
    functionLinenumberEnd: 1253
    functionName: ctgGetTbIndexFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - tNameExtractFullName
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    - ctgDebug
    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:1263,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1265,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1267,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1268,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1272,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1274,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1277,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1277,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1277,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1283,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1283,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1285,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1287,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1289,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1290,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1291,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1294,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1294,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1305,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1305,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1307,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1307,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1309,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: 1312
      start: 1255
    functionDepth: 6
    functionLinenumber: 1255
    functionLinenumberEnd: 1312
    functionName: ctgGetUdfInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    - ctgDebug
    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:1322,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1324,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1326,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1326,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1327,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1331,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1333,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1336,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1336,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1336,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1342,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1342,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1344,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1346,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1348,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1349,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1350,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1353,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1353,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1364,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1364,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1366,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1366,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1368,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: 1371
      start: 1314
    functionDepth: 6
    functionLinenumber: 1314
    functionLinenumberEnd: 1371
    functionName: ctgGetUserDbAuthFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    - ctgDebug
    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:1382,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1386,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1388,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1390,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1390,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1391,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1395,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1397,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1400,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1400,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1400,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1403,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1403,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1405,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1407,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1409,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1410,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1411,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1414,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1414,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1425,1
    - Dst: rpcSendRecvWithTimeout
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1425,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1427,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1427,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1429,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: 1432
      start: 1373
    functionDepth: 6
    functionLinenumber: 1373
    functionLinenumberEnd: 1432
    functionName: ctgGetTbMetaFromMnodeImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - ctgUpdateMsgCtx
    - taosArrayInit
    - rpcSendRecvWithTimeout
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - snprintf
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    - ctgDebug
    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:1437,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1439,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: 1440
      start: 1434
    functionDepth: 7
    functionLinenumber: 1434
    functionLinenumberEnd: 1440
    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:1447,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1450,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1455,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1462,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1466,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1468,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1468,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1469,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1473,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1475,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1483,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1483,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1483,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1486,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1486,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1490,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1491,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1493,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1495,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1496,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1497,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1500,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1500,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1511,1
    - Dst: rpcSendRecvWithTimeout
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1511,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1513,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1513,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1515,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: 1518
      start: 1442
    functionDepth: 6
    functionLinenumber: 1442
    functionLinenumberEnd: 1518
    functionName: ctgGetTbMetaFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - tstrerror
    - taosArrayInit
    - snprintf
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - ctgError
    - ctgAsyncSendMsg
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    - rpcFreeCont
    - ctgUpdateMsgCtx
    - rpcSendRecvWithTimeout
    - ctgAddBatch
    - tNameGetFullDbName
    - tNameGetTableName
    - CTG_GET_TASK_MSGCTX
    - ctgDebug
    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:1529,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1532,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1534,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1534,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1536,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1540,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1543,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1545,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1545,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1546,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1550,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1550,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1550,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1560,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1560,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1564,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1565,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1567,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1569,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1570,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1571,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1574,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1574,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1586,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1586,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1588,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1588,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1590,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: 1593
      start: 1520
    functionDepth: 6
    functionLinenumber: 1520
    functionLinenumberEnd: 1593
    functionName: ctgGetTableCfgFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - tNameExtractFullName
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - tNameGetFullDbName
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - TMSG_INDEX
    - ctgDebug
    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:1604,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1607,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1609,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1609,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1611,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1614,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1616,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1618,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1618,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1619,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1623,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1623,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1623,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1629,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1629,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1631,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1633,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1635,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1636,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1637,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1640,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1640,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1651,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1651,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1653,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1653,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1655,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: 1658
      start: 1595
    functionDepth: 6
    functionLinenumber: 1595
    functionLinenumberEnd: 1658
    functionName: ctgGetTableCfgFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - tNameExtractFullName
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - tNameGetFullDbName
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - TMSG_INDEX
    - ctgDebug
    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:1667,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1669,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1671,1
    - Dst: tstrerror
      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_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1676,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1676,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1676,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1682,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1682,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1684,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1686,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1688,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1689,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1690,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1693,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1693,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1704,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1704,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1706,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1706,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char**
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1660
    functionDepth: 6
    functionLinenumber: 1660
    functionLinenumberEnd: 1711
    functionName: ctgGetSvrVerFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - qDebug
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - TMSG_INDEX
    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:1722,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1724,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1724,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1726,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1729,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1731,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1733,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1733,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1734,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1738,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1740,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1743,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1743,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1743,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1746,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1746,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1748,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1750,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1752,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1753,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1754,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1757,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1757,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1768,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1768,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1770,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1770,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1772,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: 1775
      start: 1713
    functionDepth: 6
    functionLinenumber: 1713
    functionLinenumberEnd: 1775
    functionName: ctgGetViewInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - tNameExtractFullName
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    - ctgDebug
    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:1785,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1787,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1787,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1789,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1792,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1794,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1796,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1796,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1797,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1801,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1803,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1806,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1806,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1806,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1809,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1809,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1811,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1813,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1815,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1816,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1817,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1820,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1820,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1831,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1831,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1833,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1833,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1835,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: 1838
      start: 1777
    functionDepth: 6
    functionLinenumber: 1777
    functionLinenumberEnd: 1838
    functionName: ctgGetTbTSMAFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - tNameExtractFullName
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    - ctgDebug
    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:1846,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1848,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1848,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1850,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1857,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1859,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1859,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1860,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1864,1
    - Dst: CTG_ERR_RET
      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: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1868,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1868,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1871,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1871,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1874,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1875,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1877,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1879,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1880,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1881,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1884,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1885,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1896,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1896,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1898,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1898,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1900,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: 1903
      start: 1840
    functionDepth: 6
    functionLinenumber: 1840
    functionLinenumberEnd: 1903
    functionName: ctgGetStreamProgressFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - tstrerror
    - tNameExtractFullName
    - ctgUpdateMsgCtx
    - taosArrayInit
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - ctgAsyncSendMsg
    - tNameGetFullDbName
    - rpcSendRecv
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_RET
    - taosMemoryCalloc
    - TMSG_INDEX
    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:1911,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1917,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1919,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1920,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1928,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: 1929
      start: 1905
    functionDepth: 2
    functionLinenumber: 1905
    functionLinenumberEnd: 1929
    functionName: ctgGetVStbRefDbsFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - ctgError
    - ctgAddBatch
    - CTG_ERR_RET
    - TMSG_INDEX
    - ctgDebug
    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: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - type
    argTypes:
    - CTG_TASK_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 121
    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:129,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:130,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - SCtgQNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    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:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    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:147,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:156,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:159,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:162,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:165,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:174,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:177,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:180,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:183,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:186,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:189,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:192,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:195,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:198,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:201,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:204,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:207,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 211
    functionName: ctgFreeSMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ctgFreeSMetaData(SMetaData* pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:214,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:215,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:216,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:217,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:218,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:219,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:220,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:221,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:222,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - userCache
    argTypes:
    - SCtgUserAuth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: ctgFreeSCtgUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void ctgFreeSCtgUserAuth(SCtgUserAuth* userCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:234,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - SCtgRentMgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 241
    functionName: ctgFreeMetaRent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ctgFreeMetaRent(SCtgRentMgmt* mgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:248,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 251
    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:256,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:258,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:260,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:266,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:268,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:269,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pCache
    - lock
    argTypes:
    - SCtgTbCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 274
    functionName: ctgFreeTbCacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - taosMemoryFreeClear
    - CTG_LOCK
    - taosArrayDestroyEx
    - CTG_UNLOCK
    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:278,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:281,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:282,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCache
    - lock
    argTypes:
    - SCtgViewCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: ctgFreeViewCacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - CTG_LOCK
    - ctgFreeSViewMeta
    - 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:294,1
    - Dst: ctgFreeViewCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:296,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:297,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: ctgFreeViewCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashCleanup
    - ctgFreeViewCacheImpl
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void ctgFreeViewCache(SCtgDBCache* dbCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:308,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:310,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:311,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: ctgFreeTbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeTbCacheImpl
    - taosHashCleanup
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void ctgFreeTbCache(SCtgDBCache* dbCache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:319,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:322,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCache
    - lock
    argTypes:
    - SCtgTSMACache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: ctgFreeTSMACacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - CTG_LOCK
    - taosArrayDestroyP
    - CTG_UNLOCK
    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:333,1
    - Dst: ctgFreeTSMACacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:335,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:336,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: ctgFreeTSMACache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeTSMACacheImpl
    - taosHashCleanup
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void ctgFreeTSMACache(SCtgDBCache* dbCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 342
    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:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 343
    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:350,1
    - Dst: ctgFreeCfgInfoCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:351,1
    - Dst: ctgFreeStbMetaCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:352,1
    - Dst: ctgFreeTbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:353,1
    - Dst: ctgFreeViewCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:354,1
    - Dst: ctgFreeTSMACache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: ctgFreeDbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - ctgFreeVgInfoCache
    - ctgFreeViewCache
    - ctgFreeStbMetaCache
    - ctgFreeCfgInfoCache
    - 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:363,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:365,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:368,1
    - Dst: ctgFreeDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:369,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:371,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pDbCache
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 375
    functionName: ctgFreeInstDbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    - ctgFreeDbCache
    - taosHashIterate
    - taosHashGetSize
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void ctgFreeInstDbCache(SHashObj* pDbCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:382,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:384,1
    - Dst: ctgFreeSCtgUserAuth
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:387,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:389,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pUserCache
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: ctgFreeInstUserCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGetSize
    - taosHashCleanup
    - taosHashIterate
    - ctgFreeSCtgUserAuth
    linkageType: ''
    returnType: void
    signature: void ctgFreeInstUserCache(SHashObj* pUserCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:396,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:397,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:398,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:399,1
    - Dst: ctgFreeInstDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:401,1
    - Dst: ctgFreeInstUserCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:402,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: ctgFreeHandleImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeMetaRent
    - ctgFreeInstUserCache
    - ctgFreeInstDbCache
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeHandleImpl(SCatalog* pCtg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:408,1
    - Dst: ctgFreeSCtgUserAuth
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:409,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:410,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:412,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pCtg
    - pUser
    - user
    argTypes:
    - SCatalog*
    - SCtgUserAuth*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: ctgRemoveCacheUser
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - CTG_UNLOCK
    - CTG_LOCK
    - ctgFreeSCtgUserAuth
    - taosHashRemove
    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:426,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:427,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:428,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:429,1
    - Dst: ctgFreeInstDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:431,1
    - Dst: ctgFreeInstUserCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:432,1
    - Dst: CTG_STAT_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:436,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 419
    functionDepth: 5
    functionLinenumber: 419
    functionLinenumberEnd: 439
    functionName: ctgFreeHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - ctgInfo
    - ctgFreeInstDbCache
    - CTG_STAT_NUM_DEC
    - ctgFreeMetaRent
    - ctgFreeInstUserCache
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeHandle(SCatalog* pCtg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:444,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:448,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:451,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:454,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:458,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:460,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:461,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:465,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:465,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:466,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:471,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:474,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:477,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:481,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:484,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: 492
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 492
    functionName: ctgClearHandleMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - ctgFreeTbCacheImpl
    - ctgGetTbMetaCacheSize
    - tstrerror
    - atomic_sub_fetch_64
    - taosHashGetKey
    - CTG_META_NUM_DEC
    - taosHashCancelIterate
    - taosHashIterate
    - taosHashRemove
    - qError
    - ctgGetTbIndexCacheSize
    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:497,1
    - Dst: ctgClearHandleMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:502,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:504,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - clearedSize
    - clearedNum
    - roundDone
    argTypes:
    - int64_t*
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 511
    functionName: ctgClearAllHandleMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - ctgClearHandleMeta
    - taosHashCancelIterate
    - taosHashIterate
    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:520,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:521,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:522,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:523,1
    - Dst: ctgFreeInstDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:525,1
    - Dst: ctgFreeInstUserCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:526,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:528,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:529,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:530,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:531,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:533,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:533,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:536,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:539,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:539,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:542,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:545,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:547,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 513
    functionDepth: 5
    functionLinenumber: 513
    functionLinenumberEnd: 550
    functionName: ctgClearHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - ctgError
    - TAOS_MEMSET
    - ctgInfo
    - ctgFreeInstDbCache
    - ctgFreeMetaRent
    - ctgMetaRentInit
    - ctgFreeInstUserCache
    - CTG_STAT_RT_INC
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    linkageType: ''
    returnType: void
    signature: void ctgClearHandle(SCatalog* pCtg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:558,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SUseDbOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 562
    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:565,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:573,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:574,1
    - Dst: ctgFreeSUseDbOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:579,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:585,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:590,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:598,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:599,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:600,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:606,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:607,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:614,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:615,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:620,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:621,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:622,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:627,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:628,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:629,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:630,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:631,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:632,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:633,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:634,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:635,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:636,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:637,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:644,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:645,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:647,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:654,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:655,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:661,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:666,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:670,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 98
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SCtgMsgCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 673
    functionName: ctgFreeMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - ctgFreeSUseDbOutput
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - tFreeTableTSMAInfoRsp
    - tFreeSTableCfgRsp
    - tFreeSViewMetaRsp
    - qError
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeMsgCtx(SCtgMsgCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:676,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SCtgMsgCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 681
    functionName: ctgFreeTbMetasMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeMsgCtx
    - ctgFreeSTableMetaOutput
    linkageType: ''
    returnType: void
    signature: void ctgFreeTbMetasMsgCtx(SCtgMsgCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:688,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:689,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - STableMetaOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 691
    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:695,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:699,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:703,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:706,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 708
    functionName: ctgResetTbMetaTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_MEMSET
    - ctgFreeSTableMetaOutput
    linkageType: ''
    returnType: void
    signature: void ctgResetTbMetaTask(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - meta
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 717
    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:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hash
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 726
    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:736,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - res
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 739
    functionName: ctgFreeViewMetaRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ctgFreeSViewMeta
    linkageType: ''
    returnType: void
    signature: void ctgFreeViewMetaRes(void* res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:749,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - res
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 753
    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:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 765
    functionName: ctgFreeJsonTagVal
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeJsonTagVal(void* val)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:772,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:779,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:780,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:785,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:792,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:793,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:801,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:803,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:813,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:817,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:818,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:820,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:827,1
    - Dst: ctgFreeBatchMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:829,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:829,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:836,1
    - Dst: ctgFreeBatchHash
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:838,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:838,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:845,1
    - Dst: ctgFreeViewMetaRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:847,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:855,1
    - Dst: ctgFreeTbTSMARes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:857,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:857,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:864,1
    - Dst: ctgFreeBatchMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:866,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:866,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:873,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:877,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 99
    argCount: 2
    argNames:
    - type
    - pRes
    argTypes:
    - CTG_TASK_TYPE
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 767
    functionDepth: 4
    functionLinenumber: 767
    functionLinenumberEnd: 880
    functionName: ctgFreeTaskRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeTbTSMARes
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayGet
    - ctgFreeViewMetaRes
    - taosArrayDestroyEx
    - ctgFreeBatchHash
    - ctgFreeBatchMeta
    - tFreeSTableCfgRsp
    - taosArrayGetSize
    - nodesDestroyNode
    - qError
    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:886,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:893,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:900,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:901,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:906,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:913,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:914,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:925,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:929,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:934,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:939,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:947,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 2
    argNames:
    - type
    - pRes
    argTypes:
    - CTG_TASK_TYPE
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 950
    functionName: ctgFreeSubTaskRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - freeVgInfo
    - tFreeSTableCfgRsp
    - qError
    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:959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - SCtgSubRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 952
    functionDepth: 2
    functionLinenumber: 952
    functionLinenumberEnd: 960
    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:966,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: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:976,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:977,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:980,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:983,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:986,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:991,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:992,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:997,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:998,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1001,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1003,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:1009,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1014,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1015,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1016,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1021,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1022,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1023,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1033,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1038,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1039,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1042,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1044,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1050,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1051,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1052,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1053,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1058,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:1062,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1065,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1068,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1074,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1078,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1080,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1081,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1085,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 103
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 1088
    functionName: ctgFreeTaskCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - qError
    - ctgFreeSTableMetaOutput
    linkageType: ''
    returnType: void
    signature: void ctgFreeTaskCtx(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1091,1
    - Dst: ctgFreeTaskRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1093,1
    - Dst: ctgFreeTaskCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1095,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1097,1
    - Dst: ctgClearSubTaskRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTask
    - freeRes
    argTypes:
    - SCtgTask*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1090
    functionDepth: 5
    functionLinenumber: 1090
    functionLinenumberEnd: 1099
    functionName: ctgFreeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - ctgClearSubTaskRes
    - ctgFreeTaskRes
    - ctgFreeMsgCtx
    - 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:1106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1108,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1109,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pArray
    - freeRes
    argTypes:
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1101
    functionDepth: 6
    functionLinenumber: 1101
    functionLinenumberEnd: 1113
    functionName: ctgFreeTasks
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - 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:1125,1
    - Dst: ctgFreeBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1126,1
    - Dst: ctgFreeSMetaData
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1128,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1130,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - job
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1115
    functionDepth: 7
    functionLinenumber: 1115
    functionLinenumberEnd: 1133
    functionName: ctgFreeJob
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - qTrace
    - ctgFreeTasks
    - ctgFreeSMetaData
    - ctgFreeBatchs
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeJob(void* job)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1136,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1141,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1143,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: 1150
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1150
    functionName: ctgUpdateMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 16
    functionsReached:
    - CTG_ERR_RET
    - ctgFreeMsgCtx
    - 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:1158,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1160,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1164,1
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1165,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1166,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: 1170
      start: 1152
    functionDepth: 3
    functionLinenumber: 1152
    functionLinenumberEnd: 1170
    functionName: ctgAddMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - ctgFreeMsgCtx
    - taosStrdup
    - taosArrayPush
    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: 1180
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1180
    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: 1193
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1193
    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:1200,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1202,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1203,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1205,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1207,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1208,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1211,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1215,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1216,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1217,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1218,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1221,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1224,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1225,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1227,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1231,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1238,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - pCtg
    - vgHash
    - pList
    - dbFName
    argTypes:
    - SCatalog*
    - SHashObj*
    - SArray**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1242
    functionName: ctgGenerateVgList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - IS_SYS_DBNAME
    - ctgError
    - taosArrayInit
    - taosArrayDestroy
    - CTG_RET
    - taosHashCancelIterate
    - tNameFromString
    - taosHashIterate
    - CTG_ERR_RET
    - taosArraySort
    - CTG_ERR_JRET
    - taosHashGetSize
    - ctgDebug
    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: 1254
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1254
    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: 1267
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1267
    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:1272,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1272,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1274,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1276,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1278,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1281,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1288,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1289,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1294,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1296,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1296,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1298,1
    - Dst: tTrimMountPrefix
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1300,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1301,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1301,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1304,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1321,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1322,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1323,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1328,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1332,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: 1333
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1333
    functionName: ctgGetVgInfoFromHashValue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - IS_SYS_DBNAME
    - strlen
    - ctgError
    - tNameExtractFullName
    - tstrerror
    - taosGetTbHashVal
    - TAOS_MEMCPY
    - ctgTrace
    - tNameGetFullDbName
    - ctgMakeVgArray
    - CTG_ERR_RET
    - taosArrayGetSize
    - taosArraySearch
    - CTG_RET
    - tTrimMountPrefix
    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:1342,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1342,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1344,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1346,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1347,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1351,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1355,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1357,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1360,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1362,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1366,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1368,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1368,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1369,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1371,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1373,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1374,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1375,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1381,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1382,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1390,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1392,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1393,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1398,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1400,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1403,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1405,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1405,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1406,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1409,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1411,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1415,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1417,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1417,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1418,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1420,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1422,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1423,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1424,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1430,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1431,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1440,1
    - Dst: tTrimMountPrefix
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1441,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1447,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1449,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1449,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1450,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1453,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1454,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1455,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1455,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1458,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1460,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1461,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1462,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1465,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1467,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1477,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1479,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1479,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1480,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1482,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1484,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1485,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1486,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1492,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1493,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1498,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: 1499
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1499
    functionName: ctgGetVgInfosFromHashValue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - snprintf
    - CTG_ERR_RET
    - ctgError
    - taosGetTbHashVal
    - taosArrayGet
    - TAOS_MEMCPY
    - ctgTrace
    - taosArraySearch
    - CTG_RET
    - IS_SYS_DBNAME
    - strlen
    - ctgMakeVgArray
    - taosArrayGetSize
    - tTrimMountPrefix
    - TAOS_STRCPY
    - strchr
    - ctgDebug
    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:1504,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1504,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1506,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1508,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1509,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1514,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1515,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1518,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1519,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1519,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1522,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1524,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1525,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1526,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1531,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1534,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: 1535
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1535
    functionName: ctgGetVgIdsFromHashValue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - strlen
    - ctgError
    - taosGetTbHashVal
    - snprintf
    - ctgMakeVgArray
    - CTG_ERR_RET
    - taosArrayGetSize
    - taosArraySearch
    - CTG_RET
    - ctgDebug
    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: 1545
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1545
    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: 1555
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1555
    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: 1565
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1565
    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: 1575
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1575
    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: 1585
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1585
    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: 1595
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1595
    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: 1605
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1605
    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: 1615
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1615
    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:1623,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1624,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1627,1
    - Dst: ctgMakeVgArraySortBy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - dbInfo
    - dbName
    - isFullName
    argTypes:
    - SDBVgInfo*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1630
    functionName: ctgMakeVgArray
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 4
    functionsReached:
    - ctgMakeVgArraySortBy
    - IS_SYS_DBNAME
    - tNameFromString
    - CTG_ERR_RET
    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:1638,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1639,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1641,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1644,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1646,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1647,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1648,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1651,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - dbInfo
    - sort_func
    argTypes:
    - SDBVgInfo*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1632
    functionDepth: 1
    functionLinenumber: 1632
    functionLinenumberEnd: 1658
    functionName: ctgMakeVgArraySortBy
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosHashCancelIterate
    - taosHashIterate
    - CTG_ERR_RET
    - taosArraySort
    - taosHashGetSize
    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:1661,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1661,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1663,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1665,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1666,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1669,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1671,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1672,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1672,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1674,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1675,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1676,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1680,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1682,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1684,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1685,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1686,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1687,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1688,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1689,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1692,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1696,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1698,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1699,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1700,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - SDBVgInfo*
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1705
    functionName: ctgCloneVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosHashGetKey
    - taosHashInit
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - taosHashCancelIterate
    - taosHashIterate
    - taosArrayDup
    - ctgMakeVgArray
    - CTG_ERR_RET
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashGetSize
    - qError
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneVgInfo(SDBVgInfo* src, SDBVgInfo** dst)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1708,1
    - Dst: qError
      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:1719,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1722,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1724,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1725,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1726,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1729,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1730,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1732,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1739,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1742,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1745,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1749,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1750,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1753,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1754,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1755,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1758,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1759,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1761,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1765,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1767,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - output
    - pOutput
    argTypes:
    - STableMetaOutput*
    - STableMetaOutput**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1774
    functionName: ctgCloneMetaOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - hasRefCol
    - qTrace
    - taosMemoryFreeClear
    - TAOS_MEMCPY
    - withExtSchema
    - CTG_ERR_RET
    - CTG_META_SIZE
    - qError
    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:1782,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1783,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1785,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1789,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1791,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1791,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1792,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1794,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1796,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1798,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1800,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pIndex
    - pRes
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1805
    functionName: ctgCloneTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosArrayGet
    - taosArrayGetSize
    - CTG_ERR_RET
    - qError
    - 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:1812,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1814,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: 1823
      start: 1807
    functionDepth: 1
    functionLinenumber: 1807
    functionLinenumberEnd: 1823
    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:1831,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
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1836,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1843
    functionName: ctgGetTablesReqNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - CTG_ERR_RET
    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:1847,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1849,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1860,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1861,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: 1865
      start: 1845
    functionDepth: 1
    functionLinenumber: 1845
    functionLinenumberEnd: 1865
    functionName: ctgAddFetch
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 3
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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:1868,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1870,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1870,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1874,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1876,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pNames
    - pFetch
    - ppName
    argTypes:
    - SArray*
    - SCtgFetch*
    - SName**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1881
    functionName: ctgGetFetchName
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - qError
    - 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:1890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1895
    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:1897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1897
    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:1900,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1905,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1907,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - SDbCfgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1917
    functionName: ctgCloneDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - TAOS_MEMCPY
    - taosMemoryFree
    - taosArrayDup
    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:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1922
    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:1926,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1924
    functionDepth: 1
    functionLinenumber: 1924
    functionLinenumberEnd: 1937
    functionName: ctgCloneDbInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TAOS_MEMCPY
    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:1939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1939
    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:1967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1967
    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:1971,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 1980
    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:1982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1982
    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:1986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1984
    functionDepth: 1
    functionLinenumber: 1984
    functionLinenumberEnd: 1990
    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:1992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1992
    functionDepth: 1
    functionLinenumber: 1992
    functionLinenumberEnd: 1992
    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:1996,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2005
    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:2007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2007
    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:2011,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2020
    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:2022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2022
    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:2026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2024
    functionDepth: 0
    functionLinenumber: 2024
    functionLinenumberEnd: 2035
    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:2037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2037
    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:2041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2039
    functionDepth: 1
    functionLinenumber: 2039
    functionLinenumberEnd: 2045
    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:2047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2047
    functionDepth: 1
    functionLinenumber: 2047
    functionLinenumberEnd: 2047
    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:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2058
    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:2062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2060
    functionDepth: 1
    functionLinenumber: 2060
    functionLinenumberEnd: 2066
    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:2068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2068
    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:2073,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2077,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2078,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2079,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2088
    functionName: ctgCloneViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrdup
    - 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:2095,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2096,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2097,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2099
    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:2102,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2101
    functionDepth: 1
    functionLinenumber: 2101
    functionLinenumberEnd: 2104
    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:2107,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2106
    functionDepth: 1
    functionLinenumber: 2106
    functionLinenumberEnd: 2109
    functionName: ctgFreeVStbRefDbs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void ctgFreeVStbRefDbs(void* p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2121,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2123,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2123,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2125,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2128,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2131,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2133,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2133,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2135,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2136,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2136,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2148,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2148,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2152,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2160,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2160,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2169,1
    - Dst: ctgGetCachedStbNameFromSuid
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2169,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2173,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2180,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2184,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2185,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2190,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2191,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2193,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2112
    functionDepth: 5
    functionLinenumber: 2112
    functionLinenumberEnd: 2194
    functionName: ctgChkSetTbAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - ctgError
    - tstrerror
    - tNameExtractFullName
    - taosMemoryFreeClear
    - catalogGetCachedTableMeta
    - tNameGetFullDbName
    - snprintf
    - CTG_ERR_RET
    - nodesStringToNode
    - CTG_ERR_JRET
    - CTG_RET
    - ctgGetTbMeta
    - ctgGetCachedStbNameFromSuid
    - taosMemoryFree
    - ctgDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkSetTbAuthRes(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2214,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2216,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2227,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2231,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2231,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2239,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2241,1
    - Dst: ctgChkSetTbAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2241,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2247,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2247,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2255,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2257,1
    - Dst: ctgChkSetTbAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2257,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2263,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2263,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2271,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2271,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2272,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2272,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2273,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2273,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 63
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2196
    functionDepth: 6
    functionLinenumber: 2196
    functionLinenumberEnd: 2285
    functionName: ctgChkSetBasicAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - strlen
    - taosHashGet
    - tNameGetFullDbName
    - ctgChkSetTbAuthRes
    - CTG_ERR_RET
    - taosHashGetSize
    - ctgDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkSetBasicAuthRes(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2310,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2311,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2313,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2315,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2315,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2317,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2320,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2324,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2332,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2340,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2287
    functionDepth: 1
    functionLinenumber: 2287
    functionLinenumberEnd: 2352
    functionName: ctgChkSetViewAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - strlen
    - ctgError
    - tstrerror
    - tNameExtractFullName
    - taosHashGet
    - snprintf
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkSetViewAuthRes(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2356,1
    - Dst: ctgChkSetViewAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2356,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2361,1
    - Dst: ctgChkSetBasicAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2354
    functionDepth: 7
    functionLinenumber: 2354
    functionLinenumberEnd: 2362
    functionName: ctgChkSetAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - CTG_RET
    - ctgChkSetViewAuthRes
    - CTG_ERR_RET
    - ctgChkSetBasicAuthRes
    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:2370,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2371,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2376,1
    - Dst: copyFunc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2377,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2381,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: 2385
      start: 2365
    functionDepth: 1
    functionLinenumber: 2365
    functionLinenumberEnd: 2385
    functionName: ctgCloneMetaDataArray
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosArrayGet
    - taosArrayGetSize
    - copyFunc
    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:2388,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2393,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2395,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2398,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2401,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2404,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2407,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2410,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2413,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2416,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2419,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2422,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2425,1
    - Dst: catalogFreeMetaData
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2429,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2387
    functionDepth: 2
    functionLinenumber: 2387
    functionLinenumberEnd: 2434
    functionName: catalogCloneMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - catalogFreeMetaData
    - ctgCloneMetaDataArray
    linkageType: ''
    returnType: SMetaData
    signature: SMetaData * catalogCloneMetaData(SMetaData* pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2442,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2443,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2444,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2445,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2446,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2447,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2448,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2449,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2450,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2451,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2452,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2453,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2454,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2455,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2456,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2457,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2437
    functionDepth: 1
    functionLinenumber: 2437
    functionLinenumberEnd: 2459
    functionName: ctgDestroySMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    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: 2467
      start: 2461
    functionDepth: 0
    functionLinenumber: 2461
    functionLinenumberEnd: 2467
    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:2474,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SViewMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2475
    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: 2494
      start: 2477
    functionDepth: 0
    functionLinenumber: 2477
    functionLinenumberEnd: 2494
    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:2501,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pVg
    argTypes:
    - SDBVgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2496
    functionDepth: 1
    functionLinenumber: 2496
    functionLinenumberEnd: 2503
    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: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2511,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2514,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2515,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2517,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2520,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2523,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2524,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2526,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2529,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2532,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2533,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2535,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2538,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2541,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2542,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2544,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2547,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2550,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2551,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2553,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2556,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2559,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2560,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2562,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2565,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2568,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2569,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2571,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2574,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2577,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2578,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2580,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2583,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2586,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2587,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2589,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2592,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2595,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2598,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 1
    argNames:
    - pAuth
    argTypes:
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2602
    functionName: ctgGetUserCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosHashIterate
    - taosHashGetKey
    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:2607,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2610,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2611,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2613,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2616,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2619,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2620,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2604
    functionDepth: 1
    functionLinenumber: 2604
    functionLinenumberEnd: 2630
    functionName: ctgGetClusterCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - atomic_load_64
    - taosHashIterate
    - taosHashGetKey
    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:2642,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2632
    functionDepth: 1
    functionLinenumber: 2632
    functionLinenumberEnd: 2656
    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: 2668
      start: 2658
    functionDepth: 0
    functionLinenumber: 2658
    functionLinenumberEnd: 2668
    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:2682,1
    - Dst: ctgGetClusterCacheStat
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2687,1
    - Dst: ctgSummaryClusterCacheStat
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2688,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2691,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pStat
    argTypes:
    - SCtgCacheStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2670
    functionDepth: 2
    functionLinenumber: 2670
    functionLinenumberEnd: 2695
    functionName: ctgGetGlobalCacheStat
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - ctgGetClusterCacheStat
    - ctgSummaryClusterCacheStat
    - TAOS_MEMCPY
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void ctgGetGlobalCacheStat(SCtgCacheStat* pStat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2701,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2704,1
    - Dst: ctgGetClusterCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2709,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pSize
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2697
    functionDepth: 2
    functionLinenumber: 2697
    functionLinenumberEnd: 2714
    functionName: ctgGetGlobalCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - ctgGetClusterCacheSize
    - taosHashIterate
    - taosHashGetKey
    linkageType: ''
    returnType: void
    signature: void ctgGetGlobalCacheSize(uint64_t* pSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2718,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2720,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2722,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2722,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2723,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2726,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2728,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2731,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pTask
    - pCtx
    argTypes:
    - SCtgTask*
    - SCtgViewsCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2716
    functionDepth: 1
    functionLinenumber: 2716
    functionLinenumberEnd: 2738
    functionName: ctgBuildViewNullRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArrayGetSize
    - CTG_ERR_RET
    - qError
    - ctgDebug
    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:2741,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2743,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2745,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2747,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2754,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2756,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - pRsp
    - pViewMeta
    argTypes:
    - SViewMetaRsp*
    - SViewMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2740
    functionDepth: 1
    functionLinenumber: 2740
    functionLinenumberEnd: 2762
    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:2765,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2767,1
    - Dst: cloneDbVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2770,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2772,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ppOut
    - vgInfo
    argTypes:
    - SUseDbOutput**
    - SDBVgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2764
    functionDepth: 1
    functionLinenumber: 2764
    functionLinenumberEnd: 2777
    functionName: ctgBuildUseDbOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - cloneDbVgInfo
    - CTG_RET
    - 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: 2798
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2798
    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:2805,1
    - Dst: isCtgTSMACacheOutOfDate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2809,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pTsmas
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2800
    functionDepth: 1
    functionLinenumber: 2800
    functionLinenumberEnd: 2815
    functionName: hasOutOfDateTSMACache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayGetP
    - isCtgTSMACacheOutOfDate
    linkageType: ''
    returnType: bool
    signature: bool hasOutOfDateTSMACache(SArray* pTsmas)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2818,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pTsmaCache
    argTypes:
    - STSMACache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2817
    functionDepth: 1
    functionLinenumber: 2817
    functionLinenumberEnd: 2828
    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:2833,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2835,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2851,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2852,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: 2856
      start: 2830
    functionDepth: 1
    functionLinenumber: 2830
    functionLinenumberEnd: 2856
    functionName: ctgAddTSMAFetch
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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:
    - tstrncpy
    - ctgAcquireVgInfoFromCache
    - CTG_RET
    - taosMemoryFreeClear
    - ctgGetDBVgInfoFromMnode
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - tListLen
    - ctgCloneVgInfo
    - ctgUpdateVgroupEnqueue
    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:
    - CTG_DB_NOT_EXIST
    - ctgReleaseVgInfoToCache
    - tstrncpy
    - ctgUpdateVgroupEnqueue
    - ctgAcquireVgInfoFromCache
    - ctgGetDBVgInfoFromMnode
    - ctgDropDbCacheEnqueue
    - CTG_ERR_RET
    - tListLen
    - ctgDebug
    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:
    - CTG_IS_META_TABLE
    - CTG_FLAG_IS_STB
    - SET_META_TYPE_VCTABLE
    - CTG_FLAG_IS_SYS_DB
    - ctgRemoveTbMetaFromCache
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - SET_META_TYPE_NULL
    - ctgError
    - ctgUpdateTbMetaEnqueue
    - SET_META_TYPE_CTABLE
    - CTG_RET
    - taosMemoryCalloc
    - ctgCloneMetaOutput
    - CTG_IS_META_BOTH
    - ctgGetTbMetaFromVnode
    - taosMemoryFreeClear
    - ctgGetTbMetaFromMnodeImpl
    - ctgGetTbMetaFromMnode
    - ctgGetTbHashVgroup
    - CTG_FLAG_IS_FORCE_UPDATE
    - tNameGetTableName
    - ctgTbMetaExistInCache
    - CTG_IS_META_NULL
    - CTG_IS_META_VBOTH
    - ctgDebug
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgRefreshTbMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      SCtgTbMetaCtx* ctx, STableMetaOutput** pOutput,\n                         bool
      syncReq)"
  - BBCount: 15
    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:231,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:233,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:236,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:238,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:240,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:241,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:242,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:246,1
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:251,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:251,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:252,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:253,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:254,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:255,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:261,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:266,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:266,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:268,1
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:271,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:272,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:273,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:275,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:276,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:277,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:278,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:280,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:285,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:286,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:293,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:295,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:296,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:298,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:302,1
    - Dst: ctgDropTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:304,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:308,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:311,1
    - Dst: ctgdShowTableMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:312,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:315,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 89
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - ctx
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbMetaCtx*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 203
    functionDepth: 9
    functionLinenumber: 203
    functionLinenumberEnd: 316
    functionName: ctgGetTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_IS_META_TABLE
    - withExtSchema
    - taosMemoryRealloc
    - ctgReadTbMetaFromCache
    - CTG_FLAG_IS_SYS_DB
    - CTG_IS_META_CTABLE
    - CTG_ERR_RET
    - ctgDropStbMetaEnqueue
    - CTG_ERR_JRET
    - CTG_IS_META_VCTABLE
    - ctgError
    - TAOS_MEMCPY
    - CTG_TABLE_NOT_EXIST
    - ctgGetTbMetaFromCache
    - CTG_RET
    - ctgRefreshTbMeta
    - CTG_IS_META_BOTH
    - taosMemoryFreeClear
    - tNameGetFullDbName
    - ctgdShowTableMeta
    - CTG_META_SIZE
    - TAOS_STRCPY
    - ctgDropTbMetaEnqueue
    - ctgDebug
    - CTG_IS_META_VBOTH
    - QUERY_CHECK_NULL
    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:319,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:321,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:322,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:327,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:332,1
    - Dst: SET_META_TYPE_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:334,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:336,1
    - Dst: queryCreateCTableMetaFromMsg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:336,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:338,1
    - Dst: SET_META_TYPE_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:340,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:342,1
    - Dst: queryCreateVCTableMetaFromMsg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:342,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:344,1
    - Dst: SET_META_TYPE_TABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:346,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:348,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:348,1
    - Dst: ctgUpdateTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:351,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:353,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:360,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:361,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:362,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pCtg
    - rspMsg
    - syncOp
    argTypes:
    - SCatalog*
    - STableMetaRsp*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 366
    functionName: ctgUpdateTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - ctgError
    - ctgUpdateTbMetaEnqueue
    - CTG_RET
    - taosMemoryFreeClear
    - queryCreateTableMetaFromMsg
    - CTG_ERR_RET
    - SET_META_TYPE_TABLE
    - CTG_ERR_JRET
    - SET_META_TYPE_CTABLE
    - queryCreateCTableMetaFromMsg
    - taosMemoryCalloc
    - queryCreateVCTableMetaFromMsg
    - SET_META_TYPE_VCTABLE
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateTbMeta(SCatalog* pCtg, STableMetaRsp* rspMsg, bool
      syncOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:374,1
    - Dst: ctgChkAuthFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:374,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:391,1
    - Dst: ctgGetUserDbAuthFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:391,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:393,1
    - Dst: ctgChkSetAuthRes
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:393,1
    - Dst: ctgUpdateUserEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:397,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pReq
    - pRes
    - exists
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SUserAuthInfo*
    - SUserAuthRes*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 368
    functionDepth: 8
    functionLinenumber: 368
    functionLinenumberEnd: 400
    functionName: ctgChkAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgChkSetAuthRes
    - ctgGetUserDbAuthFromMnode
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - ctgUpdateUserEnqueue
    - ctgChkAuthFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkAuth(SCatalog* pCtg, SRequestConnInfo* pConn, SUserAuthInfo
      *pReq, SUserAuthRes* pRes, bool* exists)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:404,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:405,1
    - Dst: ctgReadTbTypeFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:405,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:414,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:414,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:417,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: 420
      start: 402
    functionDepth: 10
    functionLinenumber: 402
    functionLinenumberEnd: 420
    functionName: ctgGetTbType
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgReadTbTypeFromCache
    - tNameGetFullDbName
    - CTG_ERR_RET
    - ctgGetTbMeta
    - taosMemoryFree
    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:423,1
    - Dst: ctgReadTbIndexFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:423,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:428,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:430,1
    - Dst: ctgGetTbIndexFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:433,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:438,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:441,1
    - Dst: ctgCloneTableIndex
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:441,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:445,1
    - Dst: ctgUpdateTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:445,1
    - Dst: tFreeSTableIndexRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:451,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:452,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:454,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 422
    functionDepth: 7
    functionLinenumber: 422
    functionLinenumberEnd: 458
    functionName: ctgGetTbIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetTbIndexFromMnode
    - ctgUpdateTbIndexEnqueue
    - ctgCloneTableIndex
    - ctgReadTbIndexFromCache
    - taosArrayDestroyEx
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    - tFreeSTableIndexRsp
    - taosMemoryFree
    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:462,1
    - Dst: ctgGetTbType
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:462,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:465,1
    - Dst: ctgGetTableCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:465,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:468,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:468,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:469,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:469,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableCfg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 460
    functionDepth: 11
    functionLinenumber: 460
    functionLinenumberEnd: 473
    functionName: ctgGetTbCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetTbHashVgroup
    - CTG_RET
    - ctgGetTableCfgFromVnode
    - CTG_ERR_RET
    - ctgGetTableCfgFromMnode
    - ctgGetTbType
    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:481,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:481,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:482,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:482,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:485,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:486,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:492,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:493,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:495,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:499,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:501,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:502,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:508,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:509,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:510,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:511,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:512,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:515,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:515,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:522,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 476
    functionDepth: 7
    functionLinenumber: 476
    functionLinenumberEnd: 525
    functionName: ctgGetTbTag
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - tTagToValArray
    - taosArrayDestroy
    - strlen
    - ctgError
    - ctgGetTbHashVgroup
    - taosArrayInit
    - taosArrayPush
    - taosMemoryFree
    - ctgGetTableCfgFromVnode
    - tFreeSTableCfgRsp
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - tTagIsJson
    - parseTagDatatoJson
    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:541,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:541,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:544,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:547,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:547,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:556,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:556,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:559,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:560,1
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:564,1
    - Dst: ctgWarn
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:565,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:565,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:566,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:569,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:571,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:572,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:575,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:576,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:576,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:577,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:588,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:589,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:592,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:595,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:599,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:603,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 528
    functionDepth: 10
    functionLinenumber: 528
    functionLinenumberEnd: 604
    functionName: ctgGetTbDistVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetDBVgInfo
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - ctgWarn
    - taosArrayInit
    - tNameGetTableName
    - taosMemoryFreeClear
    - ctgRUnlockVgInfo
    - tNameGetFullDbName
    - freeVgInfo
    - ctgReleaseDBCache
    - ctgGenerateVgList
    - CTG_ERR_JRET
    - taosHashGetDup
    - CTG_RET
    - ctgGetTbMeta
    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:607,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:608,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:609,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:615,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:618,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:618,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:621,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:625,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:625,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:630,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:631,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:635,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:638,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: 639
      start: 606
    functionDepth: 8
    functionLinenumber: 606
    functionLinenumberEnd: 639
    functionName: ctgGetTbHashVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 3
    functionsReached:
    - ctgGetDBVgInfo
    - IS_SYS_DBNAME
    - ctgError
    - ctgGetVgInfoFromHashValue
    - ctgRUnlockVgInfo
    - tNameGetFullDbName
    - freeVgInfo
    - CTG_ERR_RET
    - ctgReleaseDBCache
    - CTG_ERR_JRET
    - CTG_RET
    - ctgDebug
    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:642,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:643,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:644,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:650,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:653,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:653,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:655,1
    - Dst: ctgGetVgIdsFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:655,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:660,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:661,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:665,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:668,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: 669
      start: 641
    functionDepth: 8
    functionLinenumber: 641
    functionLinenumberEnd: 669
    functionName: ctgGetTbsHashVgId
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetDBVgInfo
    - IS_SYS_DBNAME
    - ctgError
    - ctgRUnlockVgInfo
    - snprintf
    - freeVgInfo
    - CTG_ERR_RET
    - ctgReleaseDBCache
    - CTG_ERR_JRET
    - ctgGetVgIdsFromHashValue
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbsHashVgId(SCatalog* pCtg, SRequestConnInfo* pConn,
      int32_t acctId, const char* pDb, const char* pTbs[], int32_t tbNum, int32_t*
      vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:675,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:679,1
    - Dst: ctgAcquireVgMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:679,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:686,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:686,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:688,1
    - Dst: ctgCopyTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:693,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:695,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:697,1
    - Dst: ctgReleaseVgMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:701,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 672
    functionDepth: 5
    functionLinenumber: 672
    functionLinenumberEnd: 704
    functionName: ctgGetCachedTbVgMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgReleaseVgMetaToCache
    - ctgGetVgInfoFromHashValue
    - ctgRUnlockVgInfo
    - ctgCopyTbMeta
    - tNameGetFullDbName
    - CTG_ERR_RET
    - ctgReleaseTbMetaToCache
    - CTG_ERR_JRET
    - CTG_RET
    - ctgAcquireVgMetaFromCache
    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:711,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:718,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:718,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - related
    argTypes:
    - SCatalog*
    - SName*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 707
    functionDepth: 7
    functionLinenumber: 707
    functionLinenumberEnd: 723
    functionName: ctgRemoveTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - CTG_ERR_RET
    - ctgRemoveTbMetaFromCache
    - CTG_ERR_JRET
    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:730,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:737,1
    - Dst: ctgDropViewMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:737,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:741,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: 742
      start: 726
    functionDepth: 3
    functionLinenumber: 726
    functionLinenumberEnd: 742
    functionName: ctgRemoveViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - CTG_ERR_RET
    - ctgDropViewMetaEnqueue
    - CTG_ERR_JRET
    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:746,1
    - Dst: ctgdShowCacheInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:748,1
    - Dst: ctgdShowStatInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:749,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:751,1
    - Dst: ctgGetGlobalCacheSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:754,1
    - Dst: CTG_CACHE_OVERFLOW
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:755,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:757,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:760,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:762,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:762,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:763,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:764,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:772,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:773,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:774,1
    - Dst: CTG_API_NLEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 745
    functionDepth: 5
    functionLinenumber: 745
    functionLinenumberEnd: 780
    functionName: ctgProcessTimerEvent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_CACHE_OVERFLOW
    - qTrace
    - tstrerror
    - qDebug
    - ctgdShowStatInfo
    - ctgdShowCacheInfo
    - ctgGetGlobalCacheSize
    - atomic_load_32
    - CTG_API_NLEAVE
    - ctgClearCacheEnqueue
    - qError
    - taosTmrReset
    - CTG_API_NENTER
    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:783,1
    - Dst: ctgReadDBCfgFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:783,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:786,1
    - Dst: ctgGetDBCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:786,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:788,1
    - Dst: ctgCloneDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:788,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:790,1
    - Dst: ctgUpdateDbCfgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - pDbCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 782
    functionDepth: 7
    functionLinenumber: 782
    functionLinenumberEnd: 794
    functionName: ctgGetDBCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgUpdateDbCfgEnqueue
    - ctgGetDBCfgFromMnode
    - ctgReadDBCfgFromCache
    - CTG_ERR_RET
    - 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:799,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:805,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:811,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:811,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:811,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:819,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - ppRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 797
    functionDepth: 7
    functionLinenumber: 797
    functionLinenumberEnd: 822
    functionName: ctgGetTbTsmas
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tFreeTableTSMAInfoRsp
    - ctgGetTbTSMAFromMnode
    - ctgUpdateTbTSMAEnqueue
    - CTG_ERR_JRET
    - CTG_RET
    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:827,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:833,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:835,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:836,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:842,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTsmaName
    - pTsma
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableTSMAInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 825
    functionDepth: 7
    functionLinenumber: 825
    functionLinenumberEnd: 845
    functionName: ctgGetTsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGetP
    - tFreeTableTSMAInfoRsp
    - ctgGetTbTSMAFromMnode
    - CTG_ERR_JRET
    - CTG_RET
    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:849,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:851,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:852,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:855,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:858,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:902,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:902,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:905,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:906,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:909,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:910,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:910,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:911,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:914,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:916,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:917,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:921,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:923,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:923,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:924,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:927,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:929,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:929,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:930,1
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:933,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:935,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:936,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:939,1
    - Dst: ctgStartUpdateThread
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:939,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:941,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - SCatalogCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 945
    functionName: catalogInit
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 30
    functionsReached:
    - TAOS_MEMSET
    - tstrerror
    - taosMemoryCalloc
    - TAOS_MEMCPY
    - ctgStartUpdateThread
    - taosOpenRef
    - tsem_init
    - qInfo
    - CTG_ERR_RET
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    - taosTmrStart
    - taosTmrInit
    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:949,1
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:952,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:955,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:956,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:963,1
    - Dst: CTG_STAT_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:967,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:968,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:969,1
    - Dst: CTG_STAT_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:972,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:974,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:976,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:977,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:982,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:982,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:983,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:983,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:984,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:984,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:985,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:985,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:987,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:987,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:990,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:991,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:994,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:995,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:997,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:998,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1001,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1003,1
    - Dst: ctgFreeHandleImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1004,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1008,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1009,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1012,1
    - Dst: CTG_STAT_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1019,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1021,1
    - Dst: ctgFreeHandleImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1025,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1027,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - clusterId
    - catalogHandle
    argTypes:
    - int64_t
    - SCatalog**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 947
    functionDepth: 6
    functionLinenumber: 947
    functionLinenumberEnd: 1028
    functionName: catalogGetHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 30
    functionsReached:
    - taosHashGet
    - ctgFreeHandleImpl
    - qTrace
    - CTG_STAT_NHIT_INC
    - taosMemoryCalloc
    - CTG_STAT_HIT_INC
    - taosHashPut
    - HASH_NODE_EXIST
    - qDebug
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgMetaRentInit
    - CTG_ERR_RET
    - CTG_STAT_NUM_INC
    - CTG_ERR_JRET
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    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:1031,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1034,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1040,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1040,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1043,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1050,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1052,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1054,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1058,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: 1059
      start: 1030
    functionDepth: 5
    functionLinenumber: 1030
    functionLinenumberEnd: 1059
    functionName: catalogGetDBVgVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgReleaseVgInfoToCache
    - ctgAcquireVgInfoFromCache
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - CTG_ERR_JRET
    - ctgDebug
    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:1062,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1065,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1073,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1073,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1080,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1080,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1088,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1089,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1093,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1096,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - vgroupList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1061
    functionDepth: 8
    functionLinenumber: 1061
    functionLinenumberEnd: 1097
    functionName: catalogGetDBVgList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 2
    functionsReached:
    - ctgGetDBVgInfo
    - ctgRUnlockVgInfo
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - freeVgInfo
    - ctgReleaseDBCache
    - ctgGenerateVgList
    - 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: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:1109,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1109,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1118,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1120,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1121,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1124,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1126,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1131,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1139,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1147,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1148,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1150,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1153,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: 1154
      start: 1099
    functionDepth: 8
    functionLinenumber: 1099
    functionLinenumberEnd: 1154
    functionName: catalogGetDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetDBVgInfo
    - ctgError
    - ctgRUnlockVgInfo
    - taosHashIterate
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - freeVgInfo
    - ctgReleaseDBCache
    - CTG_ERR_JRET
    - taosHashGetSize
    - taosMemoryCalloc
    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:1157,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1162,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1163,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1166,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1170,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: 1171
      start: 1156
    functionDepth: 3
    functionLinenumber: 1156
    functionLinenumberEnd: 1171
    functionName: catalogUpdateDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 3
    functionsReached:
    - CTG_API_ENTER
    - freeVgInfo
    - CTG_API_LEAVE
    - CTG_ERR_JRET
    - ctgUpdateVgroupEnqueue
    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:1174,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1179,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1180,1
    - Dst: ctgUpdateDbCfgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1183,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1187,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: 1188
      start: 1173
    functionDepth: 3
    functionLinenumber: 1173
    functionLinenumberEnd: 1188
    functionName: catalogUpdateDbCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgUpdateDbCfgEnqueue
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - freeDbCfgInfo
    - 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:1191,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1196,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1200,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1203,1
    - Dst: ctgDropDbCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1203,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1205,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1190
    functionDepth: 3
    functionLinenumber: 1190
    functionLinenumberEnd: 1210
    functionName: catalogRemoveDB
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgDropDbCacheEnqueue
    - CTG_ERR_JRET
    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:1213,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1218,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1221,1
    - Dst: ctgUpdateVgEpsetEnqueue
      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: 9
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - vgId
    - epSet
    argTypes:
    - SCatalog*
    - char*
    - int32_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1226
    functionName: catalogUpdateVgEpSet
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgUpdateVgEpsetEnqueue
    - CTG_ERR_JRET
    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:1229,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1234,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1237,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1239,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1242,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1244,1
    - Dst: ctgUpdateTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1244,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCtg
    - pRsp
    argTypes:
    - SCatalog*
    - STableIndexRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1228
    functionDepth: 3
    functionLinenumber: 1228
    functionLinenumberEnd: 1249
    functionName: catalogUpdateTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - TAOS_MEMCPY
    - ctgUpdateTbIndexEnqueue
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - CTG_ERR_JRET
    - taosMemoryCalloc
    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:1252,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1254,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCtg
    - pTableName
    argTypes:
    - SCatalog*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1251
    functionDepth: 8
    functionLinenumber: 1251
    functionLinenumberEnd: 1255
    functionName: catalogRemoveTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgRemoveTbMeta
    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:1258,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1260,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCtg
    - pTableName
    argTypes:
    - SCatalog*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1257
    functionDepth: 8
    functionLinenumber: 1257
    functionLinenumberEnd: 1261
    functionName: catalogRemoveTableRelatedMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgRemoveTbMeta
    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:1265,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1270,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1274,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1277,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1277,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1279,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1283,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: 1284
      start: 1264
    functionDepth: 3
    functionLinenumber: 1264
    functionLinenumberEnd: 1284
    functionName: catalogRemoveStbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgDropStbMetaEnqueue
    - CTG_ERR_JRET
    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:1287,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1293,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1286
    functionDepth: 10
    functionLinenumber: 1286
    functionLinenumberEnd: 1294
    functionName: catalogGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 11
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbMeta
    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:1297,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1303,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1296
    functionDepth: 10
    functionLinenumber: 1296
    functionLinenumberEnd: 1304
    functionName: catalogGetCachedTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 2
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbMeta
    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:1309,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1315,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1307
    functionDepth: 10
    functionLinenumber: 1307
    functionLinenumberEnd: 1316
    functionName: catalogGetSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbMeta
    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:1319,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1325,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1318
    functionDepth: 10
    functionLinenumber: 1318
    functionLinenumberEnd: 1326
    functionName: catalogGetCachedSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbMeta
    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:1330,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1333,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1337,1
    - Dst: ctgUpdateTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1337,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1329
    functionDepth: 4
    functionLinenumber: 1329
    functionLinenumberEnd: 1342
    functionName: catalogUpdateTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgUpdateTbMeta
    - CTG_ERR_JRET
    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:1345,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1348,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1352,1
    - Dst: ctgUpdateTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1352,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 4
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: catalogAsyncUpdateTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgUpdateTbMeta
    - CTG_ERR_JRET
    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:1361,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1364,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1372,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1374,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1376,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1377,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1384,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1385,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1386,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1389,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1396,1
    - Dst: ctgReadTbVerFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1396,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1401,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1402,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1402,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1406,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1406,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1412,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1412,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1416,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1424,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pTables
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1360
    functionDepth: 8
    functionLinenumber: 1360
    functionLinenumberEnd: 1425
    functionName: catalogChkTbMetaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - tstrncpy
    - ctgError
    - taosArrayGet
    - tNameFromString
    - ctgRemoveTbMeta
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - taosArrayGetSize
    - CTG_ERR_JRET
    - ctgReadTbVerFromCache
    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:1428,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1431,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1434,1
    - Dst: ctgRefreshDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - dbFName
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1427
    functionDepth: 8
    functionLinenumber: 1427
    functionLinenumberEnd: 1435
    functionName: catalogRefreshDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgRefreshDBVgInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogRefreshDBVgInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1438,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1441,1
    - Dst: CTG_FLAG_MAKE_STB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1446,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1447,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1448,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1451,1
    - Dst: ctgRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1451,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: 1452
      start: 1437
    functionDepth: 9
    functionLinenumber: 1437
    functionLinenumberEnd: 1452
    functionName: catalogRefreshTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_FLAG_SET_SYS_DB
    - IS_SYS_DBNAME
    - CTG_FLAG_MAKE_STB
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - 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:1456,1
    - Dst: CTG_FLAG_MAKE_STB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1460,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1462,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1462,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: 1463
      start: 1454
    functionDepth: 10
    functionLinenumber: 1454
    functionLinenumberEnd: 1463
    functionName: catalogRefreshGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 7
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbMeta
    - CTG_FLAG_MAKE_STB
    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:1466,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1469,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1472,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1473,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1474,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1477,1
    - Dst: ctgGetTbDistVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1465
    functionDepth: 11
    functionLinenumber: 1465
    functionLinenumberEnd: 1478
    functionName: catalogGetTableDistVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 4
    functionsReached:
    - IS_SYS_DBNAME
    - ctgError
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbDistVgInfo
    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:1482,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1484,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgroup
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1480
    functionDepth: 9
    functionLinenumber: 1480
    functionLinenumberEnd: 1485
    functionName: catalogGetTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 8
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbHashVgroup
    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:1489,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1491,1
    - Dst: ctgGetTbsHashVgId
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1491,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: 1492
      start: 1487
    functionDepth: 9
    functionLinenumber: 1487
    functionLinenumberEnd: 1492
    functionName: catalogGetTablesHashVgId
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbsHashVgId
    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:1495,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1497,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - exists
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1494
    functionDepth: 9
    functionLinenumber: 1494
    functionLinenumberEnd: 1498
    functionName: catalogGetCachedTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbHashVgroup
    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:1501,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1503,1
    - Dst: ctgGetCachedTbVgMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1500
    functionDepth: 6
    functionLinenumber: 1500
    functionLinenumberEnd: 1504
    functionName: catalogGetCachedTableVgMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetCachedTbVgMeta
    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:1509,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1512,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1519,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1521,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1522,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1525,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1527,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1528,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1532,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1538,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1538,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1540,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1541,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1542,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1543,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1549,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1550,1
    - Dst: ctgGetQnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1550,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1553,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1558,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1560,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1561,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1564,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1568,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pReq
    - pRsp
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1508
    functionDepth: 10
    functionLinenumber: 1508
    functionLinenumberEnd: 1569
    functionName: catalogGetAllMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - ctgError
    - taosArrayInit
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArrayGetP
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - taosArrayGetSize
    - CTG_ERR_JRET
    - ctgGetTbMeta
    - ctgGetQnodeListFromMnode
    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:1574,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1577,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1582,1
    - Dst: ctgInitJob
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1582,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1584,1
    - Dst: ctgLaunchJob
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1584,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1592,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1594,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1594,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1598,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1600,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1600,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1605,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: 1606
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1606
    functionName: catalogAsyncGetAllMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - taosReleaseRef
    - tstrerror
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgInitJob
    - CTG_ERR_JRET
    - qError
    - ctgLaunchJob
    - taosRemoveRef
    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:1609,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1613,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1616,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1617,1
    - Dst: ctgGetQnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1617,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pQnodeList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1608
    functionDepth: 7
    functionLinenumber: 1608
    functionLinenumberEnd: 1622
    functionName: catalogGetQnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - CTG_ERR_JRET
    - ctgGetQnodeListFromMnode
    - CTG_CACHE_NHIT_INC
    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:1625,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1629,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1632,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1633,1
    - Dst: ctgGetDnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1633,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pDnodeList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1624
    functionDepth: 7
    functionLinenumber: 1624
    functionLinenumberEnd: 1638
    functionName: catalogGetDnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - CTG_ERR_JRET
    - ctgGetDnodeListFromMnode
    - CTG_CACHE_NHIT_INC
    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:1641,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1644,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1647,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - stables
    - num
    argTypes:
    - SCatalog*
    - SSTableVersion**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1640
    functionDepth: 3
    functionLinenumber: 1640
    functionLinenumberEnd: 1648
    functionName: catalogGetExpiredSTables
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 4
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgMetaRentGet
    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:1651,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1654,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1657,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1659,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1662,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1663,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1665,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1665,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: 1666
      start: 1650
    functionDepth: 3
    functionLinenumber: 1650
    functionLinenumberEnd: 1666
    functionName: catalogGetExpiredViews
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - atomic_load_64
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - 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:1670,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1673,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1676,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - dbs
    - num
    argTypes:
    - SCatalog*
    - SDbCacheInfo**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1669
    functionDepth: 3
    functionLinenumber: 1669
    functionLinenumberEnd: 1677
    functionName: catalogGetExpiredDBs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 4
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgMetaRentGet
    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:1680,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1683,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1686,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1688,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1691,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1693,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1694,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1698,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1701,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1702,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1707,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1711,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1714,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pCtg
    - users
    - num
    argTypes:
    - SCatalog*
    - SUserAuthVersion**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1715
    functionName: catalogGetExpiredUsers
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgError
    - taosHashGetKey
    - taosHashCancelIterate
    - taosHashIterate
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - TAOS_STRNCPY
    - taosHashGetSize
    - 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:1718,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1721,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1724,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - tsmas
    - num
    argTypes:
    - SCatalog*
    - STSMAVersion**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1717
    functionDepth: 3
    functionLinenumber: 1717
    functionLinenumberEnd: 1725
    functionName: catalogGetExpiredTsmas
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgMetaRentGet
    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:1728,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1731,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1734,1
    - Dst: ctgGetDBCfg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - pDbCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1727
    functionDepth: 8
    functionLinenumber: 1727
    functionLinenumberEnd: 1735
    functionName: catalogGetDBCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetDBCfg
    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:1738,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1741,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1744,1
    - Dst: ctgGetIndexInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - indexName
    - pInfo
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SIndexInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1737
    functionDepth: 7
    functionLinenumber: 1737
    functionLinenumberEnd: 1745
    functionName: catalogGetIndexMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetIndexInfoFromMnode
    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:1748,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1751,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1755,1
    - Dst: ctgGetTbIndex
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1755,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1747
    functionDepth: 8
    functionLinenumber: 1747
    functionLinenumberEnd: 1760
    functionName: catalogGetTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbIndex
    - CTG_ERR_JRET
    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:1764,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1767,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1771,1
    - Dst: ctgGetTbTag
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1771,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1763
    functionDepth: 8
    functionLinenumber: 1763
    functionLinenumberEnd: 1776
    functionName: catalogGetTableTag
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbTag
    - CTG_ERR_JRET
    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:1780,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1783,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1787,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1787,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1789,1
    - Dst: ctgGetTbCfg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1789,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableCfg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1779
    functionDepth: 12
    functionLinenumber: 1779
    functionLinenumberEnd: 1794
    functionName: catalogRefreshGetTableCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgRemoveTbMeta
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - CTG_ERR_JRET
    - ctgGetTbCfg
    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:1797,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1800,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1803,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1806,1
    - Dst: ctgGetUdfInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1806,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1810,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - funcName
    - pInfo
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1796
    functionDepth: 7
    functionLinenumber: 1796
    functionLinenumberEnd: 1811
    functionName: catalogGetUdfInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgGetUdfInfoFromMnode
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - CTG_ERR_JRET
    - CTG_CACHE_NHIT_INC
    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:1814,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1817,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1821,1
    - Dst: ctgChkAuth
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1821,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pAuth
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SUserAuthInfo*
    - SUserAuthRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1813
    functionDepth: 9
    functionLinenumber: 1813
    functionLinenumberEnd: 1826
    functionName: catalogChkAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgChkAuth
    - CTG_ERR_JRET
    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:1829,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1832,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1836,1
    - Dst: ctgChkAuth
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1836,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pAuth
    - pRes
    - exists
    argTypes:
    - SCatalog*
    - SUserAuthInfo*
    - SUserAuthRes*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1828
    functionDepth: 9
    functionLinenumber: 1828
    functionLinenumberEnd: 1841
    functionName: catalogChkAuthFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgChkAuth
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogChkAuthFromCache(SCatalog* pCtg, SUserAuthInfo *pAuth,        SUserAuthRes*
      pRes, bool* exists)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1845,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1848,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1851,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1854,1
    - Dst: ctgGetSvrVerFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1854,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pVersion
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1844
    functionDepth: 7
    functionLinenumber: 1844
    functionLinenumberEnd: 1859
    functionName: catalogGetServerVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgGetSvrVerFromMnode
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - CTG_ERR_JRET
    - CTG_CACHE_NHIT_INC
    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:1862,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1865,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1868,1
    - Dst: ctgUpdateUserEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCtg
    - pAuth
    argTypes:
    - SCatalog*
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1861
    functionDepth: 3
    functionLinenumber: 1861
    functionLinenumberEnd: 1869
    functionName: catalogUpdateUserAuthInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgUpdateUserEnqueue
    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:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 1873
    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:1876,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1878,1
    - Dst: ctgRemoveViewMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1878,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: 1879
      start: 1875
    functionDepth: 4
    functionLinenumber: 1875
    functionLinenumberEnd: 1879
    functionName: catalogRemoveViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgRemoveViewMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogRemoveViewMeta(SCatalog* pCtg, const char* dbFName,
      uint64_t dbId, const char* viewName, uint64_t viewId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1883,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1886,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1889,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1890,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1892,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1893,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCtg
    - pVer
    argTypes:
    - SCatalog*
    - SDynViewVersion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1882
    functionDepth: 1
    functionLinenumber: 1882
    functionLinenumberEnd: 1896
    functionName: catalogUpdateDynViewVer
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgDebug
    - atomic_store_64
    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:1899,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1902,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1903,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1907,1
    - Dst: ctgUpdateViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1907,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1898
    functionDepth: 4
    functionLinenumber: 1898
    functionLinenumberEnd: 1912
    functionName: catalogUpdateViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgUpdateViewMetaToCache
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - tFreeSViewMetaRsp
    - 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:1916,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1919,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1923,1
    - Dst: ctgUpdateViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1923,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1915
    functionDepth: 4
    functionLinenumber: 1915
    functionLinenumberEnd: 1928
    functionName: catalogAsyncUpdateViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgUpdateViewMetaToCache
    - CTG_ERR_JRET
    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:1932,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pViewName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1931
    functionDepth: 1
    functionLinenumber: 1931
    functionLinenumberEnd: 1935
    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:1938,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1940,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1944,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1944,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCtg
    - ppTsma
    - tsmaVersion
    argTypes:
    - SCatalog*
    - STableTSMAInfo**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1937
    functionDepth: 3
    functionLinenumber: 1937
    functionLinenumberEnd: 1949
    functionName: catalogAsyncUpdateTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgUpdateTbTSMAEnqueue
    - CTG_ERR_JRET
    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:1952,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1954,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1958,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1958,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtg
    - pTsma
    argTypes:
    - SCatalog*
    - STableTSMAInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1951
    functionDepth: 3
    functionLinenumber: 1951
    functionLinenumberEnd: 1963
    functionName: catalogUpdateTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgUpdateTbTSMAEnqueue
    - CTG_ERR_JRET
    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:1966,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1970,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1977,1
    - Dst: ctgDropTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1977,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pCtg
    - pTsma
    argTypes:
    - SCatalog*
    - STableTSMAInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1965
    functionDepth: 3
    functionLinenumber: 1965
    functionLinenumberEnd: 1982
    functionName: catalogRemoveTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgDropTbTSMAEnqueue
    - CTG_ERR_JRET
    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:1985,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1988,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1992,1
    - Dst: ctgGetTbTsmas
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1992,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1996,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1984
    functionDepth: 8
    functionLinenumber: 1984
    functionLinenumberEnd: 1997
    functionName: catalogGetTableTsmas
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTbTsmas
    - CTG_ERR_JRET
    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:2001,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2004,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2008,1
    - Dst: ctgGetTsma
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2008,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTsmaName
    - pTsma
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableTSMAInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2000
    functionDepth: 8
    functionLinenumber: 2000
    functionLinenumberEnd: 2013
    functionName: catalogGetTsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgGetTsma
    - CTG_ERR_JRET
    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:2016,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2019,1
    - Dst: ctgGetRsmaMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2024,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2028,1
    - Dst: tFreeRsmaInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2038,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2041,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - name
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SRsmaInfoRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2015
    functionDepth: 7
    functionLinenumber: 2015
    functionLinenumberEnd: 2042
    functionName: catalogGetRsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tFreeRsmaInfoRsp
    - ctgGetRsmaMetaFromMnode
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetRsma(SCatalog* pCtg, SRequestConnInfo* pConn, const
      char* name, SRsmaInfoRsp** pRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2045,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2047,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2050,1
    - Dst: ctgUpdateDbTsmaVersionEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2050,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2053,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: 2054
      start: 2044
    functionDepth: 3
    functionLinenumber: 2044
    functionLinenumberEnd: 2054
    functionName: catalogAsyncUpdateDbTsmaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    - ctgUpdateDbTsmaVersionEnqueue
    - CTG_ERR_JRET
    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:2057,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2059,1
    - Dst: CTG_API_LEAVE_NOLOCK
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2062,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2065,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2067,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2067,1
    - Dst: CTG_API_LEAVE_NOLOCK
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2056
    functionDepth: 3
    functionLinenumber: 2056
    functionLinenumberEnd: 2070
    functionName: catalogClearCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - CTG_API_ENTER_NOLOCK
    - qInfo
    - ctgClearCacheEnqueue
    - CTG_API_LEAVE_NOLOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogClearCache(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2073,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2075,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2080,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2090,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2093,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2097,1
    - Dst: taosCheckCurrentInDll
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2099,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2100,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2101,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2104,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2072
    functionDepth: 3
    functionLinenumber: 2072
    functionLinenumberEnd: 2108
    functionName: catalogDestroy
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 30
    functionsReached:
    - atomic_store_8
    - qDebug
    - taosTmrStop
    - atomic_load_8
    - taosHashCleanup
    - qInfo
    - ctgClearCacheEnqueue
    - taosThreadJoin
    - taosCheckCurrentInDll
    - taosTmrCleanUp
    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:
    - taosArrayGet
    - CTG_LOCK
    - taosArrayGetSize
    - CTG_UNLOCK
    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:
    - taosMemoryMalloc
    - taosArrayPush
    - TAOS_MEMCPY
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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
    - taosMemoryCalloc
    - taosArrayInit
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - taosArrayGetSize
    - CTG_ERR_RET
    - qError
    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
    - TAOS_MEMCPY
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - 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
    - TAOS_MEMCPY
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - 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
    - TAOS_MEMCPY
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - 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:
    - taosMemoryMalloc
    - taosArrayPush
    - TAOS_MEMCPY
    - qDebug
    - ctgFreeTask
    - tNameGetFullDbName
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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
    - taosMemoryCalloc
    - taosArrayInit
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - taosArrayGetSize
    - CTG_ERR_RET
    - qError
    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
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    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
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    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
    - tstrncpy
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - 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
    - tstrncpy
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - 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:381,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:382,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:383,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:386,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 364
    functionDepth: 6
    functionLinenumber: 364
    functionLinenumberEnd: 390
    functionName: ctgInitGetUserTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TAOS_MEMCPY
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - 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:399,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:400,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:401,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:404,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 392
    functionDepth: 6
    functionLinenumber: 392
    functionLinenumberEnd: 408
    functionName: ctgInitGetSvrVerTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    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:418,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:420,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:424,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:426,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:427,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:430,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:432,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:433,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:434,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:437,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 441
    functionName: ctgInitGetTbIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - TAOS_MEMCPY
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:451,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:453,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:457,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:459,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:460,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:463,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:465,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:466,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:467,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:470,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 443
    functionDepth: 6
    functionLinenumber: 443
    functionLinenumberEnd: 474
    functionName: ctgInitGetTbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - TAOS_MEMCPY
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:484,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:486,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:490,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:492,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:493,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:496,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:498,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:499,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:500,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:503,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 476
    functionDepth: 6
    functionLinenumber: 476
    functionLinenumberEnd: 507
    functionName: ctgInitGetTbTagTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - TAOS_MEMCPY
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - CTG_ERR_RET
    - taosMemoryCalloc
    - taosMemoryFree
    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:516,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:518,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:524,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:526,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:528,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:529,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:532,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:533,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:534,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:537,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:538,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 509
    functionDepth: 6
    functionLinenumber: 509
    functionLinenumberEnd: 541
    functionName: ctgInitGetViewsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryCalloc
    - taosArrayInit
    - qDebug
    - ctgFreeTask
    - ctgTaskTypeStr
    - taosArrayGetSize
    - CTG_ERR_RET
    - qError
    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:549,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:551,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:556,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:558,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:560,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:561,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:564,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:565,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 543
    functionDepth: 6
    functionLinenumber: 543
    functionLinenumberEnd: 570
    functionName: ctgInitGetTbTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryCalloc
    - taosArrayInit
    - ctgFreeTask
    - CTG_ERR_RET
    - qError
    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:578,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:580,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:584,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:586,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:588,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:589,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:592,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:593,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 572
    functionDepth: 6
    functionLinenumber: 572
    functionLinenumberEnd: 598
    functionName: ctgInitGetTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryCalloc
    - taosArrayInit
    - ctgFreeTask
    - CTG_ERR_RET
    - qError
    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:606,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:608,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:611,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:613,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:615,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:617,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:618,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:621,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:622,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 600
    functionDepth: 6
    functionLinenumber: 600
    functionLinenumberEnd: 627
    functionName: ctgInitGetTbNamesTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - ctgFreeTask
    - taosInitRWLatch
    - CTG_ERR_RET
    - qError
    - 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:635,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:637,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:643,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:644,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 629
    functionDepth: 6
    functionLinenumber: 629
    functionLinenumberEnd: 649
    functionName: ctgInitGetVStbRefDbsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - ctgFreeTask
    - CTG_ERR_RET
    - taosArrayPush
    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:653,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:655,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:657,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:658,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:661,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:663,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:664,1
    - Dst: ctgDropViewMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCtg
    - pReq
    argTypes:
    - SCatalog*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 669
    functionName: ctgHandleForceUpdateView
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgDropViewMetaEnqueue
    - taosArrayGet
    - taosArrayGetSize
    - CTG_ERR_RET
    - qError
    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:673,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:673,1
    - 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: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:676,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:677,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:678,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:682,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:684,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:685,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:687,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:687,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:687,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:691,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:693,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:694,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:696,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:696,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:696,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:700,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:702,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:703,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:705,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:705,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:705,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:708,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:710,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:712,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:713,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:715,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:715,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:715,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:717,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:719,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:721,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:722,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:724,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:724,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:728,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:730,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:732,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:733,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:736,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:736,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:736,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:738,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:740,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:742,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:743,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:745,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:745,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:749,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:751,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:753,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:754,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:756,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:756,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:756,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:760,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:762,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:763,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:767,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:768,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:768,1
    - Dst: strlen
      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: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:773,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:775,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:776,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:780,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:781,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:781,1
    - Dst: strlen
      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: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:786,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:788,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:789,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:793,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:794,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:794,1
    - Dst: strlen
      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: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:798,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:800,1
    - Dst: ctgDropDbVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:800,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:801,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:804,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:810,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:812,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:813,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:815,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:815,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:818,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:820,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:821,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:823,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:823,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:826,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:828,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:828,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:829,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:832,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:836,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:838,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:839,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:841,1
    - Dst: ctgDropTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:841,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:845,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:847,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:848,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:851,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:852,1
    - Dst: ctgDropTSMAForTbEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:852,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:857,1
    - Dst: ctgHandleForceUpdateView
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:857,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:861,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:862,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: 865
      start: 671
    functionDepth: 8
    functionLinenumber: 671
    functionLinenumberEnd: 865
    functionName: ctgHandleForceUpdate
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - strlen
    - ctgDropDbVgroupEnqueue
    - taosHashInit
    - taosArrayGet
    - taosHashPut
    - ctgRemoveTbMeta
    - taosHashIterate
    - ctgDropTSMAForTbEnqueue
    - tNameGetFullDbName
    - ctgHandleForceUpdateView
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - taosGetDefaultHashFunction
    - qError
    - taosHashCleanup
    - ctgDropTbIndexEnqueue
    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:869,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:871,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:872,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:880,1
    CyclomaticComplexity: 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: 883
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 883
    functionName: ctgInitTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - CTG_LOCK
    - CTG_UNLOCK
    - atomic_fetch_add_32
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitTask(SCtgJob* pJob, CTG_TASK_TYPE type, void* param,
      int32_t* taskId)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:888,1
    - Dst: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:890,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:891,1
    - Dst: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:892,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:893,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:897,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c: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: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:904,1
    - Dst: taosArrayGetSize
      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: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:907,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:908,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:923,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:925,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:926,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:961,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:961,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:963,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:964,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:968,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:970,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:971,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:975,1
    - Dst: ctgHandleForceUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:975,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:979,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:981,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:982,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:984,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:984,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:988,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:990,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:991,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:993,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:993,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:997,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:999,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1000,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1002,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1002,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1007,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1008,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1008,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1012,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1012,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1018,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1019,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1019,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1023,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1023,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1028,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1030,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1031,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1033,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1033,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1037,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1039,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1040,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1042,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1042,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1046,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1048,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1049,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1051,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1051,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1055,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1057,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1058,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1060,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1060,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1064,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1066,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1067,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1069,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1069,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1073,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1075,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1076,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1078,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1078,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1083,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1083,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1086,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1086,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1089,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1089,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1092,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1092,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1095,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1095,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1098,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1098,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1101,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1101,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1107,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1108,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1110,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1110,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1113,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1115,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1115,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1116,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1119,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1121,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1121,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1122,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1125,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1126,1
    - Dst: ctgFreeJob
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1133,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1136,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: 1137
      start: 885
    functionDepth: 9
    functionLinenumber: 885
    functionLinenumberEnd: 1137
    functionName: ctgInitJob
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 1
    functionsReached:
    - taosArrayInit
    - tstrerror
    - CTG_ERR_RET
    - taosAddRef
    - CTG_ERR_JRET
    - taosGetTimestampUs
    - ctgHandleForceUpdate
    - ctgError
    - taosArrayGet
    - taosAcquireRef
    - CTG_RET
    - taosMemoryCalloc
    - qError
    - ctgInitTask
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - ctgGetTablesReqNum
    - ctgFreeJob
    - qDebug
    - taosHashInit
    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:1146,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1148,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1153,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1158
    functionName: ctgDumpTbMetaRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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: 1170
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1170
    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: 1182
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1182
    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:1191,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1193,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1198,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1203
    functionName: ctgDumpDbVgRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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:1212,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1214,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1219,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1224
    functionName: ctgDumpTbHashRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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: 1236
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1236
    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:1245,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1247,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1250,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1251,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1255,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1260,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1265
    functionName: ctgDumpTbIndexRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - CTG_ERR_RET
    - atomic_val_compare_exchange_ptr
    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:1274,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1276,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1279,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1280,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1284,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1289,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1294
    functionName: ctgDumpTbCfgRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - CTG_ERR_RET
    - atomic_val_compare_exchange_ptr
    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:1303,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1305,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1308,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1309,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1313,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1318,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1323
    functionName: ctgDumpTbTagRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - CTG_ERR_RET
    - atomic_val_compare_exchange_ptr
    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:1332,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1334,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1339,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1344
    functionName: ctgDumpIndexRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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:1353,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1355,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1360,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1365
    functionName: ctgDumpQnodeRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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:1374,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1376,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1381,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1386
    functionName: ctgDumpDnodeRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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:1395,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1397,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1402,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1407
    functionName: ctgDumpDbCfgRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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:1416,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1418,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1423,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1428
    functionName: ctgDumpDbInfoRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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:1437,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1439,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1444,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1449
    functionName: ctgDumpUdfRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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:1458,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1460,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1465,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1470
    functionName: ctgDumpUserRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayInit
    - taosArrayPush
    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:1479,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1489
    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: 1501
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1501
    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:1513,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1515,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1518,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1519,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1523,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1528,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1533
    functionName: ctgDumpVStbRefDbsRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - CTG_ERR_RET
    - atomic_val_compare_exchange_ptr
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpVStbRefDbsRes(SCtgTask* pTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1538,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1540,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1542,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1543,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1545,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1546,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1557,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1560,1
    - Dst: SCtgTask*::subRes::fp
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1560,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1565,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1568
    functionName: ctgCallSubCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - CTG_GET_TASK_MSGCTX
    - taosArrayGetP
    - CTG_LOCK
    - taosArrayGetSize
    - CTG_ERR_JRET
    - CTG_RET
    - qError
    - SCtgTask*::subRes::fp
    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:1573,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1573,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1577,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1580,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1582,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1587
    functionName: ctgCallUserCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - qError
    - qDebug
    - tstrerror
    - taosRemoveRef
    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:1590,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1592,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SCtgJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1595
    functionName: ctgUpdateJobErrCode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - NEED_CLIENT_REFRESH_VG_ERROR
    - atomic_store_32
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: void
    signature: void ctgUpdateJobErrCode(SCtgJob* pJob, int32_t errCode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1605,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1606,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1611,1
    - Dst: ctgCallSubCb
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1611,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1613,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1614,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1615,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1616,1
    - Dst: ctgUpdateJobErrCode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1618,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1622,1
    - Dst: ctgMakeAsyncRes
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1622,1
    - Dst: ctgUpdateJobErrCode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1626,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1628,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pTask
    - rspCode
    argTypes:
    - SCtgTask*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1597
    functionDepth: 2
    functionLinenumber: 1597
    functionLinenumberEnd: 1634
    functionName: ctgHandleTaskEnd
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_32
    - ctgCallSubCb
    - tstrerror
    - ctgUpdateJobErrCode
    - taosAsyncExec
    - CTG_RET
    - qDebug
    - taosArrayGetSize
    - CTG_ERR_JRET
    - ctgMakeAsyncRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleTaskEnd(SCtgTask* pTask, int32_t rspCode)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1642,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1649,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1650,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1653,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1653,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1660,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1660,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1662,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1662,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1665,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1665,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1672,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1673,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1675,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1677,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1677,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1680,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1680,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1682,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1682,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1685,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1685,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1687,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1692,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1692,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1695,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1695,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1701,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1701,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1702,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1704,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1708,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1710,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1718,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1719,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1719,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1720,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1721,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1724,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1728,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1729,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1729,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1731,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1733,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1733,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1734,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1734,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1736,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1738,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1743,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1744,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1744,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1751,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1752,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1752,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1758,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1759,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1764,1
    - Dst: ctgUpdateTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1764,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1766,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1767,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1770,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1773,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1775,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1778,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1779,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1781,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1783,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1784,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1785,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1790,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1813,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1818,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1822,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1823,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1826,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1832,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 117
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1636
    functionDepth: 8
    functionLinenumber: 1636
    functionLinenumberEnd: 1833
    functionName: ctgHandleGetTbMetaRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_IS_META_TABLE
    - CTG_FLAG_IS_STB
    - tstrerror
    - ctgAcquireVgInfoFromCache
    - withExtSchema
    - taosMemoryRealloc
    - ctgReadTbMetaFromCache
    - ctgRemoveTbMetaFromCache
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - ctgError
    - ctgGetVgInfoFromHashValue
    - ctgGetDBVgInfoFromMnode
    - TAOS_MEMCPY
    - ctgTaskError
    - CTG_RET
    - TSWAP
    - ctgUpdateTbMetaToCache
    - tstrncpy
    - CTG_IS_META_BOTH
    - ctgGetTbMetaFromVnode
    - taosMemoryFreeClear
    - tNameGetFullDbName
    - ctgGetTbMetaFromMnodeImpl
    - tListLen
    - ctgGetTbMetaFromMnode
    - CTG_META_SIZE
    - TAOS_STRCPY
    - ctgReleaseVgInfoToCache
    - CTG_FLAG_IS_FORCE_UPDATE
    - tNameGetTableName
    - CTG_GET_TASK_MSGCTX
    - ctgHandleTaskEnd
    - CTG_IS_META_NULL
    - CTG_IS_META_VBOTH
    - ctgDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbMetaRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1841,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1846,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1850,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1852,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1852,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1853,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1859,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1859,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1861,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1861,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1868,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1868,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1870,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1870,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1873,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1873,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1880,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1881,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1883,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1885,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1885,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1888,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1888,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1890,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1890,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1893,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1893,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1895,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1900,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1900,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1903,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1903,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1909,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1909,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1910,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1912,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1916,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1918,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1926,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1927,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1927,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1928,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1929,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1932,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1936,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1937,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1937,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1939,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1941,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1941,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1942,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1942,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1944,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1946,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1952,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1952,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1954,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1954,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1956,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1958,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1958,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1959,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1960,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1965,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1966,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1966,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1972,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1973,1
    - Dst: ctgUpdateTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1978,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1980,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1981,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1984,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1987,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1989,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1992,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1993,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1995,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1997,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1998,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1999,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2004,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2026,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2028,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2029,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2030,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2037,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2038,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2045,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2049,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2051,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2052,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2056,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2057,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2058,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2059,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2066,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2072,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 148
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 1835
    functionDepth: 8
    functionLinenumber: 1835
    functionLinenumberEnd: 2073
    functionName: ctgHandleGetTbMetasRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_IS_META_TABLE
    - CTG_FLAG_IS_STB
    - tstrerror
    - ctgAcquireVgInfoFromCache
    - withExtSchema
    - taosMemoryRealloc
    - ctgReadTbMetaFromCache
    - ctgRemoveTbMetaFromCache
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - ctgError
    - taosArrayGet
    - ctgGetVgInfoFromHashValue
    - ctgGetDBVgInfoFromMnode
    - TAOS_MEMCPY
    - ctgTaskError
    - CTG_RET
    - TSWAP
    - ctgUpdateTbMetaToCache
    - tstrncpy
    - CTG_IS_META_BOTH
    - atomic_sub_fetch_32
    - ctgGetTbMetaFromVnode
    - taosMemoryFreeClear
    - tNameGetFullDbName
    - taosArrayGetSize
    - ctgGetTbMetaFromMnodeImpl
    - tListLen
    - ctgGetTbMetaFromMnode
    - CTG_META_SIZE
    - TAOS_STRCPY
    - ctgReleaseVgInfoToCache
    - CTG_FLAG_IS_FORCE_UPDATE
    - tNameGetTableName
    - CTG_GET_TASK_MSGCTX
    - ctgHandleTaskEnd
    - ctgTaskDebug
    - ctgGetFetchName
    - CTG_IS_META_NULL
    - CTG_IS_META_VBOTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbMetasRsp(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:2081,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2087,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2088,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2091,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2093,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2093,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2094,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2100,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2100,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2103,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2107,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2107,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2112,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2112,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2114,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2115,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2117,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2118,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2119,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2122,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2124,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2125,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2126,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2128,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2129,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2131,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2132,1
    - Dst: taosArrayDestroy
      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: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2138,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2145,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2146,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2148,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2150,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2150,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2153,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2153,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2155,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2155,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2158,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2158,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2160,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2165,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2165,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2168,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2168,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2174,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2174,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2175,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2177,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2181,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2183,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2191,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2192,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2192,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2193,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2199,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2200,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2204,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2205,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2208,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2211,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2213,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2216,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2217,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2219,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2221,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2222,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2223,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2228,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2231,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2233,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2234,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2235,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2241,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2244,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2245,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2248,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2249,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2255,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2259,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2261,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2262,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2264,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2265,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2275,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2276,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2282,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2289,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2292,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 155
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2075
    functionDepth: 7
    functionLinenumber: 2075
    functionLinenumberEnd: 2293
    functionName: ctgHandleGetTbNamesRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - CTG_FLAG_IS_STB
    - tstrerror
    - ctgAcquireVgInfoFromCache
    - withExtSchema
    - taosMemoryRealloc
    - ctgRemoveTbMetaFromCache
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - TARRAY_GET_ELEM
    - atomic_add_fetch_32
    - ctgError
    - taosArrayGet
    - ctgGetVgInfoFromHashValue
    - ctgGetDBVgInfoFromMnode
    - TAOS_MEMCPY
    - ctgTaskError
    - CTG_RET
    - TSWAP
    - tstrncpy
    - CTG_IS_META_BOTH
    - atomic_sub_fetch_32
    - ctgGetTbMetaFromVnode
    - taosMemoryFreeClear
    - tNameGetFullDbName
    - taosArrayGetSize
    - ctgMakeVgArray
    - tListLen
    - CTG_META_SIZE
    - ctgReleaseVgInfoToCache
    - tNameGetTableName
    - CTG_GET_TASK_MSGCTX
    - taosWUnLockLatch
    - ctgHandleTaskEnd
    - ctgTaskDebug
    - taosWLockLatch
    - ctgGetFetchName
    - CTG_IS_META_NULL
    - CTG_IS_META_VBOTH
    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:2302,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2302,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2309,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2309,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2311,1
    - Dst: cloneDbVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2311,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2312,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2312,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2317,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2318,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2323,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2328,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: 2329
      start: 2295
    functionDepth: 3
    functionLinenumber: 2295
    functionLinenumberEnd: 2329
    functionName: ctgHandleGetDbVgRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - ctgGenerateVgList
    - CTG_ERR_JRET
    - cloneDbVgInfo
    - CTG_RET
    - ctgUpdateVgroupEnqueue
    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:2338,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2338,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2344,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2346,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2349,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2349,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2352,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2352,1
    - Dst: ctgError
      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: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2364,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2369,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: 2370
      start: 2331
    functionDepth: 3
    functionLinenumber: 2331
    functionLinenumberEnd: 2370
    functionName: ctgHandleGetTbHashRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ctgError
    - ctgGetVgInfoFromHashValue
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - ctgUpdateVgroupEnqueue
    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:2378,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2380,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2381,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2384,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2386,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2386,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2387,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2390,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2390,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2396,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2398,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2399,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2400,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2403,1
    - Dst: ctgGetVgInfosFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2403,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2406,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2406,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2412,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2413,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2416,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2417,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2424,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2426,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2427,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2429,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:2434,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2441,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2442,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2449,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2455,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: 2456
      start: 2372
    functionDepth: 3
    functionLinenumber: 2372
    functionLinenumberEnd: 2456
    functionName: ctgHandleGetTbHashsRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - atomic_sub_fetch_32
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - ctgGetVgInfosFromHashValue
    - ctgProcessRspMsg
    - taosArrayGetSize
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - TSWAP
    - ctgUpdateVgroupEnqueue
    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:2463,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2463,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2467,1
    - Dst: ctgCloneTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2467,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2470,1
    - Dst: ctgUpdateTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2470,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2478,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2483,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: 2484
      start: 2458
    functionDepth: 3
    functionLinenumber: 2458
    functionLinenumberEnd: 2484
    functionName: ctgHandleGetTbIndexRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgUpdateTbIndexEnqueue
    - ctgCloneTableIndex
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    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:2491,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2491,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2493,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2497,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2502,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: 2503
      start: 2486
    functionDepth: 3
    functionLinenumber: 2486
    functionLinenumberEnd: 2503
    functionName: ctgHandleGetTbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - TSWAP
    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:2511,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2511,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2515,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2516,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2522,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2523,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2525,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2529,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2531,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2532,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2538,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2540,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2541,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2542,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2545,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2545,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2552,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2557,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: 2558
      start: 2505
    functionDepth: 3
    functionLinenumber: 2505
    functionLinenumberEnd: 2558
    functionName: ctgHandleGetTbTagRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - tTagToValArray
    - taosArrayDestroy
    - strlen
    - ctgError
    - taosArrayInit
    - taosArrayPush
    - CTG_ERR_JRET
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - tTagIsJson
    - CTG_RET
    - taosMemoryFree
    - parseTagDatatoJson
    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:2566,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2566,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2569,1
    - Dst: ctgCloneDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2569,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2571,1
    - Dst: ctgUpdateDbCfgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2571,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2573,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2577,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2582,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: 2583
      start: 2560
    functionDepth: 3
    functionLinenumber: 2560
    functionLinenumberEnd: 2583
    functionName: ctgHandleGetDbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgUpdateDbCfgEnqueue
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - TSWAP
    - 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:2586,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: 2587
      start: 2585
    functionDepth: 1
    functionLinenumber: 2585
    functionLinenumberEnd: 2587
    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:2593,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2593,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2595,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: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2589
    functionDepth: 3
    functionLinenumber: 2589
    functionLinenumberEnd: 2605
    functionName: ctgHandleGetQnodeRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - TSWAP
    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:2612,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2612,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2614,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2618,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2623,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: 2624
      start: 2607
    functionDepth: 3
    functionLinenumber: 2607
    functionLinenumberEnd: 2624
    functionName: ctgHandleGetDnodeRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - TSWAP
    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:2630,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2630,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2632,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2636,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2641,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: 2642
      start: 2626
    functionDepth: 3
    functionLinenumber: 2626
    functionLinenumberEnd: 2642
    functionName: ctgHandleGetIndexRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - TSWAP
    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:2648,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2648,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2650,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2654,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2659,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: 2660
      start: 2644
    functionDepth: 3
    functionLinenumber: 2644
    functionLinenumberEnd: 2660
    functionName: ctgHandleGetUdfRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - TSWAP
    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:2669,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2669,1
    - Dst: ctgUpdateUserEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2671,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2672,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2674,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2680,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2685,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: 2686
      start: 2662
    functionDepth: 3
    functionLinenumber: 2662
    functionLinenumberEnd: 2686
    functionName: ctgHandleGetUserRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - 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:2693,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2693,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2695,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2699,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2704,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: 2705
      start: 2688
    functionDepth: 3
    functionLinenumber: 2688
    functionLinenumberEnd: 2705
    functionName: ctgHandleGetSvrVerRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - TSWAP
    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:2712,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2714,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2718,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2719,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2723,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2723,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2724,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2731,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2731,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2733,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2733,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2736,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2738,1
    - Dst: dupViewMetaFromRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2741,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2743,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2744,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2745,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2748,1
    - Dst: ctgUpdateViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2749,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2750,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2753,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2755,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2756,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2757,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2762,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2763,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2770,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2772,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2773,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2778,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2779,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2781,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2782,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2784,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2785,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2792,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2798,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: 2799
      start: 2707
    functionDepth: 4
    functionLinenumber: 2707
    functionLinenumberEnd: 2799
    functionName: ctgHandleGetViewsRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - ctgFreeSViewMeta
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgError
    - taosArrayGet
    - ctgTaskError
    - dupViewMetaFromRsp
    - CTG_RET
    - TSWAP
    - taosMemoryCalloc
    - atomic_sub_fetch_32
    - taosMemoryFreeClear
    - taosArrayGetSize
    - CTG_GET_TASK_MSGCTX
    - ctgUpdateViewMetaToCache
    - ctgHandleTaskEnd
    - ctgTaskDebug
    - ctgGetFetchName
    - taosMemoryFree
    - ctgDebug
    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:2808,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2811,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2812,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2813,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2816,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2818,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2818,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2819,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2822,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2824,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2824,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2825,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2828,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2829,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2831,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2831,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2832,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2835,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2845,1
    - Dst: ctgGetStreamProgressFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2845,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - tReq
    - pTsmas
    argTypes:
    - SCtgTaskReq*
    - STableTSMAInfoRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2801
    functionDepth: 7
    functionLinenumber: 2801
    functionLinenumberEnd: 2853
    functionName: ctgTsmaFetchStreamProgress
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - taosGetTimestampMs
    - taosArrayGet
    - taosArrayGetP
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - CTG_RET
    - ctgGetStreamProgressFromMnode
    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:2861,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2863,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2864,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2867,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2869,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2869,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2870,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2873,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2875,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2875,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2876,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2880,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2880,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2885,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2886,1
    - Dst: ctgUpdateTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2886,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2892,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2894,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2894,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2895,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2901,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2902,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2907,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2909,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2911,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2911,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2912,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2916,1
    - Dst: ctgTbMetaExistInCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2916,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2918,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2919,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2919,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2925,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2926,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2935,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2936,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2940,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2945,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: 2946
      start: 2855
    functionDepth: 7
    functionLinenumber: 2855
    functionLinenumberEnd: 2946
    functionName: ctgHandleGetTSMARsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgUpdateTbMetaToCache
    - ctgError
    - tstrerror
    - CTG_RET
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - taosArrayGetP
    - ctgProcessRspMsg
    - taosArrayGetSize
    - CTG_ERR_RET
    - ctgGetTbMetaFromMnodeImpl
    - CTG_ERR_JRET
    - ctgTaskError
    - ctgTbMetaExistInCache
    - TSWAP
    - ctgHandleTaskEnd
    - CTG_IS_META_NULL
    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:2960,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2962,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2963,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2966,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2968,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2969,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2970,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2973,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2975,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2975,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2976,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2979,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2981,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2981,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2982,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2985,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2987,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2987,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2988,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2992,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2992,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3001,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3003,1
    - Dst: ctgTsmaFetchStreamProgress
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3003,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3006,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3007,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3016,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3016,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3022,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3024,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3024,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3025,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3032,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3033,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3036,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3039,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3041,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3042,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3043,1
    - Dst: tCloneTbTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3043,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3044,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3044,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3047,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3048,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3062,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3062,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3065,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3065,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3071,1
    - Dst: ctgTsmaFetchStreamProgress
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3071,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3076,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3077,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3088,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3089,1
    - Dst: ctgRemoveTbMetaFromCache
      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: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3096,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3099,1
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3099,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3104,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3105,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3111,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3114,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3118,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3122,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3124,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3124,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3131,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3132,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3142,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3144,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3145,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3151,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3157,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: 3158
      start: 2948
    functionDepth: 8
    functionLinenumber: 2948
    functionLinenumberEnd: 3158
    functionName: ctgHandleGetTbTSMARsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - ctgRemoveTbMetaFromCache
    - snprintf
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - atomic_add_fetch_32
    - ctgError
    - taosArrayGet
    - ctgGetVgInfoFromHashValue
    - tFreeAndClearTableTSMAInfo
    - ctgUpdateTbTSMAEnqueue
    - ctgTaskError
    - CTG_RET
    - TSWAP
    - atomic_sub_fetch_32
    - ctgGetTbMetaFromVnode
    - ctgGetTbTSMAFromMnode
    - taosArrayGetSize
    - tCloneTbTSMAInfo
    - ctgTsmaFetchStreamProgress
    - ctgReleaseVgInfoToCache
    - taosGetTimestampMs
    - CTG_GET_TASK_MSGCTX
    - qDebug
    - taosArrayGetP
    - TMAX
    - ctgHandleTaskEnd
    - taosHashCleanup
    - CTG_IS_META_NULL
    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:3166,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3168,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3170,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3175,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3180,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3186,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3191,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: 3192
      start: 3160
    functionDepth: 3
    functionLinenumber: 3160
    functionLinenumberEnd: 3192
    functionName: ctgHandleGetVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_32
    - taosArrayGet
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - atomic_fetch_add_32
    - CTG_RET
    - TSWAP
    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:3200,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3201,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3201,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3203,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3203,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3206,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3207,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3207,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3210,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3210,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3215,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3217,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3217,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3220,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3220,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3222,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3222,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3225,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3225,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3229,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3229,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3232,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3232,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3238,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3241,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: 3242
      start: 3194
    functionDepth: 8
    functionLinenumber: 3194
    functionLinenumberEnd: 3242
    functionName: ctgAsyncRefreshTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgReleaseVgInfoToCache
    - tstrncpy
    - ctgGetTbMetaFromMnode
    - CTG_FLAG_IS_STB
    - tListLen
    - ctgAcquireVgInfoFromCache
    - tNameGetTableName
    - ctgGetVgInfoFromHashValue
    - CTG_FLAG_IS_SYS_DB
    - ctgGetTbMetaFromVnode
    - ctgGetDBVgInfoFromMnode
    - tNameGetFullDbName
    - CTG_ERR_RET
    - ctgGetTbMetaFromMnodeImpl
    - CTG_ERR_JRET
    - CTG_RET
    - ctgDebug
    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:3248,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3250,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3251,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3258,1
    - Dst: ctgGetTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3258,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3260,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3260,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3268,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3271
      start: 3244
    functionDepth: 9
    functionLinenumber: 3244
    functionLinenumberEnd: 3271
    functionName: ctgLaunchGetTbMetaTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - CTG_GET_TASK_MSGCTX
    - CTG_ERR_RET
    - ctgGetTbMetaFromCache
    - ctgHandleTaskEnd
    - ctgAsyncRefreshTbMeta
    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:3281,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3285,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3287,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3288,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3292,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3293,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3294,1
    - Dst: ctgGetTbMetasFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3294,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3296,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3299,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3301,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3303,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3303,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3307,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3309,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3310,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3314,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3316,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3317,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3320,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3320,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3322,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3324,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3325,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3336,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3273
    functionDepth: 9
    functionLinenumber: 3273
    functionLinenumberEnd: 3340
    functionName: ctgLaunchGetTbMetasTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - ctgGetTbMetasFromCache
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - taosArrayGetSize
    - CTG_ERR_RET
    - ctgHandleTaskEnd
    - taosArrayInit_s
    - ctgAsyncRefreshTbMeta
    - TSWAP
    - ctgGetFetchName
    - ctgDebug
    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:3349,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3351,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3352,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3359,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3359,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3363,1
    - Dst: ctgBuildUseDbOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3363,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3366,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3366,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3368,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3371,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3371,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3375,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3375,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3381,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3381,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3387,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3391
      start: 3342
    functionDepth: 7
    functionLinenumber: 3342
    functionLinenumberEnd: 3391
    functionName: ctgLaunchGetDbVgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgReleaseVgInfoToCache
    - tstrncpy
    - ctgError
    - ctgAcquireVgInfoFromCache
    - ctgBuildUseDbOutput
    - CTG_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetDBVgInfoFromMnode
    - CTG_ERR_RET
    - ctgGenerateVgList
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - tListLen
    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:3400,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3402,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3403,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3410,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3410,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3412,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3414,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3416,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3416,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3419,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3422,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3422,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3426,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3426,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3432,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3432,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3438,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3442
      start: 3393
    functionDepth: 7
    functionLinenumber: 3393
    functionLinenumberEnd: 3442
    functionName: ctgLaunchGetTbHashTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ctgReleaseVgInfoToCache
    - tstrncpy
    - ctgError
    - ctgAcquireVgInfoFromCache
    - CTG_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetVgInfoFromHashValue
    - ctgGetDBVgInfoFromMnode
    - CTG_ERR_RET
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - tListLen
    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:3450,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3456,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3458,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3459,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3462,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3462,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3468,1
    - Dst: ctgGetVgInfosFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3468,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3471,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3474,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3476,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3476,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3478,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3479,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3481,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3482,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3488,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3490,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3492,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3492,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3496,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3498,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3499,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_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3506,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3509,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3511,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3512,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3515,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3517,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3518,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3526,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3533,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3533,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3539,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3543
      start: 3444
    functionDepth: 7
    functionLinenumber: 3444
    functionLinenumberEnd: 3543
    functionName: ctgLaunchGetTbHashsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - ctgReleaseVgInfoToCache
    - taosArrayPush
    - ctgError
    - ctgAcquireVgInfoFromCache
    - ctgAddFetch
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - ctgGetDBVgInfoFromMnode
    - ctgGetVgInfosFromHashValue
    - taosArrayGetSize
    - CTG_ERR_RET
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - taosArrayInit_s
    - TSWAP
    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:3552,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3554,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3555,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3562,1
    - Dst: ctgReadTbIndexFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3562,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3566,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3566,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3570,1
    - Dst: ctgGetTbIndexFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3572
      start: 3545
    functionDepth: 7
    functionLinenumber: 3545
    functionLinenumberEnd: 3572
    functionName: ctgLaunchGetTbIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - ctgGetTbIndexFromMnode
    - CTG_GET_TASK_MSGCTX
    - ctgReadTbIndexFromCache
    - ctgHandleTaskEnd
    - CTG_ERR_RET
    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:3582,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3584,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3586,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3587,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3594,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3597,1
    - Dst: ctgReadTbTypeFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3597,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3602,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3602,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3608,1
    - Dst: ctgGetTableCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3608,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3611,1
    - Dst: ctgGetTbHashVgroupFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3611,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3613,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3613,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3618,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3618,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3626,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3632,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3633
      start: 3574
    functionDepth: 7
    functionLinenumber: 3574
    functionLinenumberEnd: 3633
    functionName: ctgLaunchGetTbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - ctgReadTbTypeFromCache
    - CTG_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetTbHashVgroupFromCache
    - ctgGetTableCfgFromVnode
    - tNameGetFullDbName
    - CTG_ERR_RET
    - ctgLaunchSubTask
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - ctgGetTableCfgFromMnode
    - CTG_CACHE_NHIT_INC
    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:3643,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3645,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3647,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3648,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3656,1
    - Dst: ctgGetTbHashVgroupFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3656,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3658,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3658,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3663,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:3672,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3678,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3679
      start: 3635
    functionDepth: 7
    functionLinenumber: 3635
    functionLinenumberEnd: 3679
    functionName: ctgLaunchGetTbTagTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - CTG_GET_TASK_MSGCTX
    - ctgGetTbHashVgroupFromCache
    - ctgGetTableCfgFromVnode
    - tNameGetFullDbName
    - CTG_ERR_RET
    - ctgLaunchSubTask
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - CTG_RET
    - CTG_CACHE_NHIT_INC
    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:3685,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3687,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3688,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3695,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3696,1
    - Dst: ctgGetQnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3699
      start: 3681
    functionDepth: 7
    functionLinenumber: 3681
    functionLinenumberEnd: 3699
    functionName: ctgLaunchGetQnodeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - CTG_GET_TASK_MSGCTX
    - CTG_ERR_RET
    - ctgGetQnodeListFromMnode
    - CTG_CACHE_NHIT_INC
    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:3705,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3707,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3708,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3715,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3716,1
    - Dst: ctgGetDnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3719
      start: 3701
    functionDepth: 7
    functionLinenumber: 3701
    functionLinenumberEnd: 3719
    functionName: ctgLaunchGetDnodeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - CTG_GET_TASK_MSGCTX
    - CTG_ERR_RET
    - ctgGetDnodeListFromMnode
    - CTG_CACHE_NHIT_INC
    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:3726,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3728,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3729,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3737,1
    - Dst: ctgReadDBCfgFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3737,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3740,1
    - Dst: ctgGetDBCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3740,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3742,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3744,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3747,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3748,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3752
      start: 3721
    functionDepth: 7
    functionLinenumber: 3721
    functionLinenumberEnd: 3752
    functionName: ctgLaunchGetDbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - ctgGetDBCfgFromMnode
    - CTG_GET_TASK_MSGCTX
    - TAOS_MEMCPY
    - ctgReadDBCfgFromCache
    - CTG_ERR_RET
    - ctgHandleTaskEnd
    - 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:3760,1
    - Dst: ctgError
      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: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3770,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3772,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3776,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3776,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3783,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3785,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3790,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3793,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3793,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3798
      start: 3754
    functionDepth: 5
    functionLinenumber: 3754
    functionLinenumberEnd: 3798
    functionName: ctgLaunchGetDbInfoTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgReleaseVgInfoToCache
    - ctgError
    - ctgAcquireVgInfoFromCache
    - CTG_RET
    - CTG_GET_TASK_MSGCTX
    - CTG_ERR_RET
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_CACHE_HIT_INC
    - taosMemoryCalloc
    - CTG_CACHE_NHIT_INC
    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:3805,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3807,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3808,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3815,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3817,1
    - Dst: ctgGetIndexInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3820
      start: 3800
    functionDepth: 7
    functionLinenumber: 3800
    functionLinenumberEnd: 3820
    functionName: ctgLaunchGetIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - CTG_GET_TASK_MSGCTX
    - CTG_ERR_RET
    - ctgGetIndexInfoFromMnode
    - CTG_CACHE_NHIT_INC
    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:3827,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3829,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3830,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3837,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3839,1
    - Dst: ctgGetUdfInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3842
      start: 3822
    functionDepth: 7
    functionLinenumber: 3822
    functionLinenumberEnd: 3842
    functionName: ctgLaunchGetUdfTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - ctgGetUdfInfoFromMnode
    - CTG_GET_TASK_MSGCTX
    - CTG_ERR_RET
    - CTG_CACHE_NHIT_INC
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetUdfTask(SCtgTask* pTask)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3853,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3855,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3856,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3863,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3865,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3869,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3873,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3877,1
    - Dst: ctgChkAuthFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3877,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3881,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3884,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3884,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3888,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3894,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3894,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3896,1
    - Dst: ctgGetUserDbAuthFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3896,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3900
      start: 3844
    functionDepth: 7
    functionLinenumber: 3844
    functionLinenumberEnd: 3900
    functionName: ctgLaunchGetUserTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - taosMemoryFreeClear
    - CTG_GET_TASK_MSGCTX
    - CTG_TABLE_NOT_EXIST
    - ctgGetUserDbAuthFromMnode
    - CTG_ERR_RET
    - ctgTaskDebug
    - ctgHandleTaskEnd
    - ctgLaunchSubTask
    - taosMemoryCalloc
    - ctgChkAuthFromCache
    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:3906,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3908,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3909,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3916,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3918,1
    - Dst: ctgGetSvrVerFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3921
      start: 3902
    functionDepth: 7
    functionLinenumber: 3902
    functionLinenumberEnd: 3921
    functionName: ctgLaunchGetSvrVerTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - CTG_GET_TASK_MSGCTX
    - ctgGetSvrVerFromMnode
    - CTG_ERR_RET
    - CTG_CACHE_NHIT_INC
    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:3931,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3933,1
    - Dst: ctgBuildViewNullRes
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3933,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3934,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3936,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3936,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3940,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3944,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3946,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3947,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3950,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3950,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3951,1
    - Dst: ctgGetViewsFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3951,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3952,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3955,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3957,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3959,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3959,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3963,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3965,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3966,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3970,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3972,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3973,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3976,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3976,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3978,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3980,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3981,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3991,1
    - Dst: ctgGetViewInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3991,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3995
      start: 3923
    functionDepth: 7
    functionLinenumber: 3923
    functionLinenumberEnd: 3995
    functionName: ctgLaunchGetViewsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgIsTaskDone
    - ctgError
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - ctgGetViewInfoFromMnode
    - taosArrayGetSize
    - CTG_ERR_RET
    - ctgHandleTaskEnd
    - ctgGetViewsFromCache
    - ctgBuildViewNullRes
    - taosArrayInit_s
    - TSWAP
    - ctgGetFetchName
    - ctgDebug
    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:4005,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4007,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4008,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4009,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4012,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4014,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4017,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4017,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4020,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pReq
    - pFetch
    argTypes:
    - SCtgTaskReq*
    - SCtgTSMAFetch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4026
      start: 3997
    functionDepth: 7
    functionLinenumber: 3997
    functionLinenumberEnd: 4026
    functionName: ctgAsyncRefreshTbTsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgReleaseVgInfoToCache
    - tstrncpy
    - ctgError
    - ctgAcquireVgInfoFromCache
    - taosArrayGet
    - ctgGetDBVgInfoFromMnode
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_ERR_JRET
    - tListLen
    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:4035,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4039,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4041,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4042,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4045,1
    - Dst: ctgGetTbTSMAFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4045,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4046,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4049,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4051,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4052,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4052,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4056,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4058,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4059,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4063,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4065,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4066,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4069,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4071,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4071,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4072,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4075,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4077,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4077,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4078,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4081,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4083,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4084,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4097,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4097,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4101,1
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4102,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4106,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4028
    functionDepth: 9
    functionLinenumber: 4028
    functionLinenumberEnd: 4113
    functionName: ctgLaunchGetTbTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - ctgGetTbTSMAFromMnode
    - taosArrayGetSize
    - CTG_ERR_RET
    - ctgGetTbTSMAFromCache
    - ctgHandleTaskEnd
    - taosArrayInit_s
    - ctgAsyncRefreshTbMeta
    - TSWAP
    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:4123,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4125,1
    - Dst: taosArrayGetSize
      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: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4135,1
    - Dst: ctgGetTSMAFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4135,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4138,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4140,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4141,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4149,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4150,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4151,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4154,1
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4154,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4156,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4158,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4158,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4159,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4164,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4166,1
    - Dst: taosArrayGetSize
      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
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4170,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4173,1
    - Dst: ctgTbMetaExistInCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4173,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4176,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4178,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4178,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4180,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4187
      start: 4115
    functionDepth: 7
    functionLinenumber: 4115
    functionLinenumberEnd: 4187
    functionName: ctgLaunchGetTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgError
    - CTG_RET
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - ctgGetTSMAFromCache
    - taosArrayGetP
    - ctgGetTbTSMAFromMnode
    - taosArrayGetSize
    - CTG_ERR_RET
    - ctgGetTbMetaFromMnodeImpl
    - ctgHandleTaskEnd
    - ctgTbMetaExistInCache
    - TSWAP
    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:4196,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4200,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4202,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4203,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4206,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4206,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4207,1
    - Dst: ctgGetTbNamesFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4207,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4208,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4211,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4213,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4215,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4215,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4219,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4221,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4222,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4226,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4228,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4229,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4232,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4232,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4234,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4236,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4237,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4247,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4251
      start: 4189
    functionDepth: 9
    functionLinenumber: 4189
    functionLinenumberEnd: 4251
    functionName: ctgLaunchGetTbNamesTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgError
    - ctgGetTbNamesFromCache
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - taosArrayGetSize
    - CTG_ERR_RET
    - ctgHandleTaskEnd
    - taosArrayInit_s
    - ctgAsyncRefreshTbMeta
    - TSWAP
    - ctgGetFetchName
    - TARRAY_GET_ELEM
    - ctgDebug
    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:4261,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4263,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4264,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4272,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4274,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4275,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4278,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4278,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4281,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4286,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4286,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4291,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4291,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4297,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4297,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4302,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4302,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4304,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4304,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4311,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4312,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4314,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4315,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4319,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4320,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4325,1
    - Dst: ctgGetVStbRefDbsFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4325,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4327,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4328,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4329,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4334,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4342,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4346,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4352,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4353
      start: 4253
    functionDepth: 6
    functionLinenumber: 4253
    functionLinenumberEnd: 4353
    functionName: ctgLaunchGetVStbRefDbsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayInit
    - ctgAcquireVgInfoFromCache
    - ctgReadTbMetaFromCache
    - CTG_ERR_RET
    - ctgLaunchSubTask
    - CTG_ERR_JRET
    - ctgError
    - tNameExtractFullName
    - taosArrayGet
    - CTG_RET
    - tNameGetFullDbName
    - taosArrayGetSize
    - ctgGetVStbRefDbsFromVnode
    - ctgReleaseVgInfoToCache
    - CTG_GET_TASK_MSGCTX
    - ctgHandleTaskEnd
    - ctgDebug
    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: 4363
      start: 4355
    functionDepth: 0
    functionLinenumber: 4355
    functionLinenumberEnd: 4363
    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: 4373
      start: 4365
    functionDepth: 0
    functionLinenumber: 4365
    functionLinenumberEnd: 4373
    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:4376,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4378,1
    - Dst: ctgLaunchGetTbMetaTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4375
    functionDepth: 10
    functionLinenumber: 4375
    functionLinenumberEnd: 4381
    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:4386,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4394,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4396,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4399,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4400,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4403,1
    - Dst: ctgLaunchGetTbCfgTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4403,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4407,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4408
      start: 4383
    functionDepth: 8
    functionLinenumber: 4383
    functionLinenumberEnd: 4408
    functionName: ctgGetTbCfgCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgLaunchGetTbCfgTask
    - ctgGetVgInfoFromHashValue
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    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:4413,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4417,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4421,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4423,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4429,1
    - Dst: ctgLaunchGetVStbRefDbsTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4429,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4433,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4434
      start: 4410
    functionDepth: 7
    functionLinenumber: 4410
    functionLinenumberEnd: 4434
    functionName: ctgGetVStbRefDbsCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayDup
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - TSWAP
    - ctgLaunchGetVStbRefDbsTask
    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:4439,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4445,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4447,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4450,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4451,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4454,1
    - Dst: ctgLaunchGetTbTagTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4454,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4458,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4459
      start: 4436
    functionDepth: 8
    functionLinenumber: 4436
    functionLinenumberEnd: 4459
    functionName: ctgGetTbTagCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgLaunchGetTbTagTask
    - ctgGetVgInfoFromHashValue
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryCalloc
    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:4467,1
    - Dst: ctgLaunchGetUserTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4467,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4471,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4472
      start: 4461
    functionDepth: 8
    functionLinenumber: 4461
    functionLinenumberEnd: 4472
    functionName: ctgGetUserCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgLaunchGetUserTask
    - ctgHandleTaskEnd
    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:4477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pTask
    - param
    - equal
    argTypes:
    - SCtgTask*
    - void*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4480
      start: 4474
    functionDepth: 0
    functionLinenumber: 4474
    functionLinenumberEnd: 4480
    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:4486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pTask
    - param
    - equal
    argTypes:
    - SCtgTask*
    - void*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4492
      start: 4482
    functionDepth: 1
    functionLinenumber: 4482
    functionLinenumberEnd: 4492
    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:4497,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTask
    - pRes
    argTypes:
    - SCtgTask*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4498
      start: 4494
    functionDepth: 1
    functionLinenumber: 4494
    functionLinenumberEnd: 4498
    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:4503,1
    - Dst: cloneDbVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTask
    - pRes
    argTypes:
    - SCtgTask*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4500
    functionDepth: 1
    functionLinenumber: 4500
    functionLinenumberEnd: 4504
    functionName: ctgCloneDbVg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - cloneDbVgInfo
    - CTG_RET
    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:4533,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4536,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SCtgJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4541
      start: 4531
    functionDepth: 1
    functionLinenumber: 4531
    functionLinenumberEnd: 4541
    functionName: ctgMakeAsyncRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - CTG_ERR_RET
    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:4548,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4550,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4552,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4554,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4555,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4562,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4570,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4575,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: 4576
      start: 4543
    functionDepth: 1
    functionLinenumber: 4543
    functionLinenumberEnd: 4576
    functionName: ctgSearchExistingTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - taosArrayGet
    - CTG_LOCK
    - taosArrayGetSize
    - CTG_ERR_JRET
    - CTG_RET
    - qError
    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:4581,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4584,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4585,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4587,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4588,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4591,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4593,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4594,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4599,1
    - Dst: SCtgTask*::subRes::fp
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4599,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4602,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4604,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4608,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4609,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4615,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - pSub
    - pTask
    argTypes:
    - SCtgTask*
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4618
      start: 4578
    functionDepth: 1
    functionLinenumber: 4578
    functionLinenumberEnd: 4618
    functionName: ctgSetSubTaskCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - CTG_UNLOCK
    - CTG_GET_TASK_MSGCTX
    - CTG_LOCK
    - CTG_ERR_JRET
    - CTG_RET
    - qError
    - SCtgTask*::subRes::fp
    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:4621,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pJob
    - taskId
    argTypes:
    - SCtgJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4631
      start: 4620
    functionDepth: 1
    functionLinenumber: 4620
    functionLinenumberEnd: 4631
    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:4639,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4643,1
    - Dst: ctgSearchExistingTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4643,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4645,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4645,1
    - Dst: ctgGetTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4647,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4650,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4652,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4652,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4653,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4660,1
    - Dst: ctgSetSubTaskCb
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4660,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4663,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4665,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4666,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4669,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4671,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4672,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4677,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: 4682
      start: 4633
    functionDepth: 3
    functionLinenumber: 4633
    functionLinenumberEnd: 4682
    functionName: ctgLaunchSubTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 4
    functionsReached:
    - ctgClearSubTaskRes
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - ctgSetSubTaskCb
    - ctgSearchExistingTask
    - taosArrayGetSize
    - CTG_ERR_RET
    - ctgGetTask
    - qError
    - ctgInitTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchSubTask(SCtgTask** ppTask, CTG_TASK_TYPE type, ctgSubTaskCbFp
      fp, void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4688,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4690,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4691,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4694,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4696,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4698,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4700,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4702,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4705,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4709,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4710,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4712,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4712,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4715,1
    - Dst: ctgLaunchBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SCtgJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4720
      start: 4684
    functionDepth: 4
    functionLinenumber: 4684
    functionLinenumberEnd: 4720
    functionName: ctgLaunchJob
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - taosAsyncExec
    - taosArrayGet
    - qDebug
    - taosArrayGetSize
    - CTG_ERR_RET
    - qError
    - atomic_val_compare_exchange_32
    - ctgLaunchBatchs
    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:
    - makeOneScalarParam
    - destroyScalarParam
    - colDataIsNull_s
    - colDataGetData
    - ASSERT_EQ
    - geomRelationFunc
    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:
    - callGeomFromTextWrapper5
    - setScalarParam
    - callGeomRelationFuncAndCompareResult
    - taosMemoryCalloc
    - STR_TO_VARSTR
    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:
    - geomRelationFuncTestContainsFunction
    - geomRelationFuncTestCoversFunction
    - geomRelationFuncTestEqualsFunction
    - geomRelationFuncTestIntersectsFunction
    - geomRelationFuncTestTouchesFunction
    - geomRelationFuncTestContainsProperlyFunction
    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:
    - taosThreadJoin
    - taosThreadCreate
    - ASSERT_EQ
    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:
    - geomRelationFuncTestImpl
    - geomRelationFuncTestInThread
    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:
    - setColumnInfo
    - tdValTypeIsNull
    - colDataSetNULL
    - colDataSetVal
    - ASSERT_TRUE
    - taosMemoryCalloc
    - colInfoDataEnsureCapacity
    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:
    - taosMemoryCalloc
    - setScalarParam
    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
    - varDataLen
    - memcmp
    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:
    - compareVarData
    - colDataGetData
    - colDataIsNull_s
    - ASSERT_EQ
    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:
    - RUN_ALL_TESTS
    - testing::InitGoogleTest
    - taosGetTimestampSec
    - 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:
    - geomFromTextFunction
    - makeOneScalarParam
    - ASSERT_EQ
    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:
    - makeOneScalarParam
    - destroyScalarParam
    - setScalarParam
    - ASSERT_EQ
    - 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:
    - geomFromTextFunction
    - makeOneScalarParam
    - ASSERT_EQ
    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:
    - makeOneScalarParam
    - destroyScalarParam
    - makePointFunction
    - setScalarParam
    - ASSERT_EQ
    - compareVarDataColumn
    - 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:
    - callMakePointAndCompareResult
    - destroyScalarParam
    - callGeomFromTextWrapper2
    - STR_TO_VARSTR
    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:
    - callMakePointAndCompareResult
    - destroyScalarParam
    - callGeomFromTextWrapper2
    - STR_TO_VARSTR
    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:
    - callMakePointAndCompareResult
    - destroyScalarParam
    - 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:
    - callGeomFromTextWrapper4
    - makeOneScalarParam
    - destroyScalarParam
    - asTextFunction
    - callGeomFromTextWrapper1
    - colDataIsNull_s
    - callGeomFromTextWrapper3
    - ASSERT_EQ
    - compareVarDataColumn
    - STR_TO_VARSTR
    - callGeomFromText
    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:
    - destroyScalarParam
    - colDataIsNull_s
    - callAsTextWrapper2
    - ASSERT_EQ
    - callAsTextWrapper1
    - STR_TO_VARSTR
    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:
    - geomIoFuncTestMakePointFunctionWithNull
    - geomIoFuncTestMakePointFunctionTwoColumns
    - geomIoFuncTestAsTextFunction
    - geomIoFuncTestMakePointFunctionConstant
    - geomIoFuncTestGeomFromTextFunction
    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:
    - taosThreadJoin
    - taosThreadCreate
    - ASSERT_EQ
    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:
    - geomIoFuncTestInThread
    - geomIoFuncTestImpl
    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:
    - varDataVal
    - doMakePoint
    - memcpy
    - taosMemoryCalloc
    - geosFreeBuffer
    - 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:
    - varDataLen
    - varDataVal
    - memcpy
    - doGeomFromText
    - taosMemoryCalloc
    - geosFreeBuffer
    - varDataSetLen
    - TAOS_CHECK_GOTO
    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:
    - strlen
    - varDataLen
    - taosMemoryCalloc
    - memcpy
    - doAsText
    - varDataVal
    - geosFreeBuffer
    - varDataSetLen
    - TAOS_CHECK_GOTO
    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:
    - colDataSetVal
    - TMAX
    - doMakePointFunc
    - getVectorDoubleValueFn
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    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:
    - varDataLen
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - colDataSetVal
    - doGeomFromTextFunc
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    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:
    - doAsTextFunc
    - colDataGetData
    - colDataSetVal
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    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:
    - colDataSetVal
    - doRelationFn
    - TAOS_CHECK_RETURN
    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
    - executeOneParamFn
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - initCtxFn
    - colDataSetNNULL
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - TMAX
    - executeTwoParamsFn
    - initCtxFn
    - colDataSetNNULL
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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
    - destroyGeometry
    - TAOS_CHECK_GOTO
    - executeRelationFunc
    - readGeometry
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNULL
    - TMAX
    - initCtxRelationFunc
    - colDataSetNNULL
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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
    - GEOSContext_setErrorMessageHandler_r
    - GEOS_init_r
    - GEOSWKBWriter_create_r
    - TAOS_CHECK_RETURN
    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:
    - getThreadLocalGeosCtx
    - GEOSWKBWriter_write_r
    - GEOSGeom_destroy_r
    - GEOSGeom_createPointFromXY_r
    - TAOS_CHECK_RETURN
    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: tsnprintf
      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:
    - doRegComp
    - taosMemoryCalloc
    - tsnprintf
    - taosMemoryFree
    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:
    - GEOSWKTReader_create_r
    - initWktRegex
    - getThreadLocalGeosCtx
    - GEOSContext_setErrorMessageHandler_r
    - GEOS_init_r
    - GEOSWKBWriter_create_r
    - TAOS_CHECK_RETURN
    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:
    - getThreadLocalGeosCtx
    - GEOSWKBWriter_write_r
    - GEOSWKTReader_read_r
    - doRegExec
    - GEOSGeom_destroy_r
    - TAOS_CHECK_RETURN
    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:
    - getThreadLocalGeosCtx
    - GEOSContext_setErrorMessageHandler_r
    - GEOSWKTWriter_setRoundingPrecision_r
    - GEOSWKBReader_create_r
    - GEOSWKTWriter_create_r
    - GEOS_init_r
    - GEOSWKTWriter_setTrim_r
    - TAOS_CHECK_RETURN
    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:
    - GEOSWKTWriter_write_r
    - getThreadLocalGeosCtx
    - GEOSGeom_destroy_r
    - GEOSWKBReader_read_r
    - TAOS_CHECK_RETURN
    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:
    - GEOSWKBReader_read_r
    - getThreadLocalGeosCtx
    - GEOSGeom_destroy_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
    - GEOSContext_setErrorMessageHandler_r
    - GEOSWKBReader_create_r
    - GEOS_init_r
    - TAOS_CHECK_RETURN
    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:
    - getThreadLocalGeosCtx
    - relationFn
    - swappedRelationFn
    - swappedPreparedRelationFn
    - preparedRelationFn
    - TAOS_CHECK_RETURN
    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:
    - varDataLen
    - getThreadLocalGeosCtx
    - GEOSPrepare_r
    - varDataVal
    - GEOSWKBReader_read_r
    - TAOS_CHECK_RETURN
    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:
    - acquireThreadLocalGeosCtx
    - GEOSGeom_destroy_r
    - GEOSPreparedGeom_destroy_r
    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:755,1
    - Dst: tfsNewDisk
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:755,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:756,1
    - Dst: tfsNewDisk
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:756,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:759,1
    - Dst: tfsUpdateDiskSize
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:759,1
    - Dst: tfsInitTier
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:763,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:770,1
    - Dst: tfsAllocDiskOnTier
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:770,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:773,1
    - Dst: tfsAllocDiskOnTier
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:773,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:777,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:778,1
    - Dst: tfsMountDiskToTier
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:778,1
    - Dst: tfsDestroyTier
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:779,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:783,1
    - Dst: tfsOpen
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:783,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:784,1
    - Dst: tfsOpen
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:784,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:785,1
    - Dst: tfsOpen
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:785,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:786,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:790,1
    - Dst: tfsDiskSpaceAvailable
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:790,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:794,1
    - Dst: tfsDiskSpaceAvailable
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:794,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:796,1
    - Dst: tfsDiskSpaceAvailable
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:796,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:798,1
    - Dst: tfsDiskSpaceSufficient
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:798,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:799,1
    - Dst: tfsDiskSpaceSufficient
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:799,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:800,1
    - Dst: tfsDiskSpaceSufficient
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:800,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:801,1
    - Dst: tfsDiskSpaceSufficient
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:801,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:803,1
    - Dst: tfsGetDisksAtLevel
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:803,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:804,1
    - Dst: tfsGetDisksAtLevel
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:804,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:806,1
    - Dst: tfsGetLevel
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:806,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:809,1
    - Dst: taosThreadSpinInit
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:809,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:814,1
    - Dst: tfsAllocDisk
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:814,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:817,1
    - Dst: tfsAllocDisk
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:817,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:821,1
    - Dst: tfsMkdirAt
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:821,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:823,1
    - Dst: tfsMkdirRecurAt
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:823,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:826,1
    - Dst: tfsRmdir
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:826,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:828,1
    - Dst: tfsSearch
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:828,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:829,1
    - Dst: tfsSearch
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:829,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:832,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:832,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:834,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:834,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:837,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:837,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:839,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:839,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:842,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:842,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:844,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:844,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:847,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:847,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:850,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:851,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:851,1
    - Dst: taosCreateFile
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:853,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:854,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:855,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:855,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:856,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:856,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:857,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:857,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:860,1
    - Dst: taosThreadSpinDestroy
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 862
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/tfs/test/tfsTest.cpp
    functionUses: 0
    functionsReached:
    - tfsMountDiskToTier
    - tfsDiskSpaceAvailable
    - tfsDestroyTier
    - tfsAllocDiskOnTier
    - tfsRmdir
    - tfsAllocDisk
    - tfsUpdateDiskSize
    - taosCreateFile
    - taosCloseFile
    - tfsSearch
    - tfsMkdirAt
    - tfsInitTier
    - taosThreadSpinInit
    - tfsNewDisk
    - tstrncpy
    - tfsGetLevel
    - taosMemoryFreeClear
    - tfsOpen
    - EXPECT_EQ
    - EXPECT_NE
    - taosThreadSpinDestroy
    - tfsCheckAndFormatCfg
    - tfsDiskSpaceSufficient
    - tfsMkdirRecurAt
    - tfsGetDisksAtLevel
    - taosRemoveFile
    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: 7
    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: 12
    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:
    - taosThreadSpinInit
    - TAOS_SYSTEM_ERROR
    - tfsClose
    - tfsUpdateSize
    - tfsPosNextId
    - tfsMount
    - TAOS_RETURN
    - tfsCheck
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosMemoryCalloc
    - tfsInitTier
    - TAOS_CHECK_GOTO
    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
    - taosHashCleanup
    - taosMemoryFree
    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:
    - tfsUnLock
    - TAOS_UNUSED
    - tfsLock
    - tfsUpdateTierSize
    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
    - tfsLock
    - TAOS_UNUSED
    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:
    - TFS_DISK_AT
    - TFS_TIER_AT
    - fError
    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_DISK_AT
    - TFS_TIER_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:
    - tfsAllocDiskAtLevel
    - TAOS_RETURN
    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:
    - tfsAllocDiskOnTier
    - TAOS_RETURN
    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
    - TFS_DISK_AT
    - tstrncpy
    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:
    - tstrncpy
    - taosRealPath
    - strncmp
    - 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:
    - taosEncodeString
    - taosEncodeVariantI32
    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:
    - taosMemoryFreeClear
    - tfsInitFile
    - taosDecodeVariantI32
    - taosDecodeString
    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:
    - taosDirName
    - tstrncpy
    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
    - TFS_DISK_AT
    - taosMkDir
    - snprintf
    - TAOS_RETURN
    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:
    - strlen
    - tstrerror
    - taosMemoryFree
    - tfsMkdirAt
    - fError
    - tfsMkdirRecurAt
    - taosDirName
    - taosStrdup
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:
    - tfsMkdirRecurAt
    - TFS_TIER_AT
    - TAOS_RETURN
    - 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:
    - tfsMkdirAt
    - TFS_TIER_AT
    - TAOS_RETURN
    - 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:
    - snprintf
    - TFS_DISK_AT
    - taosDirExist
    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:
    - taosRemoveDir
    - uInfo
    - TFS_TIER_AT
    - 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: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:388,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:389,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:389,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:390,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pTfs
    - diskId
    - orname
    - nrname
    argTypes:
    - STfs*
    - SDiskID
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: tfsRenameAt
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tstrerror
    - TFS_TIER_AT
    - snprintf
    - fError
    - TAOS_RETURN
    - taosRenameFile
    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:398,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:405,1
    - Dst: tfsRenameAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:405,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:410,1
    - Dst: tfsRenameAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:410,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: 411
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 411
    functionName: tfsRename
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - tfsRenameAt
    - TFS_TIER_AT
    - TAOS_RETURN
    - 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:418,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:422,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pTfs
    - level
    - fname
    argTypes:
    - STfs*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 428
    functionName: tfsSearch
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - snprintf
    - TFS_TIER_AT
    - taosCheckExistFile
    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:432,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:434,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:438,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:440,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:442,1
    - Dst: tfsOpendirImpl
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:442,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:446,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pTfs
    - rname
    - ppDir
    argTypes:
    - STfs*
    - char*
    - STfsDir**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 450
    functionName: tfsOpendir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - TFS_DISK_AT
    - tstrncpy
    - taosMemoryFreeClear
    - taosMemoryCalloc
    - tfsOpendirImpl
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:458,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:461,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:462,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:462,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:465,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:467,1
    - Dst: tfsInitFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:470,1
    - Dst: tfsOpendirImpl
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:474,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - pTfsDir
    argTypes:
    - STfsDir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 483
    functionName: tfsReaddir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosReadDir
    - tfsInitFile
    - snprintf
    - taosGetDirEntryName
    - tfsOpendirImpl
    - 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:488,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:488,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pTfsDir
    argTypes:
    - STfsDir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 493
    functionName: tfsClosedir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - taosCloseDir
    - TAOS_UNUSED
    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:499,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:499,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:504,1
    - Dst: tfsMountDiskToTier
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:504,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:504,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:507,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:507,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:509,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:517,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:517,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pTfs
    - pCfg
    argTypes:
    - STfs*
    - SDiskCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 520
    functionName: tfsMount
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - strnlen
    - tfsMountDiskToTier
    - tfsCheckAndFormatCfg
    - tstrerror
    - TFS_TIER_AT
    - taosHashPut
    - fError
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:527,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:528,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:532,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:533,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:537,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:538,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:543,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:544,1
    - Dst: TFS_PRIMARY_DISK
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:547,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:548,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:549,1
    - Dst: tfsFormatDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:553,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:554,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:554,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:555,1
    - Dst: tfsGetDiskByName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:559,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:560,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:560,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:561,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:564,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:565,1
    - Dst: taosCheckAccessFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:569,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:570,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:571,1
    - Dst: taosCheckAccessFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:574,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:575,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:576,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:580,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:581,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:582,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:585,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:587,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - pTfs
    - pCfg
    argTypes:
    - STfs*
    - SDiskCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 588
    functionName: tfsCheckAndFormatCfg
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 2
    functionsReached:
    - tstrncpy
    - tstrerror
    - tfsGetDiskByName
    - taosCheckAccessFile
    - TFS_PRIMARY_DISK
    - TAOS_RETURN
    - fError
    - taosIsDir
    - tfsFormatDir
    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:597,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:599,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:602,1
    - Dst: taosRealPath
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:602,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:606,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:609,1
    - Dst: wordfree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:612,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:614,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:614,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:617,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:619,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - idir
    - odir
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 622
    functionName: tfsFormatDir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - strlen
    - tstrncpy
    - taosRealPath
    - TAOS_CHECK_EXIT
    - tstrerror
    - wordfree
    - wordexp
    - fError
    - TAOS_RETURN
    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:625,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:626,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:627,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:631,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:632,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:633,1
    - Dst: tfsUpdateTierSize
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:637,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:637,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:638,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:639,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:640,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 646
    functionName: tfsCheck
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TFS_TIER_AT
    - TFS_PRIMARY_DISK
    - tfsUpdateTierSize
    - fError
    - TAOS_RETURN
    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:649,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:649,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:651,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:655,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pTfs
    - dir
    - ppDisk
    argTypes:
    - STfs*
    - char*
    - STfsDisk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 658
    functionName: tfsGetDiskByName
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - strnlen
    - taosHashGet
    - TFS_DISK_AT
    - TAOS_RETURN
    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:666,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:667,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:667,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:668,1
    - Dst: tfsNextDisk
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:674,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:675,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:681,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:683,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:685,1
    - Dst: fWarn
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:687,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:687,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:687,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pTfs
    - pTfsDir
    argTypes:
    - STfs*
    - STfsDir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 691
    functionName: tfsOpendirImpl
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 2
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tstrerror
    - fWarn
    - tfsNextDisk
    - snprintf
    - taosCloseDir
    - fError
    - taosOpenDir
    - TAOS_RETURN
    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:701,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:702,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pTfs
    - pIter
    argTypes:
    - STfs*
    - SDiskIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 714
    functionName: tfsNextDisk
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TFS_DISK_AT
    - TFS_TIER_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:717,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:719,1
    - Dst: tfsUpdateSize
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:722,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:724,1
    - Dst: tfsLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:724,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:732,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:733,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:734,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:734,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:735,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:737,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:741,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:741,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pTfs
    - pInfo
    argTypes:
    - STfs*
    - SMonDiskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 744
    functionName: tfsGetMonitorInfo
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tfsLock
    - tstrncpy
    - taosArrayInit
    - taosArrayDestroy
    - tfsUpdateSize
    - tfsUnLock
    - TAOS_UNUSED
    - TAOS_RETURN
    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:747,1
    - Dst: tfsLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:747,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:752,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:754,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:754,1
    - Dst: fInfo
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:755,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:756,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:760,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:760,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:761,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pTfs
    - dir
    - disable
    argTypes:
    - STfs*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 763
    functionName: tfsUpdateDiskDisable
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - tfsLock
    - tfsUnLock
    - fInfo
    - TAOS_UNUSED
    - fError
    - TAOS_RETURN
    - strcmp
    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:
    - taosThreadSpinInit
    - TAOS_SYSTEM_ERROR
    - taosHashSetFreeFp
    - memset
    - taosGetDefaultHashFunction
    - taosHashInit
    - TAOS_RETURN
    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
    - tfsFreeDisk
    - taosHashCleanup
    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:
    - tfsNewDisk
    - tstrerror
    - tfsFreeDisk
    - fError
    - fDebug
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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
    - tfsLockTier
    - TAOS_UNUSED
    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:
    - uTrace
    - taosHashGet
    - strlen
    - tfsDiskCursorNew
    - uInfo
    - taosHashPut
    - tfsUnLockTier
    - tfsLockTier
    - TAOS_UNUSED
    - TAOS_RETURN
    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:
    - tstrerror
    - tfsFreeDisk
    - taosGetDiskSize
    - fError
    - taosMemoryCalloc
    - taosStrdup
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:
    - taosGetDiskSize
    - tstrerror
    - TAOS_RETURN
    - fError
    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:
    - getForwardStepsInBlock
    - ASSERT_EQ
    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: 29
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 130
    functionName: getDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - ASSERT
    - blockDataEnsureCapacity
    - TARRAY_GET_ELEM
    - blockDataCleanup
    - reinterpret_cast<const char*>
    - colDataSetVal
    - createColumnInfoData
    - static_cast<SDummyInputInfo*>
    - blockDataAppendColInfo
    - createDataBlock
    - static_cast<SColumnInfoData*>
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getDummyBlock(SOperatorInfo* pOperator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SDummyInputInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:133,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:141,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:142,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:144,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:145,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:146,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:148,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:149,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:150,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:152,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:153,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:155,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:165,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:165,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:168,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:168,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:169,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:171,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:171,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:177,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:180,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:180,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:181,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 197
    functionName: get2ColsDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - ASSERT
    - blockDataEnsureCapacity
    - TARRAY_GET_ELEM
    - blockDataUpdateTsWindow
    - blockDataCleanup
    - reinterpret_cast<const char*>
    - colDataSetVal
    - createColumnInfoData
    - static_cast<SDummyInputInfo*>
    - blockDataAppendColInfo
    - createDataBlock
    - static_cast<SColumnInfoData*>
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * get2ColsDummyBlock(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SOperatorInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:201,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:201,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:202,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:211,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:212,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: 221
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: createDummyOperator
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - ASSERT
    - static_cast<SOperatorInfo*>
    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:
    - getForwardStepsInBlock
    - ASSERT_EQ
    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: 29
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 130
    functionName: getDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - ASSERT
    - blockDataEnsureCapacity
    - TARRAY_GET_ELEM
    - blockDataCleanup
    - reinterpret_cast<const char*>
    - colDataSetVal
    - createColumnInfoData
    - static_cast<SDummyInputInfo*>
    - blockDataAppendColInfo
    - createDataBlock
    - static_cast<SColumnInfoData*>
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getDummyBlock(SOperatorInfo* pOperator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SDummyInputInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:133,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:141,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:142,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:144,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:145,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:146,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:148,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:149,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:150,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:152,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:153,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:155,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:165,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:165,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:168,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:168,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:169,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:171,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:171,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:177,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:180,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:180,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:181,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 197
    functionName: get2ColsDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - ASSERT
    - blockDataEnsureCapacity
    - TARRAY_GET_ELEM
    - blockDataUpdateTsWindow
    - blockDataCleanup
    - reinterpret_cast<const char*>
    - colDataSetVal
    - createColumnInfoData
    - static_cast<SDummyInputInfo*>
    - blockDataAppendColInfo
    - createDataBlock
    - static_cast<SColumnInfoData*>
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * get2ColsDummyBlock(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SOperatorInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:201,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:201,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:202,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:211,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:212,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: 221
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: createDummyOperator
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - ASSERT
    - static_cast<SOperatorInfo*>
    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:224,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 226
    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:947,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:947,1
    - Dst: qStringToSubplan
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:950,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:951,1
    - Dst: qCreateExecTask
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 955
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - qStringToSubplan
    - qCreateExecTask
    - ASSERT_EQ
    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:959,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:963,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:965,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:966,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:966,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:967,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:968,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: createSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:974,1
    - Dst: createDummyOperator
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:974,1
    - Dst: SOperatorInfo*::getNextFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:977,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:979,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:979,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:980,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:980,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:982,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:983,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 985
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - static_cast<SExprInfo*>
    - createSchema
    - taosArrayInit
    - createDummyOperator
    - varDataVal
    - taosArrayGet
    - SOperatorInfo*::getNextFn
    - colDataGetData
    - printf
    - taosMemoryCalloc
    - static_cast<SColumnInfoData*>
    - createSortOperatorInfo
    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: 1005
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1005
    functionName: cmp
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 283
    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:1010,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1010,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1012,1
    - Dst: static_cast<char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1013,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1013,1
    - Dst: qsort
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1017,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1025,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1025,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1027,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1032,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1034,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1035,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1035,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1036,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1037,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: createSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1043,1
    - Dst: createDummyOperator
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1043,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1050,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1054,1
    - Dst: SOperatorInfo*::getNextFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1055,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1057,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1059,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1066,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1066,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1070,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1075,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1076,1
    - Dst: SOperatorInfo*::closeFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1078,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1079,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1080,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1081,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1082,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1083
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<char*>
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayDestroy
    - createDummyOperator
    - taosArrayInit
    - taosSeedRand
    - printf
    - taosGetTimestampUs
    - static_cast<SColumnInfoData*>
    - createSortOperatorInfo
    - taosArrayGet
    - static_cast<su*>
    - taosMemoryCalloc
    - SOperatorInfo*::closeFn
    - static_cast<SExprInfo*>
    - taosMemoryFreeClear
    - taosGetTimestampSec
    - SOperatorInfo*::getNextFn
    - taosRand
    - createSchema
    - qsort
    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:1086,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1086,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1088,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1093,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1095,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1096,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1096,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1097,1
    - Dst: static_cast<SColumn*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1098,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1098,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1103,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1105,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1105,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1106,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1110,1
    - Dst: createDummyOperator
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1112,1
    - Dst: createSortedMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1115,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1122,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1126,1
    - Dst: SOperatorInfo*::getNextFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1127,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1129,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1131,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1138,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1138,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1142,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1147,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1148,1
    - Dst: SOperatorInfo*::closeFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1150,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1151,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1152,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1153,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1155
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - createSortedMergeOperatorInfo
    - taosArrayPush
    - taosArrayDestroy
    - static_cast<SExprInfo*>
    - taosArrayInit
    - createSchema
    - createDummyOperator
    - taosArrayGet
    - taosMemoryFreeClear
    - taosGetTimestampSec
    - taosSeedRand
    - SOperatorInfo*::getNextFn
    - printf
    - static_cast<SColumn*>
    - taosMemoryCalloc
    - SOperatorInfo*::closeFn
    - taosGetTimestampUs
    - static_cast<SColumnInfoData*>
    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:1158,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1158,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1160,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1165,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1167,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1168,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1168,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1169,1
    - Dst: static_cast<SColumn*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1170,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1170,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1175,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1177,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1177,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1178,1
    - Dst: static_cast<SColumn*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1179,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1179,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1184,1
    - Dst: createDummyOperator
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1186,1
    - Dst: createIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1193,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1200,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1204,1
    - Dst: SOperatorInfo*::getNextFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1205,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1207,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1209,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1216,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1216,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1220,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1225,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1226,1
    - Dst: SOperatorInfo*::closeFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1228,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1229,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1230,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1231,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1157
    functionDepth: 2
    functionLinenumber: 1157
    functionLinenumberEnd: 1233
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - static_cast<SExprInfo*>
    - taosArrayInit
    - createSchema
    - createDummyOperator
    - taosArrayGet
    - taosMemoryFreeClear
    - taosGetTimestampSec
    - taosSeedRand
    - SOperatorInfo*::getNextFn
    - printf
    - static_cast<SColumn*>
    - createIntervalOperatorInfo
    - taosMemoryCalloc
    - SOperatorInfo*::closeFn
    - taosGetTimestampUs
    - static_cast<SColumnInfoData*>
    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:1238,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1241,1
    - Dst: streamCalcOutputTbName
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1241,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1236
    functionDepth: 6
    functionLinenumber: 1236
    functionLinenumberEnd: 1243
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - streamCalcOutputTbName
    - ASSERT_STREQ
    - 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:
    - printTimeWindow
    - osSetTimezone
    - createInterval
    - printf
    - 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:
    - ASSERT_GE
    - printTimeWindow
    - osSetTimezone
    - createInterval
    - printf
    - getInitialStartTimeWindow
    - ASSERT_EQ
    - getAlignQueryTimeWindow
    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:
    - printTimeWindow
    - osSetTimezone
    - getActiveTimeWindow
    - createInterval
    - printf
    - ASSERT_EQ
    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:
    - tSimpleHashGet
    - TD_ALWAYS_ASSERT
    - tSimpleHashPut
    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:
    - tSimpleHashGet
    - TD_ALWAYS_ASSERT
    - tSimpleHashRemove
    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:
    - nodesListStrictAppend
    - nodesListStrictAppendList
    - nodeType
    - TD_ALWAYS_ASSERT
    - nodesMakeList
    - nodesMakeNode
    - nodesDestroyNode
    - TSWAP
    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:
    - taosMemoryCalloc
    - TD_ALWAYS_ASSERT
    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:
    - TAOS_MEMSET
    - nodesListMakeStrictAppend
    - taosMemoryRealloc
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    - taosRand
    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:
    - TAOS_MEMSET
    - nodesListMakeStrictAppend
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    - taosRand
    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:
    - nodesListMakeStrictAppend
    - getDstSlotId
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    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
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    - jtMergeEqCond
    - getDstSlotId
    - nodesCloneNode
    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:
    - getFilterValue
    - nodesListMakeStrictAppend
    - sprintf
    - TD_ALWAYS_ASSERT
    - nodesSetValueNodeValue
    - nodesMakeNode
    - getDstSlotId
    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:
    - nodesListMakeStrictAppend
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    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:
    - createColEqCondEnd
    - updateColRowInfo
    - createFilterStart
    - createFilterEnd
    - TD_ALWAYS_ASSERT
    - createColOnCondEnd
    - createTargetSlotList
    - nodesMakeNode
    - createColCond
    - TSWAP
    - taosRand
    - 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:
    - taosMemoryCalloc
    - TD_ALWAYS_ASSERT
    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:948,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:950,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - blkId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 954
    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:957,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:966,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:970,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:970,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:972,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:977,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:982,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:985,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:990,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - leftInRow
    - rightOffset
    - rightRows
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 992
    functionName: appendAsofLeftEachResGrps
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_MEMSET
    - taosArrayGet
    - TAOS_MEMCPY
    - pushResRow
    - taosArrayGetSize
    - TMIN
    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:996,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1005,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - leftInRow
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1017
    functionName: appendLeftNonMatchGrp
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_MEMCPY
    - pushResRow
    - 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:1020,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1021,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1025,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1026,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1027,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1031,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1033,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1034,1
    - Dst: appendAsofLeftEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1035,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1019
    functionDepth: 3
    functionLinenumber: 1019
    functionLinenumberEnd: 1039
    functionName: appendAllAsofResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - appendLeftNonMatchGrp
    - TD_ALWAYS_ASSERT
    - taosArrayClear
    - taosArrayGetSize
    - appendAsofLeftEachResGrps
    linkageType: ''
    returnType: void
    signature: void appendAllAsofResRows()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1042,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1049,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1052,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1053,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1057,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1058,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: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1066,1
    - Dst: appendAsofLeftEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1073,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1084,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
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1091,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - forceOut
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1041
    functionDepth: 3
    functionLinenumber: 1041
    functionLinenumberEnd: 1092
    functionName: chkAppendAsofForwardGrpResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPopFrontBatch
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - appendLeftNonMatchGrp
    - taosArrayGetSize
    - appendAsofLeftEachResGrps
    linkageType: ''
    returnType: void
    signature: void chkAppendAsofForwardGrpResRows(bool forceOut)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1098,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1103,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1112,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1119,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1124,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1125,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1130,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1133,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - leftInRow
    - rightOffset
    - rightRows
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1095
    functionDepth: 3
    functionLinenumber: 1095
    functionLinenumberEnd: 1140
    functionName: appendWinEachResGrps
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_MEMSET
    - taosArrayGet
    - TAOS_MEMCPY
    - pushResRow
    - TD_ALWAYS_ASSERT
    - appendLeftNonMatchGrp
    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:1143,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1150,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1153,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1154,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1162,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1163,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: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1171,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1178,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1188,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1200,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1202,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
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1209,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 1
    argNames:
    - forceOut
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1142
    functionDepth: 4
    functionLinenumber: 1142
    functionLinenumberEnd: 1210
    functionName: chkAppendWinResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPopFrontBatch
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - appendLeftNonMatchGrp
    - taosArrayGetSize
    - appendWinEachResGrps
    linkageType: ''
    returnType: void
    signature: void chkAppendWinResRows(bool forceOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1214,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1219,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1221
    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:1229,1
    - Dst: TD_ALWAYS_ASSERT
      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: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1231,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1232,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1232,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1276,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1278,1
    - Dst: createDummyBlock
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1285,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1285,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1286,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1286,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1294,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1296,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:1314,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1314,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1314,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1328,1
    - Dst: taosArrayGet
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1341,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1341,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1348,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1357,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1363,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1363,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1366,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1366,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1377,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1387,1
    - Dst: trimForAsofJlimit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1389,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1392,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1395,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 142
    argCount: 3
    argNames:
    - ppBlk
    - blkId
    - grpRows
    argTypes:
    - SSDataBlock**
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1223
    functionDepth: 5
    functionLinenumber: 1223
    functionLinenumberEnd: 1399
    functionName: createGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - appendAllAsofResRows
    - taosArrayPush
    - TAOS_MEMSET
    - trimForAsofJlimit
    - taosArrayGet
    - createDummyBlock
    - TAOS_MEMCPY
    - pushResRow
    - TD_ALWAYS_ASSERT
    - chkAppendWinResRows
    - colDataSetVal
    - TMAX
    - blockDataEnsureCapacity
    - taosRand
    - chkAppendAsofForwardGrpResRows
    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:1406,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1407,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1409,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1413,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1413,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1417,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1417,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1417,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1419,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1419,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1422,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1422,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1426,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1428,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1428,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: 1436
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1436
    functionName: createRowData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - colDataSetVal
    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:1443,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1444,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1447,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1450,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1453,1
    - Dst: createDummyBlock
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1458,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1458,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1459,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1459,1
    - Dst: createRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1465,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1468,1
    - Dst: createDummyBlock
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1473,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1473,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1474,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1474,1
    - Dst: createRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1480,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: 1483
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1483
    functionName: makeAppendBlkData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TAOS_MEMSET
    - createRowData
    - createDummyBlock
    - taosMemoryRealloc
    - TD_ALWAYS_ASSERT
    - TMAX
    - blockDataEnsureCapacity
    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:1487,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1494,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - lrow
    - tableOffset
    - peerOffset
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1485
    functionDepth: 2
    functionLinenumber: 1485
    functionLinenumberEnd: 1507
    functionName: putNMatchRowToRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_MEMCPY
    - pushResRow
    - 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:1511,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1519,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1531,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1538,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - lrow
    - rrow
    - cols
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1509
    functionDepth: 2
    functionLinenumber: 1509
    functionLinenumberEnd: 1539
    functionName: putMatchRowToRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_MEMCPY
    - pushResRow
    - 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:1646,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 84
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1543
    functionDepth: 3
    functionLinenumber: 1543
    functionLinenumberEnd: 1651
    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:1706,1
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1768,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1773,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 96
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1655
    functionDepth: 3
    functionLinenumber: 1655
    functionLinenumberEnd: 1778
    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:1891,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 88
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1782
    functionDepth: 3
    functionLinenumber: 1782
    functionLinenumberEnd: 1896
    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:1907,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1953,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2007,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 86
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1901
    functionDepth: 3
    functionLinenumber: 1901
    functionLinenumberEnd: 2012
    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:2023,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2060,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2060,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2062,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2062,1
    - Dst: trimForAsofJlimit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2067,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 3
    argNames:
    - rowsNum
    - tbOffset
    - leftTable
    argTypes:
    - int32_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2014
    functionDepth: 2
    functionLinenumber: 2014
    functionLinenumberEnd: 2069
    functionName: addAsofEqInRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - trimForAsofJlimit
    - taosArrayPush
    - TMIN
    - TD_ALWAYS_ASSERT
    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:2077,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2078,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2079,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2082,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2083,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2084,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2088,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2089,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2090,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: taosArrayClear
      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: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2097,1
    - Dst: chkAppendAsofForwardGrpResRows
      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: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2101,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2112,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2113,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2114,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2117,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2118,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2119,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2123,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2124,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2125,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: taosArrayClear
      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: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2132,1
    - Dst: chkAppendAsofForwardGrpResRows
      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
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2071
    functionDepth: 4
    functionLinenumber: 2071
    functionLinenumberEnd: 2141
    functionName: asofJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - appendAllAsofResRows
    - addAsofEqInRows
    - 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:2186,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2186,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2188,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2188,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - rowsNum
    - tbOffset
    - leftTable
    argTypes:
    - int32_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2144
    functionDepth: 1
    functionLinenumber: 2144
    functionLinenumberEnd: 2191
    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:2197,1
    - Dst: addWinEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2198,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2194
    functionDepth: 5
    functionLinenumber: 2194
    functionLinenumberEnd: 2200
    functionName: winJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - addWinEqInRows
    - chkAppendWinResRows
    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:2210,1
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2299,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2305,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2313,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 89
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2204
    functionDepth: 3
    functionLinenumber: 2204
    functionLinenumberEnd: 2317
    functionName: fullJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - putMatchRowToRes
    - TAOS_MEMSET
    - putNMatchRowToRes
    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:2323,1
    - Dst: leftJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2328,1
    - Dst: semiJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2331,1
    - Dst: antiJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2334,1
    - Dst: asofJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2337,1
    - Dst: winJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2340,1
    - Dst: fullJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2320
    functionDepth: 6
    functionLinenumber: 2320
    functionLinenumberEnd: 2353
    functionName: appendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - antiJoinAppendEqGrpRes
    - innerJoinAppendEqGrpRes
    - leftJoinAppendEqGrpRes
    - winJoinAppendEqGrpRes
    - fullJoinAppendEqGrpRes
    - asofJoinAppendEqGrpRes
    - semiJoinAppendEqGrpRes
    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:2367,1
    - Dst: TD_ALWAYS_ASSERT
      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: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2369,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2370,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2370,1
    - Dst: createDummyBlock
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2380,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2380,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2381,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2381,1
    - Dst: makeAppendBlkData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2389,1
    - Dst: appendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2391,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: 2392
      start: 2355
    functionDepth: 7
    functionLinenumber: 2355
    functionLinenumberEnd: 2392
    functionName: createTsEqGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - createDummyBlock
    - TD_ALWAYS_ASSERT
    - makeAppendBlkData
    - blockDataEnsureCapacity
    - 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:2395,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2396,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2398,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2399,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2400,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
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2405,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2394
    functionDepth: 5
    functionLinenumber: 2394
    functionLinenumberEnd: 2407
    functionName: forceFlushResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - chkAppendWinResRows
    - TD_ALWAYS_ASSERT
    - taosArrayClear
    - taosArrayGetSize
    - chkAppendAsofForwardGrpResRows
    linkageType: ''
    returnType: void
    signature: void forceFlushResRows()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2413,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2414,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2416,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2417,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2429,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:2433,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2451,1
    - Dst: forceFlushResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2452,1
    - Dst: createGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2460,1
    - Dst: createGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2464,1
    - Dst: createTsEqGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2468,1
    - Dst: forceFlushResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2475,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2409
    functionDepth: 8
    functionLinenumber: 2409
    functionLinenumberEnd: 2476
    functionName: createBothBlkRowsData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - forceFlushResRows
    - TMAX
    - createGrpRows
    - createTsEqGrpRows
    - TMIN
    - taosRand
    linkageType: ''
    returnType: void
    signature: void createBothBlkRowsData(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2485,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2488,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2489,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: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2494,1
    - Dst: createBothBlkRowsData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2496,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: 2497
      start: 2478
    functionDepth: 9
    functionLinenumber: 2478
    functionLinenumberEnd: 2497
    functionName: createDummyBlkList
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - createBothBlkRowsData
    - taosMemoryRealloc
    - TD_ALWAYS_ASSERT
    - TMAX
    - taosArrayClear
    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:2501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2499
    functionDepth: 1
    functionLinenumber: 2499
    functionLinenumberEnd: 2503
    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:2509,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2512,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2515,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2506
    functionDepth: 1
    functionLinenumber: 2506
    functionLinenumberEnd: 2523
    functionName: getDummyInputBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    - taosArrayGetP
    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:2528,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2533,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2535,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2541,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2547
    functionName: joinTestReplaceRetrieveFp
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void joinTestReplaceRetrieveFp()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2552,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2556,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2560,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2562,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2566,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: 2567
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2567
    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:2571,1
    - Dst: taosArrayGet
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2576,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2577,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2578,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2583,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2583,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2586,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2586,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pBlk
    - rowIdx
    argTypes:
    - SSDataBlock*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2569
    functionDepth: 1
    functionLinenumber: 2569
    functionLinenumberEnd: 2595
    functionName: printInputRowData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - colDataIsNull_s
    - colDataGetData
    - JT_PRINTF
    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:2600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2601,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2601,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2602,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2604,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2605,1
    - Dst: printInputRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2607,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2611,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2617,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2620,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2622,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2623,1
    - Dst: printInputRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2625,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2629,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2636,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2597
    functionDepth: 2
    functionLinenumber: 2597
    functionLinenumberEnd: 2640
    functionName: printInputData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    - taosArrayGetSize
    - JT_PRINTF
    - printInputRowData
    linkageType: ''
    returnType: void
    signature: void printInputData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2644,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2647,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - inputStat
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2653
    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: 2670
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2670
    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:2678,1
    - Dst: getInputStatStr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2682,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2685,1
    - Dst: getAsofOpStr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2685,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2687,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2690,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2692,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2692,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2699,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2700,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2704,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2705,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2709,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2710,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2714,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2715,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2718,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2722,1
    - Dst: printInputData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2726,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2672
    functionDepth: 3
    functionLinenumber: 2672
    functionLinenumberEnd: 2728
    functionName: printBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printInputData
    - getInputStatStr
    - taosArrayGetSize
    - JT_PRINTF
    - getAsofOpStr
    - 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:2735,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2737
    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:2744,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2753
    functionName: printActualResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void printActualResInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2759
    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:2766,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2767,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2771,1
    - Dst: printActualResInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2776,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2761
    functionDepth: 1
    functionLinenumber: 2761
    functionLinenumberEnd: 2779
    functionName: checkJoinDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printActualResInfo
    - printResRow
    - JT_PRINTF
    - tSimpleHashIterate
    - tSimpleHashGetKey
    linkageType: ''
    returnType: void
    signature: void checkJoinDone(char* caseName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2789,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2790,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2794,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2797,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2801,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2804,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pBlock
    - r
    - ignoreTbCols
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2781
    functionDepth: 1
    functionLinenumber: 2781
    functionLinenumberEnd: 2811
    functionName: putRowToResColBuf
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - colDataIsNull_s
    - 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:2829,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2831,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2833,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2835,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2836,1
    - Dst: rmResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2842,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2844,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2845,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2813
    functionDepth: 2
    functionLinenumber: 2813
    functionLinenumberEnd: 2849
    functionName: checkJoinRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - putRowToResColBuf
    - TAOS_MEMSET
    - printResRow
    - tSimpleHashGet
    - rmResRow
    linkageType: ''
    returnType: void
    signature: void checkJoinRes(SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2856,1
    - Dst: createDummyDownstreamOperators
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2860,1
    - Dst: createMergeJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2862,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - dsNum
    - pNode
    - pTask
    argTypes:
    - int32_t
    - SSortMergeJoinPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2851
    functionDepth: 2
    functionLinenumber: 2851
    functionLinenumberEnd: 2864
    functionName: resetForJoinRerun
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - createDummyDownstreamOperators
    - TAOS_MEMSET
    - createMergeJoinOperatorInfo
    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:2867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - contLoop
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2866
    functionDepth: 1
    functionLinenumber: 2866
    functionLinenumberEnd: 2881
    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:2890,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2892,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2895
      start: 2884
    functionDepth: 1
    functionLinenumber: 2884
    functionLinenumberEnd: 2895
    functionName: jtInitLogFile
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - taosInitLog
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void jtInitLogFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2900,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2901,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2902,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2903,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2903,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2904,1
    - Dst: joinTestReplaceRetrieveFp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2906,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2909,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2910,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2919,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2920,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: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2924,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2925,1
    - Dst: jtInitLogFile
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2899
    functionDepth: 2
    functionLinenumber: 2899
    functionLinenumberEnd: 2928
    functionName: initJoinTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayInit
    - TD_ALWAYS_ASSERT
    - jtInitLogFile
    - joinTestReplaceRetrieveFp
    - taosGetDefaultHashFunction
    - tSimpleHashInit
    linkageType: ''
    returnType: void
    signature: void initJoinTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2933,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2934,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2935,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2935,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2938,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2940,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2941,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2942,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2944,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2946,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2948,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2949,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2950,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2952,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2958
      start: 2930
    functionDepth: 1
    functionLinenumber: 2930
    functionLinenumberEnd: 2958
    functionName: handleTestDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TAOS_MEMCPY
    - taosArrayGetP
    - TD_ALWAYS_ASSERT
    - tSimpleHashClear
    - taosArrayClear
    - taosArrayGetSize
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void handleTestDone()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDummySortMergeJoinPhysiNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2963,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2964,1
    - Dst: createDummyBlkList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2965,1
    - Dst: rerunBlockedHere
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2968,1
    - Dst: resetForJoinRerun
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2969,1
    - Dst: printBasicInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2970,1
    - Dst: printOutputInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2971,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2973,1
    - Dst: pJoinOp::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2976,1
    - Dst: checkJoinDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2978,1
    - Dst: checkJoinRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2981,1
    - Dst: handleJoinDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2985,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2988,1
    - Dst: handleTestDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - caseName
    - param
    argTypes:
    - char*
    - SJoinTestParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2960
    functionDepth: 10
    functionLinenumber: 2960
    functionLinenumberEnd: 2990
    functionName: runSingleTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - resetForJoinRerun
    - rerunBlockedHere
    - handleTestDone
    - createDummySortMergeJoinPhysiNode
    - handleJoinDone
    - TD_ALWAYS_ASSERT
    - createDummyBlkList
    - checkJoinDone
    - pJoinOp::fpSet::getNextFn
    - printOutputInfo
    - printBasicInfo
    - checkJoinRes
    - nodesDestroyNode
    - taosGetTimestampUs
    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:2993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2992
    functionDepth: 1
    functionLinenumber: 2992
    functionLinenumberEnd: 2995
    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:
    - tSimpleHashGet
    - TD_ALWAYS_ASSERT
    - tSimpleHashPut
    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:
    - tSimpleHashGet
    - TD_ALWAYS_ASSERT
    - tSimpleHashRemove
    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:
    - nodesListStrictAppend
    - nodesListStrictAppendList
    - nodeType
    - TD_ALWAYS_ASSERT
    - nodesMakeList
    - nodesMakeNode
    - nodesDestroyNode
    - TSWAP
    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:
    - taosMemoryCalloc
    - TD_ALWAYS_ASSERT
    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:
    - TAOS_MEMSET
    - nodesListMakeStrictAppend
    - taosMemoryRealloc
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    - taosRand
    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:
    - TAOS_MEMSET
    - nodesListMakeStrictAppend
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    - taosRand
    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:
    - nodesListMakeStrictAppend
    - getDstSlotId
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    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
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    - jtMergeEqCond
    - getDstSlotId
    - nodesCloneNode
    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:
    - getFilterValue
    - nodesListMakeStrictAppend
    - sprintf
    - TD_ALWAYS_ASSERT
    - nodesSetValueNodeValue
    - nodesMakeNode
    - getDstSlotId
    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:
    - nodesListMakeStrictAppend
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    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:
    - createColEqCondEnd
    - updateColRowInfo
    - createFilterStart
    - createFilterEnd
    - TD_ALWAYS_ASSERT
    - createColOnCondEnd
    - createTargetSlotList
    - nodesMakeNode
    - createColCond
    - TSWAP
    - taosRand
    - 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:
    - taosMemoryCalloc
    - TD_ALWAYS_ASSERT
    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:948,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:950,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - blkId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 954
    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:957,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:966,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:970,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:970,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:972,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:977,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:982,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:985,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:990,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - leftInRow
    - rightOffset
    - rightRows
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 992
    functionName: appendAsofLeftEachResGrps
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 2
    functionsReached:
    - TAOS_MEMSET
    - taosArrayGet
    - TAOS_MEMCPY
    - pushResRow
    - taosArrayGetSize
    - TMIN
    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:996,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1005,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1016,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - leftInRow
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1017
    functionName: appendLeftNonMatchGrp
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 4
    functionsReached:
    - TAOS_MEMCPY
    - pushResRow
    - 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:1020,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1021,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1025,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1026,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1027,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1031,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1033,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1034,1
    - Dst: appendAsofLeftEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1035,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1019
    functionDepth: 3
    functionLinenumber: 1019
    functionLinenumberEnd: 1039
    functionName: appendAllAsofResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - appendLeftNonMatchGrp
    - TD_ALWAYS_ASSERT
    - taosArrayClear
    - taosArrayGetSize
    - appendAsofLeftEachResGrps
    linkageType: ''
    returnType: void
    signature: void appendAllAsofResRows()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1042,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1049,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1052,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1053,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1057,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1058,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: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1066,1
    - Dst: appendAsofLeftEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1073,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1084,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
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1091,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - forceOut
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1041
    functionDepth: 3
    functionLinenumber: 1041
    functionLinenumberEnd: 1092
    functionName: chkAppendAsofForwardGrpResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 3
    functionsReached:
    - taosArrayPopFrontBatch
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - appendLeftNonMatchGrp
    - taosArrayGetSize
    - appendAsofLeftEachResGrps
    linkageType: ''
    returnType: void
    signature: void chkAppendAsofForwardGrpResRows(bool forceOut)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1098,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1103,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1112,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1119,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1124,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1125,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1130,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1133,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - leftInRow
    - rightOffset
    - rightRows
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1095
    functionDepth: 3
    functionLinenumber: 1095
    functionLinenumberEnd: 1140
    functionName: appendWinEachResGrps
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - TAOS_MEMSET
    - taosArrayGet
    - TAOS_MEMCPY
    - pushResRow
    - TD_ALWAYS_ASSERT
    - appendLeftNonMatchGrp
    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:1143,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1150,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1153,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1154,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1162,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1163,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: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1171,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1178,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1188,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1200,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1202,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
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1209,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 1
    argNames:
    - forceOut
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1142
    functionDepth: 4
    functionLinenumber: 1142
    functionLinenumberEnd: 1210
    functionName: chkAppendWinResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 3
    functionsReached:
    - taosArrayPopFrontBatch
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - appendLeftNonMatchGrp
    - taosArrayGetSize
    - appendWinEachResGrps
    linkageType: ''
    returnType: void
    signature: void chkAppendWinResRows(bool forceOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1214,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1219,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1221
    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:1229,1
    - Dst: TD_ALWAYS_ASSERT
      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: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1231,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1232,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1232,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1276,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1278,1
    - Dst: createDummyBlock
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1285,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1285,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1286,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1286,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1294,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1296,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:1314,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1314,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1314,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1328,1
    - Dst: taosArrayGet
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1341,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1341,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1348,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1357,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1363,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1363,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1366,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1366,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1377,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1387,1
    - Dst: trimForAsofJlimit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1389,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1392,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1395,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 142
    argCount: 3
    argNames:
    - ppBlk
    - blkId
    - grpRows
    argTypes:
    - SSDataBlock**
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1223
    functionDepth: 5
    functionLinenumber: 1223
    functionLinenumberEnd: 1399
    functionName: createGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - appendAllAsofResRows
    - taosArrayPush
    - TAOS_MEMSET
    - trimForAsofJlimit
    - taosArrayGet
    - createDummyBlock
    - TAOS_MEMCPY
    - pushResRow
    - TD_ALWAYS_ASSERT
    - chkAppendWinResRows
    - colDataSetVal
    - TMAX
    - blockDataEnsureCapacity
    - taosRand
    - chkAppendAsofForwardGrpResRows
    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:1406,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1407,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1409,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1413,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1413,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1417,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1417,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1417,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1419,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1419,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1422,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1422,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1426,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1428,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1428,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: 1436
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1436
    functionName: createRowData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosRand
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - colDataSetVal
    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:1443,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1444,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1447,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1450,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1453,1
    - Dst: createDummyBlock
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1458,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1458,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1459,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1459,1
    - Dst: createRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1465,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1468,1
    - Dst: createDummyBlock
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1473,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1473,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1474,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1474,1
    - Dst: createRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1480,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: 1483
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1483
    functionName: makeAppendBlkData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - TAOS_MEMSET
    - createRowData
    - createDummyBlock
    - taosMemoryRealloc
    - TD_ALWAYS_ASSERT
    - TMAX
    - blockDataEnsureCapacity
    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:1487,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1494,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - lrow
    - tableOffset
    - peerOffset
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1485
    functionDepth: 2
    functionLinenumber: 1485
    functionLinenumberEnd: 1507
    functionName: putNMatchRowToRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 3
    functionsReached:
    - TAOS_MEMCPY
    - pushResRow
    - 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:1511,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1519,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1531,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1538,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - lrow
    - rrow
    - cols
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1509
    functionDepth: 2
    functionLinenumber: 1509
    functionLinenumberEnd: 1539
    functionName: putMatchRowToRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 4
    functionsReached:
    - TAOS_MEMCPY
    - pushResRow
    - 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:1646,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 84
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1543
    functionDepth: 3
    functionLinenumber: 1543
    functionLinenumberEnd: 1651
    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:1706,1
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1768,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1773,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 96
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1655
    functionDepth: 3
    functionLinenumber: 1655
    functionLinenumberEnd: 1778
    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:1891,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 88
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1782
    functionDepth: 3
    functionLinenumber: 1782
    functionLinenumberEnd: 1896
    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:1907,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1953,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2007,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 86
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1901
    functionDepth: 3
    functionLinenumber: 1901
    functionLinenumberEnd: 2012
    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:2023,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2060,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2060,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2062,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2062,1
    - Dst: trimForAsofJlimit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2067,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 3
    argNames:
    - rowsNum
    - tbOffset
    - leftTable
    argTypes:
    - int32_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2014
    functionDepth: 2
    functionLinenumber: 2014
    functionLinenumberEnd: 2069
    functionName: addAsofEqInRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - trimForAsofJlimit
    - taosArrayPush
    - TMIN
    - TD_ALWAYS_ASSERT
    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:2077,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2078,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2079,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2082,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2083,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2084,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2088,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2089,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2090,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: taosArrayClear
      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: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2097,1
    - Dst: chkAppendAsofForwardGrpResRows
      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: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2101,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2112,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2113,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2114,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2117,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2118,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2119,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2123,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2124,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2125,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: taosArrayClear
      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: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2132,1
    - Dst: chkAppendAsofForwardGrpResRows
      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
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2071
    functionDepth: 4
    functionLinenumber: 2071
    functionLinenumberEnd: 2141
    functionName: asofJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayClear
    - appendAllAsofResRows
    - addAsofEqInRows
    - 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:2186,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2186,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2188,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2188,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - rowsNum
    - tbOffset
    - leftTable
    argTypes:
    - int32_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2144
    functionDepth: 1
    functionLinenumber: 2144
    functionLinenumberEnd: 2191
    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:2197,1
    - Dst: addWinEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2198,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2194
    functionDepth: 5
    functionLinenumber: 2194
    functionLinenumberEnd: 2200
    functionName: winJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - addWinEqInRows
    - chkAppendWinResRows
    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:2210,1
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2299,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2305,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2313,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 89
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2204
    functionDepth: 3
    functionLinenumber: 2204
    functionLinenumberEnd: 2317
    functionName: fullJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - putMatchRowToRes
    - TAOS_MEMSET
    - putNMatchRowToRes
    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:2323,1
    - Dst: leftJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2328,1
    - Dst: semiJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2331,1
    - Dst: antiJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2334,1
    - Dst: asofJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2337,1
    - Dst: winJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2340,1
    - Dst: fullJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2320
    functionDepth: 6
    functionLinenumber: 2320
    functionLinenumberEnd: 2353
    functionName: appendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - antiJoinAppendEqGrpRes
    - innerJoinAppendEqGrpRes
    - leftJoinAppendEqGrpRes
    - winJoinAppendEqGrpRes
    - fullJoinAppendEqGrpRes
    - asofJoinAppendEqGrpRes
    - semiJoinAppendEqGrpRes
    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:2367,1
    - Dst: TD_ALWAYS_ASSERT
      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: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2369,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2370,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2370,1
    - Dst: createDummyBlock
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2380,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2380,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2381,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2381,1
    - Dst: makeAppendBlkData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2389,1
    - Dst: appendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2391,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: 2392
      start: 2355
    functionDepth: 7
    functionLinenumber: 2355
    functionLinenumberEnd: 2392
    functionName: createTsEqGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - createDummyBlock
    - TD_ALWAYS_ASSERT
    - makeAppendBlkData
    - blockDataEnsureCapacity
    - 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:2395,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2396,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2398,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2399,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2400,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
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2405,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2394
    functionDepth: 5
    functionLinenumber: 2394
    functionLinenumberEnd: 2407
    functionName: forceFlushResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - chkAppendWinResRows
    - TD_ALWAYS_ASSERT
    - taosArrayClear
    - taosArrayGetSize
    - chkAppendAsofForwardGrpResRows
    linkageType: ''
    returnType: void
    signature: void forceFlushResRows()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2413,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2414,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2416,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2417,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2429,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:2433,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2451,1
    - Dst: forceFlushResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2452,1
    - Dst: createGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2460,1
    - Dst: createGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2464,1
    - Dst: createTsEqGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2468,1
    - Dst: forceFlushResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2475,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2409
    functionDepth: 8
    functionLinenumber: 2409
    functionLinenumberEnd: 2476
    functionName: createBothBlkRowsData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - forceFlushResRows
    - TMAX
    - createGrpRows
    - createTsEqGrpRows
    - TMIN
    - taosRand
    linkageType: ''
    returnType: void
    signature: void createBothBlkRowsData(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2485,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2488,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2489,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: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2494,1
    - Dst: createBothBlkRowsData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2496,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: 2497
      start: 2478
    functionDepth: 9
    functionLinenumber: 2478
    functionLinenumberEnd: 2497
    functionName: createDummyBlkList
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - createBothBlkRowsData
    - taosMemoryRealloc
    - TD_ALWAYS_ASSERT
    - TMAX
    - taosArrayClear
    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:2501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2499
    functionDepth: 1
    functionLinenumber: 2499
    functionLinenumberEnd: 2503
    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:2509,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2512,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2515,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2506
    functionDepth: 1
    functionLinenumber: 2506
    functionLinenumberEnd: 2523
    functionName: getDummyInputBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    - taosArrayGetP
    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:2528,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2533,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2535,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2541,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2547
    functionName: joinTestReplaceRetrieveFp
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void joinTestReplaceRetrieveFp()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2552,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2556,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2560,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2562,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2566,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: 2567
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2567
    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:2571,1
    - Dst: taosArrayGet
      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: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2576,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2577,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2578,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2583,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2583,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2586,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2586,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pBlk
    - rowIdx
    argTypes:
    - SSDataBlock*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2569
    functionDepth: 1
    functionLinenumber: 2569
    functionLinenumberEnd: 2595
    functionName: printInputRowData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - colDataIsNull_s
    - colDataGetData
    - JT_PRINTF
    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:2600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2601,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2601,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2602,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2604,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2605,1
    - Dst: printInputRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2607,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2611,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2617,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2620,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2622,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2623,1
    - Dst: printInputRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2625,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2629,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2636,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2597
    functionDepth: 2
    functionLinenumber: 2597
    functionLinenumberEnd: 2640
    functionName: printInputData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    - taosArrayGetSize
    - JT_PRINTF
    - printInputRowData
    linkageType: ''
    returnType: void
    signature: void printInputData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2644,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2647,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - inputStat
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2653
    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: 2670
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2670
    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:2678,1
    - Dst: getInputStatStr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2682,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2685,1
    - Dst: getAsofOpStr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2685,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2687,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2690,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2692,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2692,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2699,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2700,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2704,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2705,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2709,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2710,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2714,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2715,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2718,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2722,1
    - Dst: printInputData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2726,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2672
    functionDepth: 3
    functionLinenumber: 2672
    functionLinenumberEnd: 2728
    functionName: printBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - printInputData
    - getInputStatStr
    - taosArrayGetSize
    - JT_PRINTF
    - getAsofOpStr
    - 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:2735,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2737
    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:2744,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2753
    functionName: printActualResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosGetTimestampUs
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void printActualResInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2759
    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:2766,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2767,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2771,1
    - Dst: printActualResInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2776,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2761
    functionDepth: 1
    functionLinenumber: 2761
    functionLinenumberEnd: 2779
    functionName: checkJoinDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - printActualResInfo
    - printResRow
    - JT_PRINTF
    - tSimpleHashIterate
    - tSimpleHashGetKey
    linkageType: ''
    returnType: void
    signature: void checkJoinDone(char* caseName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2789,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2790,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2794,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2797,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2801,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2804,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pBlock
    - r
    - ignoreTbCols
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2781
    functionDepth: 1
    functionLinenumber: 2781
    functionLinenumberEnd: 2811
    functionName: putRowToResColBuf
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - TD_ALWAYS_ASSERT
    - colDataIsNull_s
    - 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:2829,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2831,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2833,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2835,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2836,1
    - Dst: rmResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2842,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2844,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2845,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2813
    functionDepth: 2
    functionLinenumber: 2813
    functionLinenumberEnd: 2849
    functionName: checkJoinRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - putRowToResColBuf
    - TAOS_MEMSET
    - printResRow
    - tSimpleHashGet
    - rmResRow
    linkageType: ''
    returnType: void
    signature: void checkJoinRes(SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2856,1
    - Dst: createDummyDownstreamOperators
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2860,1
    - Dst: createMergeJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2862,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - dsNum
    - pNode
    - pTask
    argTypes:
    - int32_t
    - SSortMergeJoinPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2851
    functionDepth: 2
    functionLinenumber: 2851
    functionLinenumberEnd: 2864
    functionName: resetForJoinRerun
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - ASSERT_TRUE
    - createDummyDownstreamOperators
    - TAOS_MEMSET
    - createMergeJoinOperatorInfo
    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:2867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - contLoop
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2866
    functionDepth: 1
    functionLinenumber: 2866
    functionLinenumberEnd: 2881
    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:2890,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2892,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2895
      start: 2884
    functionDepth: 1
    functionLinenumber: 2884
    functionLinenumberEnd: 2895
    functionName: jtInitLogFile
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - TAOS_STRCPY
    - taosInitLog
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void jtInitLogFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2900,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2901,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2902,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2903,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2903,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2904,1
    - Dst: joinTestReplaceRetrieveFp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2906,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2909,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2910,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2919,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2920,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: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2924,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2925,1
    - Dst: jtInitLogFile
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2899
    functionDepth: 2
    functionLinenumber: 2899
    functionLinenumberEnd: 2928
    functionName: initJoinTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayInit
    - TD_ALWAYS_ASSERT
    - jtInitLogFile
    - joinTestReplaceRetrieveFp
    - taosGetDefaultHashFunction
    - tSimpleHashInit
    linkageType: ''
    returnType: void
    signature: void initJoinTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2933,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2934,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2935,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2935,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2938,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2940,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2941,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2942,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2944,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2946,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2948,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2949,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2950,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2952,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2958
      start: 2930
    functionDepth: 1
    functionLinenumber: 2930
    functionLinenumberEnd: 2958
    functionName: handleTestDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - TAOS_MEMCPY
    - taosArrayGetP
    - TD_ALWAYS_ASSERT
    - tSimpleHashClear
    - taosArrayClear
    - taosArrayGetSize
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void handleTestDone()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDummySortMergeJoinPhysiNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2963,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2964,1
    - Dst: createDummyBlkList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2965,1
    - Dst: rerunBlockedHere
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2968,1
    - Dst: resetForJoinRerun
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2969,1
    - Dst: printBasicInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2970,1
    - Dst: printOutputInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2971,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2973,1
    - Dst: pJoinOp::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2976,1
    - Dst: checkJoinDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2978,1
    - Dst: checkJoinRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2981,1
    - Dst: handleJoinDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2985,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2988,1
    - Dst: handleTestDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - caseName
    - param
    argTypes:
    - char*
    - SJoinTestParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2960
    functionDepth: 10
    functionLinenumber: 2960
    functionLinenumberEnd: 2990
    functionName: runSingleTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - resetForJoinRerun
    - rerunBlockedHere
    - handleTestDone
    - createDummySortMergeJoinPhysiNode
    - handleJoinDone
    - TD_ALWAYS_ASSERT
    - createDummyBlkList
    - checkJoinDone
    - pJoinOp::fpSet::getNextFn
    - printOutputInfo
    - printBasicInfo
    - checkJoinRes
    - nodesDestroyNode
    - taosGetTimestampUs
    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:2993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2992
    functionDepth: 1
    functionLinenumber: 2992
    functionLinenumberEnd: 2995
    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:3004,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3005,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3017,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3020,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3023,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3001
    functionDepth: 11
    functionLinenumber: 3001
    functionLinenumberEnd: 3025
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(innerJoin, noCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3032,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3033,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3045,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3048,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3051,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3029
    functionDepth: 11
    functionLinenumber: 3029
    functionLinenumberEnd: 3053
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(innerJoin, eqCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3060,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3061,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3073,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3076,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3079,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3081
      start: 3057
    functionDepth: 11
    functionLinenumber: 3057
    functionLinenumberEnd: 3081
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(innerJoin, onCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3088,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3089,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3101,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3104,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3107,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 3085
    functionDepth: 11
    functionLinenumber: 3085
    functionLinenumberEnd: 3109
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(innerJoin, fullCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3119,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3120,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3130,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3132,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3134,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3136,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3139,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3116
    functionDepth: 11
    functionLinenumber: 3116
    functionLinenumberEnd: 3141
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosRand
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftOuterJoin, noCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3148,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3149,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3161,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3164,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3169
      start: 3145
    functionDepth: 11
    functionLinenumber: 3145
    functionLinenumberEnd: 3169
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftOuterJoin, eqCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3176,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3177,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3189,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3192,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3195,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3197
      start: 3173
    functionDepth: 11
    functionLinenumber: 3173
    functionLinenumberEnd: 3197
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftOuterJoin, onCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3204,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3205,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3217,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3220,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3223,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3225
      start: 3201
    functionDepth: 11
    functionLinenumber: 3201
    functionLinenumberEnd: 3225
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftOuterJoin, fullCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3234,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3235,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3247,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3250,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3253,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3255
      start: 3231
    functionDepth: 11
    functionLinenumber: 3231
    functionLinenumberEnd: 3255
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(fullOuterJoin, noCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3262,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3263,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3275,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3278,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3281,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3282,1
    - Dst: handleCaseEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3284
      start: 3259
    functionDepth: 11
    functionLinenumber: 3259
    functionLinenumberEnd: 3284
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - handleCaseEnd
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(fullOuterJoin, eqCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3291,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3292,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3304,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3307,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3310,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3312
      start: 3288
    functionDepth: 11
    functionLinenumber: 3288
    functionLinenumberEnd: 3312
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(fullOuterJoin, onCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3319,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3320,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3332,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3335,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3338,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3316
    functionDepth: 11
    functionLinenumber: 3316
    functionLinenumberEnd: 3340
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(fullOuterJoin, fullCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3349,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3350,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3362,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3365,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3368,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3346
    functionDepth: 11
    functionLinenumber: 3346
    functionLinenumberEnd: 3370
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftSemiJoin, noCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3377,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3378,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3390,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3393,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3396,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3397,1
    - Dst: handleCaseEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3374
    functionDepth: 11
    functionLinenumber: 3374
    functionLinenumberEnd: 3399
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - handleCaseEnd
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftSemiJoin, eqCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3406,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3407,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3419,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3422,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3425,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3427
      start: 3403
    functionDepth: 11
    functionLinenumber: 3403
    functionLinenumberEnd: 3427
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftSemiJoin, onCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3434,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3435,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3447,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3450,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3453,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3431
    functionDepth: 11
    functionLinenumber: 3431
    functionLinenumberEnd: 3455
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftSemiJoin, fullCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3464,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3465,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3477,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3480,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3483,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3461
    functionDepth: 11
    functionLinenumber: 3461
    functionLinenumberEnd: 3485
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftAntiJoin, noCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3492,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3493,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3505,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3508,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3511,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3512,1
    - Dst: handleCaseEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3514
      start: 3489
    functionDepth: 11
    functionLinenumber: 3489
    functionLinenumberEnd: 3514
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - handleCaseEnd
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftAntiJoin, eqCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3521,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3522,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3534,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3537,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3540,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3542
      start: 3518
    functionDepth: 11
    functionLinenumber: 3518
    functionLinenumberEnd: 3542
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftAntiJoin, onCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3549,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3550,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3562,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3565,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3568,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3570
      start: 3546
    functionDepth: 11
    functionLinenumber: 3546
    functionLinenumberEnd: 3570
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosMemoryFree
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftAntiJoin, fullCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3579,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3580,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3591,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3591,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3593,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3595,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3597,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3599,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3602,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3576
    functionDepth: 11
    functionLinenumber: 3576
    functionLinenumberEnd: 3604
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosRand
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftAsofJoin, noCondGreaterThanTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3611,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3612,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3623,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3623,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3625,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3627,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3629,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3631,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3634,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3636
      start: 3608
    functionDepth: 11
    functionLinenumber: 3608
    functionLinenumberEnd: 3636
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosRand
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftAsofJoin, noCondGreaterEqTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3643,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3644,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3655,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3655,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3657,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3659,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3661,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3663,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3666,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3668
      start: 3640
    functionDepth: 11
    functionLinenumber: 3640
    functionLinenumberEnd: 3668
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosRand
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftAsofJoin, noCondEqTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3675,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3676,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3687,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3687,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3689,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3691,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3693,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3695,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3698,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3700
      start: 3672
    functionDepth: 11
    functionLinenumber: 3672
    functionLinenumberEnd: 3700
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosRand
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftAsofJoin, noCondLowerThanTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3708,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3709,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3720,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3720,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3722,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3724,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3726,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3728,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3731,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3733
      start: 3705
    functionDepth: 11
    functionLinenumber: 3705
    functionLinenumberEnd: 3733
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosRand
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftAsofJoin, noCondLowerEqTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3744,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3745,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3755,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3755,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3757,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3759,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3761,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3763,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3766,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3741
    functionDepth: 11
    functionLinenumber: 3741
    functionLinenumberEnd: 3768
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - printStatInfo
    - TD_ALWAYS_ASSERT
    - createDummyTaskInfo
    - taosRand
    - runSingleTest
    linkageType: ''
    returnType: void
    signature: void TEST(leftWinJoin, noCondProjectionTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3782,1
    - Dst: hInnerJoinDo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3787
      start: 3775
    functionDepth: 1
    functionLinenumber: 3775
    functionLinenumberEnd: 3787
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - memset
    - hInnerJoinDo
    linkageType: ''
    returnType: void
    signature: void TEST(functionsTest, branch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3792,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3792,1
    - Dst: initJoinTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3793,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3794,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3796
      start: 3791
    functionDepth: 3
    functionLinenumber: 3791
    functionLinenumberEnd: 3796
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    - initJoinTest
    - taosGetTimestampSec
    - taosSeedRand
    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
    - taosRand
    - qptGetColumnRandLen
    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
    - varDataVal
    - QPT_NCORRECT_LOW_PROB
    - taosMemoryFree
    - memset
    - TD_ALWAYS_ASSERT
    - taosMbsToUcs4
    - taosMemoryCalloc
    - taosRand
    - 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:
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    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:
    - taosMemoryCalloc
    - TD_ALWAYS_ASSERT
    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:
    - taosRand
    - nodeType
    - QPT_NCORRECT_LOW_PROB
    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: 21
    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:
    - nodesDestroyNode
    - qptNodesListAppend
    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:
    - qptNodesListStrictAppend
    - nodesMakeList
    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:
    - taosRand
    - nodesMakeNode
    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
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - strcpy
    - qptGetRandValue
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - qptInitSingleTableCol
    - nodesMakeNode
    - taosRand
    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
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    - qptMakeExprNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - qptNodesListMakeStrictAppend
    - qptMakeWhenThenNode
    - nodesMakeNode
    - qptMakeExprNode
    - taosRand
    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
    - QPT_NCORRECT_LOW_PROB
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    - qptMakeExprNode
    - taosRand
    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
    - QPT_CORRECT_HIGH_PROB
    - qptMakeColumnFromTable
    - QPT_NCORRECT_LOW_PROB
    - qptGetRandValue
    - qptMakeRandNode
    - nodesMakeNode
    - taosRand
    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:
    - QPT_NCORRECT_LOW_PROB
    - qptMakeRandNode
    - nodesMakeNode
    - qptGetRandValue
    - qptNodesSetValueNodeValue
    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:
    - fmGetFuncInfo
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - strcpy
    - qptMakeRandNode
    - qptNodesListMakeStrictAppend
    - nodesMakeNode
    - qptMakeExprNode
    - taosRand
    - fmGetFuncName
    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
    - QPT_NCORRECT_LOW_PROB
    - qptMakeRandNode
    - qptNodesListMakeStrictAppend
    - nodesMakeNode
    - qptMakeExprNode
    - taosRand
    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:
    - qptMakeRandNode
    - qptMakeNodeList
    - nodesMakeNode
    - QPT_NCORRECT_LOW_PROB
    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
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    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
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    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
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - qptMakeRealTableNode
    - qptMakeTempTableNode
    - qptMakeJoinTableNode
    - 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:
    - qptMakeFunctionNode
    - QPT_NCORRECT_LOW_PROB
    - qptMakeNonRealTableNode
    - qptMakeValueNode
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - qptMakeCaseWhenNode
    - qptMakeWhenThenNode
    - qptMakeOperatorNode
    - qptMakeNodeListNode
    - qptMakeLogicCondNode
    - qptMakeColumnNode
    - taosRand
    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:
    - QPT_NCORRECT_LOW_PROB
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    - taosRand
    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:
    - QPT_NCORRECT_LOW_PROB
    - qptMakeValueNode
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    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
    - taosRand
    - qptGetColumnRandLen
    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
    - varDataVal
    - QPT_NCORRECT_LOW_PROB
    - taosMemoryFree
    - memset
    - TD_ALWAYS_ASSERT
    - taosMbsToUcs4
    - taosMemoryCalloc
    - taosRand
    - 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:
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    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:
    - taosMemoryCalloc
    - TD_ALWAYS_ASSERT
    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:
    - taosRand
    - nodeType
    - QPT_NCORRECT_LOW_PROB
    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: 22
    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:
    - nodesDestroyNode
    - qptNodesListAppend
    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:
    - qptNodesListStrictAppend
    - nodesMakeList
    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:
    - taosRand
    - nodesMakeNode
    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
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - strcpy
    - qptGetRandValue
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - qptInitSingleTableCol
    - nodesMakeNode
    - taosRand
    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
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    - qptMakeExprNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - qptNodesListMakeStrictAppend
    - qptMakeWhenThenNode
    - nodesMakeNode
    - qptMakeExprNode
    - taosRand
    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
    - QPT_NCORRECT_LOW_PROB
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    - qptMakeExprNode
    - taosRand
    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
    - QPT_CORRECT_HIGH_PROB
    - qptMakeColumnFromTable
    - QPT_NCORRECT_LOW_PROB
    - qptGetRandValue
    - qptMakeRandNode
    - nodesMakeNode
    - taosRand
    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:
    - QPT_NCORRECT_LOW_PROB
    - qptMakeRandNode
    - nodesMakeNode
    - qptGetRandValue
    - qptNodesSetValueNodeValue
    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:
    - fmGetFuncInfo
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - strcpy
    - qptMakeRandNode
    - qptNodesListMakeStrictAppend
    - nodesMakeNode
    - qptMakeExprNode
    - taosRand
    - fmGetFuncName
    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
    - QPT_NCORRECT_LOW_PROB
    - qptMakeRandNode
    - qptNodesListMakeStrictAppend
    - nodesMakeNode
    - qptMakeExprNode
    - taosRand
    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:
    - qptMakeRandNode
    - qptMakeNodeList
    - nodesMakeNode
    - QPT_NCORRECT_LOW_PROB
    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
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    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
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    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
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - qptMakeRealTableNode
    - qptMakeTempTableNode
    - qptMakeJoinTableNode
    - 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:
    - qptMakeFunctionNode
    - QPT_NCORRECT_LOW_PROB
    - qptMakeNonRealTableNode
    - qptMakeValueNode
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - qptMakeCaseWhenNode
    - qptMakeWhenThenNode
    - qptMakeOperatorNode
    - qptMakeNodeListNode
    - qptMakeLogicCondNode
    - qptMakeColumnNode
    - taosRand
    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:
    - QPT_NCORRECT_LOW_PROB
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    - taosRand
    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:
    - QPT_NCORRECT_LOW_PROB
    - qptMakeValueNode
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    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:
    - taosRand
    - qptResetMakeNodeCtx
    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:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - qptGetRandValue
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - snprintf
    - nodesMakeNode
    - taosRand
    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
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptMakeSlotDescNode
    - QPT_NCORRECT_LOW_PROB
    - QPT_VALID_DESC
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - qptNodesListMakeStrictAppend
    - nodesMakeNode
    - nodesDestroyNode
    - qptMakeExprNode
    - nodesCloneNode
    - taosRand
    - FOREACH
    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*
    - int16_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
    - QPT_NCORRECT_LOW_PROB
    - TD_ALWAYS_ASSERT
    - qptMakeRandNode
    - nodesMakeNode
    - nodesDestroyNode
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeTargetNode(SNode* pNode, int16_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:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - memcpy
    - qptMakeRandNode
    - nodesMakeNode
    - taosRand
    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
    - QPT_NCORRECT_LOW_PROB
    - qptGetRandNullOrder
    - qptMakeRandNode
    - qptInitMakeNodeCtx
    - nodesMakeNode
    - qptMakeExprNode
    - taosRand
    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:
    - qptMakeRandNode
    - qptCreateSubplanNode
    - QPT_NCORRECT_LOW_PROB
    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:
    - qptMakeLimitNode
    - qptGetDynamicOp
    - qptMakeDataBlockDescNode
    - qptGetCurrTsOrder
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptInitMakeNodeCtx
    - qptGetCurrTsOrder
    - qptMakeConditionNode
    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:
    - taosRand
    - nodesListGetNode
    - TD_ALWAYS_ASSERT
    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
    - QPT_CORRECT_HIGH_PROB
    - qptMakeColumnFromTable
    - QPT_NCORRECT_LOW_PROB
    - TD_ALWAYS_ASSERT
    - qptMarkTableInUseCols
    - qptNodesListMakeStrictAppend
    - nodesMakeList
    - taosRand
    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
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTableScanColList
    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
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTableScanColList
    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:
    - QPT_CORRECT_HIGH_PROB
    - REPLACE_NODE
    - qptMakeSlotDescNode
    - nodeType
    - TD_ALWAYS_ASSERT
    - qptNodesListMakeStrictAppend
    - qptMakeTargetNode
    - qptMakeExprNode
    - taosRand
    - LIST_LENGTH
    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: 24
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - REPLACE_NODE
    - qptMakeSlotDescNode
    - nodeType
    - TD_ALWAYS_ASSERT
    - qptNodesListMakeStrictAppend
    - qptMakeTargetNode
    - qptMakeExprNode
    - taosRand
    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:
    - qptMakeFunctionNode
    - qptMakeValueNode
    - qptMakeRandNode
    - qptMakeExprNode
    - qptMakeColumnNode
    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:
    - qptSaveMakeNodeCtx
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - qptMakeSpecTypeNode
    - taosRand
    - 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:
    - qptSaveMakeNodeCtx
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - qptMakeExprNode
    - taosRand
    - 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:
    - qptSaveMakeNodeCtx
    - QPT_CORRECT_HIGH_PROB
    - qptMakeValueNode
    - qptNodesListMakeStrictAppend
    - taosRand
    - 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:
    - qptSaveMakeNodeCtx
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - qptMakeColumnNode
    - taosRand
    - 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
    - int16_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:
    - qptSaveMakeNodeCtx
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetNode
    - qptNodesListMakeStrictAppend
    - qptMakeSpecTypeNode
    - taosRand
    - qptRestoreMakeNodeCtx
    linkageType: ''
    returnType: void
    signature: void qptMakeTargetList(QPT_NODE_TYPE nodeType, int16_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:
    - qptSaveMakeNodeCtx
    - qptMakeFunctionNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - 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:
    - qptSaveMakeNodeCtx
    - qptMakeDownstreamSrcNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - 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:
    - qptSaveMakeNodeCtx
    - QPT_CORRECT_HIGH_PROB
    - qptMakeOrderByExprNode
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptRestoreMakeNodeCtx
    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:
    - qptSaveMakeNodeCtx
    - qptMakeSubplanNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptRestoreMakeNodeCtx
    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:
    - qptMakeValueList
    - qptMakeFunctionList
    - qptMakeRandNodeList
    - qptMakeExprList
    - qptMakeColumnList
    - qptMakeSubplanList
    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:
    - qptNodesListMakeStrictAppend
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetNode
    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: 24
    functionsReached:
    - qptNodesListMakeStrictAppend
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetNode
    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_CORRECT_HIGH_PROB
    - toName
    - memcpy
    - QPT_VALID_DESC
    - qptAddDataBlockSlots
    - qptCreateTableScanCols
    - qptCreateTableScanPseudoCols
    - taosRand
    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:
    - qptCreateScanPhysiNodeImpl
    - qptPostCreatePhysiNode
    - taosRand
    - qptCreatePhysiNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptMakeFunctionList
    - qptInitMakeNodeCtx
    - qptCreateScanPhysiNodeImpl
    - qptCreatePhysiNode
    - qptMakeExprList
    - qptMakeExprNode
    - qptMakeColumnList
    - taosRand
    - qptPostCreatePhysiNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - memcpy
    - qptCreateScanPhysiNodeImpl
    - qptCreatePhysiNode
    - qptPostCreatePhysiNode
    - 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:
    - qptPostCreatePhysiNode
    - qptCreateScanPhysiNodeImpl
    - qptCreatePhysiNode
    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:
    - taosArrayPush
    - qptMakeAppendToTargetList
    - QPT_CORRECT_HIGH_PROB
    - taosArrayInit
    - TD_ALWAYS_ASSERT
    - qptInitMakeNodeCtx
    - qptCreateScanPhysiNodeImpl
    - qptCreatePhysiNode
    - qptPostCreatePhysiNode
    - qptMakeColumnList
    - taosRand
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptAddDataBlockSlots
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - qptMakeExprList
    - qptPostCreatePhysiNode
    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:
    - qptMakeLimitNode
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetList
    - qptMakeWindowOffsetNode
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - qptGetInputSlotId
    - qptMakeExprNode
    - qptMakeColumnList
    - taosRand
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetList
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - taosRand
    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:
    - qptMakeDownstreamSrcList
    - QPT_CORRECT_HIGH_PROB
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - taosRand
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetList
    - qptMakeOrerByExprList
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - taosRand
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetList
    - qptMakeOrerByExprList
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - qptMakeExprList
    - taosRand
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetList
    - qptMakeOrerByExprList
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - qptMakeExprList
    - taosRand
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptMakeFunctionList
    - qptInitMakeNodeCtx
    - qptMakeExprList
    - qptMakeColumnNode
    - taosRand
    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:
    - qptCreateWindowPhysiNode
    - qptGetRandTimestampUnit
    - taosRand
    - qptCreatePhysiNode
    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:
    - qptGetRandTimeWindow
    - qptGetRandFillMode
    - QPT_CORRECT_HIGH_PROB
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - qptMakeExprList
    - qptMakeColumnNode
    - qptMakeNodeListNode
    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:
    - qptCreateWindowPhysiNode
    - taosRand
    - qptCreatePhysiNode
    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:
    - qptCreateWindowPhysiNode
    - QPT_CORRECT_HIGH_PROB
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - qptMakeColumnNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetList
    - qptInitMakeNodeCtx
    - qptMakeExprList
    - qptMakeColumnList
    - taosRand
    - qptGetInputPrimaryTsSlotId
    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:
    - qptCreatePartitionPhysiNodeImpl
    - qptCreatePhysiNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetList
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - taosRand
    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:
    - qptGetRandTimeWindow
    - qptGetRandFillMode
    - QPT_CORRECT_HIGH_PROB
    - qptGetRandTimestampUnit
    - qptMakeTargetList
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - qptMakeNodeListNode
    - qptMakeColumnNode
    - taosRand
    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:
    - qptCreateWindowPhysiNode
    - QPT_CORRECT_HIGH_PROB
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - 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:
    - qptCreateWindowPhysiNode
    - taosRand
    - qptCreatePhysiNode
    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:
    - qptGetRandTimeWindow
    - qptMakeLimitNode
    - QPT_CORRECT_HIGH_PROB
    - qptMakeTargetList
    - qptMakeWindowOffsetNode
    - qptInitMakeNodeCtx
    - qptCreatePhysiNode
    - qptGetInputSlotId
    - qptMakeExprNode
    - qptMakeColumnList
    - taosRand
    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:
    - qptMakeColumnList
    - qptInitMakeNodeCtx
    - QPT_CORRECT_HIGH_PROB
    - qptCreatePhysiNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptCreatePhysiNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptMakeDataBlockDescNodeFromNode
    - qptMakeDataBlockDescNode
    - TD_ALWAYS_ASSERT
    - nodesMakeNode
    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:
    - taosMemoryMalloc
    - taosRand
    - qptCreateDataSinkNode
    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:
    - QPT_CORRECT_HIGH_PROB
    - qptCreateDataSinkNode
    - strcpy
    - memcpy
    - qptInitMakeNodeCtx
    - qptMakeColumnList
    - taosRand
    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:
    - qptGetRandTimeWindow
    - nodesListGetNode
    - QPT_CORRECT_HIGH_PROB
    - qptCreateDataSinkNode
    - strcpy
    - sprintf
    - taosRand
    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:
    - qptCreatePhysiNodesTree
    - QPT_CORRECT_HIGH_PROB
    - qptCreateSubplanDataSink
    - qptGetRandSubplanMsgType
    - sprintf
    - strcpy
    - TD_ALWAYS_ASSERT
    - memcpy
    - qptInitMakeNodeCtx
    - nodesMakeNode
    - qptMakeExprNode
    - taosRand
    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
    - qptNodesListMakeStrictAppend
    - qptCreateRealPhysicalPlanNode
    - 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:
    - qptNodesListMakeStrictAppend
    - nodeType
    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: 24
    functionsReached:
    - qptNodesListMakeStrictAppend
    - nodeType
    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
    - qptNodesListMakeStrictAppend
    - QPT_CORRECT_HIGH_PROB
    - 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: 24
    functionsReached:
    - nodesListGetNode
    - qptNodesListMakeStrictAppend
    - QPT_CORRECT_HIGH_PROB
    - 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:
    - qptSetSubplansRelation
    - qptAppendParentsSubplan
    - nodeType
    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: 24
    functionsReached:
    - qptSetSubplansRelation
    - qptAppendParentsSubplan
    - nodeType
    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:
    - QPT_CORRECT_HIGH_PROB
    - TD_ALWAYS_ASSERT
    - qptInitMakeNodeCtx
    - qptNodesListMakeStrictAppend
    - qptGetSubplanNum
    - qptBuildSubplansRelation
    - nodesMakeNode
    - qptMakeNodeListNode
    - taosRand
    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:
    - TAOS_STRCPY
    - printf
    - 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:
    - createTableCountScanOperatorInfo
    - createGroupOperatorInfo
    - createDynQueryCtrlOperatorInfo
    - createTableScanOperatorInfo
    - createSortOperatorInfo
    - createMergeAlignedIntervalOperatorInfo
    - createCountwindowOperatorInfo
    - createProjectOperatorInfo
    - createGroupCacheOperatorInfo
    - createTagScanOperatorInfo
    - createGroupSortOperatorInfo
    - createFillOperatorInfo
    - createPartitionOperatorInfo
    - dsCreateDataSinker
    - createMultiwayMergeOperatorInfo
    - createSysTableScanOperatorInfo
    - createIndefinitOutputOperatorInfo
    - createHashJoinOperatorInfo
    - createCacherowsScanOperator
    - createTableMergeScanOperatorInfo
    - TD_ALWAYS_ASSERT
    - createStatewindowOperatorInfo
    - createEventwindowOperatorInfo
    - dsDestroyDataSinker
    - createTimeSliceOperatorInfo
    - createMergeIntervalOperatorInfo
    - createExchangeOperatorInfo
    - taosStrdup
    - createDataBlockInfoScanOperator
    - qCreateExecTask
    - nodeType
    - createSessionAggOperatorInfo
    - createTableSeqScanOperatorInfo
    - schedulerValidatePlan
    - createIntervalOperatorInfo
    - createAggregateOperatorInfo
    - createMergeJoinOperatorInfo
    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:
    - qptResetForReRun
    - qptCreatePhysicalPlanNode
    - qptExecPlan
    - doDestroyTask
    - destroyOperator
    - qptPrintBeginInfo
    - qptPrintEndInfo
    - qptHandleTestEnd
    - nodesDestroyNode
    - doCreateTask
    - taosGetTimestampUs
    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:
    - qptResetForReRun
    - destroyOperator
    - qptPrintBeginInfo
    - qptPrintEndInfo
    - qptHandleTestEnd
    - nodesDestroyNode
    - taosGetTimestampUs
    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:
    - qptRunSingleOpTest
    - qptRunSubplanTest
    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:
    - strcpy
    - qptNodesCalloc
    - qptInitSingleTableCol
    - qptNodesListMakeStrictAppend
    - qptGetColumnRandLen
    - taosRand
    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
    - QPT_PHYSIC_NODE_NUM
    - qptNodesListMakeStrictAppend
    - qptGetRandRealTableType
    - taosRand
    - FOREACH
    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
    - nodesClearList
    - FOREACH
    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:
    - qptInitTestCtx
    - sprintf
    - qptRunPlanTest
    - qptPrintStatInfo
    - qptDestroyTestCtx
    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
    - qptInitTestCtx
    - sprintf
    - qptRunPlanTest
    - qptPrintStatInfo
    - qptDestroyTestCtx
    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
    - RUN_ALL_TESTS
    - taosGetTimestampSec
    - taosSeedRand
    - 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:
    - createDiskbasedBuf
    - destroyDiskbasedBuf
    - EXPECT_EQ
    - getNewBufPage
    - EXPECT_NE
    - 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
    - ASSERT
    - tstrncpy
    - taosHashGet
    - taosHashInit
    - taosGetTimestampSec
    - taosSeedRand
    - TD_ALWAYS_ASSERT
    - printf
    - tHashPut
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - tHashInit
    - taosGetTimestampUs
    - 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*>
    - ASSERT
    - rand_f2
    - printf
    - createDataBlock
    - TARRAY_GET_ELEM
    - static_cast<SColumnInfoData*>
    - taosMemoryCalloc
    - varDataSetLen
    - reinterpret_cast<const char*>
    - taosMbsToUcs4
    - blockDataAppendColInfo
    - varDataVal
    - blockDataEnsureCapacity
    - taosRand
    - bigendian
    - memcpy
    - colDataSetVal
    - taosRandStr
    - taosMemoryFree
    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:
    - reinterpret_cast<SSortSource**>
    - colDataGetData
    - fn
    - colDataIsNull
    - getKeyComparFunc
    - 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*>
    - ASSERT
    - rand_f2
    - printf
    - createDataBlock
    - TARRAY_GET_ELEM
    - static_cast<SColumnInfoData*>
    - taosMemoryCalloc
    - varDataSetLen
    - reinterpret_cast<const char*>
    - taosMbsToUcs4
    - blockDataAppendColInfo
    - varDataVal
    - blockDataEnsureCapacity
    - taosRand
    - bigendian
    - memcpy
    - colDataSetVal
    - taosRandStr
    - taosMemoryFree
    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:
    - reinterpret_cast<SSortSource**>
    - colDataGetData
    - fn
    - colDataIsNull
    - getKeyComparFunc
    - 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
    - tsortCreateSortHandle
    - taosArrayDestroy
    - taosArrayInit
    - tsortDestroySortHandle
    - taosMemoryFreeClear
    - static_cast<SSortSource*>
    - tsortNextTuple
    - printf
    - ASSERT_EQ
    - tsortAddSource
    - taosMemoryCalloc
    - tsortGetValue
    - taosMemoryFree
    - tsortOpen
    - 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
    - taosArrayDestroy
    - varDataLen
    - taosArrayInit
    - taosUcs4ToMbs
    - printf
    - tsortAddSource
    - tsortNextTuple
    - taosMemoryCalloc
    - tsortGetValue
    - taosMemoryFreeClear
    - static_cast<SSortSource*>
    - varDataVal
    - bigendian
    - tsortOpen
    - tsortCreateSortHandle
    - tsortDestroySortHandle
    - memcpy
    - taosMemoryFree
    - tsortSetFetchRawDataFp
    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:
    - ASSERT
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tsortSetComparFp
    - tsortAddSource
    - createDataBlock
    - tsortNextTuple
    - createColumnInfoData
    - ASSERT_EQ
    - taosMemoryCalloc
    - tsortGetValue
    - blockDataDestroy
    - static_cast<SSortSource*>
    - blockDataAppendColInfo
    - tsortOpen
    - tsortCreateSortHandle
    - tsortDestroySortHandle
    - tsortSetFetchRawDataFp
    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:
    - ASSERT
    - tSimpleHashGetSize
    - tSimpleHashCleanup
    - TD_ALWAYS_ASSERT
    - tSimpleHashGet
    - tSimpleHashRemove
    - tSimpleHashPut
    - ASSERT_EQ
    - taosGetDefaultHashFunction
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - tSimpleHashInit
    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:
    - ASSERT
    - tSimpleHashGetSize
    - tSimpleHashCleanup
    - TD_ALWAYS_ASSERT
    - tSimpleHashGet
    - tSimpleHashRemove
    - tSimpleHashPut
    - ASSERT_EQ
    - taosGetDefaultHashFunction
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - tSimpleHashInit
    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: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    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: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    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: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    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: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    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: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    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: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    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: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    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: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    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: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    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: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    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: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    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: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    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: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    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: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    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: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    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: 362
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 362
    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: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    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: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    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: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    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: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    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: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    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: 370
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 370
    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: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    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: 391
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 391
    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: 400
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 400
    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: 411
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 411
    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: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    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: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    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: 436
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 436
    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: 445
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 445
    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: 454
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 454
    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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    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: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    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: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRowSup
    argTypes:
    - SWindowRowsSup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 691
    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: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: resetNumNullRows
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetNumNullRows(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: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    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: 751
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 751
    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: 752
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 752
    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:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    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: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    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: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    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: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    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: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    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:160,1
    - Dst: uFatal
      Src: /src/tdengine/source/libs/executor/inc/executil.h:162,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/inc/executil.h:162,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/inc/executil.h:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pBuf
    - pos
    - forUpdate
    argTypes:
    - SDiskbasedBuf*
    - SResultRowPosition*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: getResultRowByPos
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executil.h
    functionUses: 1
    functionsReached:
    - setBufPageDirty
    - getBufPage
    - terrstr
    - 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:
    - createDataInserter
    - nodeType
    - createDataDispatcher
    - createDataDeleter
    - qError
    - taosMemoryFree
    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:
    - BitmapLen
    - taosMemoryCalloc
    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:
    - tstrerror
    - tupleSetData
    - taosMemoryRealloc
    - tupleGetDataStartOffset
    - tupleSetOffset
    - tupleSetNull
    - qError
    - QUERY_CHECK_NULL
    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:
    - tupleAddField
    - colDataGetRowLength
    - tstrerror
    - taosArrayGet
    - createTuple
    - colDataIsNull_s
    - tupleGetDataStartOffset
    - colDataGetData
    - qError
    - taosMemoryCalloc
    - taosMemoryFree
    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:
    - taosArrayGet
    - tupleGetField
    - colDataIsNull_s
    - colDataGetData
    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:
    - taosStrdup
    - createOneDataBlock
    - taosArrayInit
    - tstrerror
    - tsortDestroySortHandle
    - QUERY_CHECK_CODE
    - taosArrayGet
    - taosArrayDup
    - tsortSetComparFp
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - qError
    - taosMemoryCalloc
    - TARRAY_GET_ELEM
    - QUERY_CHECK_NULL
    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:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - blockDataDestroy
    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:
    - taosArrayDestroy
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArrayClear
    - taosArrayGetSize
    - taosMemoryFree
    - 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
    - taosArrayDestroy
    - destroyBoundedQueue
    - taosMemoryFreeClear
    - qDebug
    - destroyDiskbasedBuf
    - tMergeTreeDestroy
    - tsortClose
    - destroySortMemFile
    - 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
    - tstrerror
    - QUERY_CHECK_CODE
    - blockDataGetSerialRowSize
    - getBufPageSize
    - blockDataGetSerialMetaSize
    - qError
    - taosArrayGetSize
    - QUERY_CHECK_CONDITION
    - taosMemoryCalloc
    - blockDataEnsureCapacity
    - taosMemoryFree
    - QUERY_CHECK_NULL
    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:
    - taosArrayDestroy
    - taosArrayPush
    - blockDataGetSize
    - taosArrayInit
    - doAddNewExternalMemSource
    - blockDataExtractBlock
    - createDiskbasedBuf
    - blockDataCleanup
    - setBufPageDirty
    - qError
    - blockDataDestroy
    - createOneDataBlock
    - osTempSpaceAvailable
    - taosArrayGetSize
    - getBufPageSize
    - blockDataSplitRows
    - blockDataToBuf
    - dBufSetPrintInfo
    - releaseBufPage
    - terrstr
    - getNewBufPage
    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:
    - SSortHandle*::fetchfp
    - createDiskbasedBuf
    - dBufSetPrintInfo
    - releaseBufPage
    - taosArrayGet
    - osTempSpaceAvailable
    - terrstr
    - qDebug
    - blockDataFromBuf
    - setCurrentSourceDone
    - getBufPage
    - taosArrayGetSize
    - qError
    - taosGetTimestampUs
    - TAOS_CHECK_RETURN
    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:
    - TAOS_CHECK_RETURN
    - SSortHandle*::fetchfp
    - tstrerror
    - tMergeTreeGetAdjustIndex
    - releaseBufPage
    - taosArrayGet
    - tMergeTreePrint
    - qDebug
    - blockDataFromBuf
    - getBufPage
    - printf
    - tMergeTreeAdjust
    - taosArrayGetSize
    - qError
    - taosGetTimestampUs
    - blockDataDestroy
    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:
    - tMergeTreeGetChosenIndex
    - blockDataCleanup
    - adjustMergeTreeForNextTuple
    - appendOneRowToDataBlock
    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:
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - fn
    - colDataIsNull_t
    - colDataIsNull
    - TARRAY_GET_ELEM
    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
    - colDataGetNumData
    - SMsortComparParam*::cmpTsFn
    - UNLIKELY
    - fn
    - IS_VAR_DATA_TYPE
    - colDataIsNull_t
    - colDataIsNull
    - getKeyComparFunc
    - tsortComparBlockCell
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t msortComparFn(const void* pLeft, const void* pRight, void*
      param)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c: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
    - blockDataGetSize
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - getSortedBlockDataInner
    - doAddNewExternalMemSource
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - setBufPageDirty
    - sortComparInit
    - qError
    - blockDataDestroy
    - createOneDataBlock
    - taosArrayGetSize
    - getBufPageSize
    - tMergeTreeCreate
    - SSortHandle*::abortCheckFn
    - blockDataToBuf
    - sortComparCleanup
    - releaseBufPage
    - qDebug
    - tMergeTreeDestroy
    - getNewBufPage
    - tsortIsClosed
    - QUERY_CHECK_NULL
    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: blockDataGetCapacityInRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1076,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1081,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1089,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1091,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1092,1
    - Dst: doSortForEachGroup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1101,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1103,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1104,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1108,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1109,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1111,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1112,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1116,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1117,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1119,1
    - Dst: getDBufStatis
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1122,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1123,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1054
    functionDepth: 4
    functionLinenumber: 1054
    functionLinenumberEnd: 1134
    functionName: doInternalMergeSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tsortClearOrderedSource
    - floorl
    - taosArrayDestroy
    - log2
    - doSortForEachGroup
    - taosArrayInit
    - taosArrayAddAll
    - getDBufStatis
    - getTotalBufSize
    - qDebug
    - blockDataGetSerialMetaSize
    - blockDataGetCapacityInRow
    - taosArrayGetSize
    - blockDataEnsureCapacity
    - taosGetTimestampUs
    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:1138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rowSize
    - numOfCols
    argTypes:
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1144
    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:1148,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1150,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1150,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1154,1
    - Dst: dBufSetPrintInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1163
    functionName: createPageBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - createDiskbasedBuf
    - dBufSetPrintInfo
    - osTempSpaceAvailable
    - terrstr
    - qError
    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:1170,1
    - 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: getRowBufFromExtMemFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1181,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1186,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1190,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1196,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1202,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1204,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1205,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1206,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1208,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1215,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1220,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1225,1
    - Dst: tsortGetBlockInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1231,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1237,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1238,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1243,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1245,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1248,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1250,1
    - Dst: tsortGetBlockInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1260,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 3
    argNames:
    - pHandle
    - pBlock
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - STupleHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1267
    functionName: tsortAppendTupleToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - varDataTLen
    - taosArrayGet
    - tsortGetBlockInfo
    - getRowBufFromExtMemFile
    - IS_VAR_DATA_TYPE
    - colDataSetNULL
    - colDataSetVal
    - taosArrayGetSize
    - blobDataTLen
    - getJsonValueLen
    - qError
    - tsortGetValue
    - taosMemoryFree
    - tsortIsNullVal
    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:1270,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1275,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1280,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1286,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1289,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1290,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1297,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1298,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1300,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1301,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1309,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1310,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1319,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - pBlock
    - rowIdx
    - buf
    argTypes:
    - SSDataBlock*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1326
    functionName: blockRowToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - blobDataCopy
    - varDataTLen
    - taosArrayGet
    - memcpy
    - colDataIsNull_s
    - colDataGetData
    - IS_VAR_DATA_TYPE
    - varDataCopy
    - taosArrayGetSize
    - getJsonValueLen
    - blobDataTLen
    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:1331,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1338,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1343,1
    - Dst: taosSeekCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1343,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1345,1
    - Dst: taosReadFromCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1346,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1348,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1354,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1361,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1366,1
    - Dst: taosSeekCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1369,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1372,1
    - Dst: taosReadFromCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1373,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1375,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1376,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1379,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: 1385
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1385
    functionName: getRowBufFromExtMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - TAOS_SYSTEM_ERROR
    - taosReadFromCFile
    - taosArrayGet
    - memcpy
    - taosMemoryFreeClear
    - taosSeekCFile
    - qError
    - TMIN
    - TAOS_CHECK_RETURN
    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:1392,1
    - Dst: taosGetTmpfilePath
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1397,1
    - Dst: taosOpenCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1398,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1400,1
    - Dst: taosSetAutoDelFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1404,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1406,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1417,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1425,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1435,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1436,1
    - Dst: taosCloseCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1438,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1441,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1445
    functionName: createSortMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TAOS_SYSTEM_ERROR
    - taosArrayInit
    - taosMemoryFreeClear
    - taosGetTmpfilePath
    - taosSetAutoDelFile
    - taosOpenCFile
    - taosCloseCFile
    - qError
    - taosMemoryCalloc
    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:1453,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1454,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1459,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1462,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1465,1
    - Dst: taosCloseCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1468,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1470,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1447
    functionDepth: 1
    functionLinenumber: 1447
    functionLinenumberEnd: 1473
    functionName: destroySortMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosRemoveFile
    - taosCloseCFile
    - taosArrayGetSize
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySortMemFile(SSortHandle* pHandle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1483,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1493,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1510
    functionName: tsortOpenRegion
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayPush
    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:1514,1
    - Dst: fwrite
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1522,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1530
    functionName: tsortCloseRegion
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - fwrite
    - taosArrayGet
    - TAOS_SYSTEM_ERROR
    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:1534,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1536,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1547,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1558
    functionName: tsortFinalizeRegions
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - taosMemoryFree
    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:1563,1
    - Dst: fwrite
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1571,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1573,1
    - Dst: blockRowToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1583,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: 1589
      start: 1560
    functionDepth: 2
    functionLinenumber: 1560
    functionLinenumberEnd: 1589
    functionName: saveBlockRowToExtRowsMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - fwrite
    - taosArrayGet
    - TAOS_SYSTEM_ERROR
    - 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:1597,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1603,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1608,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1613,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1618,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1619,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1624,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1629,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1631,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1636,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1638,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1643,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1646,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1651,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1656,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1661,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1662,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1664,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1665,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 3
    argNames:
    - pHandle
    - pSource
    - rowIndex
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1591
    functionDepth: 3
    functionLinenumber: 1591
    functionLinenumberEnd: 1675
    functionName: appendToRowIndexDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - colDataSetInt32
    - taosArrayGet
    - saveBlockRowToExtRowsMemFile
    - colDataIsNull_s
    - colDataGetData
    - colDataSetVal
    - colDataSetNULL
    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:1678,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1680,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1684,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1689,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1690,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1692,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1696,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1697,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1699,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1703,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1704,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1706,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1710,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1711,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1713,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1718,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1719,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1721,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1726,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1734,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1739,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1745,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1746,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1748,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1757,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1759,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1761,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1766,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1768,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1677
    functionDepth: 1
    functionLinenumber: 1677
    functionLinenumberEnd: 1770
    functionName: initRowIdSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGet
    - createColumnInfoData
    - blockDataAppendColInfo
    - getKeyComparFunc
    - createDataBlock
    - 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:1774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1774,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1776,1
    - Dst: initRowIdSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1781,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1786,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1787,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1787,1
    - Dst: createSortMemFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pHandle
    - extRowsMemSize
    argTypes:
    - SSortHandle*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1772
    functionDepth: 2
    functionLinenumber: 1772
    functionLinenumberEnd: 1794
    functionName: tsortSetSortByRowId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - osTempSpaceAvailable
    - taosArrayDup
    - terrstr
    - createSortMemFile
    - initRowIdSort
    - taosArrayGetSize
    - qError
    - blockDataGetRowSize
    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: 1824
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1824
    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:1845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1826
    functionDepth: 2
    functionLinenumber: 1826
    functionLinenumberEnd: 1849
    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:1853,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1858,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1863,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1863,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1864,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1865,1
    - Dst: blockDataToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1869,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1871,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pHandle
    - blk
    - aPgId
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1851
    functionDepth: 1
    functionLinenumber: 1851
    functionLinenumberEnd: 1875
    functionName: appendDataBlockToPageBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blockDataToBuf
    - taosArrayPush
    - blockDataGetSize
    - releaseBufPage
    - setBufPageDirty
    - taosArrayGetSize
    - getNewBufPage
    - qError
    - getBufPageSize
    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:1879,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1883,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1886,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1887,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1889,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pSrcBlock
    - srcRowIndex
    - dstRowIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1877
    functionDepth: 1
    functionLinenumber: 1877
    functionLinenumberEnd: 1911
    functionName: getPageBufIncForRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - calcStrBytesByType
    - taosArrayGetSize
    - blockDataGetRowSize
    - TARRAY_GET_ELEM
    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:1916,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1920,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1925,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1928,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1934,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1939,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1941,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1942,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1943,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1945,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: 1959
      start: 1913
    functionDepth: 1
    functionLinenumber: 1913
    functionLinenumberEnd: 1959
    functionName: getPageBufIncForRowIdSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - blockDataGetNumOfCols
    - qError
    - blobDataTLen
    - blockDataGetRowSize
    - TARRAY_GET_ELEM
    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:1970,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1971,1
    - Dst: getPageBufIncForRowIdSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1974,1
    - Dst: getPageBufIncForRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1976,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: 1980
      start: 1961
    functionDepth: 2
    functionLinenumber: 1961
    functionLinenumberEnd: 1980
    functionName: getBufIncForNewRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - getPageBufIncForRowIdSort
    - getPageBufIncForRow
    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:1986,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1988,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1990,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1991,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1993,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1994,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1997,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1998,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2001,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2002,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2012,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2012,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: 2015
      start: 1982
    functionDepth: 1
    functionLinenumber: 1982
    functionLinenumberEnd: 2015
    functionName: initMergeSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosArrayGet
    - memset
    - taosArrayGetP
    - taosArrayGetSize
    - qError
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    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:2018,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pSup
    argTypes:
    - SBlkMergeSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2021
    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:2026,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pBlockList
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2032
    functionName: getTotalRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    - taosArrayGetP
    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:2036,1
    - Dst: blockDataGetCapacityInRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2037,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2042,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2047,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2051,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2051,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2056,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2064,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2064,1
    - Dst: initMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2070,1
    - Dst: getTotalRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2075,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2080,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2080,1
    - Dst: cleanupMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2082,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2086,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2098,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2099,1
    - Dst: getBufIncForNewRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2102,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2105,1
    - Dst: appendDataBlockToPageBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2107,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2113,1
    - Dst: getBufIncForNewRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2116,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2129,1
    - Dst: appendToRowIndexDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2135,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2137,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2145,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2146,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2157,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2157,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2165,1
    - Dst: appendDataBlockToPageBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2167,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2180,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2184,1
    - Dst: doAddNewExternalMemSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2187,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2189,1
    - Dst: cleanupMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2193,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2194,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2199,1
    - Dst: cleanupMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2200,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2201,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 124
    argCount: 3
    argNames:
    - pHandle
    - aBlk
    - aExtSrc
    argTypes:
    - SSortHandle*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2034
    functionDepth: 4
    functionLinenumber: 2034
    functionLinenumberEnd: 2203
    functionName: sortBlocksToExtSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - cleanupMergeSup
    - blockDataGetSize
    - taosArrayDestroy
    - taosArrayInit
    - appendDataBlockToPageBuf
    - doAddNewExternalMemSource
    - tMergeTreeGetChosenIndex
    - taosArrayGet
    - blockDataCleanup
    - tMergeTreeAdjust
    - appendOneRowToDataBlock
    - qError
    - blockDataDestroy
    - tMergeTreeGetAdjustIndex
    - createOneDataBlock
    - getTotalRows
    - taosArrayGetSize
    - blockDataEnsureCapacity
    - getBufIncForNewRow
    - tMergeTreeCreate
    - initMergeSup
    - taosArrayGetP
    - appendToRowIndexDataBlock
    - blockDataGetNumOfCols
    - blockDataGetCapacityInRow
    - tMergeTreeDestroy
    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:2213,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2217,1
    - Dst: SSortHandle*::mergeLimitReachedFn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2230,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2243,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: 2256
      start: 2205
    functionDepth: 1
    functionLinenumber: 2205
    functionLinenumberEnd: 2256
    functionName: getRowsBlockWithinMergeLimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGet
    - SSortHandle*::mergeLimitReachedFn
    - blockDataExtractBlock
    - tSimpleHashPut
    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:2261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2258
    functionDepth: 1
    functionLinenumber: 2258
    functionLinenumberEnd: 2263
    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:2269,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2276,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2277,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2279,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2279,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2280,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2282,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2283,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2285,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2285,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2286,1
    - Dst: createPageBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2289,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2290,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2292,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2293,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2296,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2296,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2297,1
    - Dst: SSortHandle*::fetchfp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2306,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2307,1
    - Dst: getRowsBlockWithinMergeLimit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2311,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2320,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2321,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2327,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2334,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2335,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2338,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2339,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2342,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2349,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2350,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2353,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2355,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2357,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2359,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2361,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2363,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2368,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2370,1
    - Dst: tsortOpenRegion
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2372,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2373,1
    - Dst: sortBlocksToExtSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2376,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2377,1
    - Dst: tsortCloseRegion
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2380,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2383,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2385,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2388,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2388,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2395,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2400,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2401,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2402,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2403,1
    - Dst: tsortFinalizeRegions
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2407,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2414,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2418,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2421,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2424,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2427,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 109
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2265
    functionDepth: 5
    functionLinenumber: 2265
    functionLinenumberEnd: 2430
    functionName: createBlocksMergeSortInitialSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blockDataGetSize
    - taosArrayPush
    - taosArrayAddAll
    - taosArrayInit
    - tstrerror
    - createPageBuf
    - taosArrayDestroy
    - tsortOpenRegion
    - taosGetTimestampUs
    - tsortClearOrderedSource
    - SSortHandle*::fetchfp
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tsortFinalizeRegions
    - sortBlocksToExtSource
    - qError
    - blockDataDestroy
    - createOneDataBlock
    - tSimpleHashInit
    - taosArrayGetSize
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - getRowsBlockWithinMergeLimit
    - taosArrayClearEx
    - tSimpleHashCleanup
    - tsortCloseRegion
    - qDebug
    - taosArrayGetP
    - tSimpleHashClear
    - taosArrayDestroyEx
    - tSimpleHashGet
    - blockDataMerge
    - tsortIsClosed
    - QUERY_CHECK_NULL
    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:2439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2444,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2447,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2432
    functionDepth: 1
    functionLinenumber: 2432
    functionLinenumberEnd: 2452
    functionName: freeSortSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void freeSortSource(void* p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2458,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2464,1
    - Dst: SSortHandle*::fetchfp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2468,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2469,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2476,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2477,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2477,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2483,1
    - Dst: SSortHandle*::beforeFp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2487,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2490,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2491,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2493,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2496,1
    - Dst: blockDataSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2497,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2498,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2500,1
    - Dst: blockDataKeepFirstNRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2502,1
    - Dst: doAddToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2503,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2504,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2509,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2512,1
    - Dst: blockDataSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2513,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2514,1
    - Dst: blockDataKeepFirstNRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2516,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2517,1
    - Dst: doAddToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2528,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2534,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2534,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2536,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2454
    functionDepth: 3
    functionLinenumber: 2454
    functionLinenumberEnd: 2538
    functionName: createBlocksQuickSortInitialSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blockDataGetSize
    - SSortHandle*::fetchfp
    - createOneDataBlock
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataSort
    - SSortHandle*::beforeFp
    - doAddToBuf
    - taosArrayRemoveBatch
    - blockDataKeepFirstNRows
    - getProperSortPageSize
    - taosArrayGetSize
    - blockDataMerge
    - qError
    - blockDataGetRowSize
    - taosGetTimestampUs
    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:2544,1
    - Dst: createBlocksMergeSortInitialSources
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2546,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2549,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2540
    functionDepth: 6
    functionLinenumber: 2540
    functionLinenumberEnd: 2551
    functionName: createInitialSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - createBlocksMergeSortInitialSources
    - createBlocksQuickSortInitialSources
    - qDebug
    - taosArrayGetSize
    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:2554,1
    - Dst: doInternalMergeSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2560,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2565,1
    - Dst: getNumOfInMemBufPages
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2567,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2568,1
    - Dst: sortComparInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2577,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2553
    functionDepth: 7
    functionLinenumber: 2553
    functionLinenumberEnd: 2584
    functionName: tsortOpenForBufMergeSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tMergeTreeCreate
    - createInitialSources
    - sortComparInit
    - taosArrayGetSize
    - qError
    - getNumOfInMemBufPages
    - doInternalMergeSort
    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:2586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2586
    functionDepth: 1
    functionLinenumber: 2586
    functionLinenumberEnd: 2586
    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:2588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2588
    functionDepth: 1
    functionLinenumber: 2588
    functionLinenumberEnd: 2588
    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:2590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2590
    functionDepth: 1
    functionLinenumber: 2590
    functionLinenumberEnd: 2590
    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: 2592
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2592
    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: 2599
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2599
    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: 2605
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2605
    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: 2611
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2611
    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:2617,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2637,1
    - Dst: adjustMergeTreeForNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2641,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2653,1
    - Dst: UNLIKELY
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2656,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2657,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2613
    functionDepth: 2
    functionLinenumber: 2613
    functionLinenumberEnd: 2669
    functionName: tsortBufMergeSortNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - UNLIKELY
    - tsortIsClosed
    - adjustMergeTreeForNextTuple
    - tMergeTreeGetChosenIndex
    - qError
    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: 2671
      start: 2671
    functionDepth: 0
    functionLinenumber: 2671
    functionLinenumberEnd: 2671
    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: 2673
      start: 2673
    functionDepth: 0
    functionLinenumber: 2673
    functionLinenumberEnd: 2673
    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:2677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2675
    functionDepth: 1
    functionLinenumber: 2675
    functionLinenumberEnd: 2680
    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:2684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2687
    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:2691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2694
    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:2702,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2704,1
    - Dst: tupleDescGetField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2707,1
    - Dst: tupleDescGetField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2708,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2724,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2729,1
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2731,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2696
    functionDepth: 3
    functionLinenumber: 2696
    functionLinenumberEnd: 2740
    functionName: tupleComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - fn
    - blockDataGetNumOfCols
    - tupleDescGetField
    - getKeyComparFunc
    - TARRAY_GET_ELEM
    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:2743,1
    - Dst: tsortSetComparFp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2748,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2750,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2763,1
    - Dst: SSortHandle*::fetchfp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2763,1
    - Dst: SSortHandle*::beforeFp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2769,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2773,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2779,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2783,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2789,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2790,1
    - Dst: taosBQPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2803,1
    - Dst: createAllocatedTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2808,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2742
    functionDepth: 3
    functionLinenumber: 2742
    functionLinenumberEnd: 2817
    functionName: tsortOpenForPQSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - SSortHandle*::fetchfp
    - createOneDataBlock
    - taosArrayGet
    - taosBQPush
    - tsortSetComparFp
    - SSortHandle*::beforeFp
    - IS_VAR_DATA_TYPE
    - blockDataGetNumOfCols
    - createBoundedQueue
    - createAllocatedTuple
    - TAOS_CHECK_RETURN
    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:2827,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2828,1
    - Dst: taosBQSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2834,1
    - Dst: taosBQMaxSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2834,1
    - Dst: taosBQPop
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2835,1
    - Dst: taosBQSetFn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2839,1
    - Dst: taosBQBuildHeap
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2840,1
    - Dst: taosBQSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2842,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2843,1
    - Dst: taosBQTop
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2844,1
    - Dst: tupleGetField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2848,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2851,1
    - Dst: bdGetColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2851,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2854,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2856,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2856,1
    - Dst: taosBQPop
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2861,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2819
    functionDepth: 2
    functionLinenumber: 2819
    functionLinenumberEnd: 2871
    functionName: tsortPQSortNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - bdGetColumnInfoData
    - blockDataCleanup
    - taosBQBuildHeap
    - tupleGetField
    - colDataSetNULL
    - taosBQMaxSize
    - taosBQPop
    - blockDataGetNumOfCols
    - colDataSetVal
    - taosBQSize
    - taosBQSetFn
    - blockDataEnsureCapacity
    - taosBQTop
    - TAOS_CHECK_RETURN
    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:2888,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2895,1
    - Dst: SSortHandle*::fetchfp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2895,1
    - Dst: setCurrentSourceDone
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2898,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2873
    functionDepth: 1
    functionLinenumber: 2873
    functionLinenumberEnd: 2909
    functionName: tsortSingleTableMergeNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - setCurrentSourceDone
    - taosArrayGet
    - SSortHandle*::fetchfp
    - 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:2922,1
    - Dst: tsortOpenForPQSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2923,1
    - Dst: tsortOpenForBufMergeSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2929
      start: 2911
    functionDepth: 8
    functionLinenumber: 2911
    functionLinenumberEnd: 2929
    functionName: tsortOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 3
    functionsReached:
    - tsortIsPQSortApplicable
    - tsortOpenForBufMergeSort
    - 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:2935,1
    - Dst: tsortPQSortNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2937,1
    - Dst: tsortBufMergeSortNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2931
    functionDepth: 3
    functionLinenumber: 2931
    functionLinenumberEnd: 2943
    functionName: tsortNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 3
    functionsReached:
    - tsortBufMergeSortNextTuple
    - tsortSingleTableMergeNextTuple
    - tsortPQSortNextTuple
    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:2946,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pVHandle
    - colIndex
    argTypes:
    - STupleHandle*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2945
    functionDepth: 1
    functionLinenumber: 2945
    functionLinenumberEnd: 2952
    functionName: tsortIsNullVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - colDataIsNull_s
    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:2956,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pVHandle
    - colIndex
    - pVal
    argTypes:
    - STupleHandle*
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2954
    functionDepth: 1
    functionLinenumber: 2954
    functionLinenumberEnd: 2960
    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:2963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pVHandle
    - colIndex
    - pColInfo
    argTypes:
    - STupleHandle*
    - int32_t
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2962
    functionDepth: 1
    functionLinenumber: 2962
    functionLinenumberEnd: 2964
    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:2966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pVHandle
    argTypes:
    - STupleHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2966
    functionDepth: 1
    functionLinenumber: 2966
    functionLinenumberEnd: 2966
    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: 2
    argCount: 1
    argNames:
    - pVHandle
    argTypes:
    - STupleHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2967
    functionName: tsortGetGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t tsortGetGroupId(STupleHandle* pVHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pVHandle
    argTypes:
    - STupleHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 2968
    functionName: tsortGetBlockId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_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: 2969
      start: 2969
    functionDepth: 0
    functionLinenumber: 2969
    functionLinenumberEnd: 2969
    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:2983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2971
    functionDepth: 1
    functionLinenumber: 2971
    functionLinenumberEnd: 2990
    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:2994,1
    - Dst: buildKeys
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2997,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: 3001
      start: 2992
    functionDepth: 1
    functionLinenumber: 2992
    functionLinenumberEnd: 3001
    functionName: tsortCompAndBuildKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - compKeys
    - buildKeys
    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: 3007
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3007
    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: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    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: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    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:43,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - __size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    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:53,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - __size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    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:62,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - __size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    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:89,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:91,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:91,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:96,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:98,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:98,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:104,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:106,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:108,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:110,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:117,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - pResultBuf
    - currentPageId
    - interBufSize
    argTypes:
    - SDiskbasedBuf*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 129
    functionName: getNewResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - releaseBufPage
    - memset
    - getBufPageSize
    - setBufPageDirty
    - getBufPage
    - getNewBufPage
    - qError
    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:141,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:143,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:143,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:147,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:147,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:154,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:171,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:188,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:190,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:190,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:190,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:194,1
    - Dst: getNewResultRow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:199,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:207,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:207,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:210,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:210,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:221,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: 227
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 227
    functionName: doSetResultOutBufByKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - calcGroupId
    - tstrerror
    - getNewResultRow
    - tSimpleHashGetSize
    - releaseBufPage
    - GET_TASKID
    - SET_RES_WINDOW_KEY
    - tSimpleHashGet
    - GET_RES_WINDOW_KEY_LEN
    - getBufPage
    - tSimpleHashPut
    - qError
    - getResultRowByPos
    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:234,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:238,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:242,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:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pColData
    - pQueryWindow
    argTypes:
    - SColumnInfoData*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 249
    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:258,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:259,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:266,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:266,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: 269
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 269
    functionName: doSetInputDataBlockInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - setBlockSMAInfo
    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:274,1
    - Dst: doSetInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:276,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: 278
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: setInputDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - doSetInputDataBlockInfo
    - doSetInputDataBlock
    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:286,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:287,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:299,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:305,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:310,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:313,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:314,1
    - Dst: STR_WITH_SIZE_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:316,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:318,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:319,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:321,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:326,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:326,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: 329
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 329
    functionName: doCreateConstantValColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - QUERY_CHECK_CODE
    - colDataSetDouble
    - colDataSetVal
    - STR_WITH_SIZE_TO_VARSTR
    - qError
    - taosMemoryCalloc
    - colInfoDataEnsureCapacity
    - taosMemoryFree
    - colDataSetInt64
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doCreateConstantValColumnInfo(SInputColumnInfoData* pInput,
      SFunctParam* pFuncParam, int32_t paramIndex,\n                                             int32_t
      numOfRows)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:359,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:368,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:374,1
    - Dst: doCreateConstantValColumnInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:384,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:385,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:393,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:393,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 5
    argNames:
    - pExprSup
    - pBlock
    - order
    - scanFlag
    - createDummyCol
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 396
    functionName: doSetInputDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - fmIsImplicitTsFunc
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qError
    - QUERY_CHECK_CONDITION
    - doCreateConstantValColumnInfo
    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:399,1
    - Dst: fmIsRepeatScanFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:408,1
    - Dst: isRowEntryCompleted
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: functionNeedToExecute
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - fmIsRepeatScanFunc
    - GET_RES_INFO
    - isRowEntryCompleted
    linkageType: ''
    returnType: bool
    signature: bool functionNeedToExecute(SqlFunctionCtx* pCtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:421,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:433,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:462,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: 466
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 466
    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:492,1
    - Dst: doCreateConstantValColumnSMAInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:494,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:495,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:504,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - pCtx
    - pExprInfo
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SExprInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 507
    functionName: setBlockSMAInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - doCreateConstantValColumnSMAInfo
    - qError
    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:512,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pInterval
    - key
    argTypes:
    - SInterval*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 524
    functionName: getAlignQueryTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 1
    functionsReached:
    - taosTimeGetIntervalEnd
    - taosTimeTruncate
    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:530,1
    - Dst: isRowEntryCompleted
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:537,1
    - Dst: isRowEntryInitialized
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:537,1
    - Dst: fpSet::init
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:547,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:548,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:550,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:550,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:553,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:553,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: 564
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 564
    functionName: setResultRowInitCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - isRowEntryCompleted
    - tstrerror
    - isRowEntryInitialized
    - fmIsUserDefinedFunc
    - getResultEntryInfo
    - fpSet::init
    - qError
    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: 578
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 578
    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:587,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:590,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:591,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:595,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:596,1
    - Dst: extractQualifiedTupleByFilterResult
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:598,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:599,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:602,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:604,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:605,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:607,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:608,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:610,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:611,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:617,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:618,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:621,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:621,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:623,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:624,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - pBlock
    - pFilterInfo
    - pColMatchInfo
    - pRet
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    - SColMatchInfo*
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 580
    functionDepth: 4
    functionLinenumber: 580
    functionLinenumberEnd: 626
    functionName: doFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataUpdateTsWindow
    - colDataDestroy
    - blockDataCheck
    - taosArrayGetSize
    - filterExecute
    - extractQualifiedTupleByFilterResult
    - qError
    - taosMemoryFree
    - filterSetDataFromSlotId
    - QUERY_CHECK_NULL
    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:634,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:637,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pBlock
    - p
    - status
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 642
    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:647,1
    - Dst: isRowEntryInitialized
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:648,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: 666
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 666
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:675,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:677,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:678,1
    - Dst: fpSet::finalize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:686,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:688,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:688,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:688,1
    - Dst: QUERY_CHECK_CODE
      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: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:696,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:697,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:698,1
    - Dst: colDataSetValOrCover
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:700,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:701,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:708,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:708,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    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: 711
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 711
    functionName: copyResultrowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - colDataSetValOrCover
    - QUERY_CHECK_CODE
    - taosArrayGet
    - fpSet::finalize
    - getResultEntryInfo
    - GET_TASKID
    - QUERY_CHECK_NULL
    - qError
    - GET_ROWCELL_INTERBUF
    - 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:716,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:718,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:718,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:718,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:719,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:728,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:730,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:739,1
    - Dst: TAOS_FAILED
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:740,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:741,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:742,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:742,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:742,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:743,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:746,1
    - Dst: TAOS_FAILED
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:747,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:748,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:749,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:749,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:749,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:750,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:753,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: 755
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 755
    functionName: finalizeResultRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - releaseBufPage
    - T_LONG_JMP
    - GET_TASKID
    - getBufPage
    - TAOS_FAILED
    - copyResultrowToDataBlock
    - doUpdateNumOfRows
    - qError
    - blockDataEnsureCapacity
    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:767,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:772,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:773,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:777,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:779,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:779,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:779,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:780,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:785,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:793,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:803,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:811,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:812,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:813,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:814,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:822,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:823,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:824,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:831,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:831,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:834,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:835,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:839,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:839,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:840,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: 842
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 842
    functionName: doCopyToSDataBlockByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - blockDataEnsureCapacity
    - tSimpleHashIterate
    - tSimpleHashGetSize
    - tstrerror
    - releaseBufPage
    - QUERY_CHECK_CODE
    - blockDataUpdateTsWindow
    - qDebug
    - T_LONG_JMP
    - GET_TASKID
    - getBufPage
    - copyResultrowToDataBlock
    - doUpdateNumOfRows
    - qError
    - tSimpleHashGetKey
    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:853,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:856,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:857,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:859,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:859,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:859,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:860,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:865,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:870,1
    - Dst: llabs
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:874,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:875,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:878,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:888,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:896,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:897,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:898,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:899,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:904,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:905,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:906,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:914,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:914,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:917,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:918,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:922,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:922,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:923,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 8
    argNames:
    - pTaskInfo
    - pBlock
    - pSup
    - pBuf
    - pGroupResInfo
    - threshold
    - ignoreGroup
    - minWindowSize
    argTypes:
    - SExecTaskInfo*
    - SSDataBlock*
    - SExprSupp*
    - SDiskbasedBuf*
    - SGroupResInfo*
    - int32_t
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 925
    functionName: doCopyToSDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - releaseBufPage
    - QUERY_CHECK_CODE
    - blockDataUpdateTsWindow
    - qDebug
    - taosArrayGetP
    - T_LONG_JMP
    - GET_TASKID
    - getBufPage
    - getNumOfTotalRes
    - copyResultrowToDataBlock
    - doUpdateNumOfRows
    - qError
    - blockDataEnsureCapacity
    - llabs
    linkageType: ''
    returnType: void
    signature: "void doCopyToSDataBlock(SExecTaskInfo* pTaskInfo, SSDataBlock* pBlock,
      SExprSupp* pSup, SDiskbasedBuf* pBuf,\n                        SGroupResInfo*
      pGroupResInfo, int32_t threshold, bool ignoreGroup, int64_t minWindowSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:935,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:936,1
    - Dst: doCopyToSDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:943,1
    - Dst: getMinWindowSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:944,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:946,1
    - Dst: doCopyToSDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:947,1
    - Dst: getMinWindowSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:948,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pOperator
    - pbInfo
    - pGroupResInfo
    - pBuf
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - SGroupResInfo*
    - SDiskbasedBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 927
    functionDepth: 3
    functionLinenumber: 927
    functionLinenumberEnd: 960
    functionName: doBuildResultDatablock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - doCopyToSDataBlock
    - getMinWindowSize
    - hasRemainResults
    - blockDataCleanup
    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:967,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:969,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:973,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pExpr
    - numOfExprs
    argTypes:
    - SExprInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 976
    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: 1001
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1001
    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: 1015
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1015
    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:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - SOptrBasicInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1032,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1033,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1034,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1039,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1042,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1043,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1044,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1045,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1048,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1052,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pCtx
    - pExpr
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - SExprInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1054
    functionName: destroySqlFunctionCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryFree
    - taosVariantDestroy
    - colDataDestroy
    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:1060,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: 1067
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1067
    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:1071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pSup
    argTypes:
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1076
    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:1079,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1081,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1082,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1086,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1090,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1078
    functionDepth: 3
    functionLinenumber: 1078
    functionLinenumberEnd: 1092
    functionName: cleanupExprSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - memset
    - destroyExprInfo
    - filterFreeInfo
    - 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:1095,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1097,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1098,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1105
    functionName: cleanupExprSuppWithoutFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - destroyExprInfo
    - destroySqlFunctionCtx
    linkageType: ''
    returnType: void
    signature: void cleanupExprSuppWithoutFilter(SExprSupp* pSupp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SOptrBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1110
    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:1117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pGroupList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1122
    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:1117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 26
    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:1127,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1137,1
    - Dst: getTableListInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1143,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1145,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1149,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1150,1
    - Dst: tableListGetSuid
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1152,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1156,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1158,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1159,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1163,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1165,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1170,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1172,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1173,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1176,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1178,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1179,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - pNode
    - pParam
    - pTask
    - readHandle
    argTypes:
    - SDataSinkNode*
    - void**
    - SExecTaskInfo*
    - SReadHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1192
    functionName: createDataSinkParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayPush
    - tstrerror
    - taosArrayInit
    - getTableListInfo
    - taosArrayGetP
    - tableListGetSize
    - qError
    - taosMemoryCalloc
    - tableListGetInfo
    - taosMemoryFree
    - tableListGetSuid
    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:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1199
    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:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1206
    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:1209,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1211,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1212,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1215,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1218,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pParam
    - type
    argTypes:
    - SOperatorParam*
    - SOperatorParamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1221
    functionName: freeOperatorParamImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - freeOperatorParam
    - taosMemoryFreeClear
    - taosArrayGetP
    - taosArrayGetSize
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeOperatorParamImpl(SOperatorParam* pParam, SOperatorParamType
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1225,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1227,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1230
    functionName: freeExchangeGetBasicOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void freeExchangeGetBasicOperatorParam(void* pParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1236,1
    - Dst: freeExchangeGetBasicOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1238,1
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1242
    functionName: freeExchangeGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    - freeOperatorParamImpl
    - freeExchangeGetBasicOperatorParam
    linkageType: ''
    returnType: void
    signature: void freeExchangeGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1244
    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:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1246
    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:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1248
    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:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1250
    functionDepth: 2
    functionLinenumber: 1250
    functionLinenumberEnd: 1250
    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:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1252
    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:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1254
    functionDepth: 2
    functionLinenumber: 1254
    functionLinenumberEnd: 1254
    functionName: freeTagScanGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeTagScanGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1258,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1260,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1261,1
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1264
    functionName: freeTableScanGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeTableScanGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1266
    functionDepth: 2
    functionLinenumber: 1266
    functionLinenumberEnd: 1266
    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:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1268
    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: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1274
    functionName: freeOpParamItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParam
    linkageType: ''
    returnType: void
    signature: void freeOpParamItem(void* pItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1278,1
    - Dst: freeOpParamItem
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1279,1
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1276
    functionDepth: 2
    functionLinenumber: 1276
    functionLinenumberEnd: 1281
    functionName: freeVirtualTableScanGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOpParamItem
    - taosArrayDestroyEx
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeVirtualTableScanGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1283
    functionName: freeVTableScanNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeVTableScanNotifyOperatorParam(SOperatorParam* pParam)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: freeExchangeGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1292,1
    - Dst: freeExchangeNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1292,1
    - Dst: freeGroupCacheGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1295,1
    - Dst: freeGroupCacheNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1295,1
    - Dst: freeMergeJoinGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1298,1
    - Dst: freeMergeJoinNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1298,1
    - Dst: freeTableScanGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1301,1
    - Dst: freeTableScanNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1301,1
    - Dst: freeVirtualTableScanGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1304,1
    - Dst: freeVTableScanNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1304,1
    - Dst: freeTagScanGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1307,1
    - Dst: freeTagScanNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1307,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pParam
    - type
    argTypes:
    - SOperatorParam*
    - SOperatorParamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1285
    functionDepth: 3
    functionLinenumber: 1285
    functionLinenumberEnd: 1313
    functionName: freeOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 2
    functionsReached:
    - freeTagScanNotifyOperatorParam
    - freeTableScanNotifyOperatorParam
    - freeTableScanGetOperatorParam
    - freeExchangeNotifyOperatorParam
    - freeMergeJoinGetOperatorParam
    - freeMergeJoinNotifyOperatorParam
    - freeVirtualTableScanGetOperatorParam
    - freeGroupCacheNotifyOperatorParam
    - freeVTableScanNotifyOperatorParam
    - freeTagScanGetOperatorParam
    - qError
    - freeGroupCacheGetOperatorParam
    - freeExchangeGetOperatorParam
    linkageType: ''
    returnType: void
    signature: void freeOperatorParam(SOperatorParam* pParam, SOperatorParamType type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1332,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1339,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - pOperator
    - type
    - allFree
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParamType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1315
    functionDepth: 4
    functionLinenumber: 1315
    functionLinenumberEnd: 1347
    functionName: freeResetOperatorParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - freeOperatorParam
    linkageType: ''
    returnType: void
    signature: void freeResetOperatorParams(struct SOperatorInfo* pOperator, SOperatorParamType
      type, bool allFree)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1351,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1355,1
    - Dst: fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1356,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1359,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1364,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1364,1
    - Dst: fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1369,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1371,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - pOperator
    - idx
    - clearParam
    - pResBlock
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    - bool
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1349
    functionDepth: 4
    functionLinenumber: 1349
    functionLinenumberEnd: 1374
    functionName: getNextBlockFromDownstreamImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParam
    - tstrerror
    - qDebug
    - QRY_PARAM_CHECK
    - fpSet::getNextFn
    - fpSet::getNextExtFn
    - qError
    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:1377,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1378,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1379,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1379,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1382,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1382,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1382,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1382,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1385,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1385,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1388,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1388,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1388,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1388,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - v
    - pKey
    argTypes:
    - char*
    - SStateKeys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1394
    functionName: compareVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - blobDataLen
    - varDataLen
    - memcmp
    - IS_VAR_DATA_TYPE
    - varDataVal
    - blobDataVal
    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:45,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:46,1
    - Dst: cleanupResultInfoInEventWindow
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:47,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:50,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 59
    functionName: resetEventWindowOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 0
    functionsReached:
    - resetExprSupp
    - taosMemoryFreeClear
    - resetBasicOperatorState
    - resetAggSup
    - cleanupResultInfoInEventWindow
    - initExecTimeWindowInfo
    - colDataDestroy
    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:63,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:67,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:68,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:80,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:82,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:84,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:86,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:92,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:93,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:94,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:95,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:98,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:100,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:106,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:107,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:109,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:111,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:113,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:115,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:116,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:117,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:120,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:122,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:129,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:130,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:137,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:139,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:142,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:143,1
    - Dst: destroyEWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:153,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 58
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 61
    functionDepth: 16
    functionLinenumber: 61
    functionLinenumberEnd: 159
    functionName: createEventwindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 1
    functionsReached:
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - initAggSup
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - initExprSupp
    - blockDataEnsureCapacity
    - filterInitFromNode
    - initResultRowInfo
    - initExecTimeWindowInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - destroyEWindowOperatorInfo
    - QUERY_CHECK_NULL
    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:167,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pOperator
    - pInfo
    argTypes:
    - SOperatorInfo*
    - SEventWindowOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: cleanupResultInfoInEventWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 1
    functionsReached:
    - fpSet::cleanup
    - getResultEntryInfo
    linkageType: ''
    returnType: void
    signature: void cleanupResultInfoInEventWindow(SOperatorInfo* pOperator, SEventWindowOperatorInfo*
      pInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:181,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:185,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:190,1
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:194,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:195,1
    - Dst: cleanupResultInfoInEventWindow
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:197,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:199,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:200,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 202
    functionName: destroyEWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 1
    functionsReached:
    - cleanupAggSup
    - taosMemoryFreeClear
    - filterFreeInfo
    - cleanupResultInfoInEventWindow
    - cleanupExprSupp
    - colDataDestroy
    - cleanupBasicInfo
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyEWindowOperatorInfo(void* param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:215,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:221,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:232,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:233,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:235,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:236,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:240,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:241,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:242,1
    - Dst: eventWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:245,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:246,1
    - Dst: doFilter
      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: qError
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:260,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:260,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 204
    functionDepth: 5
    functionLinenumber: 204
    functionLinenumberEnd: 266
    functionName: eventWindowAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - GET_STM_RTINFO
    - doFilter
    - QUERY_CHECK_CODE
    - blockDataUpdateTsWindow
    - blockDataCleanup
    - T_LONG_JMP
    - eventWindowAggImpl
    - projectApplyFunctions
    - qError
    - getNextBlockFromDownstream
    - 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:271,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:281,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: 282
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 282
    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:293,1
    - Dst: setSingleOutputTupleBufv1
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:295,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:297,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:301,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    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: 305
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 305
    functionName: doEventWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 0
    functionsReached:
    - doKeepTuple
    - updateTimeWindowInfo
    - applyAggFunctionOnPartialTuples
    - setSingleOutputTupleBufv1
    - qError
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:315,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:316,1
    - Dst: getMinWindowSize
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:320,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:334,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:336,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:337,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:340,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:341,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:344,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:345,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:348,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:349,1
    - Dst: doEventWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:361,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:362,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:363,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:366,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:372,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:373,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:376,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:378,1
    - Dst: doEventWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:387,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:388,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:393,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:397,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:414,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:416,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:417,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:418,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:419,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 3
    argNames:
    - pOperator
    - pInfo
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SEventWindowOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 422
    functionName: eventWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - doEventWindowAggImpl
    - getMinWindowSize
    - taosArrayGet
    - QUERY_CHECK_CODE
    - qDebug
    - colDataDestroy
    - doKeepNewWindowStartInfo
    - taosArrayGetSize
    - filterExecute
    - clearResultRowInitFlag
    - copyResultrowToDataBlock
    - doUpdateNumOfRows
    - qError
    - blockDataEnsureCapacity
    - taosMemoryFree
    - filterSetDataFromSlotId
    - QUERY_CHECK_NULL
    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:
    - decimalFromTypeMod
    - blockDataEnsureCapacity
    - TAOS_CHECK_EXIT
    - IS_DECIMAL_TYPE
    - createColumnInfoData
    - blockDataAppendColInfo
    - createDataBlock
    - blockDataDestroy
    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:
    - decimalFromTypeMod
    - nodesListGetNode
    - blockDataEnsureCapacity
    - tstrerror
    - TAOS_CHECK_EXIT
    - IS_DECIMAL_TYPE
    - createColumnInfoData
    - blockDataAppendColInfo
    - qError
    - createDataBlock
    - LIST_LENGTH
    - blockDataDestroy
    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:
    - taosMemoryMalloc
    - decimalFromTypeMod
    - taosArrayInit
    - tstrerror
    - addNewResultRowBuf
    - IS_DECIMAL_TYPE
    - snprintf
    - nodesListMakeAppend
    - createDataBlockForTargets
    - TAOS_CHECK_EXIT
    - fmIsImplicitTsFunc
    - createExprInfo
    - nodesMakeNode
    - taosMemoryCalloc
    - initGroupedResultInfo
    - qError
    - fmGetFuncInfo
    - createDataBlockForSchema
    - taosStrdup
    - initResultRowInfo
    - doSetResultOutBufByKey
    - setResultRowInitCtx
    - nodesDestroyNode
    - initAggSup
    - fmGetFuncName
    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::cleanup
    - tstrerror
    - TAOS_CHECK_EXIT
    - functionNeedToExecute
    - fpSet::process
    - qError
    - 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:
    - doCopyToSDataBlock
    - blockDataCleanup
    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:
    - taosArrayDestroy
    - cleanupAggSup
    - tdListFree
    - nodesDestroyList
    - taosMemFreeClear
    - cleanupExprSupp
    - taosArrayClear
    - cleanupGroupResInfo
    - blockDataDestroy
    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:
    - setResultRowInitCtx
    - clearResultRowInitFlag
    - TAOS_CHECK_EXIT
    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:
    - blockDataShrinkNRows
    - blockDataMergeNRows
    - blockDataCleanup
    - blockDataMerge
    - HJ_ERR_RET
    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:
    - taosMemoryMalloc
    - IS_VAR_DATA_TYPE
    - LIST_LENGTH
    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: 26
    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*
    - int32_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, int32_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: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - slotId
    - keyNum
    - pKeys
    - pKeyIdx
    argTypes:
    - int16_t
    - int32_t
    - SHJoinColInfo*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    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:208,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:213,1
    - Dst: hJoinIsValColInKeyCols
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:225,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:234,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:237,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:242,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - pTable
    - pList
    argTypes:
    - SHJoinTableCtx*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 258
    functionName: hJoinInitValColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - BitmapLen
    - taosArrayInit
    - IS_VAR_DATA_TYPE
    - hJoinGetValColsNum
    - hJoinIsValColInKeyCols
    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:225,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:234,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:237,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 252
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 26
    functionsReached:
    - hJoinIsValColInKeyCols
    - taosArrayInit
    - IS_VAR_DATA_TYPE
    - taosArrayPush
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pTable
    - slotId
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    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:278,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:283,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:296,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:297,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:298,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:298,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:301,1
    - Dst: offsetFromTz
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:302,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:302,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pNode
    - pCtx
    - pTable
    argTypes:
    - SNode*
    - SHJoinPrimExprCtx*
    - SHJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 308
    functionName: hJoinInitPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - offsetFromTz
    - nodesListGetNode
    - nodeType
    - varDataVal
    - TSDB_TICK_PER_SECOND
    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:324,1
    - Dst: hJoinInitPrimKeyInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:324,1
    - Dst: hJoinInitKeyColsInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:326,1
    - Dst: hJoinInitValColsInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:330,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:335,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:337,1
    - Dst: hJoinInitPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:337,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: 340
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 340
    functionName: hJoinInitTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinInitKeyColsInfo
    - TAOS_MEMCPY
    - hJoinInitPrimExprCtx
    - HJ_ERR_RET
    - hJoinInitValColsInfo
    - hJoinInitPrimKeyInfo
    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: 385
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 385
    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:389,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pInfo
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 407
    functionName: hJoinBuildResColsMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - FOREACH
    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:414,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pRowBufs
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 423
    functionName: hJoinAddPageToBufs
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    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:426,1
    - Dst: hJoinAddPageToBufs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SHJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: hJoinInitBufPages
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - hJoinAddPageToBufs
    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:435,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:436,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:437,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:438,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SHJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: hJoinFreeTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void hJoinFreeTableInfo(SHJoinTableCtx* pTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    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:454,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:460,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ppHash
    argTypes:
    - SSHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 467
    functionName: hJoinDestroyKeyHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashIterate
    - tSimpleHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void hJoinDestroyKeyHash(SSHashObj** ppHash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:475,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:477,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:477,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pRowBufs
    - pRow
    - ppData
    argTypes:
    - SArray*
    - SBufRowInfo*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: hJoinRetrieveColDataFromRowBufs
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - QRY_ERR_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE hJoinRetrieveColDataFromRowBufs(SArray* pRowBufs, SBufRowInfo*
      pRow, char** ppData)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:496,1
    - Dst: hJoinRetrieveColDataFromRowBufs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:496,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:503,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:505,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:509,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:511,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:512,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:517,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:521,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:527,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:528,1
    - Dst: colDataCopyNItems
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:530,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:530,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:530,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - pJoin
    - rowNum
    - pStart
    - pRes
    argTypes:
    - SHJoinOperatorInfo*
    - int32_t
    - SBufRowInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 541
    functionName: hJoinCopyResRowsToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - BMIsNull
    - varDataTLen
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - colDataSetVal
    - HJ_ERR_RET
    - hJoinRetrieveColDataFromRowBufs
    - colDataCopyNItems
    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:552,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:553,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:557,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:558,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:560,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:560,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: 569
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 569
    functionName: hJoinCopyNMatchRowsToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - QRY_ERR_RET
    - colDataAssignNRows
    - colDataSetNItemsNull
    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:588,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - pRes
    - allFetched
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 596
    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:604,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:609,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:617,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:622,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:622,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:623,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:626,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - pTable
    - rowIdx
    - pBufLen
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 638
    functionName: hJoinCopyKeyColsDataToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - varDataTLen
    - TAOS_MEMCPY
    - colDataIsNull_s
    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:642,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:644,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:644,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:645,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:647,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:648,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SHJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 663
    functionName: hJoinSetKeyColsData
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinSetKeyColsData(SSDataBlock* pBlock, SHJoinTableCtx* pTable)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:673,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:675,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:675,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:676,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:678,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:679,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:683,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SHJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 696
    functionName: hJoinSetValColsData
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - qError
    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:707,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:714,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:717,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:717,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:718,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:721,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:722,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:725,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pTable
    - rowIdx
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 731
    functionName: hJoinCopyValColsDataToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - BMIsNull
    - TAOS_MEMSET
    - varDataTLen
    - TAOS_MEMCPY
    - colDataSetNull_f
    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:741,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:746,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:749,1
    - Dst: hJoinAddPageToBufs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:755,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: 760
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 760
    functionName: hJoinGetValBufFromPages
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - taosArrayGetSize
    - taosArrayGetLast
    - hJoinAddPageToBufs
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE hJoinGetValBufFromPages(SArray* pPages, int32_t bufSize,
      char** pBuf, SBufRowInfo* pRow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:769,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:771,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pTable
    - rowIdx
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: hJoinGetValBufSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - varDataTLen
    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:785,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:791,1
    - Dst: hJoinGetValBufFromPages
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:797,1
    - Dst: hJoinGetValBufSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:797,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:799,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:805,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:806,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: 815
      start: 780
    functionDepth: 3
    functionLinenumber: 780
    functionLinenumberEnd: 815
    functionName: hJoinAddRowToHashImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - hJoinGetValBufSize
    - hJoinGetValBufFromPages
    - tSimpleHashPut
    - taosMemoryFree
    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:819,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:824,1
    - Dst: hJoinAddRowToHashImpl
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:825,1
    - Dst: hJoinCopyValColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:830,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: 833
      start: 817
    functionDepth: 4
    functionLinenumber: 817
    functionLinenumberEnd: 833
    functionName: hJoinAddRowToHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGet
    - hJoinCopyValColsDataToBuf
    - hJoinAddRowToHashImpl
    - hJoinSetValColsData
    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:836,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:838,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:838,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:842,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:843,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:856,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:857,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:870,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: 875
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 875
    functionName: hJoinFilterTimeRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - taosbsearch
    - taosArrayGetSize
    - qError
    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:880,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:884,1
    - Dst: hJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:884,1
    - Dst: hJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:886,1
    - Dst: hJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:893,1
    - Dst: hJoinAddRowToHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:896,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pBlock
    - pJoin
    argTypes:
    - SSDataBlock*
    - SHJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 877
    functionDepth: 5
    functionLinenumber: 877
    functionLinenumberEnd: 903
    functionName: hJoinAddBlockRowsToHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinAddRowToHash
    - hJoinFilterTimeRange
    - hJoinSetKeyColsData
    - hJoinCopyKeyColsDataToBuf
    - hJoinLaunchPrimExpr
    - HJ_ERR_RET
    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:911,1
    - Dst: hJoinAddBlockRowsToHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:919,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:925,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:925,1
    - Dst: hJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:926,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pOperator
    - queryDone
    argTypes:
    - struct SOperatorInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 905
    functionDepth: 6
    functionLinenumber: 905
    functionLinenumberEnd: 933
    functionName: hJoinBuildHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinSetDone
    - tSimpleHashGetSize
    - IS_INNER_NONE_JOIN
    - hJoinAddBlockRowsToHash
    - getNextBlockFromDownstream
    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:939,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:940,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:947,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:953,1
    - Dst: hJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:953,1
    - Dst: hJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:955,1
    - Dst: hJoinSetValColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:959,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:972,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:978,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 981
    functionName: hJoinPrepareStart
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinFilterTimeRange
    - hJoinSetKeyColsData
    - hJoinSetValColsData
    - IS_INNER_NONE_JOIN
    - hJoinLaunchPrimExpr
    - HJ_ERR_RET
    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:984,1
    - Dst: hJoinDestroyKeyHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:987,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 990
    functionName: hJoinSetDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 1
    functionsReached:
    - setOperatorCompleted
    - hJoinDestroyKeyHash
    - qDebug
    linkageType: ''
    returnType: void
    signature: void hJoinSetDone(struct SOperatorInfo* pOperator)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1000,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1002,1
    - Dst: hJoinBuildHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1014,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1015,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1022,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1026,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1029,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1030,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1040,1
    - Dst: hJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1042,1
    - Dst: hJoinPrepareStart
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1049,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1050,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1052,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1057,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1058,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1068,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1071,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1071,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1073,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 992
    functionDepth: 7
    functionLinenumber: 992
    functionLinenumberEnd: 1080
    functionName: hJoinMainProcess
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinSetDone
    - getNextBlockFromDownstream
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - T_LONG_JMP
    - hJoinPrepareStart
    - QRY_PARAM_CHECK
    - hJoinBlkReachThreshold
    - hJoinBuildHash
    - qError
    - taosGetTimestampUs
    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:1084,1
    - Dst: hJoinDestroyKeyHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1088,1
    - Dst: hJoinFreeTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1090,1
    - Dst: hJoinFreeTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1091,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1092,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1094,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1095,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1082
    functionDepth: 2
    functionLinenumber: 1082
    functionLinenumberEnd: 1098
    functionName: destroyHashJoinOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qDebug
    - hJoinDestroyKeyHash
    - taosArrayDestroyEx
    - 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:1106,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1106,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1113,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1113,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1120,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1120,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1124,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - pJoin
    - pJoinNode
    - pTaskInfo
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1100
    functionDepth: 16
    functionLinenumber: 1100
    functionLinenumberEnd: 1133
    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:1136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1143
    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:1147,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1149,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1152,1
    - Dst: hJoinGetFinBlkCapacity
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1152,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1154,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1159,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1161,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1164,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1146
    functionDepth: 2
    functionLinenumber: 1146
    functionLinenumberEnd: 1172
    functionName: hJoinInitResBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - createOneDataBlock
    - createDataBlockFromDescNode
    - blockDataEnsureCapacity
    - hJoinGetFinBlkCapacity
    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:1177,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1178,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1185,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1191,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1195,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1197,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1197,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1201,1
    - Dst: hJoinInitBufPages
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1174
    functionDepth: 3
    functionLinenumber: 1174
    functionLinenumberEnd: 1207
    functionName: resetHashJoinOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    - blockDataCleanup
    - taosArrayDestroyEx
    - hJoinInitBufPages
    - taosGetDefaultHashFunction
    - tSimpleHashIterate
    - taosMemoryFree
    - tSimpleHashInit
    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:1211,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1214,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1215,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1226,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1228,1
    - Dst: hJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1228,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1229,1
    - Dst: hJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1229,1
    - Dst: hJoinSetBuildAndProbeTable
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1231,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1233,1
    - Dst: hJoinBuildResColsMap
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1233,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1235,1
    - Dst: hJoinInitBufPages
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1235,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1238,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1238,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1244,1
    - Dst: hJoinHandleConds
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1244,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1246,1
    - Dst: hJoinInitResBlocks
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1246,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1248,1
    - Dst: hJoinSetImplFp
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1248,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1250,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1250,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1252,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1253,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1255,1
    - Dst: destroyHashJoinOperator
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1263,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pJoinNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SHashJoinPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1209
    functionDepth: 17
    functionLinenumber: 1209
    functionLinenumberEnd: 1268
    functionName: createHashJoinOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 1
    functionsReached:
    - hJoinInitTableInfo
    - hJoinInitResBlocks
    - hJoinBuildResColsMap
    - setOperatorInfo
    - HJ_ERR_JRET
    - createOperatorFpSet
    - taosMemoryCalloc
    - hJoinSetBuildAndProbeTable
    - QRY_PARAM_CHECK
    - hJoinHandleConds
    - taosGetDefaultHashFunction
    - destroyHashJoinOperator
    - qDebug
    - destroyOperatorAndDownstreams
    - hJoinSetImplFp
    - hJoinInitBufPages
    - setOperatorResetStateFn
    - appendDownstream
    - tSimpleHashInit
    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:60,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    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: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pBuildInsertDataInfo
    - rows
    argTypes:
    - SBuildInsertDataInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 128
    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:136,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: freeCacheTbInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemFree
    - tDestroyTSchema
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeCacheTbInfo(void* pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:147,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:149,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: initInserterGrpInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    - taosHashSetFreeFp
    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:158,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 166
    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:172,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:176,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:179,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:181,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:185,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pSubmitRes
    - res
    - pSchemaChaned
    argTypes:
    - SSubmitRes*
    - SInsertTableInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 200
    functionName: checkResAndResetTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - stError
    - 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:204,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:206,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:210,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:214,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:216,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:217,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:227,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pSubmitRes
    - pOldInsertTbInfo
    - ppNewInsertTbInfo
    argTypes:
    - SSubmitRes*
    - SInsertTableInfo*
    - SInsertTableInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 235
    functionName: createNewInsertTbInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - stError
    - taosMemoryFree
    - tBuildTSchema
    - 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:241,1
    - Dst: checkResAndResetTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:247,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:248,1
    - Dst: createNewInsertTbInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:252,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:253,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:255,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:255,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:257,1
    - Dst: freeCacheTbInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:260,1
    - Dst: freeCacheTbInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:264,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:267,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:270,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:278,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - pInserterInfo
    - pSubmitRes
    argTypes:
    - SStreamDataInserterInfo*
    - SSubmitRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 283
    functionName: updateInsertGrpTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - stInfo
    - checkResAndResetTableInfo
    - QUERY_CHECK_CODE
    - taosHashRelease
    - taosHashAcquire
    - taosHashPut
    - stError
    - createNewInsertTbInfo
    - freeCacheTbInfo
    - TAOS_UNUSED
    - taosHashRemove
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateInsertGrpTableInfo(SStreamDataInserterInfo* pInserterInfo,
      const SSubmitRes* pSubmitRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:289,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:302,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:304,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:305,1
    - Dst: buildTSchmaFromInserter
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:309,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:310,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:313,1
    - Dst: freeCacheTbInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:315,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:321,1
    - Dst: freeCacheTbInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - pInserter
    - pInserterInfo
    argTypes:
    - SDataInserterHandle*
    - SStreamDataInserterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 326
    functionName: initTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosStrdup
    - QUERY_CHECK_CODE
    - stError
    - taosHashPut
    - freeCacheTbInfo
    - buildTSchmaFromInserter
    - taosMemoryCalloc
    - taosMemoryFree
    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:332,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:334,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pTableMetaRsp
    - pInserterParam
    argTypes:
    - STableMetaRsp*
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 349
    functionName: colsIsSupported
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - stError
    - strncmp
    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:355,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:357,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:361,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:367,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:373,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:375,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:380,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - pTableMetaRsp
    - pInserterParam
    argTypes:
    - STableMetaRsp*
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 391
    functionName: TagsIsSupported
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - stError
    - strncmp
    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:394,1
    - Dst: TagsIsSupported
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTableMetaRsp
    - pInserterParam
    argTypes:
    - STableMetaRsp*
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: isSupportedSTableSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - TagsIsSupported
    - colsIsSupported
    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:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTableMetaRsp
    - pInserterParam
    argTypes:
    - STableMetaRsp*
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 405
    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:413,1
    - Dst: isSupportedSTableSchema
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:418,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:419,1
    - Dst: isSupportedNTableSchema
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:423,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:424,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:428,1
    - Dst: updateInsertGrpTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pInserthandle
    - pInserterInfo
    argTypes:
    - SDataInserterHandle*
    - SStreamDataInserterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: checkAndSaveCreateGrpTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - stError
    - updateInsertGrpTableInfo
    - isSupportedSTableSchema
    - isSupportedNTableSchema
    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:448,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:454,1
    - Dst: tDecodeSSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:455,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:457,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:458,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:465,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:468,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:475,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:476,1
    - Dst: updateInsertGrpTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:484,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:488,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:490,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:491,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:496,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:502,1
    - Dst: tDecodeSSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:503,1
    - Dst: checkAndSaveCreateGrpTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:505,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:507,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:508,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:514,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:514,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:516,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:517,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:517,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:519,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 522
    functionName: inserterCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - tDestroySSubmitRsp2
    - tDecoderInit
    - tDecodeSSubmitRsp2
    - tstrerror
    - tDecoderClear
    - tsem_post
    - taosArrayGet
    - qDebug
    - updateInsertGrpTableInfo
    - taosArrayGetSize
    - TAOS_UNUSED
    - qError
    - taosMemoryCalloc
    - checkAndSaveCreateGrpTableInfo
    - taosMemoryFree
    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:531,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ppOutput
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 535
    functionName: freeUseDbOutput_tmp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - freeVgInfo
    - taosMemFree
    linkageType: ''
    returnType: void
    signature: void freeUseDbOutput_tmp(void* ppOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:552,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:553,1
    - Dst: tDeserializeSUseDbRsp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:555,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:556,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:559,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:560,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:562,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:562,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:564,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 569
    functionName: processUseDbRspForInserter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - tsem_post
    - QUERY_CHECK_CODE
    - taosMemoryFreeClear
    - tDeserializeSUseDbRsp
    - qError
    - QUERY_CHECK_NULL
    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: 582
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 582
    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:590,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:592,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:592,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:596,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:597,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:599,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:600,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:602,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:603,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:604,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:606,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:608,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:611,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:612,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:615,1
    - Dst: getCurrentMnodeEpset
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:615,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:625,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:626,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:628,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:629,1
    - Dst: queryBuildUseDbOutput
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:631,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:632,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:634,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:637,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:640,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:642,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:643,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:647,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:650,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:655,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:655,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:656,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:658,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:659,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:659,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:661,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 3
    argNames:
    - clientRpc
    - dbFName
    - output
    argTypes:
    - void*
    - char*
    - SUseDbOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 665
    functionName: buildDbVgInfoMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tsem_destroy
    - taosArrayPush
    - tstrerror
    - taosArrayInit
    - taosHashIterate
    - queryBuildUseDbOutput
    - tsem_wait
    - asyncSendMsgToServer
    - QUERY_CHECK_CODE
    - tSerializeSUseDbReq
    - taosMemoryCalloc
    - qError
    - tstrncpy
    - taosMemoryFreeClear
    - tFreeSUsedbRsp
    - taosArraySort
    - getCurrentMnodeEpset
    - taosHashCancelIterate
    - tsem_init
    - TAOS_UNUSED
    - taosMemoryFree
    - QUERY_CHECK_NULL
    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:671,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:676,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:678,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: 687
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 687
    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: 700
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 700
    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:709,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:709,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:714,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:714,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:715,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:717,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:718,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - dbInfo
    - tbName
    - pVgInfo
    argTypes:
    - SDBVgInfo*
    - char*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 727
    functionName: inserterGetVgInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosGetTbHashVal
    - qDebug
    - taosArrayGetSize
    - taosArraySearch
    - taosHashGetSize
    - qError
    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:731,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dbInfo
    - tbName
    - vgId
    argTypes:
    - SDBVgInfo*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 739
    functionName: inserterGetVgId
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - qError
    - inserterGetVgInfo
    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:751,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:751,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:757,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:757,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:760,1
    - Dst: buildDbVgInfoMap
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:765,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:766,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:768,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:768,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:769,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:778,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:778,1
    - Dst: freeUseDbOutput_tmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - pInserter
    - dbFName
    - dbVgInfo
    argTypes:
    - SDataInserterHandle*
    - char*
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 781
    functionName: inserterGetDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - freeUseDbOutput_tmp
    - taosHashGet
    - strlen
    - tstrerror
    - buildDbVgInfoMap
    - QUERY_CHECK_CODE
    - taosHashInit
    - taosHashPut
    - taosGetDefaultHashFunction
    - qError
    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:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pInserter
    - dbFName
    - tbName
    - pVgInfo
    argTypes:
    - SDataInserterHandle*
    - char*
    - char*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 787
    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:792,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:794,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:798,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:800,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:801,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:814,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: 815
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 815
    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:821,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:825,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:829,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:830,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:831,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:832,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:832,1
    - Dst: tEncodeSubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:833,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:834,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:841,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: 845
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 845
    functionName: submitReqToMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tEncodeSize
    - htobe64
    - tEncodeSubmitReq
    - POINTER_SHIFT
    - tEncoderClear
    - tEncoderInit
    - taosMemoryFree
    - htonl
    linkageType: ''
    returnType: int32_t
    signature: int32_t submitReqToMsg(int32_t vgId, SSubmitReq2* pReq, void** pData,
      int32_t* pLen)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:856,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:859,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:863,1
    - Dst: inserterGetDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:868,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:876,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:885,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:888,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:890,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:892,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:897,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:900,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:901,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:906,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:907,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:911,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:912,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:913,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:916,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:917,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:917,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:918,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:922,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:925,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:928,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:929,1
    - Dst: inserterGetVgId
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:933,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:936,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:940,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:942,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:944,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:948,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:949,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:952,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:959,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:962,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:965,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:971,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:975,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:976,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:977,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:982,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:985,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:986,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:995,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:998,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:999,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1002,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1005,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1007,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1007,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1008,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1009,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1010,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1019,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1021,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1022,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1027,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1030,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1032,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1033,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1034,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1035,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1040,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1042,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1043,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1050,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1053,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1053,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1054,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1055,1
    - Dst: inserterBuildCreateTbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1059,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1063,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1063,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1064,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1071,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1077,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1080,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1083,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1090,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1093,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1096,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1097,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1098,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1099,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1103,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1104,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1104,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1105,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1106,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1116,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1118,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1125,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1127,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1131,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1132,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1133,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1146,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1147,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1148,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1149,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1154,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1156,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1165,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1166,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1169,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1170,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1174,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1180,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1181,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 290
    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: 1184
      start: 847
    functionDepth: 3
    functionLinenumber: 847
    functionLinenumberEnd: 1184
    functionName: buildSubmitReqFromStbBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - varDataLen
    - taosArrayInit
    - tstrerror
    - valueSetDatum
    - snprintf
    - taosArrayClear
    - POINTER_SHIFT
    - inserterGetVgId
    - tTagNew
    - COL_VAL_VALUE
    - taosArrayGet
    - tRowBuild
    - qError
    - taosMemoryCalloc
    - colDataGetVarData
    - taosHashGet
    - colDataGetData
    - uError
    - inserterGetDbVgInfo
    - taosArrayGetSize
    - varDataVal
    - memcpy
    - inserterBuildCreateTbReq
    - tDestroySubmitTbData
    - colDataIsNull_s
    - COL_VAL_NULL
    - 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:1198,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1202,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1207,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1211,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1218,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1219,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1224,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1225,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1234,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1239,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1242,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1245,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1248,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1253,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1257,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1258,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1261,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1262,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1263,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1264,1
    - Dst: inserterGetDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1268,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1274,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1275,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1276,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1277,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1280,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1283,1
    - Dst: inserterGetVgId
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1286,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1292,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1300,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1303,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1309,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1320,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1325,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1328,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1331,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1332,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1333,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1342,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1348,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1351,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1353,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1354,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1359,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1367,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1370,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1370,1
    - Dst: inserterBuildCreateTbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1374,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1382,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1390,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1395,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1402,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1407,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1408,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1409,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1413,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1415,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1415,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1416,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1417,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1426,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1432,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1434,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1439,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1440,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1453,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1454,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1455,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1460,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1470,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1471,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1474,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1480,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1481,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1486,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1492,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1494,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1495,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1499,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1500,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: 1508
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1508
    functionName: buildSubmitReqFromBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayPush
    - varDataLen
    - taosArrayInit
    - tstrerror
    - valueSetDatum
    - tDestroySubmitReq
    - snprintf
    - taosArrayClear
    - POINTER_SHIFT
    - inserterGetVgId
    - tTagNew
    - COL_VAL_VALUE
    - taosArrayGet
    - tRowBuild
    - tRowSort
    - qError
    - taosMemoryCalloc
    - colDataGetVarData
    - tstrncpy
    - taosHashGet
    - taosMemoryFreeClear
    - colDataGetData
    - uError
    - inserterGetDbVgInfo
    - taosArrayGetSize
    - varDataVal
    - memcpy
    - inserterBuildCreateTbReq
    - tRowMerge
    - colDataIsNull_s
    - tDestroySubmitTbData
    - COL_VAL_NULL
    - TSDB_CHECK_NULL
    - taosMemoryFree
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1513,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1516
    functionName: destroySubmitReqWrapper
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - tDestroySubmitReq
    linkageType: ''
    returnType: void
    signature: void destroySubmitReqWrapper(void* p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1524,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1531,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1536,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1536,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1541,1
    - Dst: buildSubmitReqFromStbBlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1543,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1550,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1552,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1554,1
    - Dst: submitReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1559,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1563,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1571,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - pInserter
    - pMsgs
    argTypes:
    - SDataInserterHandle*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1518
    functionDepth: 4
    functionLinenumber: 1518
    functionLinenumberEnd: 1575
    functionName: dataBlocksToSubmitReqArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosHashSetFreeFp
    - taosArrayPush
    - taosHashGetKey
    - taosHashInit
    - taosArrayGetP
    - taosHashIterate
    - taosArrayGetSize
    - buildSubmitReqFromStbBlock
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - taosHashCleanup
    - submitReqToMsg
    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:1583,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1588,1
    - Dst: buildSubmitReqFromBlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1592,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1596,1
    - Dst: submitReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1603,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1604,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pInserter
    - pMsg
    - msgLen
    argTypes:
    - SDataInserterHandle*
    - void**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1577
    functionDepth: 4
    functionLinenumber: 1577
    functionLinenumberEnd: 1608
    functionName: dataBlocksToSubmitReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - tDestroySubmitReq
    - taosArrayGetSize
    - buildSubmitReqFromBlock
    - taosMemoryFree
    - submitReqToMsg
    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:1612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - streamId
    - groupId
    - ppTbInfo
    argTypes:
    - int64_t
    - int64_t
    - SInsertTableInfo***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1619
    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:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ppTbInfo
    argTypes:
    - SInsertTableInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1624
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1632,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1642,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1649,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1654,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1665,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1671,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1672,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1674,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1676,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 3
    argNames:
    - pInserter
    - pInsertParam
    - tbData
    argTypes:
    - SDataInserterHandle*
    - SStreamInserterParam*
    - SSubmitTbData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1687
    functionName: buildNormalTableCreateReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - tdDestroySVCreateTbReq
    - taosMemoryCalloc
    - taosArrayGet
    - IS_DECIMAL_TYPE
    - snprintf
    - qError
    - 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:1694,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1706,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1720,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1731,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1743,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1748,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - pInsertParam
    - ppTSchema
    argTypes:
    - SStreamInserterParam*
    - STSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1754
    functionName: buildTSchmaFromInserter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - TD_BITMAP_BYTES
    - taosMemoryCalloc
    - taosMemoryFree
    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:1760,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1765,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1771,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1778,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1786,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pInserterInfo
    - preCols
    - ppTagVals
    argTypes:
    - SStreamDataInserterInfo*
    - int32_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1756
    functionDepth: 1
    functionLinenumber: 1756
    functionLinenumberEnd: 1790
    functionName: getTagValsFromStreamInserterInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTagValsFromStreamInserterInfo(SStreamDataInserterInfo*
      pInserterInfo, int32_t preCols,\n                                                SArray**
      ppTagVals)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1800,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1804,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1808,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1816,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1822,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1823,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1833,1
    - Dst: getTagValsFromStreamInserterInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1841,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1846,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1848,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1848,1
    - Dst: inserterBuildCreateTbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1851,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1854,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1854,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1861,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1862,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1865,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1870,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - pInserter
    - pInsertParam
    - pInserterInfo
    - tbData
    argTypes:
    - SDataInserterHandle*
    - SStreamInserterParam*
    - SStreamDataInserterInfo*
    - SSubmitTbData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1792
    functionDepth: 2
    functionLinenumber: 1792
    functionLinenumberEnd: 1873
    functionName: buildStreamSubTableCreateReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - tTagNew
    - taosArrayInit
    - tstrerror
    - taosArrayGet
    - stError
    - inserterBuildCreateTbReq
    - taosMemoryFreeClear
    - getTagValsFromStreamInserterInfo
    - qError
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildStreamSubTableCreateReq(SDataInserterHandle* pInserter,
      SStreamInserterParam* pInsertParam,\n                                            SStreamDataInserterInfo*
      pInserterInfo, SSubmitTbData* tbData)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1882,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1885,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1887,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1891,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1897,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1899,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1900,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1902,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1907,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1910,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1912,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1914,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1916,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1924,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1927,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1929,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1930,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1931,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1933,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1937,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1939,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1941,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1943,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1943,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1944,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1945,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1947,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1955,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1957,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1961,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1964,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1968,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1969,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1971,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1983,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1984,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1985,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1987,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1991,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1993,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2002,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2003,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2005,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2006,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2008,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2012,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2013,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2015,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2017,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2020,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2021,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2022,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2025,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2026,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2030,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: 2032
      start: 1875
    functionDepth: 1
    functionLinenumber: 1875
    functionLinenumberEnd: 2032
    functionName: appendInsertData
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - valueSetDatum
    - varDataLen
    - taosArrayInit
    - taosArrayDestroy
    - taosArrayClear
    - POINTER_SHIFT
    - QUERY_CHECK_CODE
    - taosArrayGet
    - COL_VAL_VALUE
    - tRowBuild
    - tRowSort
    - taosMemFree
    - qError
    - colDataGetVarData
    - uError
    - taosArrayGetSize
    - varDataVal
    - qDebug
    - tRowMerge
    - colDataIsNull_s
    - COL_VAL_NULL
    - stDebug
    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:2052,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2054,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2058,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2060,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2065,1
    - Dst: initTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2073,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2074,1
    - Dst: buildNormalTableCreateReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2076,1
    - Dst: buildStreamSubTableCreateReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2078,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2081,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2083,1
    - Dst: getStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2087,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2091,1
    - Dst: getTableVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2106,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2107,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2109,1
    - Dst: appendInsertData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2114,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2115,1
    - Dst: releaseStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2118,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 6
    argNames:
    - pInserter
    - pInserterInfo
    - ppReq
    - pDataBlock
    - vgInfo
    - tbDataInfo
    argTypes:
    - SDataInserterHandle*
    - SStreamDataInserterInfo*
    - SSubmitReq2**
    - SSDataBlock*
    - SVgroupInfo*
    - SBuildInsertDataInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2035
    functionDepth: 3
    functionLinenumber: 2035
    functionLinenumberEnd: 2125
    functionName: buildStreamSubmitReqFromBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - releaseStreamInsertTableInfo
    - getStreamInsertTableInfo
    - appendInsertData
    - tstrncpy
    - buildStreamSubTableCreateReq
    - taosArrayInit
    - QUERY_CHECK_CODE
    - stError
    - initTableInfo
    - taosArrayGetSize
    - getTableVgInfo
    - stDebug
    - taosMemoryCalloc
    - buildNormalTableCreateReq
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildStreamSubmitReqFromBlock(SDataInserterHandle* pInserter,
      SStreamDataInserterInfo* pInserterInfo,\n                                      SSubmitReq2**
      ppReq, const SSDataBlock* pDataBlock, SVgroupInfo* vgInfo,\n                                      SBuildInsertDataInfo*
      tbDataInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2133,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2139,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2141,1
    - Dst: initInsertProcessInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2146,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2148,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2155,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2156,1
    - Dst: buildStreamSubmitReqFromBlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2160,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2161,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2164,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2166,1
    - Dst: submitReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2169,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2171,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2172,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2179,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2180,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - pInserter
    - pInserterInfo
    - pMsg
    - msgLen
    - vgInfo
    argTypes:
    - SDataInserterHandle*
    - SStreamDataInserterInfo*
    - void**
    - int32_t*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2127
    functionDepth: 4
    functionLinenumber: 2127
    functionLinenumberEnd: 2185
    functionName: streamDataBlocksToSubmitReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - QUERY_CHECK_CODE
    - stError
    - taosArrayGetP
    - tDestroySubmitReq
    - tDestroySubmitTbData
    - initInsertProcessInfo
    - taosArrayGetSize
    - stDebug
    - buildStreamSubmitReqFromBlock
    - taosMemoryFree
    - submitReqToMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamDataBlocksToSubmitReq(SDataInserterHandle* pInserter,
      SStreamDataInserterInfo* pInserterInfo, void** pMsg,\n                                    int32_t*
      msgLen, SVgroupInfo* vgInfo)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2190,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2194,1
    - Dst: dataBlocksToSubmitReqArray
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2198,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2200,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2203,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2204,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2205,1
    - Dst: sendSubmitRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2206,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2208,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2210,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2211,1
    - Dst: destroySSubmitTbDataMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2212,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2214,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2217,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2217,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2220,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2221,1
    - Dst: destroySSubmitTbDataMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2222,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2224,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2229,1
    - Dst: dataBlocksToSubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2234,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2239,1
    - Dst: sendSubmitRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2241,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2247,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2247,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2187
    functionDepth: 5
    functionLinenumber: 2187
    functionLinenumberEnd: 2258
    functionName: putDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 3
    functionsReached:
    - destroySSubmitTbDataMsg
    - taosArrayPush
    - taosArrayDestroy
    - QRY_ERR_RET
    - taosArrayInit
    - dataBlocksToSubmitReq
    - taosArrayGetP
    - tsem_wait
    - dataBlocksToSubmitReqArray
    - taosArrayClear
    - taosArrayGetSize
    - taosArrayDestroyP
    - taosMemoryFree
    - sendSubmitRequest
    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:2262,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2268,1
    - Dst: releaseStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pInserter
    - pInput
    argTypes:
    - SDataInserterHandle*
    - SInputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2260
    functionDepth: 2
    functionLinenumber: 2260
    functionLinenumberEnd: 2276
    functionName: resetInserterTbVersion
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - releaseStreamInsertTableInfo
    - getStreamInsertTableInfo
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetInserterTbVersion(SDataInserterHandle* pInserter, const
      SInputData* pInput)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2283,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2288,1
    - Dst: streamDataBlocksToSubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2295,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2296,1
    - Dst: sendSubmitRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2300,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2302,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2303,1
    - Dst: resetInserterTbVersion
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2307,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2308,1
    - Dst: streamDataBlocksToSubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2310,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2311,1
    - Dst: sendSubmitRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2315,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2317,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2318,1
    - Dst: rmDbVgInfoFromCache
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2323,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2324,1
    - Dst: putStreamDataBlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2327,1
    - Dst: rmDbVgInfoFromCache
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2332,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2333,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2337,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2342,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2342,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2343,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2349,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2351,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2354,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2278
    functionDepth: 5
    functionLinenumber: 2278
    functionLinenumberEnd: 2360
    functionName: putStreamDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - stInfo
    - tstrerror
    - QUERY_CHECK_CODE
    - stError
    - putStreamDataBlock
    - taosArrayClear
    - resetInserterTbVersion
    - stDebug
    - rmDbVgInfoFromCache
    - tsem_wait
    - sendSubmitRequest
    - streamDataBlocksToSubmitReq
    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:2364,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pHandle
    - useconds
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2368
    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:2373,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: 2374
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2374
    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:2378,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2379,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2380,1
    - Dst: destroyStreamInserterParam
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2382,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2383,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2385,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2386,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2387,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2392,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2395,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2396,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2400,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SDataSinkHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2376
    functionDepth: 4
    functionLinenumber: 2376
    functionLinenumberEnd: 2405
    functionName: destroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosHashSetFreeFp
    - atomic_sub_fetch_64
    - destroyStreamInserterParam
    - taosMemoryFreeClear
    - taosThreadMutexDestroy
    - nodesDestroyNode
    - taosHashCleanup
    - taosMemoryFree
    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:2410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - size
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2407
    functionDepth: 1
    functionLinenumber: 2407
    functionLinenumberEnd: 2412
    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:2417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - pFlags
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2414
    functionDepth: 1
    functionLinenumber: 2414
    functionLinenumberEnd: 2419
    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:2424,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2426,1
    - Dst: SDataSinkManager*::pAPI::metaFn::getTableSchema
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2447,1
    - Dst: SDataSinkManager*::pAPI::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2454,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2465,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2469,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2469,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2473,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2473,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2482,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2486,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2486,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2491,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2491,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2499,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2502,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2502,1
    - Dst: destroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2512,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2513,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2515,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2518,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 4
    argNames:
    - pManager
    - ppDataSink
    - pHandle
    - pParam
    argTypes:
    - SDataSinkManager*
    - SDataSinkNode**
    - DataSinkHandle*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2421
    functionDepth: 4
    functionLinenumber: 2421
    functionLinenumberEnd: 2522
    functionName: createDataInserter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - SDataSinkManager*::pAPI::metaFn::getBasicInfo
    - taosArrayInit
    - SDataSinkManager*::pAPI::metaFn::getTableSchema
    - QRY_ERR_JRET
    - taosThreadMutexInit
    - destroyDataSinker
    - tsem_init
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosMemoryCalloc
    - nodesDestroyNode
    - taosMemoryFree
    - FOREACH
    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:2530,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2530,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2532,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2532,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2529
    functionDepth: 1
    functionLinenumber: 2529
    functionLinenumberEnd: 2537
    functionName: dbVgInfoMgrInitOnce
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosHashSetFreeFp
    - tstrerror
    - taosHashInit
    - stError
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: void
    signature: void dbVgInfoMgrInitOnce()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2544,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2544,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2545,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2547,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2548,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2564,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2567,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2568,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2568,1
    - Dst: destroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2578,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2579,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2581,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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 3
    argNames:
    - pManager
    - pHandle
    - pParam
    argTypes:
    - SDataSinkManager*
    - DataSinkHandle*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2541
    functionDepth: 1
    functionLinenumber: 2541
    functionLinenumberEnd: 2589
    functionName: createStreamDataInserter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - tstrerror
    - stError
    - taosThreadMutexInit
    - destroyDataSinker
    - tsem_init
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosThreadOnce
    - TSDB_CHECK_NULL
    - taosMemoryFree
    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:2596,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2596,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2599,1
    - Dst: buildDbVgInfoMap
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2604,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2605,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2607,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2607,1
    - Dst: freeUseDbOutput_tmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2611,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2612,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2612,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2614,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2618,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2627,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2627,1
    - Dst: freeUseDbOutput_tmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - clientRpc
    - dbFName
    - dbVgInfo
    argTypes:
    - void*
    - char*
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2591
    functionDepth: 2
    functionLinenumber: 2591
    functionLinenumberEnd: 2630
    functionName: getDbVgInfoByTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - freeUseDbOutput_tmp
    - taosHashGet
    - strlen
    - tstrerror
    - buildDbVgInfoMap
    - QUERY_CHECK_CODE
    - taosHashPut
    - qError
    - 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:2636,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2640,1
    - Dst: getDbVgInfoByTbName
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2642,1
    - Dst: inserterGetVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2642,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2646,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2649,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - clientRpc
    - dbFName
    - tbName
    - pVgInfo
    argTypes:
    - void*
    - char*
    - char*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2632
    functionDepth: 3
    functionLinenumber: 2632
    functionLinenumberEnd: 2653
    functionName: getDbVgInfoForExec
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - getDbVgInfoByTbName
    - inserterGetVgInfo
    - TAOS_CHECK_EXIT
    - tstrerror
    - snprintf
    - qError
    - taosRLockLatch
    - taosRUnLockLatch
    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:2656,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2658,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2658,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2658,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dbFName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2655
    functionDepth: 1
    functionLinenumber: 2655
    functionLinenumberEnd: 2661
    functionName: rmDbVgInfoFromCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosHashRemove
    - taosWUnLockLatch
    - TAOS_UNUSED
    - 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:2667,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2671,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2675,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2676,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2678,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2678,1
    - Dst: tEncodeSVDropTbBatchReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2679,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2680,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2687,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: 2691
      start: 2663
    functionDepth: 1
    functionLinenumber: 2663
    functionLinenumberEnd: 2691
    functionName: dropTableReqToMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tEncodeSize
    - tEncodeSVDropTbBatchReq
    - POINTER_SHIFT
    - tEncoderClear
    - tEncoderInit
    - taosMemoryFree
    - htonl
    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:2696,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2699,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2693
    functionDepth: 1
    functionLinenumber: 2693
    functionLinenumberEnd: 2703
    functionName: dropTbCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - stError
    - tsem_post
    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:2707,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2719,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: 2720
      start: 2705
    functionDepth: 1
    functionLinenumber: 2705
    functionLinenumberEnd: 2720
    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:2735,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2738,1
    - Dst: getStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2740,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2742,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2749,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2749,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2753,1
    - Dst: dropTableReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2755,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2756,1
    - Dst: getDbVgInfoForExec
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2759,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2760,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2763,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2764,1
    - Dst: sendDropTbRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2767,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2768,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2771,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2773,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2778,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2781,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2784,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2785,1
    - Dst: releaseStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2786,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2787,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 3
    argNames:
    - pMsgCb
    - pTaskOutput
    - pReq
    argTypes:
    - SMsgCb*
    - void*
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2722
    functionDepth: 4
    functionLinenumber: 2722
    functionLinenumberEnd: 2790
    functionName: doDropStreamTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - tsem_destroy
    - getStreamInsertTableInfo
    - releaseStreamInsertTableInfo
    - taosArrayDestroy
    - sendDropTbRequest
    - QUERY_CHECK_CODE
    - taosArrayGet
    - getDbVgInfoForExec
    - stError
    - taosMemoryFreeClear
    - tsem_init
    - taosArrayInit_s
    - TAOS_UNUSED
    - taosHashRemove
    - stDebug
    - dropTableReqToMsg
    - taosStrdup
    - tsem_wait
    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:2802,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2802,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2804,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2807,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2813,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2813,1
    - Dst: getDbVgInfoForExec
      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: dropTableReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2819,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2820,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2823,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2824,1
    - Dst: sendDropTbRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2827,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2828,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2831,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2833,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2838,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2841,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2844,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 4
    argNames:
    - pMsgCb
    - pTaskOutput
    - pReq
    - tbName
    argTypes:
    - SMsgCb*
    - void*
    - SSTriggerDropRequest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2792
    functionDepth: 4
    functionLinenumber: 2792
    functionLinenumberEnd: 2848
    functionName: doDropStreamTableByTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - tsem_destroy
    - taosArrayDestroy
    - sendDropTbRequest
    - QUERY_CHECK_CODE
    - taosArrayGet
    - getDbVgInfoForExec
    - stError
    - taosMemoryFreeClear
    - tsem_init
    - taosArrayInit_s
    - TAOS_UNUSED
    - taosHashRemove
    - stDebug
    - taosThreadOnce
    - dropTableReqToMsg
    - tsem_wait
    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: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    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: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:44,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:49,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:50,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:52,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:53,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:56,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:61,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:63,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:63,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:64,1
    - Dst: doSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:66,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:68,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:68,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - pFillInfo
    - pDstColInfo
    - rowIndex
    - colIdx
    argTypes:
    - SFillInfo*
    - SColumnInfoData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 73
    functionName: setNotFillColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - FILL_IS_ASC_FILL
    - doSetVal
    - taosArrayGet
    - T_LONG_JMP
    - colDataSetNULL
    - qError
    linkageType: ''
    returnType: bool
    signature: bool setNotFillColumn(SFillInfo* pFillInfo, SColumnInfoData* pDstColInfo,
      int32_t rowIndex, int32_t colIdx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:77,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:78,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:80,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:82,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:82,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pBlock
    - pFillInfo
    - rowIdx
    - colIdx
    argTypes:
    - SSDataBlock*
    - SFillInfo*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: setNullCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - setNotFillColumn
    - taosArrayGet
    - colDataSetNULL
    - fillIfWindowPseudoColumn
    - TAOS_UNUSED
    - GET_DEST_SLOT_ID
    linkageType: ''
    returnType: void
    signature: void setNullCol(SSDataBlock* pBlock, SFillInfo* pFillInfo, int32_t
      rowIdx, int32_t colIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setNullCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pBlock
    - pFillInfo
    - rowIndex
    argTypes:
    - SSDataBlock*
    - SFillInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: setNullRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - setNullCol
    linkageType: ''
    returnType: void
    signature: void setNullRow(SSDataBlock* pBlock, SFillInfo* pFillInfo, int32_t
      rowIndex)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:102,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:103,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:107,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:108,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:109,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:113,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:114,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:117,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:118,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:122,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:123,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:126,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:127,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:129,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:131,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:133,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:138,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:138,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 4
    argNames:
    - pDst
    - pVar
    - rowIndex
    - currentKey
    argTypes:
    - SColumnInfoData*
    - SVariant*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 141
    functionName: doSetUserSpecifiedValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - IS_SIGNED_NUMERIC_TYPE
    - colDataSetNULL
    - colDataSetVal
    - qError
    - IS_UNSIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetUserSpecifiedValue(SColumnInfoData* pDst, SVariant* pVar,
      int32_t rowIndex, int64_t currentKey)
  - BBCount: 9
    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: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:163,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:164,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:165,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:169,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:170,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:173,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:174,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:181,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:181,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - pFillInfo
    - pCol
    - pDstColInfoData
    - rowIndex
    argTypes:
    - SFillInfo*
    - SFillColInfo*
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 185
    functionName: fillIfWindowPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - taosTimeAdd
    - tstrerror
    - QUERY_CHECK_CODE
    - T_LONG_JMP
    - colDataSetVal
    - qError
    linkageType: ''
    returnType: bool
    signature: "bool fillIfWindowPseudoColumn(SFillInfo* pFillInfo, SFillColInfo*
      pCol, SColumnInfoData* pDstColInfoData,\n                              int32_t
      rowIndex)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/tfill.c:192,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:202,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:202,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:203,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:205,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:205,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:212,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:212,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:213,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:215,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:215,1
    - Dst: setNullRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:221,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:226,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:227,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:231,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:233,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:233,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:237,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:238,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:239,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:243,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:248,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:249,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:256,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:257,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:259,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:260,1
    - Dst: setNullRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:265,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:270,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:271,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:274,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:276,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:276,1
    - Dst: doSetUserSpecifiedValue
      Src: /src/tdengine/source/libs/executor/src/tfill.c:280,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:281,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:289,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:295,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:295,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:296,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 5
    argNames:
    - pFillInfo
    - pBlock
    - pSrcBlock
    - ts
    - outOfBound
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - SSDataBlock*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 298
    functionName: doFillOneRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - GET_DEST_SLOT_ID
    - QUERY_CHECK_CODE
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - fillIfWindowPseudoColumn
    - qError
    - taosGetLinearInterpolationVal
    - typeGetTypeModFromColInfo
    - taosTimeAdd
    - setNotFillColumn
    - setNullRow
    - doSetUserSpecifiedValue
    - T_LONG_JMP
    - colDataSetNULL
    - colDataGetData
    - GET_FORWARD_DIRECTION_FACTOR
    - colDataSetVal
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: "void doFillOneRow(SFillInfo* pFillInfo, SSDataBlock* pBlock, SSDataBlock*
      pSrcBlock, int64_t ts,\n                         bool outOfBound)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:304,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:306,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:307,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:312,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pDstCol
    - rowIndex
    - pKey
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SGroupKeys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 315
    functionName: doSetVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - colDataSetNULL
    - colDataSetVal
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetVal(SColumnInfoData* pDstCol, int32_t rowIndex, const
      SGroupKeys* pKey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:320,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tfill.c:329,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:330,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:336,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:337,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:339,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:340,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tfill.c:342,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:343,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:345,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:346,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:348,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:349,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 357
    functionName: initBeforeAfterDataBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - tstrerror
    - taosArrayGetSize
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t initBeforeAfterDataBuf(SFillInfo* pFillInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:364,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:365,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:372,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:373,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:375,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:381,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:382,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:384,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:385,1
    - Dst: saveColData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:387,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: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:391,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:397,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:397,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - pFillInfo
    - rowIndex
    - pRowVal
    - reset
    argTypes:
    - SFillInfo*
    - int32_t
    - SRowVal*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 400
    functionName: copyCurrentRowIntoBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - FILL_IS_ASC_FILL
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - saveColData
    - GET_DEST_SLOT_ID
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyCurrentRowIntoBuf(SFillInfo* pFillInfo, int32_t rowIndex,
      SRowVal* pRowVal, bool reset)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:406,1
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/tfill.c:408,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:409,1
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:417,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:418,1
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:421,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:422,1
    - Dst: doFillOneRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:430,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:439,1
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:445,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:446,1
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:449,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:450,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:454,1
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:455,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:456,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:464,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:466,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:467,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:469,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:470,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:471,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:472,1
    - Dst: saveColData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:474,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:480,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:481,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:484,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:485,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:486,1
    - Dst: doSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:487,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:488,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:490,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:491,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:492,1
    - Dst: saveColData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:495,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:497,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:499,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:500,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:501,1
    - Dst: doSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:502,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:503,1
    - Dst: doSetUserSpecifiedValue
      Src: /src/tdengine/source/libs/executor/src/tfill.c:506,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:507,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:515,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:531,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:531,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 91
    argCount: 3
    argNames:
    - pFillInfo
    - pBlock
    - outputRows
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 402
    functionDepth: 5
    functionLinenumber: 402
    functionLinenumberEnd: 534
    functionName: fillResultImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doSetVal
    - saveColData
    - GET_DEST_SLOT_ID
    - FILL_IS_ASC_FILL
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qError
    - taosTimeAdd
    - doSetUserSpecifiedValue
    - colDataGetData
    - colDataSetNULL
    - GET_FORWARD_DIRECTION_FACTOR
    - QUERY_CHECK_CONDITION
    - doFillOneRow
    - colDataIsNull_s
    - colDataSetVal
    - copyCurrentRowIntoBuf
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillResultImpl(SFillInfo* pFillInfo, SSDataBlock* pBlock, int32_t
      outputRows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:537,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:541,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/tfill.c:542,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:543,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - rowBuf
    - columnIndex
    - src
    - isNull
    argTypes:
    - SArray*
    - int32_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 549
    functionName: saveColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    - memcpy
    linkageType: ''
    returnType: void
    signature: void saveColData(SArray* rowBuf, int32_t columnIndex, const char* src,
      bool isNull)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doFillOneRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:560,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:565,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:570,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pFillInfo
    - pBlock
    - resultCapacity
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 551
    functionDepth: 5
    functionLinenumber: 551
    functionLinenumberEnd: 573
    functionName: appendFilledResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - doFillOneRow
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendFilledResult(SFillInfo* pFillInfo, SSDataBlock* pBlock,
      int64_t resultCapacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    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:594,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:595,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:602,1
    - Dst: taosResetFillInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:609,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:618,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:619,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:621,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:622,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:624,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:625,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:627,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:628,1
    - Dst: initBeforeAfterDataBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:631,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:637,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:637,1
    - Dst: taosDestroyFillInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 13
    argNames:
    - skey
    - numOfFillCols
    - numOfNotFillCols
    - fillNullCols
    - capacity
    - pInterval
    - fillType
    - pCol
    - primaryTsSlotId
    - order
    - id
    - pTaskInfo
    - ppFillInfo
    argTypes:
    - TSKEY
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - SInterval*
    - int32_t
    - struct SFillColInfo*
    - int32_t
    - int32_t
    - char*
    - SExecTaskInfo*
    - SFillInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 642
    functionName: taosCreateFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - taosResetFillInfo
    - taosDestroyFillInfo
    - initBeforeAfterDataBuf
    - qError
    - GET_DEST_SLOT_ID
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosCreateFillInfo(TSKEY skey, int32_t numOfFillCols, int32_t
      numOfNotFillCols, int32_t fillNullCols,\n                           int32_t
      capacity, SInterval* pInterval, int32_t fillType, struct SFillColInfo* pCol,\n
      \                          int32_t primaryTsSlotId, int32_t order, const char*
      id, SExecTaskInfo* pTaskInfo,\n                           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: 652
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 652
    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:658,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:659,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:660,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:662,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:663,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:664,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:665,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:666,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:668,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:669,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:684,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:692,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:693,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:694,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:695,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:696,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 698
    functionName: taosDestroyFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayGet
    - tdListFreeP
    - taosArrayGetSize
    - taosMemoryFree
    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: 709
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 709
    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: 713
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 713
    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: 718
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 718
    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: 720
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 720
    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:723,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:728,1
    - Dst: getNumOfResultsAfterFillGap
      Src: /src/tdengine/source/libs/executor/src/tfill.c:731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 735
    functionName: taosFillHasMoreResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosNumOfRemainRows
    - getNumOfResultsAfterFillGap
    - FILL_IS_ASC_FILL
    linkageType: ''
    returnType: bool
    signature: bool taosFillHasMoreResults(SFillInfo* pFillInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosNumOfRemainRows
      Src: /src/tdengine/source/libs/executor/src/tfill.c:738,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:744,1
    - Dst: taosTimeCountIntervalForFill
      Src: /src/tdengine/source/libs/executor/src/tfill.c:748,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:751,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:752,1
    - Dst: taosTimeCountIntervalForFill
      Src: /src/tdengine/source/libs/executor/src/tfill.c:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pFillInfo
    - ekey
    - maxNumOfRows
    argTypes:
    - SFillInfo*
    - TSKEY
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 762
    functionName: getNumOfResultsAfterFillGap
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - taosTimeCountIntervalForFill
    - taosNumOfRemainRows
    - FILL_IS_ASC_FILL
    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:771,1
    - Dst: DO_INTERPOLATION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:772,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/tfill.c:776,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: 777
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 777
    functionName: taosGetLinearInterpolationVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - DO_INTERPOLATION
    - IS_BOOLEAN_TYPE
    - SET_TYPED_DATA
    linkageType: ''
    returnType: void
    signature: "void taosGetLinearInterpolationVal(SPoint* point, int32_t outputType,
      SPoint* point1, SPoint* point2, int32_t inputType,\n                                   STypeMod
      inputTypeMod)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosNumOfRemainRows
      Src: /src/tdengine/source/libs/executor/src/tfill.c:782,1
    - Dst: getNumOfResultsAfterFillGap
      Src: /src/tdengine/source/libs/executor/src/tfill.c:784,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:785,1
    - Dst: appendFilledResult
      Src: /src/tdengine/source/libs/executor/src/tfill.c:789,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:790,1
    - Dst: fillResultImpl
      Src: /src/tdengine/source/libs/executor/src/tfill.c:792,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:793,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:794,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tfill.c:798,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:804,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pFillInfo
    - p
    - capacity
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 807
    functionName: taosFillResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - fillResultImpl
    - qDebug
    - taosNumOfRemainRows
    - appendFilledResult
    - getNumOfResultsAfterFillGap
    - QUERY_CHECK_CONDITION
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosFillResultDataBlock(SFillInfo* pFillInfo, SSDataBlock*
      p, int32_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - struct SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 809
    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:816,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/tfill.c:821,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/tfill.c:832,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:833,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/tfill.c:834,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:835,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:860,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:862,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:864,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:864,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: 867
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 867
    functionName: createFillColInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrerror
    - QUERY_CHECK_CODE
    - nodesValueNodeToVariant
    - taosVariantDestroy
    - qError
    - taosMemoryCalloc
    - taosMemoryFree
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    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: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pFillInfo
    - pDstBlock
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 877
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pFillInfo
    - pBlock
    - rowIdx
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 885
    functionName: getBlockCurTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: TSKEY
    signature: TSKEY getBlockCurTs(const struct SFillInfo* pFillInfo, const SSDataBlock*
      pBlock, int32_t rowIdx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:890,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:894,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:895,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:901,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:912,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:913,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:915,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:916,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:919,1
    - Dst: saveColData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:927,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:930,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:930,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:931,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:937,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:937,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 33
    argCount: 4
    argNames:
    - pFillInfo
    - rowIndex
    - pRowVal
    - blockCurTs
    argTypes:
    - SFillInfo*
    - int32_t
    - SRowVal*
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 940
    functionName: copyCurrentRowIntoBuf2
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - FILL_IS_ASC_FILL
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - saveColData
    - GET_DEST_SLOT_ID
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyCurrentRowIntoBuf2(SFillInfo* pFillInfo, int32_t rowIndex,
      SRowVal* pRowVal, TSKEY blockCurTs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:945,1
    - Dst: getBlockCurTs
      Src: /src/tdengine/source/libs/executor/src/tfill.c:946,1
    - Dst: copyCurrentRowIntoBuf2
      Src: /src/tdengine/source/libs/executor/src/tfill.c:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pFillInfo
    - pBlock
    - rowIdx
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 942
    functionDepth: 3
    functionLinenumber: 942
    functionLinenumberEnd: 951
    functionName: fillTrySaveRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - getBlockCurTs
    - FILL_IS_ASC_FILL
    - copyCurrentRowIntoBuf2
    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:954,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:956,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pFillInfo
    - colIdx
    argTypes:
    - struct SFillInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 963
    functionName: tIsColFallBehind
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - 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:970,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pFillInfo
    - colIdx
    - pBlockNode
    - rowIdx
    argTypes:
    - struct SFillInfo*
    - int32_t
    - SListNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 981
    functionName: tFillTrySaveColProgress
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: "bool tFillTrySaveColProgress(struct SFillInfo* pFillInfo, int32_t
      colIdx, SListNode* pBlockNode,\n                                    int32_t
      rowIdx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:992,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:992,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:993,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:996,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1001,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1001,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1002,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1004,1
    - Dst: setNullCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1009,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1013,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1014,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1018,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1020,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1024,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1025,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1026,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1027,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1028,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1029,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1031,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1034,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1042,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1043,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1045,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1046,1
    - Dst: setNullCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1051,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1055,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1056,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1059,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1061,1
    - Dst: doSetUserSpecifiedValue
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1065,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1066,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1071,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1071,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1072,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 6
    argNames:
    - pFillInfo
    - pBlock
    - ts
    - colIdx
    - rowIdx
    - outOfBound
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - TSKEY
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 983
    functionDepth: 3
    functionLinenumber: 983
    functionLinenumberEnd: 1075
    functionName: doFillOneCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - typeGetTypeModFromColInfo
    - setNotFillColumn
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - doSetUserSpecifiedValue
    - T_LONG_JMP
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - fillIfWindowPseudoColumn
    - colDataSetVal
    - setNullCol
    - GET_DEST_SLOT_ID
    - qError
    - taosGetLinearInterpolationVal
    linkageType: ''
    returnType: bool
    signature: "bool doFillOneCol(SFillInfo* pFillInfo, SSDataBlock* pBlock, TSKEY
      ts, int32_t colIdx, int32_t rowIdx,\n                         bool outOfBound)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1082,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1084,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1084,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1091,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1093,1
    - Dst: doFillOneCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1093,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1095,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1098,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1099,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1106,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: 1112
      start: 1077
    functionDepth: 4
    functionLinenumber: 1077
    functionLinenumberEnd: 1112
    functionName: tFillFromHeadForCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - doFillOneCol
    - TD_DLIST_NODE_NEXT
    - taosArrayGet
    - taosArrayGetSize
    - TAOS_UNUSED
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t tFillFromHeadForCol(struct SFillInfo* pFillInfo, TSKEY ts,
      int32_t colIdx, bool outOfBound)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1118,1
    - Dst: tIsColFallBehind
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1123,1
    - Dst: tFillFromHeadForCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1124,1
    - Dst: doFillOneCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1127,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1130,1
    - Dst: tFillTrySaveColProgress
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1131,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1136,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1142,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - pFillInfo
    - pBlock
    - pSrcBlock
    - ts
    - outOfBound
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - SSDataBlock*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1114
    functionDepth: 5
    functionLinenumber: 1114
    functionLinenumberEnd: 1145
    functionName: doFillOneRow2
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - doFillOneCol
    - tFillFromHeadForCol
    - taosTimeAdd
    - tstrerror
    - tdListGetTail
    - tIsColFallBehind
    - T_LONG_JMP
    - GET_FORWARD_DIRECTION_FACTOR
    - tFillTrySaveColProgress
    - qError
    linkageType: ''
    returnType: void
    signature: "void doFillOneRow2(SFillInfo* pFillInfo, SSDataBlock* pBlock, SSDataBlock*
      pSrcBlock, int64_t ts,\n                          bool outOfBound)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1148,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1156,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1164,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1165,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1166,1
    - Dst: destroyFillBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1167,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1171
    functionName: tryExtractReadyBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - destroyFillBlock
    - taosArrayGet
    - tdListGetHead
    - tdListPopNode
    - taosMemFreeClear
    - TSWAP
    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:1176,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1178,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1184
    functionName: createNewSavedBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - blockDataEnsureCapacity
    - createOneDataBlock
    - blockDataDestroy
    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:1189,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1194,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1201,1
    - Dst: tFillSaveBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1206,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1213,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1214,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: 1216
      start: 1186
    functionDepth: 2
    functionLinenumber: 1186
    functionLinenumberEnd: 1216
    functionName: trySaveNewBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - tFillSaveBlock
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - createNewSavedBlock
    - 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:1221,1
    - Dst: trySaveNewBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1223,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1226,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1218
    functionDepth: 3
    functionLinenumber: 1218
    functionLinenumberEnd: 1237
    functionName: fillInitSavedBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tdListNew
    - taosArrayInit
    - 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:1240,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pFillInfo
    - colIdx
    argTypes:
    - struct SFillInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1249
    functionName: tryResetColNextPrev
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - FILL_IS_ASC_FILL
    linkageType: ''
    returnType: void
    signature: void tryResetColNextPrev(struct SFillInfo* pFillInfo, int32_t colIdx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1255,1
    - Dst: fillInitSavedBlockList
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1261,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1264,1
    - Dst: trySaveNewBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1270,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1272,1
    - Dst: doFillOneRow2
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1277,1
    - Dst: tIsColFallBehind
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1283,1
    - Dst: tFillFromHeadForCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1284,1
    - Dst: tryExtractReadyBlocks
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1291,1
    - Dst: fillShouldPause
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1293,1
    - Dst: trySaveNewBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1295,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1297,1
    - Dst: getBlockCurTs
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1300,1
    - Dst: fillTrySaveRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1302,1
    - Dst: doFillOneRow2
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1307,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1312,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1313,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1314,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1316,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1317,1
    - Dst: tIsColFallBehind
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1318,1
    - Dst: tFillFromHeadForCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1318,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1319,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1320,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1321,1
    - Dst: tFillTrySaveColProgress
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1327,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1329,1
    - Dst: doFillOneCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1329,1
    - Dst: tryResetColNextPrev
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1332,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1336,1
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1336,1
    - Dst: tryExtractReadyBlocks
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1342,1
    - Dst: isListEmpty
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1347,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 81
    argCount: 4
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    - wantMoreBlock
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1251
    functionDepth: 6
    functionLinenumber: 1251
    functionLinenumberEnd: 1353
    functionName: taosFillResultDataBlock2
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - fillInitSavedBlockList
    - tryExtractReadyBlocks
    - GET_DEST_SLOT_ID
    - tryResetColNextPrev
    - FILL_IS_ASC_FILL
    - QUERY_CHECK_CODE
    - taosArrayGet
    - fillTrySaveRow
    - fillShouldPause
    - doFillOneCol
    - taosTimeAdd
    - getBlockCurTs
    - doFillOneRow2
    - colDataGetData
    - GET_FORWARD_DIRECTION_FACTOR
    - tFillTrySaveColProgress
    - trySaveNewBlock
    - isListEmpty
    - tFillFromHeadForCol
    - tdListGetTail
    - tIsColFallBehind
    - colDataIsNull_s
    - colDataSetVal
    - TAOS_UNUSED
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosFillResultDataBlock2(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:1357,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1359
    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:1363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pFill
    - pBlock
    - pProgress
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1368
    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,
      SArray* pProgress)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:57,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:59,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:61,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:62,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:64,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:65,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:66,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:67,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - rowIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: doKeepPrevRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - colDataGetData
    - calcStrBytesByType
    - taosArrayGetSize
    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:80,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:82,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:84,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:85,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:87,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:88,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:89,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:91,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - rowIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: doKeepNextRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - colDataGetData
    - calcStrBytesByType
    - taosArrayGetSize
    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:103,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:105,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:107,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:109,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:116,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:117,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:118,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:119,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:120,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:121,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:121,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:123,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:123,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:126,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:131,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:132,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:134,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:135,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:136,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:137,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:137,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:139,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:139,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:142,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:148,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:150,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:151,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:153,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:154,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:155,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:156,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:156,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:158,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:158,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:161,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - rowIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 169
    functionName: doKeepLinearInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - IS_MATHABLE_TYPE
    - varDataTLen
    - taosArrayGet
    - memcpy
    - colDataIsNull_s
    - colDataGetData
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - blobDataTLen
    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:177,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:178,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:180,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pSliceInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: timeSliceEnsureBlockCapacity
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - blockDataEnsureCapacity
    - TMIN
    - 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:189,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 190
    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:194,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 195
    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:199,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    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:209,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:210,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:210,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:212,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:213,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:214,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: 216
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 216
    functionName: tRowGetKeyFromColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - colDataGetVarData
    - valueSetDatum
    - varDataLen
    - IS_NUMERIC_TYPE
    - colDataGetData
    - varDataVal
    linkageType: ''
    returnType: void
    signature: void tRowGetKeyFromColData(int64_t ts, SColumnInfoData* pPkCol, int32_t
      rowIndex, SRowKey* pKey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:221,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:229,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:230,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:232,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:232,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - pSliceInfo
    - pTsCol
    - pPkCol
    - curIndex
    - rows
    argTypes:
    - STimeSliceOperatorInfo*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: checkDuplicateTimestamps
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - valueSetDatum
    - colDataGetVarData
    - tRowKeyAssign
    - IS_VAR_DATA_TYPE
    - colDataGetData
    linkageType: ''
    returnType: bool
    signature: "bool checkDuplicateTimestamps(STimeSliceOperatorInfo* pSliceInfo,
      SColumnInfoData* pTsCol,\n                                     SColumnInfoData*
      pPkCol, int32_t curIndex, int32_t rows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    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: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    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: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    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:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pExprSup
    argTypes:
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 277
    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:287,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:289,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:291,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: 298
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 298
    functionName: checkNullRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - isInterpFunc
    - colDataIsNull_s
    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:303,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pDst
    - rowNum
    - pKey
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SGroupKeys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: interpColSetKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - colDataSetVal
    - colDataSetNULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t interpColSetKey(SColumnInfoData* pDst, int32_t rowNum, SGroupKeys*
      pKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: llabs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pSliceInfo
    - ppFillRow
    - pFillRefRow
    - fillRefRowTs
    argTypes:
    - STimeSliceOperatorInfo*
    - SArray**
    - SArray*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: interpSetFillRowWithRangeIntervalCheck
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - llabs
    linkageType: ''
    returnType: bool
    signature: "bool interpSetFillRowWithRangeIntervalCheck(STimeSliceOperatorInfo*
      pSliceInfo, SArray** ppFillRow,\n                                                   SArray*
      pFillRefRow, int64_t fillRefRowTs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:332,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:337,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:340,1
    - Dst: llabs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:342,1
    - Dst: llabs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:342,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:344,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:346,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pSliceInfo
    - ppNearRow
    argTypes:
    - STimeSliceOperatorInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: interpDetermineNearFillRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - interpSetFillRowWithRangeIntervalCheck
    - llabs
    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:356,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:357,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:363,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:364,1
    - Dst: interpDetermineNearFillRow
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pSliceInfo
    - ppOutRow
    argTypes:
    - STimeSliceOperatorInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 374
    functionName: interpDetermineFillRefRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - interpSetFillRowWithRangeIntervalCheck
    - interpDetermineNearFillRow
    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:519,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:519,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:521,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:522,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:530,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:541,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:546,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:551,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:552,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:556,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:557,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:558,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:559,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:560,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:561,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - nType
    - i
    argTypes:
    - pVar
    - pVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 574
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 2
    functionsReached:
    - typeGetTypeModFromColInfo
    - taosMemoryCalloc
    - QUERY_CHECK_CODE
    - taosArrayGet
    - taosStr2Int8
    - colDataSetNULL
    - colDataSetVal
    - if
    - varDataVal
    - taosMemoryFree
    - taosGetLinearInterpolationVal
    - QUERY_CHECK_NULL
    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:589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:595,1
    - Dst: isIrowtsPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:597,1
    - Dst: isIrowtsOriginPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:597,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:598,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:599,1
    - Dst: isIsfilledPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:600,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:602,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:603,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:606,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:608,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:609,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:613,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:614,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:615,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:623,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:623,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: 626
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 626
    functionName: addCurrentRowToResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - isIrowtsPseudoColumn
    - tstrerror
    - isIrowtsOriginPseudoColumn
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataIsNull_s
    - colDataSetNULL
    - colDataSetVal
    - colDataGetData
    - isIsfilledPseudoColumn
    - qError
    - timeSliceEnsureBlockCapacity
    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:635,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:640,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:642,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:648,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:649,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:650,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:651,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:658,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 661
    functionName: initPrevRowsKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - taosArrayGet
    - taosArrayGetSize
    - qError
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    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:670,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:675,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:677,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:683,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:684,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:686,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:687,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 697
    functionName: initNextRowsKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - taosArrayGet
    - taosArrayGetSize
    - qError
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    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:706,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:711,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:713,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:718,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:719,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:721,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:722,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:727,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:728,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:733,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 736
    functionName: initFillLinearInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - taosArrayGet
    - taosArrayGetSize
    - qError
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    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:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pKey
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 743
    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:750,1
    - Dst: isGroupKeyFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:758,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:762,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:764,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:768,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:769,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pInfo
    - pExprSup
    argTypes:
    - STimeSliceOperatorInfo*
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 778
    functionName: initGroupKeyKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - isGroupKeyFunc
    - taosArrayDestroyEx
    - taosMemoryCalloc
    - taosMemoryFree
    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:782,1
    - Dst: initNextRowsKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:787,1
    - Dst: initFillLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:792,1
    - Dst: initGroupKeyKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pInfo
    - pBlock
    - pExprSup
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 803
    functionName: initKeeperInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - initPrevRowsKeeper
    - initGroupKeyKeeper
    - initFillLinearInfo
    - initNextRowsKeeper
    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:810,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 818
    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:825,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 833
    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:840,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 849
    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:852,1
    - Dst: resetNextRowsKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:853,1
    - Dst: resetFillLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 855
    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: 864
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 864
    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: 872
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 872
    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:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - curIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 886
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:895,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:899,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:904,1
    - Dst: checkDuplicateTimestamps
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:907,1
    - Dst: checkNullRow
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:911,1
    - Dst: addCurrentRowToResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:916,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:917,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:919,1
    - Dst: doKeepLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:920,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:923,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:925,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:929,1
    - Dst: saveBlockStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:930,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:935,1
    - Dst: doKeepLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:936,1
    - Dst: doKeepNextRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:940,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:941,1
    - Dst: genInterpolationResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:944,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:948,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:953,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:956,1
    - Dst: saveBlockStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:957,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:964,1
    - Dst: doKeepNextRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:968,1
    - Dst: doKeepLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:969,1
    - Dst: genInterpolationResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:972,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:976,1
    - Dst: addCurrentRowToResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:983,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:984,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:987,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:989,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:991,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:994,1
    - Dst: saveBlockStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:995,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1007,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1007,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1009,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 83
    argCount: 5
    argNames:
    - pOperator
    - pSliceInfo
    - pBlock
    - pTaskInfo
    - ignoreNull
    argTypes:
    - SOperatorInfo*
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - SExecTaskInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 1011
    functionName: doTimesliceImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - checkNullRow
    - genInterpolationResult
    - checkWindowBoundReached
    - colDataGetData
    - checkThresholdReached
    - T_LONG_JMP
    - checkDuplicateTimestamps
    - saveBlockStatus
    - doKeepPrevRows
    - addCurrentRowToResult
    - qError
    - doKeepNextRows
    - doKeepLinearInfo
    linkageType: ''
    returnType: void
    signature: "void doTimesliceImpl(SOperatorInfo* pOperator, STimeSliceOperatorInfo*
      pSliceInfo, SSDataBlock* pBlock,\n                            SExecTaskInfo*
      pTaskInfo, bool ignoreNull)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: genInterpolationResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1023,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pSliceInfo
    - pOperator
    - index
    argTypes:
    - STimeSliceOperatorInfo*
    - SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1027
    functionName: genInterpAfterDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    - genInterpolationResult
    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:1034,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1036,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1041,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1043,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1048,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1049,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1050,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1051,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1051,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1053,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1053,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1056,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pExprSup
    - pGroupKeys
    - pSrcBlock
    argTypes:
    - SExprSupp*
    - SArray*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1063
    functionName: copyPrevGroupKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - varDataTLen
    - taosArrayGet
    - memcpy
    - isGroupKeyFunc
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - colDataGetData
    - blobDataTLen
    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:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pSliceInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1065
    functionDepth: 3
    functionLinenumber: 1065
    functionLinenumberEnd: 1069
    functionName: resetTimesliceInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - resetKeeperInfo
    linkageType: ''
    returnType: void
    signature: void resetTimesliceInfo(STimeSliceOperatorInfo* pSliceInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getIgoreNullRes
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1076,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1079,1
    - Dst: initKeeperInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1083,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1085,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1090,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1091,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1093,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1093,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1094,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1099,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1101,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1102,1
    - Dst: doTimesliceImpl
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1104,1
    - Dst: copyPrevGroupKey
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1107,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1107,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1071
    functionDepth: 4
    functionLinenumber: 1071
    functionLinenumberEnd: 1110
    functionName: doHandleTimeslice
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - projectApplyFunctions
    - initKeeperInfo
    - tstrerror
    - GET_STM_RTINFO
    - doTimesliceImpl
    - T_LONG_JMP
    - checkWindowBoundReached
    - copyPrevGroupKey
    - getIgoreNullRes
    - qError
    - setInputDataBlock
    linkageType: ''
    returnType: void
    signature: void doHandleTimeslice(SOperatorInfo* pOperator, SSDataBlock* pBlock)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1124,1
    - Dst: doHandleTimeslice
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1128,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1129,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1129,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1130,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1131,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1147,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1149,1
    - Dst: doHandleTimeslice
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1164,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1165,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1165,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1166,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1167,1
    - Dst: genInterpAfterDataBlock
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1177,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1179,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1180,1
    - Dst: resetTimesliceInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1186,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1194,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1199,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1199,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1201,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1112
    functionDepth: 5
    functionLinenumber: 1112
    functionLinenumberEnd: 1206
    functionName: doTimesliceNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - setTaskStatus
    - tstrerror
    - doFilter
    - doHandleTimeslice
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - setOperatorCompleted
    - T_LONG_JMP
    - checkWindowBoundReached
    - checkThresholdReached
    - genInterpAfterDataBlock
    - resetTimesliceInfo
    - qError
    - getNextBlockFromDownstream
    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:1211,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1211,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1213,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1215,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pFuncs
    - pHasPk
    - pPkColumn
    argTypes:
    - SNodeList*
    - bool*
    - SColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1224
    functionName: extractPkColumnFromFuncs
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - fmIsInterpFunc
    - nodeType
    - extractColumnFromColumnNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractPkColumnFromFuncs(SNodeList* pFuncs, bool* pHasPk, SColumn*
      pPkColumn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1211,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1211,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1213,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1215,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1222
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 28
    functionsReached:
    - fmIsInterpFunc
    - nodeType
    - extractColumnFromColumnNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1259,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - cond
    - range
    - twindow
    - extTwindows
    argTypes:
    - STimeWindow*
    - STimeWindow*
    - STimeWindow*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1265
    functionName: getQueryExtWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.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: 5
    BranchProfiles: []
    Callsites:
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1273,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1275,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1278,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1294,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1295,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1298,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1300,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1301,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1302,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1304,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1307,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1308,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1309,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1311,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1314,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1315,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1316,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1317,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1319,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1328
    functionName: resetTimeSliceOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - setTaskStatus
    - resetExprSupp
    - taosArrayGet
    - memset
    - blockDataCleanup
    - IS_VAR_DATA_TYPE
    - taosArrayDestroyEx
    - taosArrayGetSize
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetTimeSliceOperState(SOperatorInfo* pOper)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1331,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1335,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1336,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1349,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1350,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1352,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1353,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1358,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1359,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1361,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1362,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1365,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1367,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1369,1
    - Dst: extractPkColumnFromFuncs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1370,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1371,1
    - Dst: convertFillType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1373,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1374,1
    - Dst: createFillColInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1377,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1378,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1381,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1382,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1400,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1401,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1402,1
    - Dst: getQueryExtWindow
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1410,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1411,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1414,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1416,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1419,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1420,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1423,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1425,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1426,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1433,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1433,1
    - Dst: destroyTimeSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1435,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1436,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 74
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1330
    functionDepth: 16
    functionLinenumber: 1330
    functionLinenumberEnd: 1439
    functionName: createTimeSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - getQueryExtWindow
    - extractPkColumnFromFuncs
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - IS_VAR_DATA_TYPE
    - createExprInfo
    - createFillColInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - qError
    - extractColumnFromColumnNode
    - convertFillType
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - initExprSupp
    - blockDataEnsureCapacity
    - filterInitFromNode
    - destroyTimeSliceOperatorInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTimeSliceOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      pPhyNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1444,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1447,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1448,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1449,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1451,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1453,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1454,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1455,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1457,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1459,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1460,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1462,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1464,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1467,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1470,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1471,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1474,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1477,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1479,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1441
    functionDepth: 4
    functionLinenumber: 1441
    functionLinenumberEnd: 1482
    functionName: destroyTimeSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - IS_VAR_DATA_TYPE
    - cleanupExprSupp
    - taosArrayGetSize
    - taosVariantDestroy
    - taosMemoryFree
    - blockDataDestroy
    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: 1497
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1497
    functionName: getMinWindowSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getMinWindowSize(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:
    - taosArrayPush
    - releaseBufPage
    - doCopyObject
    - setBufPageDirty
    - getBufPage
    - getNewBufPage
    - taosArrayGetLast
    - getBufPageSize
    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
    - memmove
    - GET_LHASH_NODE_LEN
    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:
    - GET_LHASH_NODE_KEY
    - dBufSetBufPageRecycled
    - tstrerror
    - GET_LHASH_NODE_DATA
    - releaseBufPage
    - taosArrayGet
    - doCopyObject
    - getBufPageSize
    - setBufPageDirty
    - getBufPage
    - taosArrayGetSize
    - taosArrayGetLast
    - memmove
    - GET_LHASH_NODE_LEN
    - taosArrayRemove
    - qError
    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
    - taosArrayInit
    - releaseBufPage
    - memset
    - taosMemoryRealloc
    - setBufPageDirty
    - getNewBufPage
    - taosMemoryCalloc
    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:
    - taosArrayDestroy
    - createDiskbasedBuf
    - osTempSpaceAvailable
    - terrstr
    - destroyDiskbasedBuf
    - setBufPageCompressOnDisk
    - printf
    - taosMemoryCalloc
    - taosMemoryFree
    - doAddNewBucket
    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:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - 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:
    - ceil
    - GET_LHASH_NODE_KEY
    - doGetAlternativeBucketId
    - doGetBucketIdFromHashVal
    - doGetRelatedSplitBucketId
    - taosArrayGet
    - SLHashObj*::hashFn
    - doRemoveFromBucket
    - releaseBufPage
    - doAddToBucket
    - getBufPage
    - taosArrayGetSize
    - doTrimBucketPages
    - GET_LHASH_NODE_LEN
    - qError
    - log
    - doAddNewBucket
    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:
    - GET_LHASH_NODE_KEY
    - doGetAlternativeBucketId
    - doGetBucketIdFromHashVal
    - memcmp
    - taosArrayGet
    - SLHashObj*::hashFn
    - releaseBufPage
    - GET_LHASH_NODE_DATA
    - getBufPage
    - taosArrayGetSize
    - GET_LHASH_NODE_LEN
    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
    - dBufPrintStatis
    - dBufSetPrintInfo
    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: taosFillResultDataBlock2
      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: 7
    functionLinenumber: 67
    functionLinenumberEnd: 105
    functionName: doHandleRemainBlockForNewGroupImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - fillResetPrevForNewGroup
    - blockDataCleanup
    - taosFillResultDataBlock2
    - T_LONG_JMP
    - getFillInfoStart
    - taosResetFillInfo
    - reviseFillStartAndEndKey
    - taosFillSetInputDataBlock
    - doApplyScalarCalculation
    - qError
    - taosFillSetStartInfo
    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: taosFillResultDataBlock2
      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: 8
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: doHandleRemainBlockFromNewGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosFillResultDataBlock2
    - T_LONG_JMP
    - doHandleRemainBlockForNewGroupImpl
    - qError
    - taosFillHasMoreResults
    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:
    - tstrerror
    - GET_STM_RTINFO
    - QUERY_CHECK_CODE
    - T_LONG_JMP
    - projectApplyFunctions
    - qError
    - 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:
    - taosArrayGet
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    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:203,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:210,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:214,1
    - Dst: taosFillNotStarted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:216,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:217,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:220,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:224,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:225,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:227,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:228,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:229,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:230,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:231,1
    - Dst: doApplyScalarCalculation
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:232,1
    - Dst: taosFillNotStarted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:235,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:236,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:243,1
    - Dst: taosFillSetInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:244,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:250,1
    - Dst: taosFillResultDataBlock2
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:257,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:258,1
    - Dst: doHandleRemainBlockFromNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:269,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:275,1
    - Dst: doHandleRemainBlockForNewGroupImpl
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:277,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:290,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:291,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 183
    functionDepth: 9
    functionLinenumber: 183
    functionLinenumberEnd: 294
    functionName: doFillImpl2
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosFillSetStartInfo
    - setOperatorCompleted
    - blockDataCleanup
    - doHandleRemainBlockFromNewGroup
    - blockDataUpdateTsWindow
    - taosFillResultDataBlock2
    - doHandleRemainBlockForNewGroupImpl
    - reviseFillStartAndEndKey
    - T_LONG_JMP
    - taosFillSetInputDataBlock
    - doApplyScalarCalculation
    - taosFillNotStarted
    - qError
    - blockDataEnsureCapacity
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doFillImpl2(SOperatorInfo* pOperator)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:302,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:309,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:313,1
    - Dst: doHandleRemainBlockFromNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:327,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:334,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:338,1
    - Dst: taosFillNotStarted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:340,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:341,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:344,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:348,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:349,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:351,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:352,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:353,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:354,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:355,1
    - Dst: doApplyScalarCalculation
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:356,1
    - Dst: taosFillNotStarted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:359,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:360,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:367,1
    - Dst: taosFillSetInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:368,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:374,1
    - Dst: taosFillResultDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:381,1
    - Dst: doHandleRemainBlockFromNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:392,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:398,1
    - Dst: doHandleRemainBlockForNewGroupImpl
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:400,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:412,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:412,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:413,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 296
    functionDepth: 9
    functionLinenumber: 296
    functionLinenumberEnd: 416
    functionName: doFillImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - taosFillResultDataBlock
    - tstrerror
    - QUERY_CHECK_CODE
    - taosFillSetStartInfo
    - setOperatorCompleted
    - blockDataCleanup
    - doHandleRemainBlockFromNewGroup
    - blockDataUpdateTsWindow
    - T_LONG_JMP
    - doHandleRemainBlockForNewGroupImpl
    - reviseFillStartAndEndKey
    - taosFillSetInputDataBlock
    - doApplyScalarCalculation
    - taosFillNotStarted
    - qError
    - blockDataEnsureCapacity
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doFillImpl(SOperatorInfo* pOperator)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: streamCalcCurrWinTimeRange
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:426,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:429,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:429,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:431,1
    - Dst: doFillImpl2
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:450,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:452,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:456,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:458,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:458,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:460,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 418
    functionDepth: 10
    functionLinenumber: 418
    functionLinenumberEnd: 473
    functionName: doFillNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doFilter
    - streamCalcCurrWinTimeRange
    - setOperatorCompleted
    - T_LONG_JMP
    - doFillImpl2
    - qError
    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:477,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:478,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:480,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:483,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:484,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:486,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:487,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 489
    functionName: destroyFillOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - cleanupExprSupp
    - taosDestroyFillInfo
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyFillOperatorInfo(void* param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createFillColInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:496,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:498,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:498,1
    - Dst: taosCreateFillInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:507,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:510,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:510,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:521,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:527,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 15
    argNames:
    - pInfo
    - pExpr
    - numOfCols
    - pNotFillExpr
    - numOfNotFillCols
    - pFillNullExpr
    - numOfFillNullExprs
    - pValNode
    - win
    - capacity
    - id
    - pInterval
    - fillType
    - order
    - pTaskInfo
    argTypes:
    - SFillOperatorInfo*
    - SExprInfo*
    - int32_t
    - SExprInfo*
    - int32_t
    - SExprInfo*
    - int32_t
    - SNodeListNode*
    - STimeWindow
    - int32_t
    - char*
    - SInterval*
    - int32_t
    - int32_t
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 533
    functionName: initFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - taosCreateFillInfo
    - taosMemoryCalloc
    - tstrerror
    - createFillColInfo
    - qError
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initFillInfo(SFillOperatorInfo* pInfo, SExprInfo* pExpr, int32_t
      numOfCols, SExprInfo* pNotFillExpr,\n                            int32_t numOfNotFillCols,
      SExprInfo* pFillNullExpr, int32_t numOfFillNullExprs,\n                            SNodeListNode*
      pValNode, STimeWindow win, int32_t capacity, const char* id,\n                            SInterval*
      pInterval, int32_t fillType, int32_t order, SExecTaskInfo* pTaskInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SFillOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 548
    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:552,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:556,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:560,1
    - Dst: createExprFromTargetNode
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:565,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:567,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pInfo
    - pPhyFillNode
    - pExprSupp
    - idStr
    argTypes:
    - SFillOperatorInfo*
    - SFillPhysiNode*
    - SExprSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 578
    functionName: createPrimaryTsExprIfNeeded
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - createExprFromTargetNode
    - tstrerror
    - taosMemoryRealloc
    - qError
    - isWstartColumnExist
    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:588,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:589,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:603,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:605,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:608,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:610,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:614,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:615,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 631
    functionName: resetFillOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayGet
    - blockDataCleanup
    - tdListFreeP
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetFillOperState(SOperatorInfo* pOper)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:635,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:639,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:640,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:647,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:648,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:651,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:652,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:658,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:659,1
    - Dst: createPrimaryTsExprIfNeeded
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:661,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:662,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:665,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:666,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:668,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:670,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:671,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:673,1
    - Dst: convertFillType
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:681,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:685,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:686,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:690,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:699,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:702,1
    - Dst: initFillInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:703,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:710,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:713,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:718,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:723,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:729,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:730,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:732,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:734,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:743,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:743,1
    - Dst: destroyFillOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:746,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:748,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 4
    argNames:
    - downstream
    - pPhyFillNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SFillPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 633
    functionDepth: 16
    functionLinenumber: 633
    functionLinenumberEnd: 751
    functionName: createFillOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 1
    functionsReached:
    - destroyFillOperatorInfo
    - tstrerror
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - createExprInfo
    - createOperatorFpSet
    - TSWAP
    - taosMemoryCalloc
    - qError
    - createOneDataBlock
    - createDataBlockFromDescNode
    - convertFillType
    - initFillInfo
    - QRY_PARAM_CHECK
    - initExprSupp
    - createPrimaryTsExprIfNeeded
    - extractColMatchInfo
    - blockDataEnsureCapacity
    - filterInitFromNode
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - QUERY_CHECK_NULL
    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:756,1
    - Dst: taosFillUpdateStartTimestampInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:757,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:759,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:762,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:769,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:772,1
    - Dst: taosFillUpdateStartTimestampInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:777,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:778,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pInfo
    - order
    argTypes:
    - SFillOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 780
    functionName: reviseFillStartAndEndKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 3
    functionsReached:
    - taosFillUpdateStartTimestampInfo
    - taosTimeAdd
    - taosTimeTruncate
    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:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    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:85,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:86,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:87,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:88,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:89,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:92,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:97,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:98,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: destroyGroupOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - cleanupAggSup
    - cleanupResultInfo
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - cleanupExprSupp
    - cleanupGroupResInfo
    - cleanupBasicInfo
    linkageType: ''
    returnType: void
    signature: void destroyGroupOperatorInfo(void* param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:103,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:108,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:110,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:112,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:112,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:121,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:126,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:135,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: 141
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 141
    functionName: initGroupOptrInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryCalloc
    - tstrerror
    - taosArrayInit
    - taosArrayGet
    - taosArrayGetSize
    - qError
    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:147,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:148,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:153,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:155,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:164,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:167,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:169,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:174,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:175,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:176,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:177,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:177,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:177,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:177,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:183,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:184,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:184,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:184,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:184,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:191,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: 198
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 198
    functionName: groupKeyCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - blobDataLen
    - varDataLen
    - memcmp
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - colDataIsNull
    - getJsonValueLen
    - varDataVal
    - blobDataVal
    linkageType: ''
    returnType: bool
    signature: "bool groupKeyCompare(SArray* pGroupCols, SArray* pGroupColVals, SSDataBlock*
      pBlock, int32_t rowIndex,\n                            int32_t numOfGroupCols)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:203,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:206,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:207,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:210,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:218,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:219,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:223,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:225,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:229,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:230,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:231,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:232,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:233,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:233,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:235,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:235,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pGroupCols
    - pGroupColVals
    - pBlock
    - rowIndex
    argTypes:
    - SArray*
    - SArray*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 242
    functionName: recordNewGroupKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - varDataTLen
    - taosArrayGet
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - taosArrayGetSize
    - colDataIsNull
    - tTagIsJson
    - blobDataTLen
    - getJsonValueLen
    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:245,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:250,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:258,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:259,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:261,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:262,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:263,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:264,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:266,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:267,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pKey
    - pGroupColVals
    argTypes:
    - void*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 276
    functionName: buildGroupKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - blobDataCopy
    - varDataTLen
    - taosArrayGet
    - memcpy
    - IS_VAR_DATA_TYPE
    - varDataCopy
    - taosArrayGetSize
    - getJsonValueLen
    - blobDataTLen
    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:282,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:286,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:287,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:288,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:291,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:292,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:293,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:294,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:295,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:297,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:300,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: 309
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 309
    functionName: doAssignGroupKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - blobDataCopy
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - GET_RES_INFO
    - colDataIsNull
    - getJsonValueLen
    - varDataCopy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: void
    signature: void doAssignGroupKeys(SqlFunctionCtx* pCtx, int32_t numOfOutput, int32_t
      totalRows, int32_t rowIndex)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:316,1
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:329,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:331,1
    - Dst: groupKeyCompare
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:338,1
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:347,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:349,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:354,1
    - Dst: setGroupResultOutputBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:355,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:358,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:362,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:365,1
    - Dst: doAssignGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:369,1
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:370,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:375,1
    - Dst: setGroupResultOutputBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:376,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:379,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:383,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:386,1
    - Dst: doAssignGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:388,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 390
    functionName: doHashGroupbyAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - groupKeyCompare
    - buildGroupKeys
    - T_LONG_JMP
    - doAssignGroupKeys
    - applyAggFunctionOnPartialTuples
    - taosArrayGetSize
    - recordNewGroupKeys
    - setGroupResultOutputBuf
    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:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 396
    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:409,1
    - Dst: hasRemainResultByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:410,1
    - Dst: doCopyToSDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:416,1
    - Dst: hasRemainResultByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:419,1
    - Dst: doCopyToSDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pOperator
    - pbInfo
    - pGroupResInfo
    - pBuf
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - SGroupResInfo*
    - SDiskbasedBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 431
    functionName: doBuildResultDatablockByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - hasRemainResultByHash
    - blockDataCleanup
    - doCopyToSDataBlockByHash
    linkageType: ''
    returnType: void
    signature: "void doBuildResultDatablockByHash(SOperatorInfo* pOperator, SOptrBasicInfo*
      pbInfo, SGroupResInfo* pGroupResInfo,\n                                  SDiskbasedBuf*
      pBuf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doBuildResultDatablockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:442,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:444,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:445,1
    - Dst: hasRemainResultByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:447,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:448,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:450,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:463,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:463,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 433
    functionDepth: 5
    functionLinenumber: 433
    functionLinenumberEnd: 467
    functionName: buildGroupResultDataBlockByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doBuildResultDatablockByHash
    - doFilter
    - QUERY_CHECK_CODE
    - tSimpleHashCleanup
    - setOperatorCompleted
    - T_LONG_JMP
    - qError
    - hasRemainResultByHash
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * buildGroupResultDataBlockByHash(SOperatorInfo* pOperator)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:476,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:478,1
    - Dst: buildGroupResultDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:484,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:489,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:497,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:498,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:502,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:503,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:504,1
    - Dst: doHashGroupbyAgg
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:507,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:514,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:518,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:526,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:530,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:530,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:532,1
    - Dst: buildGroupResultDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 469
    functionDepth: 6
    functionLinenumber: 469
    functionLinenumberEnd: 538
    functionName: hashGroupbyAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - buildGroupResultDataBlockByHash
    - getNextBlockFromDownstream
    - GET_STM_RTINFO
    - tstrerror
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - doHashGroupbyAgg
    - projectApplyFunctions
    - qError
    - taosGetTimestampUs
    - 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:544,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:547,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:550,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:552,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:553,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 565
    functionName: resetGroupOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - resetExprSupp
    - cleanupResultInfo
    - resetBasicOperatorState
    - resetAggSup
    - qInfo
    - cleanupGroupResInfo
    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:569,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:573,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:574,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:583,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:588,1
    - Dst: extractColumnInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:591,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:592,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:597,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:598,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:601,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:602,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:604,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:605,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:606,1
    - Dst: initGroupOptrInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:608,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:609,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:614,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:615,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:617,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:619,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:621,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:623,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:625,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:626,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:634,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:636,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:637,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:638,1
    - Dst: destroyGroupOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:644,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:645,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 54
    argCount: 4
    argNames:
    - downstream
    - pAggNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SAggPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 567
    functionDepth: 16
    functionLinenumber: 567
    functionLinenumberEnd: 648
    functionName: createGroupOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - initAggSup
    - extractColumnInfo
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - initGroupOptrInfo
    - createDataBlockFromDescNode
    - destroyGroupOperatorInfo
    - QRY_PARAM_CHECK
    - initExprSupp
    - blockDataEnsureCapacity
    - filterInitFromNode
    - initResultRowInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    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:658,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:659,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:668,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:670,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:681,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:683,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:684,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:686,1
    - Dst: doEnsureCapacity
      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: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:693,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:694,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:700,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:700,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:701,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - pOperator
    - pDataBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 705
    functionName: createBlockDataNotLoaded
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - colDataAssign
    - QUERY_CHECK_CODE
    - taosArrayGet
    - doEnsureCapacity
    - blockDataAppendColInfo
    - qError
    - taosMemoryCalloc
    - createDataBlock
    - blockDataDestroy
    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:714,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:715,1
    - Dst: getCurrentDataGroupInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:718,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:720,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:727,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:739,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:747,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:752,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:757,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:758,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:760,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:762,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:766,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:768,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:769,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:769,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:770,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:771,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:773,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:776,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:777,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:777,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:778,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:779,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:781,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:786,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:789,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:791,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:793,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:793,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:794,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:794,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:805,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:806,1
    - Dst: createBlockDataNotLoaded
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:808,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:810,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:813,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:814,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:819,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:820,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:827,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:827,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:828,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 72
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 830
    functionName: doHashPartition
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - colDataIsNull_f
    - colDataSetNull_f
    - calcGroupId
    - varDataTLen
    - createBlockDataNotLoaded
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - setBufPageDirty
    - qError
    - IS_STR_DATA_BLOB
    - BitmapLen
    - getCurrentDataGroupInfo
    - T_LONG_JMP
    - colDataGetData
    - recordNewGroupKeys
    - getJsonValueLen
    - QUERY_CHECK_CONDITION
    - getBufPageSize
    - blobDataTLen
    - releaseBufPage
    - memcpy
    - buildGroupKeys
    - colDataIsNull_s
    - QUERY_CHECK_NULL
    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:835,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:840,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:841,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:843,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:847,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:849,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:852,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:857,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:858,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:862,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:863,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:865,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:865,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:872,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:876,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:878,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:878,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:882,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:883,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:885,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:885,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:893,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:893,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 3
    argNames:
    - pInfo
    - pGroupInfo
    - len
    argTypes:
    - SPartitionOperatorInfo*
    - SDataGroupInfo**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 898
    functionName: getCurrentDataGroupInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - releaseBufPage
    - memset
    - getBufPageSize
    - getBufPage
    - getNewBufPage
    - taosArrayGetLast
    - taosHashPut
    - qError
    - QUERY_CHECK_NULL
    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:901,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:902,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:911,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:916,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pBlock
    - rowCapacity
    argTypes:
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 926
    functionName: setupColumnOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryCalloc
    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:929,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:931,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:934,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:935,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:937,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:940,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:942,1
    - Dst: clearDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:943,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SPartitionOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 944
    functionName: clearPartitionOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosArrayClear
    - taosArrayGetSize
    - clearDiskbasedBuf
    - 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: 955
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 955
    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:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pGroupInfo
    argTypes:
    - SDataGroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 967
    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:976,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:978,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:979,1
    - Dst: buildPartitionResultForNotLoadBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:981,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:985,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:986,1
    - Dst: clearPartitionOperator
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:987,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:992,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
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:994,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:995,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1000,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1002,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1002,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1002,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1003,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1005,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1007,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1007,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1007,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1008,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1011,1
    - Dst: buildPartitionResultForNotLoadBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1012,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1014,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1018,1
    - Dst: clearPartitionOperator
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1019,1
    - Dst: buildPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1022,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1025,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1026,1
    - Dst: blockDataFromBuf1
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1028,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1029,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1032,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1037,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1042,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1043,1
    - Dst: blockDataGetSortedRows
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1044,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1049,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1050,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1054,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1054,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1055,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 1060
    functionName: buildPartitionResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - clearPartitionOperator
    - buildPartitionResultForNotLoadBlock
    - tstrerror
    - GET_TASKID
    - blockDataGetSortedRows
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataUpdateTsWindow
    - setOperatorCompleted
    - blockDataCleanup
    - getBufPage
    - qError
    - T_LONG_JMP
    - taosArrayGetSize
    - blockDataEnsureCapacity
    - blockDataTrimFirstRows
    - buildPartitionResult
    - releaseBufPage
    - blockDataFromBuf1
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * buildPartitionResult(SOperatorInfo* pOperator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: buildPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1075,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1079,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1083,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1092,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1093,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1094,1
    - Dst: doHashPartition
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1098,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1101,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1105,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1105,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1106,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1108,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1111,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1112,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1113,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1116,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1119,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1121,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1124,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1125,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1129,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1131,1
    - Dst: buildPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1136
    functionName: hashPartitionNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashClear
    - buildPartitionResult
    - GET_STM_RTINFO
    - taosGetTimestampUs
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - doHashPartition
    - taosHashIterate
    - T_LONG_JMP
    - taosArraySort
    - projectApplyFunctions
    - taosHashGetSize
    - qError
    - blockDataEnsureCapacity
    - getNextBlockFromDownstream
    - QUERY_CHECK_NULL
    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:1140,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1141,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1143,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1145,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1149,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1151,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1153,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1155,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1158,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1160,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1163,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1164,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1168,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1170,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1171,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1172,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1138
    functionDepth: 4
    functionLinenumber: 1138
    functionLinenumberEnd: 1174
    functionName: destroyPartitionOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosMemoryFreeClear
    - taosHashIterate
    - destroyDiskbasedBuf
    - cleanupExprSupp
    - taosArrayGetSize
    - cleanupBasicInfo
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyPartitionOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1180,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1182,1
    - Dst: clearPartitionOperator
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1185,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1187,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1190,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1191,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1193,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1195,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1197,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1199,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1210
    functionName: resetPartitionOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosHashClear
    - clearPartitionOperator
    - resetExprSupp
    - taosArrayGet
    - taosHashIterate
    - resetBasicOperatorState
    - taosArrayGetSize
    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:1214,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1218,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1219,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1228,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1229,1
    - Dst: makeColumnArrayFromList
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1233,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1237,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1243,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1244,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1250,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1251,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1253,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1254,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1257,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1258,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1266,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1267,1
    - Dst: getBufferPgSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1268,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1273,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1275,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1275,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1279,1
    - Dst: blockDataGetCapacityInRow
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1285,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1285,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1286,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1286,1
    - Dst: setupColumnOffset
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1292,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1293,1
    - Dst: initGroupOptrInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1295,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1300,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1303,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1306,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1307,1
    - Dst: destroyPartitionOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1317,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1320,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1321,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 4
    argNames:
    - downstream
    - pPartNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPartitionPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1212
    functionDepth: 5
    functionLinenumber: 1212
    functionLinenumberEnd: 1322
    functionName: createPartitionOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - blockDataGetSerialMetaSize
    - createDiskbasedBuf
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - setupColumnOffset
    - createExprInfo
    - createOperatorFpSet
    - qError
    - taosMemoryCalloc
    - initGroupOptrInfo
    - TAOS_RETURN
    - createDataBlockFromDescNode
    - osTempSpaceAvailable
    - destroyPartitionOperatorInfo
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - initExprSupp
    - taosGetDefaultHashFunction
    - getBufPageSize
    - makeColumnArrayFromList
    - terrstr
    - getBufferPgSize
    - blockDataGetCapacityInRow
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - taosHashInit
    - appendDownstream
    - QUERY_CHECK_NULL
    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:1330,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1336,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: 1337
      start: 1324
    functionDepth: 3
    functionLinenumber: 1324
    functionLinenumberEnd: 1337
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1342,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1352,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1353,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1363,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1364,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1371,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1372,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1380,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1381,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1387,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1387,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 2
    argNames:
    - tbName
    - tag
    argTypes:
    - SExprSupp*
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1392
    functionName: buildCreateTableBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryCalloc
    - taosArrayInit
    - tstrerror
    - blockDataDestroy
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * buildCreateTableBlock(SExprSupp* tbName, SExprSupp* tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1397
    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:1402,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1407,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1411,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1412,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1414,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1417,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1418,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1419,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1420,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1430,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1431,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - pNodeList
    - pArrayRes
    argTypes:
    - SNodeList*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1442
    functionName: extractColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - taosArrayInit
    - nodeType
    - tstrerror
    - QUERY_CHECK_CODE
    - extractColumnFromColumnNode
    - qError
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    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: TAOS_STRCPY
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:85,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:86,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:93,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:94,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:101,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:105,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pBuf
    argTypes:
    - SDataDeleterHandle*
    - SInputData*
    - SDataDeleterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 109
    functionName: toDataCacheEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - QRY_ERR_RET
    - atomic_add_fetch_64
    - taosArrayGet
    - qDebug
    - taosArrayGetSize
    - qError
    - LIST_LENGTH
    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:113,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:114,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:115,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:121,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:123,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pDeleter
    - pInput
    - pBuf
    argTypes:
    - SDataDeleterHandle*
    - SInputData*
    - SDataDeleterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: allocBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - taosQueueItemSize
    - qError
    - taosMemoryMalloc
    - TAOS_SYSTEM_ERROR
    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:131,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:132,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pDeleter
    argTypes:
    - SDataDeleterHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: updateStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - taosQueueItemSize
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    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:143,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pDeleter
    argTypes:
    - SDataDeleterHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    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:154,1
    - Dst: allocBuf
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:159,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:161,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:165,1
    - Dst: toDataCacheEntry
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:165,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:166,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:166,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:167,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 176
    functionName: putDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 9
    functionsReached:
    - taosWriteQitem
    - allocBuf
    - taosAllocateQitem
    - taosFreeQitem
    - QRY_ERR_JRET
    - toDataCacheEntry
    - 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:180,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pHandle
    - useconds
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    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:188,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:195,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:197,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:198,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:206,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: 208
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 208
    functionName: getDataLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - taosFreeQitem
    - TAOS_MEMCPY
    - qDebug
    - taosReadQitem
    - 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:214,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:225,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:231,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:232,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:234,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:235,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:236,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - pHandle
    - pOutput
    argTypes:
    - SDataSinkHandle*
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 243
    functionName: getDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - atomic_sub_fetch_64
    - taosMemoryFreeClear
    - TAOS_MEMCPY
    - taosThreadMutexUnlock
    - updateStatus
    - qError
    - taosThreadMutexLock
    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:247,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:248,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:249,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:250,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:251,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:253,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:256,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:257,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:260,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:261,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:262,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SDataSinkHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 268
    functionName: destroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - atomic_sub_fetch_64
    - taosFreeQitem
    - taosMemoryFreeClear
    - taosReadQitem
    - taosThreadMutexDestroy
    - taosCloseQueue
    - taosQueueEmpty
    - nodesDestroyNode
    - taosMemoryFree
    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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - size
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 275
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - pFlags
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 283
    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:292,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:292,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:298,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:301,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:302,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:323,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:328,1
    - Dst: destroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:339,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:340,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:342,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:345,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 4
    argNames:
    - pManager
    - ppDataSink
    - pHandle
    - pParam
    argTypes:
    - SDataSinkManager*
    - SDataSinkNode**
    - DataSinkHandle*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 349
    functionName: createDataDeleter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosMemoryCalloc
    - tstrerror
    - taosThreadMutexInit
    - destroyDataSinker
    - taosOpenQueue
    - nodesDestroyNode
    - qError
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDataDeleter(SDataSinkManager* pManager, SDataSinkNode**
      ppDataSink, DataSinkHandle* pHandle,\n                          void* pParam)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:54,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:55,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:56,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:58,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: destroyProjectOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - cleanupAggSup
    - taosMemoryFreeClear
    - cleanupBasicInfo
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyProjectOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:68,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:69,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:70,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:71,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: destroyIndefinitOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - cleanupAggSup
    - taosMemoryFreeClear
    - cleanupExprSupp
    - cleanupBasicInfo
    linkageType: ''
    returnType: void
    signature: void destroyIndefinitOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::releaseStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    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:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    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:95,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:99,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:101,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:103,1
    - Dst: setFunctionResultOutput
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: resetProjectOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - initLimitInfo
    - setFunctionResultOutput
    - blockDataCleanup
    - resetBasicOperatorState
    - resetAggSup
    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:114,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:117,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:118,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:130,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:131,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:133,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:138,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:139,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:165,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:169,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:170,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:171,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:173,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:175,1
    - Dst: setFunctionResultOutput
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:176,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:177,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:179,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:181,1
    - Dst: setRowTsColumnOutputInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:183,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:184,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:186,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:188,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:190,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:191,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:194,1
    - Dst: destroyProjectOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:204,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:205,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 4
    argNames:
    - downstream
    - pProjPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SProjectPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 112
    functionDepth: 16
    functionLinenumber: 112
    functionLinenumberEnd: 208
    functionName: createProjectOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 1
    functionsReached:
    - setOperatorInfo
    - initResultSizeInfo
    - initBasicInfo
    - initAggSup
    - setOperatorStreamStateFn
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - initLimitInfo
    - createOneDataBlock
    - createDataBlockFromDescNode
    - setFunctionResultOutput
    - QRY_PARAM_CHECK
    - destroyProjectOperatorInfo
    - TSDB_CHECK_CODE
    - filterInitFromNode
    - destroyOperatorAndDownstreams
    - setRowTsColumnOutputInfo
    - setOperatorResetStateFn
    - appendDownstream
    - TSDB_CHECK_NULL
    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: 231
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 231
    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:237,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:253,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pBlock
    - pLimitInfo
    - pOperator
    argTypes:
    - SSDataBlock*
    - SLimitInfo*
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 264
    functionName: setInfoForNewGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - setOperatorCompleted
    - resetLimitInfoForNextGroup
    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:271,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:276,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:278,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: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:286,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:299,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:307,1
    - Dst: doGenerateSourceData
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:314,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:315,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:327,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:330,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:332,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:333,1
    - Dst: discardGroupDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:354,1
    - Dst: setInfoForNewGroup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:359,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:370,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:371,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:374,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:376,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:377,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:378,1
    - Dst: doIngroupLimitOffset
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:380,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:394,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:395,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:404,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:408,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:414,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:415,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:432,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:440,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:440,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:440,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:447,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:447,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:449,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 104
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 285
    functionDepth: 5
    functionLinenumber: 285
    functionLinenumberEnd: 452
    functionName: doProjectOperation
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - doGenerateSourceData
    - GET_STM_RTINFO
    - tstrerror
    - GET_TASKID
    - taosGetTimestampUs
    - discardGroupDataBlock
    - doIngroupLimitOffset
    - QUERY_CHECK_CODE
    - setInfoForNewGroup
    - blockDataCleanup
    - setOperatorCompleted
    - getStreamOpName
    - qError
    - doFilter
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - blockDataEnsureCapacity
    - setInputDataBlock
    - qDebug
    - printDataBlock
    - blockDataMerge
    - projectApplyFunctions
    - getNextBlockFromDownstream
    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:460,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:464,1
    - Dst: setFunctionResultOutput
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:468,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 476
    functionName: resetIndefinitOutputOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - resetAggSup
    - setFunctionResultOutput
    - resetBasicOperatorState
    - resetExprSupp
    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:480,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:486,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:487,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:504,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:505,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:507,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:513,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:514,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:522,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:523,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:524,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:525,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:529,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:530,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:532,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:534,1
    - Dst: setFunctionResultOutput
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:536,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:537,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:539,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:541,1
    - Dst: setRowTsColumnOutputInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:546,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:547,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:549,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:551,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:554,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:555,1
    - Dst: destroyIndefinitOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:564,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:565,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 4
    argNames:
    - downstream
    - pNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 478
    functionDepth: 16
    functionLinenumber: 478
    functionLinenumberEnd: 568
    functionName: createIndefinitOutputOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 1
    functionsReached:
    - destroyIndefinitOperatorInfo
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - initAggSup
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - createDataBlockFromDescNode
    - setFunctionResultOutput
    - QRY_PARAM_CHECK
    - TSDB_CHECK_CODE
    - initExprSupp
    - blockDataEnsureCapacity
    - filterInitFromNode
    - destroyOperatorAndDownstreams
    - setRowTsColumnOutputInfo
    - setOperatorResetStateFn
    - appendDownstream
    - TSDB_CHECK_NULL
    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:583,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:584,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:586,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:590,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:592,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:595,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:597,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:600,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:601,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - downstream
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SOperatorInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 605
    functionName: doHandleDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - GET_STM_RTINFO
    - T_LONG_JMP
    - projectApplyFunctions
    - blockDataEnsureCapacity
    - 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:608,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:617,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:625,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:636,1
    - Dst: doHandleDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:641,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:648,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:650,1
    - Dst: doHandleDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:665,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:672,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:673,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:679,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:687,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:694,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:696,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 699
    functionName: doApplyIndefinitFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - doHandleDataBlock
    - getNextBlockFromDownstream
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - setOperatorCompleted
    - T_LONG_JMP
    - GET_RES_INFO
    - QRY_PARAM_CHECK
    - qError
    - taosGetTimestampUs
    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:704,1
    - Dst: isRowEntryInitialized
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:705,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:705,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:706,1
    - Dst: fpSet::init
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:710,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - size
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 717
    functionName: initCtxOutputBuffer
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - isRowEntryInitialized
    - fmIsPseudoColumnFunc
    - fmIsScalarFunc
    - fpSet::init
    - 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:735,1
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:739,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:746,1
    - Dst: cleanupResultRowEntry
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:747,1
    - Dst: initCtxOutputBuffer
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:753,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: 754
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 754
    functionName: setFunctionResultOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 4
    functionsReached:
    - initResultRowInfo
    - getResultEntryInfo
    - doSetResultOutBufByKey
    - cleanupResultRowEntry
    - initCtxOutputBuffer
    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:757,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:758,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:764,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:764,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pCtx
    - numOfCols
    - pResList
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 774
    functionName: setRowTsColumnOutputInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - fmIsPlaceHolderFunc
    - fmIsPseudoColumnFunc
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t setRowTsColumnOutputInfo(SqlFunctionCtx* pCtx, int32_t numOfCols,
      SArray** pResList)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:782,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:785,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:794,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:801,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:803,1
    - Dst: taosVariantGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:803,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:813,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:814,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:819,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:824,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:832,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:832,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:834,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:840,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:843,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:848,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:849,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:859,1
    - Dst: doIngroupLimitOffset
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:865,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:869,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:871,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 776
    functionDepth: 5
    functionLinenumber: 776
    functionLinenumberEnd: 875
    functionName: doGenerateSourceData
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 1
    functionsReached:
    - blockDataEnsureCapacity
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - GET_STM_RTINFO
    - scalarCalculate
    - colDataAssign
    - taosArrayGet
    - taosVariantGet
    - fmIsScalarFunc
    - doFilter
    - doIngroupLimitOffset
    - setOperatorCompleted
    - colDataSetVal
    - colDataDestroy
    - qError
    - colDataSetNNULL
    - taosGetTimestampUs
    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:878,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:880,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pResult
    - pCtx
    - pPseudoList
    argTypes:
    - SSDataBlock*
    - SqlFunctionCtx*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 885
    functionName: setPseudoOutputColInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - 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:890,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:891,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:897,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:898,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:900,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:900,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:906,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:906,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:915,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:916,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:918,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:918,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:924,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:924,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:930,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:930,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: 934
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 934
    functionName: projectApplyColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - colDataAssign
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - qError
    - TSDB_CHECK_NULL
    - colDataMergeCol
    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:939,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:940,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:945,1
    - Dst: taosVariantGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:947,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:949,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:949,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:958,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:958,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: 962
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 962
    functionName: projectApplyValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - taosVariantGet
    - colDataSetVal
    - qError
    - colDataSetNNULL
    - TSDB_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t projectApplyValue(SExprInfo* pExpr, SSDataBlock* pResult, SSDataBlock*
      pSrcBlock, int32_t outputSlotId, int32_t* numOfRows, bool createNewColModel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:968,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:969,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:971,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:972,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:974,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:975,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:979,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:979,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:982,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:984,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:987,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:988,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:995,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:995,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    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: 1001
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 1001
    functionName: projectApplyOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - scalarCalculate
    - colDataAssign
    - taosArrayGet
    - tstrerror
    - colDataDestroy
    - qError
    - TSDB_CHECK_NULL
    - colDataMergeCol
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1009,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1010,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1012,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1013,1
    - Dst: scalarAssignPlaceHolderRes
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1013,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1019,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1019,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1020,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1021,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1023,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1024,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1028,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1028,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1031,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1034,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1039,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1040,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1041,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1048,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1049,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1050,1
    - Dst: SqlFunctionCtx*::fpSet::init
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1050,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1054,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1059,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1060,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1061,1
    - Dst: SqlFunctionCtx*::fpSet::process
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1071,1
    - Dst: SqlFunctionCtx*::fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1076,1
    - Dst: fmIsProcessByRowFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1081,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1083,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1084,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1087,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1088,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1094,1
    - Dst: fmIsSelectValueFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1096,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1104,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1105,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1108,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1110,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1112,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1113,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1113,1
    - Dst: fmIsGroupIdFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1122,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1124,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1124,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1134,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1134,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1137,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    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: 1140
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1140
    functionName: projectApplyFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - fmIsPlaceHolderFunc
    - fmIsGroupIdFunc
    - fmIsSelectValueFunc
    - TAOS_CHECK_EXIT
    - fmIsProcessByRowFunc
    - taosArrayGet
    - SqlFunctionCtx*::fpSet::cleanup
    - fmIsAggFunc
    - qError
    - colDataMergeCol
    - fmIsIndefiniteRowsFunc
    - SqlFunctionCtx*::fpSet::process
    - colDataAssign
    - fmIsScalarFunc
    - colDataSetNULL
    - colDataGetData
    - GET_RES_INFO
    - taosArrayGetSize
    - scalarCalculate
    - scalarAssignPlaceHolderRes
    - colDataIsNull_s
    - colDataSetVal
    - colDataDestroy
    - TSDB_CHECK_NULL
    - SqlFunctionCtx*::fpSet::init
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: setPseudoOutputColInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1149,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1159,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1160,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: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1169,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1169,1
    - Dst: taosVariantGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1169,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1180,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1182,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1189,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1189,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1199,1
    - Dst: projectApplyColumn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1203,1
    - Dst: projectApplyValue
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1207,1
    - Dst: projectApplyOperator
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1211,1
    - Dst: projectApplyFunction
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1211,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1216,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1221,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1222,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1225,1
    - Dst: fpSet::processFuncByRow
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1225,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1235,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1238,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1238,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    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: 1241
      start: 1143
    functionDepth: 3
    functionLinenumber: 1143
    functionLinenumberEnd: 1241
    functionName: projectApplyFunctionsWithSelect
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tstrerror
    - projectApplyFunction
    - colDataSetNNULL
    - projectApplyOperator
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - taosVariantGet
    - projectApplyValue
    - qError
    - tstrncpy
    - qTrace
    - setPseudoOutputColInfo
    - taosArrayGetSize
    - fpSet::processFuncByRow
    - blockDataEnsureCapacity
    - colDataSetVal
    - projectApplyColumn
    - TSDB_CHECK_NULL
    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:1245,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: 1246
      start: 1243
    functionDepth: 4
    functionLinenumber: 1243
    functionLinenumberEnd: 1246
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:87,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:88,1
    - Dst: tdListAppendNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:91,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:94,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:94,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:95,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:95,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:95,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:96,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:97,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:99,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:99,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:109,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:109,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:110,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: 114
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 114
    functionName: extWinBlockListAddBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - listNEles
    - createOneDataBlock
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - tstrerror
    - tdListAppend
    - TMAX
    - tdListAppendNode
    - qError
    - tdListPopHead
    - blockDataEnsureCapacity
    - TSDB_CHECK_NULL
    - blockDataDestroy
    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/externalwindowoperator.c:120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:122,1
    - Dst: extWinBlockListAddBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:122,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:128,1
    - Dst: extWinBlockListAddBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:128,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:139,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:139,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: 143
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 143
    functionName: extWinGetLastBlockFromList
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - TD_DLIST_TAIL
    - extWinBlockListAddBlock
    - qError
    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/externalwindowoperator.c:152,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:153,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:156,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: extWinDestroyBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - TD_DLIST_HEAD
    - TD_DLIST_NELES
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void extWinDestroyBlockList(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:176,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:177,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:178,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:179,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:184,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:185,1
    - Dst: tdListPrependNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pExtW
    - ppNode
    argTypes:
    - SExternalWindowOperator*
    - SListNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 189
    functionName: extWinRecycleBlkNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - listNEles
    - taosArrayDestroy
    - taosMemoryFreeClear
    - blockDataCleanup
    - taosArrayClear
    - tdListPrependNode
    - blockDataDestroy
    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:198,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:199,1
    - Dst: extWinRecycleBlkNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:203,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pExtW
    - p
    argTypes:
    - SExternalWindowOperator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: extWinRecycleBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_NELES
    - TD_DLIST_HEAD
    - extWinRecycleBlkNode
    - taosMemoryFree
    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:216,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:217,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pInfo
    - pNode
    argTypes:
    - SExternalWindowOperator*
    - SListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: extWinDestroyBlkNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void extWinDestroyBlkNode(SExternalWindowOperator* pInfo, SListNode*
      pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:230,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:232,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:233,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:234,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:235,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:237,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:238,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:239,1
    - Dst: extWinDestroyBlkNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:241,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:244,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:245,1
    - Dst: extWinDestroyBlkNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:246,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:248,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:251,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:252,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:253,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:255,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:257,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 262
    functionName: destroyExternalWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - cleanupAggSup
    - tdListFree
    - taosMemoryFreeClear
    - qDebug
    - taosArrayDestroyEx
    - TD_DLIST_HEAD
    - extWinDestroyBlkNode
    - TD_DLIST_POP
    - cleanupExprSupp
    - colDataDestroy
    - cleanupBasicInfo
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyExternalWindowOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyExternalWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:275,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:283,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:286,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:291,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:293,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:293,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pBlock
    - primaryTsIndex
    - pTaskInfo
    argTypes:
    - SSDataBlock*
    - int32_t
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 301
    functionName: extWinExtractTsCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosArrayGet
    - blockDataUpdateTsWindow
    - T_LONG_JMP
    - qError
    linkageType: ''
    returnType: int64_t
    signature: int64_t * extWinExtractTsCol(SSDataBlock* pBlock, int32_t primaryTsIndex,
      SExecTaskInfo* pTaskInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: extWinGetCurWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    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: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: extWinIncCurWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extWinIncCurWinIdx(SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: extWinSetCurWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    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: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: extWinIncCurWinOutIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extWinIncCurWinOutIdx(SStreamRuntimeInfo* pStreamRuntimeInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:324,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pExtW
    - pTaskInfo
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: extWinGetNextWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinGetCurWinIdx
    linkageType: ''
    returnType: STimeWindow
    signature: STimeWindow * extWinGetNextWin(SExternalWindowOperator* pExtW, SExecTaskInfo*
      pTaskInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:332,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:346,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:346,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:351,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:351,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: 355
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 355
    functionName: extWinAppendWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - taosArrayGetLast
    - qError
    - TSDB_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAppendWinIdx(SExecTaskInfo*       pTaskInfo, SArray*
      pIdx, SSDataBlock* pBlock, int32_t currWinIdx, int32_t rows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNewResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:361,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:363,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:363,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:370,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:372,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: 373
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 373
    functionName: mergeAlignExtWinSetOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - getNewResultRow
    - tstrerror
    - extWinGetCurWinIdx
    - setResultRowInitCtx
    - qError
    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:377,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:381,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:383,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:387,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pOperator
    - pExtW
    - ts
    - ppWin
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    - TSKEY
    - STimeWindow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: mergeAlignExtWinGetWinFromTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - taosArrayGet
    - extWinSetCurWinIdx
    - extWinGetCurWinIdx
    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:403,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:406,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:406,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:412,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pOperator
    - pResultRowInfo
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 416
    functionName: mergeAlignExtWinFinalizeResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - finalizeResultRows
    - qError
    - extWinAppendWinIdx
    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/externalwindowoperator.c:428,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:429,1
    - Dst: mergeAlignExtWinGetWinFromTs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:431,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:433,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:433,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:434,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:438,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:438,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:439,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:442,1
    - Dst: mergeAlignExtWinSetOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:442,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:450,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:452,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:455,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:455,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:458,1
    - Dst: mergeAlignExtWinGetWinFromTs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:458,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:460,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:463,1
    - Dst: mergeAlignExtWinSetOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:463,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:468,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:474,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:474,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:475,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - pOperator
    - pResultRowInfo
    - pBlock
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 479
    functionName: mergeAlignExtWinAggDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - mergeAlignExtWinFinalizeResult
    - tstrerror
    - TAOS_CHECK_EXIT
    - extWinExtractTsCol
    - mergeAlignExtWinGetWinFromTs
    - qDebug
    - T_LONG_JMP
    - applyAggFunctionOnPartialTuples
    - getStartTsKey
    - mergeAlignExtWinSetOutputBuf
    - qError
    - resetResultRow
    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:483,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:493,1
    - Dst: mergeAlignExtWinGetWinFromTs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:493,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:494,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:494,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:494,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:502,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pOperator
    - pInput
    - pResult
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 506
    functionName: mergeAlignExtWinBuildWinRowIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - extWinGetCurWinIdx
    - TAOS_CHECK_EXIT
    - extWinExtractTsCol
    - mergeAlignExtWinGetWinFromTs
    - qError
    - extWinAppendWinIdx
    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:514,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:514,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:515,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:517,1
    - Dst: mergeAlignExtWinBuildWinRowIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:517,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pOperator
    - pResultRowInfo
    - pBlock
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 508
    functionDepth: 5
    functionLinenumber: 508
    functionLinenumberEnd: 526
    functionName: mergeAlignExtWinProjectDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - GET_STM_RTINFO
    - TAOS_CHECK_EXIT
    - projectApplyFunctions
    - mergeAlignExtWinBuildWinRowIdx
    - qError
    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/externalwindowoperator.c:538,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:539,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:542,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:547,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:547,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:549,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:554,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:555,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:557,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:558,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:561,1
    - Dst: mergeAlignExtWinProjectDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:561,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:563,1
    - Dst: mergeAlignExtWinAggDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:563,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:576,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:576,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:578,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 528
    functionDepth: 6
    functionLinenumber: 528
    functionLinenumberEnd: 580
    functionName: mergeAlignExtWinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - mergeAlignExtWinFinalizeResult
    - tstrerror
    - TAOS_CHECK_EXIT
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - setOperatorCompleted
    - printDataBlock
    - qDebug
    - mergeAlignExtWinProjectDo
    - T_LONG_JMP
    - taosArrayClear
    - mergeAlignExtWinAggDo
    - qError
    - getNextBlockFromDownstream
    - setInputDataBlock
    linkageType: ''
    returnType: void
    signature: void mergeAlignExtWinDo(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:595,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:597,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:598,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:599,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:600,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:603,1
    - Dst: mergeAlignExtWinDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:611,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:620,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:620,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 582
    functionDepth: 7
    functionLinenumber: 582
    functionLinenumberEnd: 625
    functionName: mergeAlignExtWinNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosArrayGet
    - blockDataCleanup
    - T_LONG_JMP
    - mergeAlignExtWinDo
    - taosArrayReserve
    - taosArrayGetSize
    - qError
    - TSDB_CHECK_NULL
    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/externalwindowoperator.c:634,1
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:636,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:640,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:644,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 648
    functionName: resetMergeAlignedExtWinOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - resetBasicOperatorState
    - resetAggSup
    - taosArrayClear
    - initExecTimeWindowInfo
    - colDataDestroy
    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:655,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:656,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:667,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:684,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:688,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:689,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:692,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:694,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:697,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:698,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:699,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:701,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:702,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:704,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:705,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:707,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:708,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:709,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:710,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:711,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:714,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:716,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:717,1
    - Dst: destroyMergeAlignedExternalWindowOperator
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:722,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:723,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 4
    argNames:
    - pDownstream
    - pNode
    - pTaskInfo
    - ppOptrOut
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 650
    functionDepth: 6
    functionLinenumber: 650
    functionLinenumberEnd: 726
    functionName: createMergeAlignedExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - taosArrayInit
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - createDataBlockFromDescNode
    - destroyMergeAlignedExternalWindowOperator
    - initResultRowInfo
    - initResultSizeInfo
    - appendDownstream
    - initBasicInfo
    - destroyOperatorAndDownstreams
    - createExprInfo
    - setOperatorResetStateFn
    - createOperatorFpSet
    - initAggSup
    - blockDataEnsureCapacity
    - TSDB_CHECK_NULL
    - QUERY_CHECK_NULL
    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:732,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:741,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:742,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:743,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:744,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:748,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pPhynode
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SExternalWindowPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 752
    functionName: resetExternalWindowExprSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - createExprInfo
    - initExprSupp
    - cleanupExprSuppWithoutFilter
    - qError
    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:762,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:766,1
    - Dst: extWinRecycleBlkNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:767,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:777,1
    - Dst: resetExternalWindowExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:777,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:778,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:779,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:779,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:784,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:791,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 795
    functionName: resetExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - resetExternalWindowExprSupp
    - initResultRowInfo
    - qDebug
    - taosArrayClear
    - initExecTimeWindowInfo
    - colDataDestroy
    - extWinRecycleBlkNode
    - qError
    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:798,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:800,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - res
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 806
    functionName: extWinHasCountLikeFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - fmIsCountLikeFunc
    - nodeType
    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:823,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:842,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:844,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:845,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:848,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:849,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:858,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:859,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:861,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:862,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:863,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:864,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:870,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:871,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:871,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - pOperator
    - ppBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 874
    functionName: extWinCreateEmptyInputBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - blockDataEnsureCapacity
    - tstrerror
    - taosArrayEnsureCap
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - blockDataGetNumOfCols
    - blockDataDestroy
    - taosArrayGetSize
    - qError
    - createDataBlock
    - QUERY_CHECK_NULL
    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: 889
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 889
    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:893,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:903,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: 916
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 916
    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, SExternalWindowOperator*
      pExtW, int64_t* tsCol, int64_t rowNum, int32_t* startPos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:921,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:922,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:928,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:934,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:935,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:940,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:942,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:943,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:950,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:950,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:954,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:961,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:964,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:966,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:967,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:980,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:981,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 6
    argNames:
    - pOperator
    - tsCol
    - startPos
    - pInfo
    - ppWin
    - winRows
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - int32_t*
    - SDataBlockInfo*
    - SExtWinTimeWindow**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 985
    functionName: extWinGetNoOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - getNumOfRowsInTimeWindow
    - extWinGetCurWinIdx
    - taosArrayGet
    - qDebug
    - GET_TASKID
    - extWinSetCurWinIdx
    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:996,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:997,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1002,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1004,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1005,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1012,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1012,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1016,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1024,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1027,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1029,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1030,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1052,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1053,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: 1057
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1057
    functionName: extWinGetOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - getNumOfRowsInTimeWindow
    - taosArrayGet
    - qDebug
    - GET_TASKID
    - extWinSetCurWinIdx
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetOvlpWin(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:1063,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1064,1
    - Dst: extWinGetMultiTbWinFromTs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1070,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1072,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1073,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1078,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1079,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1080,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1082,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1083,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1091,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1092,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1097,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1099,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1100,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1107,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1107,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1111,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1118,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1121,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1123,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1124,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1137,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 6
    argNames:
    - pOperator
    - tsCol
    - startPos
    - pInfo
    - ppWin
    - winRows
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - int32_t*
    - SDataBlockInfo*
    - SExtWinTimeWindow**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1142
    functionName: extWinGetMultiTbNoOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - getNumOfRowsInTimeWindow
    - extWinGetMultiTbWinFromTs
    - taosArrayGet
    - qDebug
    - GET_TASKID
    - extWinSetCurWinIdx
    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:1147,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1150,1
    - Dst: extWinTsWinCompare
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1151,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1165,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: 1178
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1178
    functionName: extWinGetFirstWinFromTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - TARRAY_GET_ELEM
    - taosArraySearchIdx
    - extWinTsWinCompare
    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/externalwindowoperator.c:1183,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1185,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1186,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1191,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1192,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1193,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1195,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1196,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1204,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1205,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1210,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1212,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1213,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1220,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1220,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1224,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1232,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1235,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1237,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1238,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1251,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1252,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: 1256
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1256
    functionName: extWinGetMultiTbOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - getNumOfRowsInTimeWindow
    - extWinGetFirstWinFromTs
    - taosArrayGet
    - qDebug
    - GET_TASKID
    - extWinSetCurWinIdx
    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: 1278
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1278
    functionName: extWinGetWinStartPos
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.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/externalwindowoperator.c:1287,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1290,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1294,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1294,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1302,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1306,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1308,1
    - Dst: TAOS_SET_POBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1309,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1314,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1314,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1319,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1319,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: 1323
      start: 1280
    functionDepth: 3
    functionLinenumber: 1280
    functionLinenumberEnd: 1323
    functionName: extWinAggSetWinOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGetSize
    - tstrerror
    - extWinGetCurWinIdx
    - TAOS_CHECK_EXIT
    - memset
    - qDebug
    - doSetResultOutBufByKey
    - setResultRowInitCtx
    - TAOS_SET_POBJ_ALIGNED
    - qError
    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:1330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pOperator
    - startPos
    - forwardRows
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - int32_t
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1333
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1344,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1345,1
    - Dst: listTail
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1349,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1351,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - pExtW
    argTypes:
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1357
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1365,1
    - Dst: extWinLastWinClosed
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1367,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1369,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1372,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1373,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1374,1
    - Dst: extWinRecycleBlockList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1375,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1380,1
    - Dst: extWinGetLastBlockFromList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1380,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1385,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1385,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: 1389
      start: 1359
    functionDepth: 3
    functionLinenumber: 1359
    functionLinenumberEnd: 1389
    functionName: extWinGetWinResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinGetLastBlockFromList
    - tdListNew
    - extWinLastWinClosed
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - taosArrayGetP
    - extWinRecycleBlockList
    - qError
    - TSDB_CHECK_NULL
    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:1398,1
    - Dst: extWinGetWinResBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1398,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1400,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1404,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1404,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1406,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1409,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1409,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1409,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1411,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1412,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1412,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1414,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1415,1
    - Dst: projectApplyFunctionsWithSelect
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1415,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1418,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1418,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1418,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1423,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1423,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1425,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: 1429
      start: 1391
    functionDepth: 4
    functionLinenumber: 1391
    functionLinenumberEnd: 1429
    functionName: extWinProjectDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - createOneDataBlock
    - blockDataMergeNRows
    - TAOS_CHECK_EXIT
    - GET_STM_RTINFO
    - extWinGetCurWinIdx
    - extWinGetWinResBlock
    - projectApplyFunctionsWithSelect
    - qDebug
    - blockDataCleanup
    - tstrerror
    - TMAX
    - qError
    - blockDataEnsureCapacity
    - extWinAppendWinIdx
    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:1433,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1440,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1445,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1446,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1448,1
    - Dst: extWinProjectDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1448,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1456,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pOperator
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1431
    functionDepth: 5
    functionLinenumber: 1431
    functionLinenumberEnd: 1460
    functionName: extWinProjectOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - extWinProjectDo
    - extWinExtractTsCol
    - qDebug
    - GET_TASKID
    - qError
    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:1473,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1473,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1474,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1477,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1477,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1479,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1481,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1481,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1482,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1487,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - pRes
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1462
    functionDepth: 5
    functionLinenumber: 1462
    functionLinenumberEnd: 1491
    functionName: extWinIndefRowsDoImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - GET_STM_RTINFO
    - TAOS_CHECK_EXIT
    - projectApplyFunctions
    - qError
    - blockDataEnsureCapacity
    - 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/externalwindowoperator.c:1500,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1503,1
    - Dst: TAOS_SET_POBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1510,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1513,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1513,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1518,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: 1522
      start: 1493
    functionDepth: 2
    functionLinenumber: 1493
    functionLinenumberEnd: 1522
    functionName: extWinIndefRowsSetWinOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - memset
    - qDebug
    - setResultRowInitCtx
    - TAOS_SET_POBJ_ALIGNED
    - qError
    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/externalwindowoperator.c:1530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1531,1
    - Dst: extWinIndefRowsSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1531,1
    - Dst: extWinLastWinClosed
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1533,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1535,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1538,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1539,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1540,1
    - Dst: extWinRecycleBlockList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1541,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1544,1
    - Dst: extWinIndefRowsSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1544,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1547,1
    - Dst: extWinGetLastBlockFromList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1547,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1552,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1552,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: 1556
      start: 1524
    functionDepth: 3
    functionLinenumber: 1524
    functionLinenumberEnd: 1556
    functionName: extWinGetSetWinResBlockBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - TSDB_CHECK_NULL
    - extWinGetLastBlockFromList
    - tdListNew
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - taosArrayGetP
    - extWinRecycleBlockList
    - qError
    - extWinLastWinClosed
    - extWinIndefRowsSetWinOutputBuf
    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:1565,1
    - Dst: extWinGetSetWinResBlockBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1568,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1568,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1570,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1573,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1573,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1575,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1576,1
    - Dst: extWinIndefRowsDoImpl
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1576,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1578,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1578,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1578,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1583,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - pOperator
    - pInputBlock
    - startPos
    - rows
    - pWin
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    - SExtWinTimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1559
    functionDepth: 6
    functionLinenumber: 1559
    functionLinenumberEnd: 1587
    functionName: extWinIndefRowsDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - createOneDataBlock
    - blockDataMergeNRows
    - TAOS_CHECK_EXIT
    - extWinGetCurWinIdx
    - extWinGetSetWinResBlockBuf
    - tstrerror
    - blockDataCleanup
    - extWinIndefRowsDoImpl
    - TMAX
    - qError
    - blockDataEnsureCapacity
    - extWinAppendWinIdx
    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:1592,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1599,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1604,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1607,1
    - Dst: extWinIndefRowsDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1607,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1615,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pOperator
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1590
    functionDepth: 7
    functionLinenumber: 1590
    functionLinenumberEnd: 1619
    functionName: extWinIndefRowsOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - extWinExtractTsCol
    - extWinIndefRowsDo
    - qDebug
    - GET_TASKID
    - qError
    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/externalwindowoperator.c:1628,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1629,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1630,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1634,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1639,1
    - Dst: extWinIncCurWinOutIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1641,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1648,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1648,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1653,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1653,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1661,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1665
    functionName: extWinNonAggOutputRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - listNEles
    - tstrerror
    - qDebug
    - taosArrayGetP
    - GET_TASKID
    - qError
    - tdListPopHead
    - extWinIncCurWinOutIdx
    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:1671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1683,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1683,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1687,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1689,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1690,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1691,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1693,1
    - Dst: extWinAggSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1693,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1695,1
    - Dst: extWinAggDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1696,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1698,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1705,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1705,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1708,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1708,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - allRemains
    - pWin
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - bool
    - SExtWinTimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1667
    functionDepth: 4
    functionLinenumber: 1667
    functionLinenumberEnd: 1717
    functionName: extWinAggHandleEmptyWins
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - extWinGetCurWinIdx
    - taosArrayGet
    - qDebug
    - updateTimeWindowInfo
    - GET_TASKID
    - extWinSetCurWinIdx
    - extWinAggSetWinOutputBuf
    - extWinAggDo
    - qError
    - 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:1722,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1729,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1734,1
    - Dst: extWinAggHandleEmptyWins
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1734,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1736,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1737,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1742,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1742,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1743,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1750,1
    - Dst: extWinAggSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1750,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1754,1
    - Dst: extWinAggDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1754,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1757,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1764,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1764,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - pOperator
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1719
    functionDepth: 5
    functionLinenumber: 1719
    functionLinenumberEnd: 1768
    functionName: extWinAggOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - extWinExtractTsCol
    - GET_STM_RTINFO
    - extWinGetCurWinIdx
    - qDebug
    - updateTimeWindowInfo
    - extWinAggHandleEmptyWins
    - GET_TASKID
    - extWinAggSetWinOutputBuf
    - extWinAggDo
    - projectApplyFunctions
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOpen(SOperatorInfo* pOperator, SSDataBlock* pInputBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1783,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1784,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1787,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1803,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1803,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1804,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1805,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1808,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1808,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1812,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1812,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1819,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1819,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1830,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1830,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1770
    functionDepth: 2
    functionLinenumber: 1770
    functionLinenumberEnd: 1834
    functionName: extWinAggOutputRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - blockDataCleanup
    - qDebug
    - GET_TASKID
    - taosArrayClear
    - copyResultrowToDataBlock
    - doUpdateNumOfRows
    - qError
    - blockDataEnsureCapacity
    - extWinAppendWinIdx
    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/externalwindowoperator.c:1845,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1850,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1851,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1858,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pTaskInfo
    - pExtW
    - winNum
    argTypes:
    - SExecTaskInfo*
    - SExternalWindowOperator*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1836
    functionDepth: 1
    functionLinenumber: 1836
    functionLinenumberEnd: 1862
    functionName: extWinInitResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    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/externalwindowoperator.c:1866,1
    - Dst: blockDataFreeCols
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pExtW
    argTypes:
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1864
    functionDepth: 1
    functionLinenumber: 1864
    functionLinenumberEnd: 1872
    functionName: extWinFreeResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - blockDataFreeCols
    linkageType: ''
    returnType: void
    signature: void extWinFreeResultRow(SExternalWindowOperator* pExtW)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1875,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1881,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1882,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1883,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1885,1
    - Dst: extWinInitResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1885,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1888,1
    - Dst: scalarCalculateExtWinsTimeRange
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1888,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1891,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1897,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1903,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1915,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1915,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - pExtW
    - pTaskInfo
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1874
    functionDepth: 3
    functionLinenumber: 1874
    functionLinenumberEnd: 1919
    functionName: extWinInitWindowList
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - scalarCalculateExtWinsTimeRange
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - qDebug
    - taosArrayReserve
    - taosArrayGetSize
    - extWinInitResultRow
    - qError
    - TSDB_CHECK_NULL
    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/externalwindowoperator.c:1930,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1931,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1934,1
    - Dst: listHead
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1938,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1940,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - pExtW
    argTypes:
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1921
    functionDepth: 1
    functionLinenumber: 1921
    functionLinenumberEnd: 1946
    functionName: extWinNonAggGotResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - listNEles
    - taosArrayGetP
    - taosArrayGetLast
    - listHead
    linkageType: ''
    returnType: bool
    signature: bool extWinNonAggGotResBlock(SExternalWindowOperator* pExtW)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1949,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1960,1
    - Dst: extWinInitWindowList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1960,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1967,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1970,1
    - Dst: extWinAggHandleEmptyWins
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1970,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1976,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1978,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1982,1
    - Dst: extWinProjectOpen
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1982,1
    - Dst: extWinNonAggGotResBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1983,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1988,1
    - Dst: extWinAggOpen
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1988,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1991,1
    - Dst: extWinIndefRowsOpen
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1991,1
    - Dst: extWinNonAggGotResBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1992,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2001,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2005,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2005,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2007,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2008,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2010,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2010,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2017,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2017,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2019,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1948
    functionDepth: 8
    functionLinenumber: 1948
    functionLinenumberEnd: 2023
    functionName: extWinOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinAggOpen
    - extWinProjectOpen
    - extWinIndefRowsOpen
    - TAOS_CHECK_EXIT
    - tSimpleHashGetSize
    - initGroupedResultInfo
    - QUERY_CHECK_CODE
    - tstrerror
    - printDataBlock
    - qDebug
    - extWinAggHandleEmptyWins
    - extWinInitWindowList
    - T_LONG_JMP
    - OPTR_IS_OPENED
    - OPTR_SET_OPENED
    - qError
    - extWinNonAggGotResBlock
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinOpen(SOperatorInfo* pOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: extWinRecycleBlkNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2036,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2038,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2038,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2041,1
    - Dst: extWinNonAggOutputRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2041,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2043,1
    - Dst: extWinFreeResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2044,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2048,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2049,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2051,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2056,1
    - Dst: extWinAggOutputRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2056,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2057,1
    - Dst: extWinFreeResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2058,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2069,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2069,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2069,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2071,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2075,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2075,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2075,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2025
    functionDepth: 4
    functionLinenumber: 2025
    functionLinenumberEnd: 2079
    functionName: extWinNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinNonAggOutputRes
    - extWinFreeResultRow
    - tstrerror
    - TAOS_CHECK_EXIT
    - setOperatorCompleted
    - extWinAggOutputRes
    - T_LONG_JMP
    - printDataBlock
    - GET_TASKID
    - getStreamOpName
    - extWinRecycleBlkNode
    - qError
    - hasRemainResults
    - doBuildResultDatablock
    - SOperatorInfo*::fpSet::_openFn
    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/externalwindowoperator.c:2085,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2088,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2089,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2097,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2100,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2101,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2102,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2120,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2122,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2123,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2126,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2127,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2129,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2130,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2135,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2136,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2138,1
    - Dst: checkIndefRowsFuncs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2142,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2146,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2150,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2151,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2155,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2156,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2157,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2158,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2160,1
    - Dst: extWinCreateEmptyInputBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2162,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2163,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2164,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2166,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2169,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2170,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2179,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2180,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2182,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2190,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2191,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2193,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2195,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2201,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2203,1
    - Dst: setRowTsColumnOutputInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2207,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2208,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2211,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2212,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2214,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2215,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2218,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2219,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2225,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2226,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2238,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2240,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2241,1
    - Dst: destroyExternalWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2252,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2255,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2257,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2257,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 120
    argCount: 4
    argNames:
    - pDownstream
    - pNode
    - pTaskInfo
    - pOptrOut
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2082
    functionDepth: 16
    functionLinenumber: 2082
    functionLinenumberEnd: 2259
    functionName: createExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - tstrerror
    - nodesWalkExprs
    - taosArrayInit_s
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - qError
    - tdListNew
    - checkIndefRowsFuncs
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - extWinCreateEmptyInputBlock
    - initExprSupp
    - TSDB_CHECK_CODE
    - filterInitFromNode
    - qDebug
    - destroyExternalWindowOperatorInfo
    - appendDownstream
    - initExecTimeWindowInfo
    - setRowTsColumnOutputInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - initAggSup
    - TSDB_CHECK_NULL
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createExternalWindowOperator(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: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:96,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:97,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:98,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:101,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:104,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:105,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:107,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:109,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:112,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:113,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:116,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:117,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:119,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:120,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:121,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:132,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:134,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:136,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:146,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:155,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:155,1
    - Dst: destroyAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:157,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 4
    argNames:
    - downstream
    - pAggNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SAggPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 76
    functionDepth: 16
    functionLinenumber: 76
    functionLinenumberEnd: 162
    functionName: createAggregateOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - GET_STM_RTINFO
    - setOperatorInfo
    - initResultSizeInfo
    - initBasicInfo
    - initAggSup
    - createExprInfo
    - createOperatorFpSet
    - qError
    - taosMemoryCalloc
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - TSDB_CHECK_CODE
    - initExprSupp
    - filterInitFromNode
    - destroyAggOperatorInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - QUERY_CHECK_NULL
    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:169,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:172,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:176,1
    - Dst: cleanupExprSuppWithoutFilter
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:177,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:178,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: destroyAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - cleanupAggSup
    - cleanupResultInfo
    - taosMemoryFreeClear
    - cleanupExprSuppWithoutFilter
    - cleanupGroupResInfo
    - cleanupBasicInfo
    linkageType: ''
    returnType: void
    signature: void destroyAggOperatorInfo(void* param)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:196,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:204,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:211,1
    - Dst: setExecutionContext
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:212,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:213,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:214,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:215,1
    - Dst: doAggregateImpl
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:217,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:218,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:222,1
    - Dst: createDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:225,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:226,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:239,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:244,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:244,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:246,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:247,1
    - Dst: setExecutionContext
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:256,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:258,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:259,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:261,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:263,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:264,1
    - Dst: doAggregateImpl
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:267,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:269,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:270,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:273,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:278,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:281,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:282,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:287,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:289,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 189
    functionDepth: 5
    functionLinenumber: 189
    functionLinenumberEnd: 292
    functionName: nextGroupedResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - destroyDataBlockForEmptyInput
    - getNextBlockFromDownstream
    - GET_STM_RTINFO
    - tstrerror
    - QUERY_CHECK_CODE
    - setExecutionContext
    - printDataBlock
    - T_LONG_JMP
    - tSimpleHashClear
    - doAggregateImpl
    - createDataBlockForEmptyInput
    - projectApplyFunctions
    - qError
    - initGroupedResultInfo
    - taosGetTimestampUs
    - setInputDataBlock
    linkageType: ''
    returnType: bool
    signature: bool nextGroupedResult(SOperatorInfo* pOperator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nextGroupedResult
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:308,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:309,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:310,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:313,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:314,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:315,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:317,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:318,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:328,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:333,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:333,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:335,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:338,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 294
    functionDepth: 6
    functionLinenumber: 294
    functionLinenumberEnd: 342
    functionName: getAggregateResultNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - blockDataGetNumOfRows
    - T_LONG_JMP
    - printDataBlock
    - qError
    - nextGroupedResult
    - hasRemainResults
    - blockDataEnsureCapacity
    - doBuildResultDatablock
    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:347,1
    - Dst: functionNeedToExecute
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:351,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:359,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:359,1
    - Dst: fpSet::process
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:361,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:366,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:368,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:368,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:368,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pOperator
    - pCtx
    argTypes:
    - SOperatorInfo*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 375
    functionName: doAggregateImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - fpSet::cleanup
    - tstrerror
    - functionNeedToExecute
    - GET_TASKID
    - fpSet::process
    - qError
    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:404,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:423,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:425,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:426,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:429,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:430,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:439,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:440,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:443,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:444,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:445,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:451,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:452,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:452,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 455
    functionName: createDataBlockForEmptyInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - blockDataEnsureCapacity
    - tstrerror
    - taosArrayEnsureCap
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - blockDataGetNumOfCols
    - blockDataDestroy
    - taosArrayGetSize
    - qError
    - createDataBlock
    - QUERY_CHECK_NULL
    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:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - blockAllocated
    - ppBlock
    argTypes:
    - bool
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 464
    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: doSetTableGroupOutputBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pOperator
    - numOfOutput
    - groupId
    argTypes:
    - SOperatorInfo*
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 478
    functionName: setExecutionContext
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - doSetTableGroupOutputBuf
    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:492,1
    - Dst: addNewResultRowBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:504,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:505,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:508,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:509,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:513,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pOperator
    - numOfOutput
    - groupId
    argTypes:
    - SOperatorInfo*
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 516
    functionName: doSetTableGroupOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - addNewResultRowBuf
    - doSetResultOutBufByKey
    - setResultRowInitCtx
    - qError
    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:528,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:530,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:531,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:533,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:533,1
    - Dst: getLastPageInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:538,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:539,1
    - Dst: getPageId
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:539,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:541,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:541,1
    - Dst: getPageId
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:545,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:547,1
    - Dst: releaseBufPageInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:549,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:551,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:553,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - pWindowRes
    - pResultBuf
    - size
    argTypes:
    - SResultRow*
    - SDiskbasedBuf*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 573
    functionName: addNewResultRowBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 2
    functionsReached:
    - getPageId
    - tstrerror
    - getDataBufPagesIdList
    - releaseBufPageInfo
    - getBufPageSize
    - getBufPage
    - getNewBufPage
    - taosArrayGetSize
    - getLastPageInfo
    - qError
    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:581,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:582,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:583,1
    - Dst: getBufferPgSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:591,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:593,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:597,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:599,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:599,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:603,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:605,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:605,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: 610
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 610
    functionName: doInitAggInfoSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - createDiskbasedBuf
    - getResultRowSize
    - osTempSpaceAvailable
    - getBufferPgSize
    - qError
    - tSimpleHashInit
    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:618,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:629,1
    - Dst: SStorageAPI*::stateStore::streamStateGetByPos
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:633,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:635,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:635,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:635,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:640,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:642,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - pTaskInfo
    - pState
    - pSup
    - pGroupResInfo
    argTypes:
    - SExecTaskInfo*
    - void*
    - SExprSupp*
    - SGroupResInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 646
    functionName: cleanupResultInfoInStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - fpSet::cleanup
    - SStorageAPI*::stateStore::streamStateGetByPos
    - tstrerror
    - taosArrayGet
    - getResultEntryInfo
    - GET_TASKID
    - getNumOfTotalRes
    - qError
    linkageType: ''
    returnType: void
    signature: void cleanupResultInfoInStream(SExecTaskInfo* pTaskInfo, void* pState,
      SExprSupp* pSup, SGroupResInfo* pGroupResInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:653,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:665,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:666,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:668,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:668,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:675,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:677,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:680,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - pTaskInfo
    - pSup
    - pBuf
    - pGroupResInfo
    argTypes:
    - SExecTaskInfo*
    - SExprSupp*
    - SDiskbasedBuf*
    - SGroupResInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 682
    functionName: cleanupResultInfoInGroupResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - fpSet::cleanup
    - tstrerror
    - releaseBufPage
    - getResultEntryInfo
    - taosArrayGetP
    - GET_TASKID
    - getBufPage
    - getNumOfTotalRes
    - qError
    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:700,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:703,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:705,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:705,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:705,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:712,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:714,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:718,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: 720
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 720
    functionName: cleanupResultInfoInHashMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - fpSet::cleanup
    - tSimpleHashIterate
    - tstrerror
    - releaseBufPage
    - getResultEntryInfo
    - GET_TASKID
    - getBufPage
    - qError
    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:725,1
    - Dst: cleanupResultInfoInHashMap
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:727,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: 729
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 729
    functionName: cleanupResultInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 3
    functionsReached:
    - cleanupResultInfoInHashMap
    - cleanupResultInfoInGroupResInfo
    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:731,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:732,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:733,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pAggSup
    argTypes:
    - SAggSupporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 735
    functionName: cleanupAggSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 7
    functionsReached:
    - taosMemoryFreeClear
    - tSimpleHashCleanup
    - destroyDiskbasedBuf
    - memset
    linkageType: ''
    returnType: void
    signature: void cleanupAggSup(SAggSupporter* pAggSup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:739,1
    - Dst: doInitAggInfoSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    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: 761
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 761
    functionName: initAggSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 8
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: functionCtxSave
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:769,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:780,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:781,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:782,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:784,1
    - Dst: fmSetStreamPseudoFuncParamVal
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:784,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:786,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:790,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:791,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:792,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:792,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:794,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:794,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:799,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:810,1
    - Dst: sfp::process
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:810,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:811,1
    - Dst: functionNeedToExecute
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:814,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:817,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:817,1
    - Dst: fpSet::process
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:819,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:824,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:826,1
    - Dst: functionCtxRestore
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:831,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:838,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:838,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    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: 843
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 843
    functionName: applyAggFunctionOnPartialTuples
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 4
    functionsReached:
    - tstrerror
    - fmIsPlaceHolderFunc
    - functionNeedToExecute
    - GET_TASKID
    - fmSetStreamPseudoFuncParamVal
    - functionCtxRestore
    - functionCtxSave
    - GET_ROWCELL_INTERBUF
    - nodesListGetNode
    - TAOS_CHECK_EXIT
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - fpSet::process
    - qError
    - GET_RES_INFO
    - nodesGetValueFromNode
    - fpSet::cleanup
    - memcpy
    - colDataIsNull_s
    - sfp::process
    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: 849
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 849
    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: 855
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 855
    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:864,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:866,1
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:867,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:871,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 857
    functionDepth: 3
    functionLinenumber: 857
    functionLinenumberEnd: 883
    functionName: resetAggregateOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - resetExprSupp
    - cleanupResultInfo
    - resetBasicOperatorState
    - resetAggSup
    - cleanupGroupResInfo
    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
    - tSimpleHashGet
    - hJoinCopyKeyColsDataToBuf
    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
    - doFilter
    - hJoinCopyMergeMidBlk
    - hJoinCopyNMatchRowsToBlock
    - hJoinBlkReachThreshold
    - HJ_ERR_RET
    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
    - hJoinCopyKeyColsDataToBuf
    - doFilter
    - hJoinCopyMergeMidBlk
    - hJoinCopyNMatchRowsToBlock
    - tSimpleHashGet
    - hJoinBlkReachThreshold
    - HJ_ERR_RET
    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
    - hJoinCopyKeyColsDataToBuf
    - hJoinCopyNMatchRowsToBlock
    - tSimpleHashGet
    - hJoinBlkReachThreshold
    - HJ_ERR_RET
    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:
    - hLeftJoinHandleRowRemains
    - hLeftJoinHandleProbeRows
    - hLeftJoinHandleSeqProbeRows
    - hJoinCopyNMatchRowsToBlock
    - HJ_ERR_RET
    - 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:79,1
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:83,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:85,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:86,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:87,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:89,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:90,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:91,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:94,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:95,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:96,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:108,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:110,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:113,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:113,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:117,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:117,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:121,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:122,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:124,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:127,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:127,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: 71
    functionDepth: 16
    functionLinenumber: 71
    functionLinenumberEnd: 136
    functionName: resetAnomalyWindowOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - resetBasicOperatorState
    - GET_TASKID
    - cleanupExprSupp
    - taosArrayClear
    - TAOS_CHECK_EXIT
    - initResultSizeInfo
    - createExprInfo
    - taosMemoryCalloc
    - qError
    - blockDataDestroy
    - taosMemoryFreeClear
    - memset
    - taosArrayGetSize
    - initExprSupp
    - filterInitFromNode
    - cleanupAggSup
    - taosArrayGetP
    - initExecTimeWindowInfo
    - colDataDestroy
    - initAggSup
    - TSDB_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetAnomalyWindowOperState(SOperatorInfo* pOper)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:141,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:147,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:149,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:150,1
    - Dst: initOptions
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:161,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:162,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: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:197,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:201,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:202,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:205,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:206,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:208,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:209,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:211,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:212,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:214,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:215,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:217,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:219,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:222,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:224,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:226,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:229,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:231,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:232,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:236,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:242,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:243,1
    - Dst: anomalyDestroyOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:246,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 61
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 139
    functionDepth: 16
    functionLinenumber: 139
    functionLinenumberEnd: 252
    functionName: createAnomalywindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - tstrerror
    - anomalyDestroyOperatorInfo
    - GET_TASKID
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - createExprInfo
    - createOperatorFpSet
    - initOptions
    - taosMemoryCalloc
    - qError
    - extractColumnFromColumnNode
    - tstrncpy
    - setResSlot
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - initExprSupp
    - blockDataEnsureCapacity
    - filterInitFromNode
    - initResultRowInfo
    - qDebug
    - appendDownstream
    - initExecTimeWindowInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - initAggSup
    - QUERY_CHECK_NULL
    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:256,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:258,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:258,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:259,1
    - Dst: taosAnalysisParseAlgo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:263,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:264,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:266,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:266,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:267,1
    - Dst: taosAnalysisParseTimout
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:271,1
    - Dst: taosAnalysisParseWncheck
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:272,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pInfo
    - pAnomalyNode
    - id
    argTypes:
    - SAnomalyWindowOperatorInfo*
    - SAnomalyWindowPhysiNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: initOptions
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 1
    functionsReached:
    - tListLen
    - tstrerror
    - taosAnalysisParseTimout
    - taosAnalysisParseWncheck
    - taosAnalysisParseAlgo
    - taosAnalyGetOpts
    - qError
    - taosHashCleanup
    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: 288
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 288
    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:298,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:299,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:300,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:302,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:305,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:314,1
    - Dst: anomalyCacheBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:316,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:317,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:319,1
    - Dst: anomalyAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:320,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:321,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:326,1
    - Dst: anomalyCacheBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:328,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:329,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:334,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:340,1
    - Dst: anomalyAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:341,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:344,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:345,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:349,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:349,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:351,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 356
    functionName: anomalyAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - getNextBlockFromDownstream
    - tstrerror
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - qDebug
    - anomalyAggregateBlocks
    - T_LONG_JMP
    - GET_TASKID
    - anomalyCacheBlock
    - taosArrayGetSize
    - qError
    - taosGetTimestampUs
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyAggregateNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:362,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:363,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:364,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:365,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:367,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:368,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:369,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:372,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:373,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:374,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:375,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:376,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 379
    functionName: anomalyDestroyOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - cleanupAggSup
    - taosMemoryFreeClear
    - taosArrayGetP
    - cleanupExprSupp
    - taosArrayGetSize
    - colDataDestroy
    - cleanupBasicInfo
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void anomalyDestroyOperatorInfo(void* param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:387,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pInfo
    - pSrc
    argTypes:
    - SAnomalyWindowOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 394
    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:397,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:398,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pSupp
    - key
    argTypes:
    - SAnomalyWindowSupp*
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 414
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:421,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:423,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:432,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:434,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:436,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:437,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:441,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:453,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:456,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:458,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:459,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:464,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:466,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:471,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:474,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:477,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:478,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:480,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:480,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:484,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:485,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:492,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:494,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:497,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:499,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:499,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:504,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:505,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:510,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:511,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:513,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:514,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 4
    argNames:
    - pJson
    - pWindows
    - pMasks
    - pId
    argTypes:
    - SJson*
    - SArray*
    - SArray*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 518
    functionName: anomalyParseJson
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - tjsonGetArrayItem
    - taosArrayPush
    - tstrerror
    - taosArrayGet
    - tjsonGetInt32ValueFromDouble
    - qDebug
    - tjsonGetStringValue
    - taosArrayClear
    - tjsonGetObjectValueBigInt
    - taosArrayGetSize
    - qError
    - tjsonGetArraySize
    - strstr
    - tjsonGetObjectItem
    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:527,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:529,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:532,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:537,1
    - Dst: tsosAnalyBufOpen
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:539,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:540,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:546,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:547,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:549,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:550,1
    - Dst: taosAnalyBufWriteDataBegin
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:552,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:553,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:555,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:558,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:559,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:562,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:564,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:567,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:568,1
    - Dst: taosAnalyBufWriteColEnd
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:572,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:573,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:576,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:577,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:580,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:585,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:589,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:590,1
    - Dst: taosAnalyBufWriteColEnd
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:594,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:595,1
    - Dst: taosAnalyBufWriteDataEnd
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:597,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:598,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:600,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:601,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:603,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:604,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:606,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:607,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:609,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:610,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:612,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:613,1
    - Dst: taosAnalySendReqRetJson
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:615,1
    - Dst: anomalyParseJson
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:621,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:625,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:625,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:628,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:629,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 631
    functionName: anomalyAnalysisWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - taosAnalyBufWriteDataBegin
    - tstrerror
    - tjsonDelete
    - taosAnalyBufWriteDataEnd
    - taosAnalyBufDestroy
    - GET_TASKID
    - snprintf
    - taosAnalySendReqRetJson
    - anomalyParseJson
    - QUERY_CHECK_CODE
    - taosArrayGet
    - taosAnalyBufWriteColData
    - taosAnalyBufWriteColBegin
    - qError
    - colDataGetData
    - taosArrayGetSize
    - taosAnalyBufWriteColMeta
    - tsosAnalyBufOpen
    - taosAnalyBufWriteOptStr
    - taosAnalyBufWriteColEnd
    - taosAnalyBufClose
    - taosArrayGetP
    - taosAnalyBufWriteOptInt
    - taosGetTimestampNs
    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:642,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:644,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:648,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 633
    functionDepth: 3
    functionLinenumber: 633
    functionLinenumberEnd: 654
    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:663,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:664,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 672
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:690,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:693,1
    - Dst: anomalyAnalysisWindow
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:696,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:697,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:699,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:700,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:702,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:707,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:708,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:716,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:721,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:722,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:726,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:730,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:733,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:738,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:739,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:743,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:745,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:750,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:760,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:765,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:767,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:772,1
    - Dst: anomalyAggregateRows
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:774,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:775,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:779,1
    - Dst: anomalyBuildResult
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:781,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:782,1
    - Dst: anomalyFindWindow
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:785,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:786,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:788,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:789,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:793,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:801,1
    - Dst: anomalyAggregateRows
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:803,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:804,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:810,1
    - Dst: anomalyBuildResult
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:812,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:813,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:818,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:819,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:823,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:824,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:825,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:828,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:829,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:830,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 117
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 674
    functionDepth: 5
    functionLinenumber: 674
    functionLinenumberEnd: 838
    functionName: anomalyAggregateBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 1
    functionsReached:
    - anomalyAggregateRows
    - GET_STM_RTINFO
    - taosArrayClear
    - anomalyFindWindow
    - doKeepTuple
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataUpdateTsWindow
    - doKeepNewWindowStartInfo
    - blockDataDestroy
    - qTrace
    - doFilter
    - anomalyBuildResult
    - taosArrayGetSize
    - anomalyAnalysisWindow
    - blockDataEnsureCapacity
    - setInputDataBlock
    - qDebug
    - taosArrayGetP
    - projectApplyFunctions
    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: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    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: 846
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 846
    functionName: destroyForecastInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destroyForecastInfo(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: destroyStreamWindowEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void destroyStreamWindowEvent(void* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:55,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:56,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:57,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sup
    argTypes:
    - SStreamNotifyEventSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: destroyStreamNotifyEventSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosHashCleanup
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyStreamNotifyEventSupp(SStreamNotifyEventSupp* sup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:72,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:73,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:80,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:81,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:83,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:83,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:84,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:85,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:86,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:86,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:87,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:90,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:91,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:93,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:94,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:98,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:98,1
    - Dst: destroyStreamNotifyEventSupp
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:100,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - sup
    - windowType
    - resCapacity
    argTypes:
    - SStreamNotifyEventSupp*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 107
    functionName: initStreamNotifyEventSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - taosHashSetFreeFp
    - blockDataEnsureCapacity
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - destroyStreamNotifyEventSupp
    - blockDataDestroy
    - blockDataAppendColInfo
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    - createDataBlock
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t initStreamNotifyEventSupp(SStreamNotifyEventSupp* sup, const
      char* windowType, int32_t resCapacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:115,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:116,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:118,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:119,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:121,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:122,1
    - Dst: initStreamNotifyEventSupp
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:138,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:139,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:143,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - pBasicInfo
    - pOperator
    argTypes:
    - SSteamOpBasicInfo*
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 146
    functionName: initStreamBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - tSimpleHashInit
    - createSpecialDataBlock
    - taosGetDefaultHashFunction
    - qError
    - initStreamNotifyEventSupp
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t initStreamBasicInfo(SSteamOpBasicInfo* pBasicInfo, const struct
      SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:149,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:152,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:155,1
    - Dst: destroyStreamNotifyEventSupp
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: destroyStreamBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - destroyStreamNotifyEventSupp
    - tSimpleHashCleanup
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyStreamBasicInfo(SSteamOpBasicInfo* pBasicInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:173,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:173,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:174,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:177,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:179,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:180,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:181,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:182,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:183,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:184,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - sup
    argTypes:
    - void**
    - SStreamNotifyEventSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 188
    functionName: encodeStreamNotifyEventSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - taosEncodeFixedI64
    - taosEncodeFixedU64
    - taosEncodeString
    - cJSON_free
    - taosHashIterate
    - cJSON_PrintUnformatted
    - taosEncodeFixedI32
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeStreamNotifyEventSupp(void** buf, const SStreamNotifyEventSupp*
      sup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:198,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:200,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:201,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:202,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:203,1
    - Dst: taosDecodeVariantU64
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:204,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:205,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:207,1
    - Dst: cJSON_GetErrorPtr
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:207,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:209,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:210,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:211,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:212,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:218,1
    - Dst: destroyStreamWindowEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - sup
    argTypes:
    - void**
    - SStreamNotifyEventSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 222
    functionName: decodeStreamNotifyEventSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - destroyStreamWindowEvent
    - taosDecodeFixedI64
    - cJSON_Parse
    - tstrerror
    - QUERY_CHECK_CODE
    - taosHashPut
    - POINTER_SHIFT
    - taosDecodeFixedI32
    - taosDecodeVariantU64
    - qWarn
    - qError
    - cJSON_GetErrorPtr
    - taosDecodeFixedU64
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t decodeStreamNotifyEventSupp(void** buf, SStreamNotifyEventSupp*
      sup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodeStreamNotifyEventSupp
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - pBasicInfo
    argTypes:
    - void**
    - SSteamOpBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: encodeStreamBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - encodeStreamNotifyEventSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeStreamBasicInfo(void** buf, const SSteamOpBasicInfo*
      pBasicInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeStreamNotifyEventSupp
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - pBasicInfo
    argTypes:
    - void**
    - SSteamOpBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: decodeStreamBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - decodeStreamNotifyEventSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t decodeStreamBasicInfo(void** buf, SSteamOpBasicInfo* pBasicInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:238,1
    - Dst: u64toaFastLut
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSessionKey
    - buf
    argTypes:
    - SSessionKey*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: streamNotifyGetEventWindowId
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - u64toaFastLut
    - MurmurHash3_64
    linkageType: ''
    returnType: void
    signature: void streamNotifyGetEventWindowId(const SSessionKey* pSessionKey, char*
      buf)
  - 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: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: JSON_CHECK_ADD_ITEM
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_CHECK_ADD_ITEM(obj, str, item)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:250,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:251,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:252,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:255,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:255,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:262,1
    - Dst: cJSON_CreateBool
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:262,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:268,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:268,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:274,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:274,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:280,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:280,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:287,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:287,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:293,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:293,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:299,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:299,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:307,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:308,1
    - Dst: cJSON_malloc
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:309,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:310,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:311,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:314,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:315,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:325,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:325,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:331,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:331,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:337,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:337,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:343,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:343,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:348,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:348,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:355,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:355,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:358,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 5
    argNames:
    - colName
    - type
    - isNull
    - pData
    - obj
    argTypes:
    - char*
    - int16_t
    - bool
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 361
    functionName: jsonAddColumnField
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 4
    functionsReached:
    - cJSON_free
    - varDataLen
    - tstrerror
    - memcpy
    - cJSON_malloc
    - cJSON_CreateNull
    - qError
    - JSON_CHECK_ADD_ITEM
    - cJSON_CreateNumber
    - cJSON_CreateBool
    - QUERY_CHECK_CONDITION
    - cJSON_CreateStringReference
    - varDataVal
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonAddColumnField(const char* colName, int16_t type, bool
      isNull, const char* pData, cJSON* obj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:372,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:373,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:382,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:385,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:388,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:389,1
    - Dst: streamNotifyGetEventWindowId
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:392,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:393,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:393,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:394,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:394,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:394,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:395,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:395,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:396,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:396,1
    - Dst: u64toaFastLut
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:397,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:398,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:398,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:399,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:399,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:401,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:402,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:402,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:404,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:404,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:410,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:410,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - windowType
    - eventType
    - pSessionKey
    argTypes:
    - char*
    - EStreamNotifyEventType
    - SSessionKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 416
    functionName: createBasicAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateString
    - tstrerror
    - taosGetTimestampMs
    - qDebug
    - cJSON_CreateObject
    - strcmp
    - streamNotifyGetEventWindowId
    - JSON_CHECK_ADD_ITEM
    - u64toaFastLut
    - cJSON_CreateNumber
    - QUERY_CHECK_CONDITION
    - cJSON_CreateStringReference
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: cJSON
    signature: "cJSON * createBasicAggNotifyEvent(const char* windowType, EStreamNotifyEventType
      eventType,\n                                        const SSessionKey* pSessionKey)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:432,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:433,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:434,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:435,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:436,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:437,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:439,1
    - Dst: createBasicAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:440,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:441,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:444,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:445,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:448,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:449,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:449,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:450,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:451,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:455,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:456,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:457,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:457,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:458,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:460,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:468,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:469,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:470,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:473,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:475,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:477,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:481,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:481,1
    - Dst: destroyStreamWindowEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:483,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:485,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:488,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 7
    argNames:
    - eventType
    - pSessionKey
    - pInputBlock
    - pCondCols
    - ri
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SSDataBlock*
    - SNodeList*
    - int32_t
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 494
    functionName: addEventAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - destroyStreamWindowEvent
    - createBasicAggNotifyEvent
    - cJSON_Delete
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - cJSON_CreateObject
    - colDataIsNull_s
    - colDataGetData
    - JSON_CHECK_ADD_ITEM
    - taosGetMonoTimestampMs
    - cJSON_CreateNumber
    - taosHashPut
    - jsonAddColumnField
    - taosHashGetSize
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addEventAggNotifyEvent(EStreamNotifyEventType eventType, const
      SSessionKey* pSessionKey,\n                               const SSDataBlock*
      pInputBlock, const SNodeList* pCondCols, int32_t ri,\n                               SStreamNotifyEventSupp*
      sup, STaskNotifyEventStat* pNotifyEventStat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:448,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:449,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:449,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:450,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 28
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - jsonAddColumnField
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCondCols)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:507,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:508,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:509,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:510,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:516,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:520,1
    - Dst: createBasicAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:521,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:522,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:527,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:528,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:530,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:531,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:534,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:535,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:538,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:539,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:541,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:542,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:548,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:549,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:550,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:553,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:555,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:557,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:561,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:561,1
    - Dst: destroyStreamWindowEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:563,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:565,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 7
    argNames:
    - eventType
    - pSessionKey
    - pCurState
    - pAnotherState
    - onlyUpdate
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SStateKeys*
    - SStateKeys*
    - bool
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 568
    functionName: addStateAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - createBasicAggNotifyEvent
    - destroyStreamWindowEvent
    - tstrerror
    - cJSON_Delete
    - QUERY_CHECK_CODE
    - taosGetMonoTimestampMs
    - taosHashPut
    - jsonAddColumnField
    - taosHashGetSize
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addStateAggNotifyEvent(EStreamNotifyEventType eventType, const
      SSessionKey* pSessionKey,\n                               const SStateKeys*
      pCurState, const SStateKeys* pAnotherState, bool onlyUpdate,\n                               SStreamNotifyEventSupp*
      sup, STaskNotifyEventStat* pNotifyEventStat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:580,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:581,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:582,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:583,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:585,1
    - Dst: createBasicAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:586,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:587,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:594,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:595,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:596,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:599,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:601,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:603,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:607,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:607,1
    - Dst: destroyStreamWindowEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:609,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 4
    argNames:
    - eventType
    - pSessionKey
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 614
    functionName: addNormalAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - destroyStreamWindowEvent
    - createBasicAggNotifyEvent
    - cJSON_Delete
    - tstrerror
    - QUERY_CHECK_CODE
    - taosGetMonoTimestampMs
    - taosHashPut
    - taosHashGetSize
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addNormalAggNotifyEvent(EStreamNotifyEventType eventType,
      const SSessionKey* pSessionKey,\n                                       SStreamNotifyEventSupp*
      sup, STaskNotifyEventStat* pNotifyEventStat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addNormalAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - pSessionKey
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: addIntervalAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - addNormalAggNotifyEvent
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addIntervalAggNotifyEvent(EStreamNotifyEventType eventType,
      const SSessionKey* pSessionKey,\n                                  SStreamNotifyEventSupp*
      sup, STaskNotifyEventStat* pNotifyEventStat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addNormalAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - pSessionKey
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 4
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: addSessionAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - addNormalAggNotifyEvent
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addSessionAggNotifyEvent(EStreamNotifyEventType eventType,
      const SSessionKey* pSessionKey,\n                                 SStreamNotifyEventSupp*
      sup, STaskNotifyEventStat* pNotifyEventStat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addNormalAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - pSessionKey
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 629
    functionName: addCountAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - addNormalAggNotifyEvent
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addCountAggNotifyEvent(EStreamNotifyEventType eventType, const
      SSessionKey* pSessionKey,\n                               SStreamNotifyEventSupp*
      sup, STaskNotifyEventStat* pNotifyEventStat)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:642,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:643,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:644,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:645,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:646,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:648,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:649,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:650,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:653,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:657,1
    - Dst: createBasicAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:659,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:660,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:661,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:662,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:662,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:663,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:664,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:664,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:665,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:665,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:667,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:668,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:670,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:671,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:675,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:676,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:679,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:680,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:681,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:681,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:682,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:683,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:686,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:690,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:692,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:694,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:698,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:698,1
    - Dst: destroyStreamWindowEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:700,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:702,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 5
    argNames:
    - pResultBlock
    - pSessionKeys
    - pSchemaWrapper
    - sup
    - pNotifyEventStat
    argTypes:
    - SSDataBlock*
    - SArray*
    - SSchemaWrapper*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 705
    functionName: addAggResultNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - createBasicAggNotifyEvent
    - tstrerror
    - cJSON_CreateObject
    - strcmp
    - QUERY_CHECK_CODE
    - taosArrayGet
    - cJSON_CreateNull
    - taosHashGetSize
    - qError
    - taosHashGet
    - colDataGetData
    - JSON_CHECK_ADD_ITEM
    - taosArrayGetSize
    - jsonAddColumnField
    - destroyStreamWindowEvent
    - cJSON_Delete
    - qDebug
    - colDataIsNull_s
    - taosGetMonoTimestampMs
    - taosHashPut
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addAggResultNotifyEvent(const SSDataBlock* pResultBlock, const
      SArray* pSessionKeys,\n                                const SSchemaWrapper*
      pSchemaWrapper, SStreamNotifyEventSupp* sup,\n                                STaskNotifyEventStat*
      pNotifyEventStat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:716,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:717,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:718,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:720,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:722,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:723,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:724,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:726,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:727,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:728,1
    - Dst: addNormalAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:729,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:730,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:735,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pDeleteBlock
    - sup
    - pNotifyEventStat
    argTypes:
    - SSDataBlock*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 707
    functionDepth: 4
    functionLinenumber: 707
    functionLinenumberEnd: 738
    functionName: addAggDeleteNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - colDataGetNumData
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qDebug
    - addNormalAggNotifyEvent
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addAggDeleteNotifyEvent(const SSDataBlock* pDeleteBlock, SStreamNotifyEventSupp*
      sup,\n                                STaskNotifyEventStat* pNotifyEventStat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:749,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:750,1
    - Dst: SStorageAPI*::stateStore::streamStateGetParName
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:755,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:756,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:760,1
    - Dst: SStorageAPI*::stateStore::streamStateFreeVal
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:762,1
    - Dst: buildSinkDestTableName
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:765,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:766,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:770,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - pTaskInfo
    - gid
    - pTableName
    argTypes:
    - SExecTaskInfo*
    - uint64_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 773
    functionName: streamNotifyGetDestTableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::stateStore::streamStateFreeVal
    - tstrncpy
    - tstrerror
    - QUERY_CHECK_CODE
    - SStorageAPI*::stateStore::streamStateGetParName
    - buildSinkDestTableName
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamNotifyGetDestTableName(const SExecTaskInfo* pTaskInfo,
      uint64_t gid, char** pTableName)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:789,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:791,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:792,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:793,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:794,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:796,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:797,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:800,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:803,1
    - Dst: cJSON_HasObjectItem
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:804,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:810,1
    - Dst: streamNotifyGetDestTableName
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:812,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:813,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:814,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:814,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:815,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:816,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:817,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:818,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:820,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:820,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:823,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:824,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:825,1
    - Dst: varColSetVarData
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:826,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:827,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:828,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:830,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:834,1
    - Dst: taosHashGetMemSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:840,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:841,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:844,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:850,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:854,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:854,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:857,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 3
    argNames:
    - pTaskInfo
    - sup
    - pNotifyEventStat
    argTypes:
    - SExecTaskInfo*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 860
    functionName: buildNotifyEventBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosHashIterate
    - cJSON_PrintUnformatted
    - cJSON_CreateStringReference
    - varColSetVarData
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataCleanup
    - taosHashGetSize
    - qError
    - taosHashGetMemSize
    - taosHashGet
    - strlen
    - cJSON_free
    - taosHashClear
    - taosMemoryFreeClear
    - JSON_CHECK_ADD_ITEM
    - streamNotifyGetDestTableName
    - cJSON_HasObjectItem
    - qDebug
    - taosHashCancelIterate
    - taosGetMonoTimestampMs
    - taosHashPut
    - taosHashRemove
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildNotifyEventBlock(const SExecTaskInfo* pTaskInfo, SStreamNotifyEventSupp*
      sup,\n                              STaskNotifyEventStat* pNotifyEventStat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:872,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:875,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:878,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:882,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:882,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pTwSup
    - sup
    - pNotifyEventStat
    argTypes:
    - STimeWindowAggSupp*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 885
    functionName: removeOutdatedNotifyEvents
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosHashGetSize
    - qError
    - taosHashIterate
    linkageType: ''
    returnType: int32_t
    signature: "int32_t removeOutdatedNotifyEvents(STimeWindowAggSupp* pTwSup, SStreamNotifyEventSupp*
      sup,\n                                   STaskNotifyEventStat* pNotifyEventStat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 889
    functionName: setFinalOperatorFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - BIT_FLAG_SET_MASK
    linkageType: ''
    returnType: void
    signature: void setFinalOperatorFlag(SSteamOpBasicInfo* pBasicInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: isFinalOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - BIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool isFinalOperator(SSteamOpBasicInfo* pBasicInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: setRecalculateOperatorFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - BIT_FLAG_SET_MASK
    linkageType: ''
    returnType: void
    signature: void setRecalculateOperatorFlag(SSteamOpBasicInfo* pBasicInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_UNSET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: unsetRecalculateOperatorFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - BIT_FLAG_UNSET_MASK
    linkageType: ''
    returnType: void
    signature: void unsetRecalculateOperatorFlag(SSteamOpBasicInfo* pBasicInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 905
    functionName: isRecalculateOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - BIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool isRecalculateOperator(SSteamOpBasicInfo* pBasicInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 909
    functionName: setSingleOperatorFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - BIT_FLAG_SET_MASK
    linkageType: ''
    returnType: void
    signature: void setSingleOperatorFlag(SSteamOpBasicInfo* pBasicInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamNotify.c:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: isSingleOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamNotify.c
    functionUses: 0
    functionsReached:
    - BIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool isSingleOperator(SSteamOpBasicInfo* pBasicInfo)
  - 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: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    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:50,1
    - Dst: getMnode
      Src: /src/tdengine/source/libs/executor/src/executor.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: getCurrentMnodeEpset
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - getMnode
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getCurrentMnodeEpset(SEpSet* pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/executor/src/executor.c:58,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: cleanupRefPool
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - atomic_val_compare_exchange_32
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: void cleanupRefPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:63,1
    - Dst: atexit
      Src: /src/tdengine/source/libs/executor/src/executor.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: initRefPool
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosOpenRef
    - atexit
    linkageType: ''
    returnType: void
    signature: void initRefPool()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:72,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:77,1
    - Dst: doSetSMABlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:81,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/executor.c:89,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:90,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:91,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:95,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:96,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:102,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:103,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:108,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:109,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/executor.c:113,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:114,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:115,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:125,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:125,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - pOperator
    - input
    - numOfBlocks
    - type
    - id
    argTypes:
    - SOperatorInfo*
    - void*
    - size_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 128
    functionName: doSetSMABlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tstrerror
    - POINTER_SHIFT
    - qError
    - doSetSMABlock
    - QUERY_CHECK_NULL
    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:133,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:138,1
    - Dst: doSetStreamOpOpen
      Src: /src/tdengine/source/libs/executor/src/executor.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pOperator
    - id
    argTypes:
    - SOperatorInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 146
    functionName: doSetStreamOpOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - doSetStreamOpOpen
    - qError
    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:155,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:157,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:157,1
    - Dst: doSetTaskId
      Src: /src/tdengine/source/libs/executor/src/executor.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pOperator
    - pAPI
    argTypes:
    - SOperatorInfo*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: doSetTaskId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - qError
    - doSetTaskId
    - tstrerror
    - SStorageAPI*::tsdReader::tsdSetReaderTaskId
    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:172,1
    - Dst: doSetTaskId
      Src: /src/tdengine/source/libs/executor/src/executor.c:175,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: 176
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: qSetTaskId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 2
    functionsReached:
    - buildTaskId
    - doSetTaskId
    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: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    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:194,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:194,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:196,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:196,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:198,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:198,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: 202
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: qSetSMAInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - qError
    - qDebug
    - doSetSMABlock
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: int32_t qSetSMAInput(qTaskInfo_t tinfo, const void* pBlocks, size_t
      numOfBlocks, int32_t type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doCreateTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:209,1
    - Dst: createTmqRawScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:214,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:216,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:221,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:221,1
    - Dst: qStringToSubplan
      Src: /src/tdengine/source/libs/executor/src/executor.c:226,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:233,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:235,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executor.c:245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - msg
    - pReaderHandle
    - vgId
    - numOfCols
    - id
    argTypes:
    - void*
    - SReadHandle*
    - int32_t
    - int32_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 253
    functionName: qCreateQueueExecTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - createTmqRawScanOperatorInfo
    - qCreateExecTask
    - qDebug
    - GET_TASKID
    - FOREACH
    - qStringToSubplan
    - doCreateTask
    - taosMemoryFree
    - qDestroyTask
    linkageType: ''
    returnType: qTaskInfo_t
    signature: "qTaskInfo_t qCreateQueueExecTaskInfo(void* msg, SReadHandle* pReaderHandle,
      int32_t vgId, int32_t* numOfCols,\n                                     uint64_t
      id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/executor.c:261,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/executor.c:265,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/executor.c:266,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/executor.c:271,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/executor.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - streamInserterParam
    argTypes:
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 277
    functionName: checkInsertParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - stError
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkInsertParam(SStreamInserterParam* streamInserterParam)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:283,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:284,1
    - Dst: checkInsertParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:288,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:290,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:291,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/executor.c:296,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:297,1
    - Dst: createExecTaskInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:299,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:301,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:301,1
    - Dst: dsDataSinkMgtInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:308,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:310,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:310,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:314,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:316,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:316,1
    - Dst: cloneStreamInserterParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:320,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:321,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:323,1
    - Dst: createStreamDataInserter
      Src: /src/tdengine/source/libs/executor/src/executor.c:326,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:328,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:328,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:332,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:337,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:339,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    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: 343
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 343
    functionName: qCreateStreamExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - checkInsertParam
    - taosMemoryCalloc
    - tstrerror
    - createExecTaskInfo
    - dsDataSinkMgtInit
    - taosMemCalloc
    - taosMemoryFree
    - qDebug
    - TSDB_CHECK_CODE
    - createStreamDataInserter
    - nodesDestroyNode
    - qError
    - taosThreadOnce
    - cloneStreamInserterParam
    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:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 358
    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: 7
    argCount: 2
    argNames:
    - pHandle
    - pScanBaseInfo
    argTypes:
    - SReadHandle*
    - STableScanBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    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:380,1
    - Dst: setReadHandle
      Src: /src/tdengine/source/libs/executor/src/executor.c:382,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executor.c:383,1
    - Dst: setReadHandle
      Src: /src/tdengine/source/libs/executor/src/executor.c:385,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:388,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:388,1
    - Dst: SOperatorInfo*::fpSet::resetStateFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pInfo
    - handle
    argTypes:
    - qTaskInfo_t
    - SReadHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 391
    functionName: qResetTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - setReadHandle
    - nodeType
    - qDebug
    - SOperatorInfo*::fpSet::resetStateFn
    - GET_TASKID
    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:402,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:404,1
    - Dst: qCreateStreamExecTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:408,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:412,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: 417
      start: 393
    functionDepth: 5
    functionLinenumber: 393
    functionLinenumberEnd: 417
    functionName: qCreateStreamExecTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 2
    functionsReached:
    - nodesDestroyNode
    - qStringToSubplan
    - qCreateStreamExecTask
    - qDestroyTask
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:423,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:424,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:425,1
    - Dst: tableListGetSourceTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:436,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/executor.c:440,1
    - Dst: taosArrayGet
      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: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/executor.c:445,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:447,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:447,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:451,1
    - Dst: isQualifiedTable
      Src: /src/tdengine/source/libs/executor/src/executor.c:473,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:475,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:485,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:486,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executor.c:491,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:496,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:496,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 5
    argNames:
    - pScanInfo
    - tableIdList
    - idstr
    - pAPI
    - ppArrayRes
    argTypes:
    - SStreamScanInfo*
    - SArray*
    - char*
    - SStorageAPI*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 499
    functionName: filterUnqualifiedTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecoderClear
    - taosArrayInit
    - tstrerror
    - SStorageAPI*::metaReaderFn::clearReader
    - taosArrayGet
    - SStorageAPI*::metaReaderFn::initReader
    - taosArrayGetSize
    - tableListGetSourceTableInfo
    - isQualifiedTable
    - qError
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterUnqualifiedTables(const SStreamScanInfo* pScanInfo,
      const SArray* tableIdList, const char* idstr,\n                                       SStorageAPI*
      pAPI, SArray** ppArrayRes)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:503,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:507,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:507,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:512,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:519,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:520,1
    - Dst: taosLRUCacheErase
      Src: /src/tdengine/source/libs/executor/src/executor.c:522,1
    - Dst: filterUnqualifiedTables
      Src: /src/tdengine/source/libs/executor/src/executor.c:528,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:530,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:533,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:534,1
    - Dst: SExecTaskInfo*::storageAPI::tqReaderFn::tqReaderAddTables
      Src: /src/tdengine/source/libs/executor/src/executor.c:535,1
    - Dst: getTableTagsBufLen
      Src: /src/tdengine/source/libs/executor/src/executor.c:538,1
    - Dst: groupbyTbname
      Src: /src/tdengine/source/libs/executor/src/executor.c:541,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:542,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:544,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:550,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:553,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:555,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:556,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:557,1
    - Dst: getGroupIdFromTagsVal
      Src: /src/tdengine/source/libs/executor/src/executor.c:566,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:569,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:570,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:571,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:577,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:579,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:580,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:581,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:588,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:591,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:593,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:593,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:594,1
    - Dst: SExecTaskInfo*::storageAPI::tqReaderFn::tqReaderRemoveTables
      Src: /src/tdengine/source/libs/executor/src/executor.c:595,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:596,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 3
    argNames:
    - tinfo
    - tableIdList
    - isAdd
    argTypes:
    - qTaskInfo_t
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 600
    functionName: qUpdateTableListForStreamScanner
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosLRUCacheErase
    - getTableTagsBufLen
    - groupbyTbname
    - taosArrayGet
    - tableListAddTableInfo
    - qDebug
    - extractOperatorInTree
    - GET_TASKID
    - taosWUnLockLatch
    - getGroupIdFromTagsVal
    - taosArrayGetSize
    - SExecTaskInfo*::storageAPI::tqReaderFn::tqReaderRemoveTables
    - taosWLockLatch
    - filterUnqualifiedTables
    - SExecTaskInfo*::storageAPI::tqReaderFn::tqReaderAddTables
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t qUpdateTableListForStreamScanner(qTaskInfo_t tinfo, const SArray*
      tableIdList, bool isAdd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:612,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:616,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:618,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:618,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:626,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:631,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: 639
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 639
    functionName: qGetQueryTableSchemaVersion
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tstrerror
    - taosArrayGet
    - taosArrayGetSize
    - qError
    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: 641
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 641
    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:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 4
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: qDestroyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - freeOperatorParam
    linkageType: ''
    returnType: void
    signature: void qDestroyOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/executor.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tinfo
    - pParam
    argTypes:
    - qTaskInfo_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: qUpdateOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - 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:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 658
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/executor.c:664,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:666,1
    - Dst: createExecTaskInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:669,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:671,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:671,1
    - Dst: dsDataSinkMgtInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:678,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:680,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:680,1
    - Dst: createDataSinkParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:685,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:687,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:687,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:688,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:694,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:696,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executor.c:696,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:696,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:698,1
    - Dst: dsCreateDataSinker
      Src: /src/tdengine/source/libs/executor/src/executor.c:704,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:707,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:707,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:711,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:712,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 9
    argNames:
    - readHandle
    - vgId
    - taskId
    - pSubplan
    - pTaskInfo
    - handle
    - compressResult
    - sql
    - model
    argTypes:
    - SReadHandle*
    - int32_t
    - uint64_t
    - SSubplan*
    - qTaskInfo_t*
    - DataSinkHandle*
    - int8_t
    - char*
    - EOPTR_EXEC_MODEL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 717
    functionName: qCreateExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 3
    functionsReached:
    - tstrerror
    - createExecTaskInfo
    - dsDataSinkMgtInit
    - nodeType
    - qDebug
    - createDataSinkParam
    - dsCreateDataSinker
    - qError
    - taosThreadOnce
    - nodesCloneNode
    - taosMemoryFree
    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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: freeBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void freeBlock(void* param)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/executor/src/executor.c:729,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:732,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:735,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:738,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:739,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:739,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:745,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:748,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:749,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:750,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:750,1
    - Dst: setjmp
      Src: /src/tdengine/source/libs/executor/src/executor.c:755,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:758,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:760,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:760,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:760,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:761,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:766,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:766,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:770,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:774,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:776,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:779,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:780,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:781,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:784,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:795,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:797,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:798,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:800,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:801,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:804,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:805,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:808,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:809,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executor.c:815,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:817,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:818,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:824,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:825,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:826,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:827,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:835,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:843,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:846,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:847,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:847,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:849,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:852,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:852,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 83
    argCount: 6
    argNames:
    - tinfo
    - pResList
    - useconds
    - hasMore
    - pLocal
    - processOneBlock
    argTypes:
    - qTaskInfo_t
    - SArray*
    - uint64_t*
    - bool*
    - SLocalFetch*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 856
    functionName: qExecTaskOpt
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - GET_TASKID
    - taosArrayClear
    - taosGetTimestampUs
    - QUERY_CHECK_CODE
    - taosArrayGet
    - copyDataBlock
    - isTaskKilled
    - qError
    - SExecTaskInfo*::pRoot::fpSet::getNextFn
    - createOneDataBlock
    - atomic_store_64
    - setjmp
    - blockDataCheck
    - taosArrayGetSize
    - QUERY_CHECK_CONDITION
    - memcpy
    - qDebug
    - atomic_val_compare_exchange_64
    - taosGetSelfPthreadId
    - SExecTaskInfo*::pRoot::fpSet::getNextExtFn
    - cleanUpUdfs
    - QUERY_CHECK_NULL
    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:861,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:863,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:865,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 870
    functionName: qCleanExecTaskBlockBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayClear
    - 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:874,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:880,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:881,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:883,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:883,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:885,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:890,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:890,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:893,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:898,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:901,1
    - Dst: setjmp
      Src: /src/tdengine/source/libs/executor/src/executor.c:905,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:908,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:909,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:909,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:909,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:910,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:914,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:914,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:916,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:920,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:922,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:926,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:926,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:926,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:929,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:932,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:932,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:932,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:935,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:942,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:947,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:948,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:950,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 3
    argNames:
    - tinfo
    - pRes
    - useconds
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 952
    functionName: qExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - SExecTaskInfo*::pRoot::fpSet::getNextFn
    - tstrerror
    - taosGetTimestampUs
    - atomic_store_64
    - qDebug
    - setjmp
    - isTaskKilled
    - GET_TASKID
    - taosGetSelfPthreadId
    - blockDataCheck
    - qError
    - SExecTaskInfo*::pRoot::fpSet::getNextExtFn
    - cleanUpUdfs
    - taosRLockLatch
    - taosRUnLockLatch
    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:955,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:956,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:957,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:960,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pTaskInfo
    - pInfo
    argTypes:
    - SExecTaskInfo*
    - SExchangeOpStopInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 964
    functionName: qAppendTaskStopInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - taosWUnLockLatch
    - taosWLockLatch
    - qError
    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: 977
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 977
    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:980,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/executor.c:981,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/executor.c:983,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pTaskInfo
    - pInfo
    argTypes:
    - SExecTaskInfo*
    - SExchangeOpStopInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 986
    functionName: qRemoveTaskStopInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosWLockLatch
    - taosWUnLockLatch
    - taosArraySearchIdx
    - taosArrayRemove
    linkageType: ''
    returnType: void
    signature: void qRemoveTaskStopInfo(SExecTaskInfo* pTaskInfo, SExchangeOpStopInfo*
      pInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:989,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:991,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:993,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:995,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:995,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:998,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/executor.c:1000,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1002,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1002,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1004,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:1006,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1008,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1008,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1013,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1014
    functionName: qStopTaskOperators
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosReleaseRef
    - tstrerror
    - tsem_post
    - taosArrayGet
    - qDebug
    - taosWUnLockLatch
    - taosArrayGetSize
    - taosAcquireRef
    - taosWLockLatch
    - qError
    linkageType: ''
    returnType: void
    signature: void qStopTaskOperators(SExecTaskInfo* pTaskInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1022,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1022,1
    - Dst: setTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:1024,1
    - Dst: qStopTaskOperators
      Src: /src/tdengine/source/libs/executor/src/executor.c:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qinfo
    - rspCode
    argTypes:
    - qTaskInfo_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1028
    functionName: qAsyncKillTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - setTaskKilled
    - qDebug
    - qStopTaskOperators
    - 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:1031,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1038,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1038,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1040,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1040,1
    - Dst: setTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:1043,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1047,1
    - Dst: qTaskIsExecuting
      Src: /src/tdengine/source/libs/executor/src/executor.c:1048,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1049,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/executor/src/executor.c:1051,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1053,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1055,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1055,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1060,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1066,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1068,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1068,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: 1072
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1072
    functionName: qKillTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    - qDebug
    - GET_TASKID
    - setTaskKilled
    - qTaskIsExecuting
    - taosWUnLockLatch
    - taosMsleep
    - qInfo
    - taosWLockLatch
    - qWarn
    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:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1081
    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:1089,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1093,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1097,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1100
    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:1109,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1109,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1111,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1111,1
    - Dst: printTaskExecCostInLog
      Src: /src/tdengine/source/libs/executor/src/executor.c:1114,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:1115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - qTaskHandle
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1102
    functionDepth: 2
    functionLinenumber: 1102
    functionLinenumberEnd: 1116
    functionName: qDestroyTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 3
    functionsReached:
    - printTaskExecCostInLog
    - qDebug
    - doDestroyTask
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: void qDestroyTask(qTaskInfo_t qTaskHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOperatorExplainExecInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tinfo
    - pExecInfoList
    argTypes:
    - qTaskInfo_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1121
    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: 1136
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1136
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOpratorIntervalInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - pOperator
    - pWaterMark
    - pInterval
    - pLastWindow
    - pRecInteral
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - SInterval*
    - STimeWindow*
    - TSKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1149
    functionName: getOpratorIntervalInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - getOpratorIntervalInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getOpratorIntervalInfo(SOperatorInfo* pOperator, int64_t*
      pWaterMark, SInterval* pInterval,\n                                      STimeWindow*
      pLastWindow, TSKEY* pRecInteral)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1154
    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: 1159
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1159
    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: 1164
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1164
    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: 1169
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1169
    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:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tinfo
    - pOffset
    argTypes:
    - qTaskInfo_t
    - STqOffsetVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1180
    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:1183,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:1186,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:1187,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1189,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1190,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/executor.c:1194,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/executor/src/executor.c:1205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - pCond
    - sContext
    - pMtInfo
    argTypes:
    - SQueryTableDataCond*
    - SSnapContext*
    - SMetaTableInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1214
    functionName: initQueryTableDataCondForTmq
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - decimalFromTypeMod
    - taosMemoryFreeClear
    - memset
    - TAOS_SET_OBJ_ALIGNED
    - taosMemoryCalloc
    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: 1220
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1220
    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: 2
    argCount: 2
    argNames:
    - tinfo
    - sourceExcluded
    argTypes:
    - qTaskInfo_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1225
    functionName: qStreamSetSourceExcluded
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qStreamSetSourceExcluded(qTaskInfo_t tinfo, int8_t sourceExcluded)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1233,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:1236,1
    - Dst: SStoreTqReader*::tqReaderGetWalReader
      Src: /src/tdengine/source/libs/executor/src/executor.c:1243,1
    - Dst: walReaderVerifyOffset
      Src: /src/tdengine/source/libs/executor/src/executor.c:1244,1
    - Dst: tOffsetEqual
      Src: /src/tdengine/source/libs/executor/src/executor.c:1247,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:1252,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/executor.c:1263,1
    - Dst: SStoreTqReader*::tqReaderGetWalReader
      Src: /src/tdengine/source/libs/executor/src/executor.c:1267,1
    - Dst: walReaderVerifyOffset
      Src: /src/tdengine/source/libs/executor/src/executor.c:1268,1
    - Dst: SStoreTqReader*::tqReaderSeek
      Src: /src/tdengine/source/libs/executor/src/executor.c:1269,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1271,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1282,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1284,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1286,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1286,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1287,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1293,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1295,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1295,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1296,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1303,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1304,1
    - Dst: SExecTaskInfo*::storageAPI::tqReaderFn::tqSetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/executor.c:1308,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1310,1
    - Dst: tableListFind
      Src: /src/tdengine/source/libs/executor/src/executor.c:1317,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1318,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1323,1
    - Dst: SExecTaskInfo*::storageAPI::tqReaderFn::tqGetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/executor.c:1332,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/executor.c:1340,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1344,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1344,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1348,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdSetQueryTableList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1351,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1353,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1353,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/executor.c:1357,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1359,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1359,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1362,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1369,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:1379,1
    - Dst: SStorageAPI*::snapshotFn::setForSnapShot
      Src: /src/tdengine/source/libs/executor/src/executor.c:1386,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1387,1
    - Dst: SExecTaskInfo*::storageAPI::snapshotFn::getMetaTableInfoFromSnapshot
      Src: /src/tdengine/source/libs/executor/src/executor.c:1392,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1394,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/executor.c:1397,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/executor.c:1400,1
    - Dst: tableListClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1401,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1404,1
    - Dst: SStorageAPI*::snapshotFn::taosXSetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/executor.c:1408,1
    - Dst: initQueryTableDataCondForTmq
      Src: /src/tdengine/source/libs/executor/src/executor.c:1409,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1411,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1411,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1412,1
    - Dst: SStorageAPI*::snapshotFn::taosXGetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/executor.c:1415,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1421,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1423,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1424,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1424,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1430,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1431,1
    - Dst: tableListGetSize
      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: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1437,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1438,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/executor.c:1442,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1445,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1445,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1446,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/executor.c:1450,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1451,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/executor.c:1453,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1455,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1457,1
    - Dst: SExecTaskInfo*::storageAPI::snapshotFn::setForSnapShot
      Src: /src/tdengine/source/libs/executor/src/executor.c:1461,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1463,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1466,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/executor.c:1470,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1472,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1477,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 177
    argCount: 3
    argNames:
    - tinfo
    - pOffset
    - subType
    argTypes:
    - qTaskInfo_t
    - STqOffsetVal*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1479
    functionName: qStreamPrepareScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - SExecTaskInfo*::storageAPI::snapshotFn::setForSnapShot
    - SExecTaskInfo*::storageAPI::tqReaderFn::tqSetTablePrimaryKey
    - tstrerror
    - tableListAddTableInfo
    - SStoreTqReader*::tqReaderGetWalReader
    - SStorageAPI*::snapshotFn::taosXGetTablePrimaryKey
    - GET_TASKID
    - SStorageAPI*::snapshotFn::taosXSetTablePrimaryKey
    - tDeleteSchemaWrapper
    - SExecTaskInfo*::storageAPI::snapshotFn::getMetaTableInfoFromSnapshot
    - SExecTaskInfo*::storageAPI::tqReaderFn::tqGetTablePrimaryKey
    - SExecTaskInfo*::storageAPI::tsdReader::tsdReaderOpen
    - SStorageAPI*::snapshotFn::setForSnapShot
    - tableListFind
    - qError
    - taosRUnLockLatch
    - SExecTaskInfo*::storageAPI::tsdReader::tsdReaderClose
    - tstrncpy
    - taosMemoryFreeClear
    - extractOperatorInTree
    - SExecTaskInfo*::storageAPI::tsdReader::tsdReaderResetStatus
    - SExecTaskInfo*::storageAPI::tsdReader::tsdSetQueryTableList
    - cleanupQueryTableDataCond
    - taosRLockLatch
    - walReaderVerifyOffset
    - tOffsetCopy
    - qDebug
    - SStoreTqReader*::tqReaderSeek
    - destroyMetaTableInfo
    - initQueryTableDataCondForTmq
    - tableListClear
    - tOffsetEqual
    - tableListGetInfo
    - tableListGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamPrepareScan(qTaskInfo_t tinfo, STqOffsetVal* pOffset,
      int8_t subType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1484,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1488,1
    - Dst: TRACE_GET_ROOTID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1489,1
    - Dst: TRACE_GET_MSGID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1489,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:1494,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1498,1
    - Dst: SMsgSendInfo*::fp
      Src: /src/tdengine/source/libs/executor/src/executor.c:1502,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/executor/src/executor.c:1503,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1481
    functionDepth: 3
    functionLinenumber: 1481
    functionLinenumberEnd: 1505
    functionName: qProcessRspMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - TRACE_GET_MSGID
    - SMsgSendInfo*::fp
    - taosMemoryCalloc
    - memcpy
    - qDebug
    - TRACE_GET_ROOTID
    - destroySendMsgInfo
    - qError
    - 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:1513,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executor.c:1519,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:1521,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1522,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1525,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:1526,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1529,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1530,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1531,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1532,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1535,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1539,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1539,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executor.c:1540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1543
    functionName: qGetQueriedTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - getTableListInfo
    - taosArrayGetP
    - T_LONG_JMP
    - qError
    - tableListGetInfo
    - tableListGetSize
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SArray
    signature: SArray * qGetQueriedTableListInfo(qTaskInfo_t tinfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1554,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1555,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1559,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1560,1
    - Dst: extractTableList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1563,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1569,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pList
    - pOperator
    argTypes:
    - SArray*
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1572
    functionName: extractTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tstrerror
    - extractTableList
    - qError
    - QUERY_CHECK_NULL
    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:1580,1
    - Dst: extractTableList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1585,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pTaskInfo
    - pList
    argTypes:
    - SExecTaskInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1574
    functionDepth: 2
    functionLinenumber: 1574
    functionLinenumberEnd: 1592
    functionName: getTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - extractTableList
    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:1597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tInfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1600
    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:1605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tInfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1608
    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:1615,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1616
    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: 1621
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1621
    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:1625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tInfo
    - pExprs
    argTypes:
    - qTaskInfo_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1627
    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:1632,1
    - Dst: freeResetOperatorParams
      Src: /src/tdengine/source/libs/executor/src/executor.c:1633,1
    - Dst: SOperatorInfo*::fpSet::resetStateFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1636,1
    - Dst: clearStatesForOperator
      Src: /src/tdengine/source/libs/executor/src/executor.c:1640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1629
    functionDepth: 5
    functionLinenumber: 1629
    functionLinenumberEnd: 1643
    functionName: clearStatesForOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - freeResetOperatorParams
    - clearStatesForOperator
    - SOperatorInfo*::fpSet::resetStateFn
    linkageType: ''
    returnType: int32_t
    signature: int32_t clearStatesForOperator(SOperatorInfo* pOper)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearStatesForOperator
      Src: /src/tdengine/source/libs/executor/src/executor.c:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tInfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1645
    functionDepth: 6
    functionLinenumber: 1645
    functionLinenumberEnd: 1652
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/executor/src/executor.c:1656,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1662,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:1663,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1666,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1666,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1668,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1673,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1673,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1676,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1681,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1684,1
    - Dst: setjmp
      Src: /src/tdengine/source/libs/executor/src/executor.c:1688,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1691,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1692,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1692,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1692,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:1693,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1697,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1697,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1699,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1701,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1704,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1704,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1704,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:1707,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1711,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1711,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1711,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1714,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1721,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1726,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1727,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:1729,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 4
    argNames:
    - tInfo
    - ppRes
    - useconds
    - finished
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - uint64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1731
    functionName: streamExecuteTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - SExecTaskInfo*::pRoot::fpSet::getNextFn
    - tstrerror
    - taosGetTimestampUs
    - atomic_store_64
    - qDebug
    - setjmp
    - isTaskKilled
    - GET_TASKID
    - taosGetSelfPthreadId
    - blockDataCheck
    - qError
    - cleanUpUdfs
    - taosRLockLatch
    - taosRUnLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamExecuteTask(qTaskInfo_t tInfo, SSDataBlock** ppRes, uint64_t*
      useconds, bool* finished)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/executor.c:1741,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1743,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1743,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1751,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1753,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1754,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    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: 1759
      start: 1738
    functionDepth: 1
    functionLinenumber: 1738
    functionLinenumberEnd: 1759
    functionName: qStreamCreateTableListForReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - tableListCreate
    - createScanTableListInfo
    - tstrerror
    - tableListDestroy
    - qError
    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: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1765,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1771,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:1772,1
    - Dst: tableListGetGroupList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - pTableListInfo
    - currentGroupId
    - pKeyInfo
    - size
    argTypes:
    - void*
    - int32_t
    - STableKeyInfo**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1761
    functionDepth: 1
    functionLinenumber: 1761
    functionLinenumberEnd: 1776
    functionName: qStreamGetTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - tableListGetGroupList
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamGetTableList(void* pTableListInfo, int32_t currentGroupId,
      STableKeyInfo** pKeyInfo, int32_t* size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/executor.c:1780,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pTableListInfo
    - uid
    - gid
    argTypes:
    - void**
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1786
    functionName: qStreamSetTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - tableListCreate
    - tableListAddTableInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamSetTableList(void** pTableListInfo, uint64_t uid, uint64_t
      gid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:1795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pTableListInfo
    - gid
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1801
    functionName: qStreamGetGroupIndex
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamGetGroupIndex(void* pTableListInfo, int64_t gid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1803
    functionName: qStreamDestroyTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 2
    functionsReached:
    - tableListDestroy
    linkageType: ''
    returnType: void
    signature: void qStreamDestroyTableList(void* pTableListInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/executor.c:1805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTableListInfo
    - uid
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1805
    functionName: qStreamGetGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - tableListGetTableGroupId
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t qStreamGetGroupId(void* pTableListInfo, int64_t uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableList
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1807
    functionName: qStreamGetTableListGroupNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamGetTableListGroupNum(const void* pTableList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTableList
    - groupNum
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1808
    functionName: qStreamSetTableListGroupNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qStreamSetTableListGroupNum(const void* pTableList, int32_t groupNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableList
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1809
    functionName: qStreamGetTableArrayList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SArray
    signature: SArray * qStreamGetTableArrayList(const void* pTableList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/executor.c:1811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pBlock
    - pFilterInfo
    - pRet
    argTypes:
    - SSDataBlock*
    - void*
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1811
    functionDepth: 5
    functionLinenumber: 1811
    functionLinenumberEnd: 1811
    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:1814,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tInfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1813
    functionDepth: 3
    functionLinenumber: 1813
    functionLinenumberEnd: 1816
    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:1819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pExpr
    - pDst
    - pExtraParams
    argTypes:
    - SNode*
    - SScalarParam*
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1818
    functionDepth: 1
    functionLinenumber: 1818
    functionLinenumberEnd: 1820
    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:1831,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:1832,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1840,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/executor/src/executor.c:1843,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1847,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:1865,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1869,1
    - Dst: scalarCalculateInRange
      Src: /src/tdengine/source/libs/executor/src/executor.c:1874,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1876,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1878,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1879,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1880,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 5
    argNames:
    - pExpr
    - pDst
    - rowStartIdx
    - rowEndIdx
    - pExtraParams
    argTypes:
    - SNode*
    - SScalarParam*
    - int32_t
    - int32_t
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1822
    functionDepth: 6
    functionLinenumber: 1822
    functionLinenumberEnd: 1882
    functionName: streamCalcOneScalarExprInRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosMemoryFreeClear
    - destroyExprInfo
    - nodesDestroyList
    - nodesListAppend
    - nodesMakeList
    - createExprInfo
    - nodesMakeNode
    - nodesCloneNode
    - scalarCalculateInRange
    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:1891,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:1897,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/executor.c:1898,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1901,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executor.c:1906,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1908,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1908,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:1919,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:1920,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:1922,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executor.c:1923,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:1924,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executor.c:1925,1
    - Dst: streamCalcOneScalarExprInRange
      Src: /src/tdengine/source/libs/executor/src/executor.c:1930,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:1934,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - tInfo
    - pRes
    - winIdx
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1884
    functionDepth: 7
    functionLinenumber: 1884
    functionLinenumberEnd: 1942
    functionName: streamForceOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 2
    functionsReached:
    - createDataBlock
    - nodesGetValueFromNode
    - tstrerror
    - nodeType
    - taosArrayGet
    - colDataSetVal
    - createColumnInfoData
    - nodesStringToNode
    - streamCalcOneScalarExprInRange
    - blockDataAppendColInfo
    - nodesDestroyNode
    - qError
    - blockDataEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamForceOutput(qTaskInfo_t tInfo, SSDataBlock** pRes, int32_t
      winIdx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executor.c:1956,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1957,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:1961,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1963,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executor.c:1967,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executor.c:1968,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executor.c:1972,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1973,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:1977,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1980,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executor.c:1990,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1992,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:1993,1
    - Dst: streamCalcOneScalarExpr
      Src: /src/tdengine/source/libs/executor/src/executor.c:1999,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/executor/src/executor.c:2000,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:2001,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executor.c:2005,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/executor.c:2005,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executor.c:2006,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/executor.c:2006,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2010,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2016,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2020,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2024,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/executor/src/executor.c:2026,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2028,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:2032,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 3
    argNames:
    - pExpr
    - tbname
    - pStreamRuntimeInfo
    argTypes:
    - SNode*
    - char*
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 1944
    functionDepth: 2
    functionLinenumber: 1944
    functionLinenumberEnd: 2035
    functionName: streamCalcOutputTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 3
    functionsReached:
    - nodesGetValueFromNode
    - colDataGetVarData
    - varDataLen
    - varDataVal
    - taosMemoryCalloc
    - sclFreeParam
    - memcpy
    - strchr
    - streamCalcOneScalarExpr
    - colInfoDataEnsureCapacity
    - qInfo
    - colDataIsNull_var
    - qError
    - IS_STR_DATA_TYPE
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamCalcOutputTbName(SNode* pExpr, char* tbname, SStreamRuntimeFuncInfo*
      pStreamRuntimeInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:2040,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:2044,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:2048,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2052,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2056,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:2059,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2061
    functionName: destroyStreamInserterParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosMemFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyStreamInserterParam(SStreamInserterParam* pParam)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executor.c:2066,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:2068,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2069,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2074,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2075,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2078,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2079,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2082,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2083,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2088,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2089,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2095,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2096,1
    - Dst: destroyStreamInserterParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:2105,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2109,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:2109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - ppDst
    - pSrc
    argTypes:
    - SStreamInserterParam**
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2063
    functionDepth: 2
    functionLinenumber: 2063
    functionLinenumberEnd: 2112
    functionName: cloneStreamInserterParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - destroyStreamInserterParam
    - taosArrayDup
    - stError
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - taosStrdup
    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:2115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pMsgCb
    - pOutput
    - pReq
    argTypes:
    - SMsgCb*
    - void*
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2114
    functionDepth: 5
    functionLinenumber: 2114
    functionLinenumberEnd: 2116
    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:2119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pMsgCb
    - pOutput
    - pReq
    - tbName
    argTypes:
    - SMsgCb*
    - void*
    - SSTriggerDropRequest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2118
    functionDepth: 5
    functionLinenumber: 2118
    functionLinenumberEnd: 2120
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:65,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:70,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:74,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:75,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:75,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:81,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:84,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:89,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:92,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:94,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:99,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:103,1
    - Dst: IS_INVALID_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:108,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - pHandle
    - pInput
    argTypes:
    - SDataDispatchHandle*
    - SInputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 117
    functionName: inputSafetyCheck
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - qError
    - IS_INVALID_TYPE
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t inputSafetyCheck(SDataDispatchHandle* pHandle, const SInputData*
      pInput)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inputSafetyCheck
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:134,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:138,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:159,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:161,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:167,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:171,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:177,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:179,1
    - Dst: tsCompressString
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:183,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:192,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:195,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:197,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:206,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pBuf
    argTypes:
    - SDataDispatchHandle*
    - SInputData*
    - SDataDispatchBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 210
    functionName: toDataCacheEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - atomic_add_fetch_64
    - TAOS_MEMCPY
    - QRY_RET
    - taosMemoryRealloc
    - inputSafetyCheck
    - tsCompressString
    - qError
    - blockEncode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t toDataCacheEntry(SDataDispatchHandle* pHandle, const SInputData*
      pInput, SDataDispatchBuf* pBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:222,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:224,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pDispatcher
    - pInput
    - pBuf
    argTypes:
    - SDataDispatchHandle*
    - SInputData*
    - SDataDispatchBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: allocBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - qError
    - blockGetEncodeSize
    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:234,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:235,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pDispatcher
    argTypes:
    - SDataDispatchHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: updateStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 2
    functionsReached:
    - taosQueueItemSize
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    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:245,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pDispatcher
    argTypes:
    - SDataDispatchHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    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:256,1
    - Dst: allocBuf
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:261,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:263,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:267,1
    - Dst: toDataCacheEntry
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:267,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:268,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:268,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:270,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:276,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 279
    functionName: putDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 16
    functionsReached:
    - taosWriteQitem
    - allocBuf
    - taosAllocateQitem
    - taosFreeQitem
    - taosMemoryFreeClear
    - QRY_ERR_JRET
    - toDataCacheEntry
    - 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:283,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pHandle
    - useconds
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    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:291,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - struct SDataSinkHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    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:298,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:305,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:307,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:308,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:316,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: 318
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 318
    functionName: getDataLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - taosFreeQitem
    - TAOS_MEMCPY
    - qDebug
    - taosReadQitem
    - 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:324,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:336,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:341,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:342,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:344,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:345,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:347,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - pHandle
    - pOutput
    argTypes:
    - SDataSinkHandle*
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 354
    functionName: getDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - atomic_sub_fetch_64
    - taosMemoryFreeClear
    - TAOS_MEMCPY
    - taosThreadMutexUnlock
    - updateStatus
    - qError
    - taosThreadMutexLock
    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:358,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:359,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:360,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:362,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:364,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:366,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:367,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:371,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:372,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:375,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SDataSinkHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 378
    functionName: destroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 3
    functionsReached:
    - atomic_sub_fetch_64
    - taosFreeQitem
    - taosMemoryFreeClear
    - taosReadQitem
    - taosThreadMutexDestroy
    - taosCloseQueue
    - taosQueueEmpty
    - nodesDestroyNode
    - taosMemoryFree
    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:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - size
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 385
    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:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - pFlags
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 392
    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:400,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:406,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pInputDataBlockDesc
    argTypes:
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 420
    functionName: blockDescNodeCheck
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - qError
    - FOREACH
    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:424,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pInputDataBlockDesc
    argTypes:
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 439
    functionName: getOutputColCounts
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - qError
    - FOREACH
    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:444,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:446,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:450,1
    - Dst: getOutputColCounts
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:468,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:471,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:476,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:492,1
    - Dst: dsDestroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:495,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:498,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 4
    argNames:
    - pManager
    - ppDataSink
    - pHandle
    - processOneBlock
    argTypes:
    - SDataSinkManager*
    - SDataSinkNode**
    - DataSinkHandle*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 502
    functionName: createDataDispatcher
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 1
    functionsReached:
    - blockDescNodeCheck
    - taosMemoryCalloc
    - getOutputColCounts
    - taosThreadMutexInit
    - dsDestroyDataSinker
    - taosOpenQueue
    - nodesDestroyNode
    - qError
    - taosMemoryFree
    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:
    - taosArrayGet
    - MJ_ERR_RET
    - colDataGetNumData
    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:
    - BitmapLen
    - colDataGetVarData
    - TAOS_MEMSET
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - colDataIsNull_f
    - calcStrBytesByType
    - MJ_ERR_RET
    - taosArrayGetSize
    - colDataIsNull_var
    - colDataSetNull_f
    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
    - BMIsNull
    - BitmapLen
    - colDataGetVarData
    - taosMemoryCalloc
    - TAOS_MEMSET
    - taosArrayGet
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    - colDataSetVal
    - calcStrBytesByType
    - MJ_ERR_RET
    - taosArrayGetSize
    - colDataIsNull_var
    - colDataSetNull_var
    - colDataSetNull_f
    - taosMemoryFree
    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:
    - MJOIN_SET_ROW_BITMAP
    - MJOIN_ROW_BITMAP_SET
    - colDataDestroy
    - taosArrayGetSize
    - filterExecute
    - extractQualifiedTupleByFilterResult
    - taosMemoryFree
    - 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:
    - MJOIN_SET_ROW_BITMAP
    - MJ_ERR_JRET
    - taosArrayGet
    - MJOIN_ROW_BITMAP_SET
    - colDataDestroy
    - taosArrayGetSize
    - filterExecute
    - extractQualifiedTupleByFilterResult
    - taosMemoryFree
    - filterSetDataFromSlotId
    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:
    - MJ_ERR_JRET
    - mJoinTrimKeepFirstRow
    - taosArrayGetSize
    - filterExecute
    - colDataDestroy
    - mJoinTrimKeepOneRow
    - taosMemoryFree
    - filterSetDataFromSlotId
    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:
    - taosArrayGetSize
    - filterExecute
    - colDataDestroy
    - taosMemoryFree
    - 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:
    - blockDataShrinkNRows
    - blockDataMergeNRows
    - blockDataCleanup
    - MJ_ERR_RET
    - blockDataMerge
    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
    - MJ_ERR_RET
    - colDataSetNItemsNull
    - colDataAssignNRows
    - GRP_REMAIN_ROWS
    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
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - MJ_ERR_RET
    - colDataSetNItemsNull
    - qError
    - colDataSetNItems
    - colDataAssignNRows
    - GRP_REMAIN_ROWS
    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:
    - colDataSetNItems
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - MJ_ERR_RET
    - taosArrayGetSize
    - colDataSetNItemsNull
    - TMIN
    - colDataAssignNRows
    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:
    - taosArrayGet
    - mJoinGetRowBitmapOffset
    - MJ_ERR_RET
    - 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:
    - mJoinCreateBuildTbHash
    - mJoinSetKeyColsData
    - mJoinAllocGrpRowBitmap
    - MJ_ERR_RET
    - mJoinCreateFullBuildTbHash
    - mJoinRetrieveEqGrpRows
    - mJoinBuildEqGroups
    - REACH_HJOIN_THRESHOLD
    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:
    - mJoinNonEqCart
    - PROBE_TS_NMATCH
    - 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:
    - taosMemoryMalloc
    - IS_VAR_DATA_TYPE
    - LIST_LENGTH
    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: 33
    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:
    - taosMemoryMalloc
    - TMAX
    - mJoinInitColsInfo
    - MJ_ERR_RET
    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:
    - taosMemoryMalloc
    - IS_VAR_DATA_TYPE
    - LIST_LENGTH
    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: 33
    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
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - pCtx
    - pTarget
    argTypes:
    - SMJoinPrimExprCtx*
    - STargetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 946
    functionName: mJoinInitFuncPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - offsetFromTz
    - nodesListGetNode
    - 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: 958
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 958
    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:966,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:967,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:967,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:972,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:972,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:973,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:973,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:977,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:978,1
    - Dst: mJoinInitFuncPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:978,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: mJoinInitValPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:980,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pNode
    - pCtx
    - pTable
    argTypes:
    - SNode*
    - SMJoinPrimExprCtx*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 960
    functionDepth: 3
    functionLinenumber: 960
    functionLinenumberEnd: 986
    functionName: mJoinInitPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - nodeType
    - mJoinInitFuncPrimExprCtx
    - MJ_ERR_RET
    - mJoinInitValPrimExprCtx
    - qError
    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:992,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:993,1
    - Dst: mJoinInitPrimKeyInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:993,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:995,1
    - Dst: mJoinInitKeyColsInfo
      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: mJoinInitFinColsInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:997,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:999,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1001,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1007,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1011,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1015,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1015,1
    - Dst: IS_FULL_OUTER_JOIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1020,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1022,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1042,1
    - Dst: mJoinInitPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1042,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: 1045
      start: 988
    functionDepth: 4
    functionLinenumber: 988
    functionLinenumberEnd: 1045
    functionName: mJoinInitTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - mJoinInitFinColsInfo
    - taosArrayInit
    - TAOS_MEMCPY
    - getOperatorResultBlockId
    - MJ_ERR_RET
    - IS_FULL_OUTER_JOIN
    - mJoinInitPrimKeyInfo
    - mJoinInitKeyColsInfo
    - taosGetDefaultHashFunction
    - mJoinInitPrimExprCtx
    - tSimpleHashInit
    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: 1088
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1088
    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:1095,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1103,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1121,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1129
    functionName: mJoinLaunchPrimExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - MJ_ERR_RET
    - colDataSetNItems
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinLaunchPrimExpr(SSDataBlock* pBlock, SMJoinTableCtx* pTable)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstreamRemain
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1148,1
    - Dst: getNextBlockFromDownstreamRemain
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1189,1
    - Dst: mJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1200,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1203,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1207
    functionName: mJoinGrpRetrieveImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinLaunchPrimExpr
    - T_LONG_JMP
    - getNextBlockFromDownstreamRemain
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mJoinGrpRetrieveImpl(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstreamRemain
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1214,1
    - Dst: mJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1218,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1209
    functionDepth: 2
    functionLinenumber: 1209
    functionLinenumberEnd: 1226
    functionName: SSDataBlock* mJoinRetrieveImpl(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable)
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinLaunchPrimExpr
    - T_LONG_JMP
    - getNextBlockFromDownstreamRemain
    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:1237,1
    - Dst: ASOF_GREATER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1237,1
    - Dst: mJoinInitWindowCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1240,1
    - Dst: mJoinInitMergeCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1245
    functionName: mJoinInitCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinInitWindowCtx
    - ASOF_LOWER_ROW_INCLUDED
    - 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:1249,1
    - Dst: mJoinDestroyMergeCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1253
    functionName: mJoinDestroyCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinDestroyWindowCtx
    - mJoinDestroyMergeCtx
    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: 1255
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1255
    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:1258,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1260,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1257
    functionDepth: 4
    functionLinenumber: 1257
    functionLinenumberEnd: 1265
    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:1272,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1272,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1273,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: 1284
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1284
    functionName: mJoinRetrieveBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - MJOIN_TBTYPE
    - qDebug
    - GET_TASKID
    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:1287,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1289,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1289,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCreatedBlks
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1292
    functionName: mJoinDestroyCreatedBlks
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void mJoinDestroyCreatedBlks(SArray* pCreatedBlks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1295,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1299,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pTable
    - rowNum
    - rowBitmapOffset
    argTypes:
    - SMJoinTableCtx*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1312
    functionName: mJoinGetRowBitmapOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - BitmapLen
    - taosMemoryRealloc
    - 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:1318,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1319,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1324
    functionName: mJoinResetForBuildTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - mJoinDestroyCreatedBlks
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void mJoinResetForBuildTable(SMJoinTableCtx* pTable)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1327,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1329,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1335,1
    - Dst: mJoinResetForBuildTable
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1340,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1344,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1346,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1355,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1366,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1379,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1397,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1399,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1402,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1403,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1419,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1425,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1427,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1433,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1434,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1443,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: 1451
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1451
    functionName: mJoinBuildEqGroups
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - createOneDataBlock
    - colDataGetNumData
    - taosArrayGet
    - MJ_ERR_RET
    - taosArrayReserve
    - blockDataExtractBlock
    - taosArrayPop
    - TMIN
    - mJoinResetForBuildTable
    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:1456,1
    - Dst: mJoinBuildEqGroups
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1456,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1460,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1460,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1461,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1470,1
    - Dst: mJoinBuildEqGroups
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pJoin
    - pTable
    - timestamp
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1453
    functionDepth: 4
    functionLinenumber: 1453
    functionLinenumberEnd: 1474
    functionName: mJoinRetrieveEqGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - qDebug
    - GET_TASKID
    - MJOIN_TBTYPE
    - MJ_ERR_RET
    - mJoinBuildEqGroups
    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:1478,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1480,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1483,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1484,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1501
    functionName: mJoinSetKeyColsData
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - qError
    - MJ_ERR_RET
    - 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:1508,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1513,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1516,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1524,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1529,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1529,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1530,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1533,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1533,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1534,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - pTable
    - rowIdx
    - pBufLen
    argTypes:
    - SMJoinTableCtx*
    - int32_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1549
    functionName: mJoinCopyKeyColsDataToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - varDataTLen
    - TAOS_MEMCPY
    - colDataIsNull_s
    - getJsonValueLen
    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:1553,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1554,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1558,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1562,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pTable
    - ppRes
    argTypes:
    - SMJoinTableCtx*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1572
    functionName: mJoinGetAvailableGrpArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosArrayGetP
    - taosArrayClear
    - taosArrayGetSize
    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:1577,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1580,1
    - Dst: mJoinGetAvailableGrpArray
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1580,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1582,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1585,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1585,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1587,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: 1593
      start: 1574
    functionDepth: 2
    functionLinenumber: 1574
    functionLinenumberEnd: 1593
    functionName: mJoinAddRowToHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tSimpleHashGet
    - MJ_ERR_RET
    - mJoinGetAvailableGrpArray
    - tSimpleHashPut
    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:1598,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1601,1
    - Dst: mJoinGetAvailableGrpArray
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1601,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1603,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1606,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1606,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1608,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: 1614
      start: 1595
    functionDepth: 2
    functionLinenumber: 1595
    functionLinenumberEnd: 1614
    functionName: mJoinAddRowToFullHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tSimpleHashGet
    - MJ_ERR_RET
    - mJoinGetAvailableGrpArray
    - tSimpleHashPut
    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:1619,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1624,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1626,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1630,1
    - Dst: mJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1630,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1632,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1634,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1640,1
    - Dst: mJoinAddRowToFullHash
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1616
    functionDepth: 3
    functionLinenumber: 1616
    functionLinenumberEnd: 1645
    functionName: mJoinCreateFullBuildTbHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - mJoinCopyKeyColsDataToBuf
    - taosArrayGet
    - mJoinSetKeyColsData
    - mJoinAddRowToFullHash
    - tSimpleHashClear
    - MJ_ERR_RET
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    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:1650,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1655,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1657,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1662,1
    - Dst: mJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1662,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1664,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1666,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1670,1
    - Dst: mJoinAddRowToHash
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1647
    functionDepth: 3
    functionLinenumber: 1647
    functionLinenumberEnd: 1675
    functionName: mJoinCreateBuildTbHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - mJoinCopyKeyColsDataToBuf
    - taosArrayGet
    - mJoinSetKeyColsData
    - tSimpleHashClear
    - MJ_ERR_RET
    - taosArrayGetSize
    - mJoinAddRowToHash
    - GRP_REMAIN_ROWS
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinCreateBuildTbHash(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyCreatedBlks
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1682,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1677
    functionDepth: 2
    functionLinenumber: 1677
    functionLinenumberEnd: 1684
    functionName: mJoinResetGroupTableCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinDestroyCreatedBlks
    - tSimpleHashClear
    linkageType: ''
    returnType: void
    signature: void mJoinResetGroupTableCtx(SMJoinTableCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1686
    functionDepth: 3
    functionLinenumber: 1686
    functionLinenumberEnd: 1693
    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: 1702
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1702
    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:1710,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1713,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1716,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1721,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1725,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1728,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pCtx
    - pCache
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinWinCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1730
    functionName: mWinJoinResetWindowCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - blockDataCleanup
    - taosArrayClear
    - taosArrayGetSize
    - TSWAP
    - 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:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1732
    functionDepth: 2
    functionLinenumber: 1732
    functionLinenumberEnd: 1740
    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:1744,1
    - Dst: mJoinResetWindowCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1742
    functionDepth: 3
    functionLinenumber: 1742
    functionLinenumberEnd: 1748
    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:1753,1
    - Dst: mJoinResetTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1754,1
    - Dst: mJoinResetCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1750
    functionDepth: 4
    functionLinenumber: 1750
    functionLinenumberEnd: 1762
    functionName: mJoinResetOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinResetTableCtx
    - mJoinResetCtx
    linkageType: ''
    returnType: void
    signature: void mJoinResetOperator(struct SOperatorInfo* pOperator)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1770,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1770,1
    - Dst: mJoinResetOperator
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1773,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1774,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1774,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1780,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1788,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1795,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1797,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1797,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1799,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1810,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1764
    functionDepth: 5
    functionLinenumber: 1764
    functionLinenumberEnd: 1819
    functionName: mJoinMainProcess
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doFilter
    - mJoinResetOperator
    - qDebug
    - T_LONG_JMP
    - GET_TASKID
    - qError
    - taosGetTimestampUs
    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:1823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppArray
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1824
    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:1830,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1831,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1832,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1834,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1835,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1836,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1837,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1838,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1840,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1826
    functionDepth: 2
    functionLinenumber: 1826
    functionLinenumberEnd: 1842
    functionName: destroyMergeJoinTableCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tSimpleHashCleanup
    - mJoinDestroyCreatedBlks
    - taosArrayDestroyEx
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyMergeJoinTableCtx(SMJoinTableCtx* pTable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1847,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1850,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1854,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1858,1
    - Dst: destroyMergeJoinTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1862,1
    - Dst: destroyMergeJoinTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1863,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1844
    functionDepth: 3
    functionLinenumber: 1844
    functionLinenumberEnd: 1866
    functionName: destroyMergeJoinOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - destroyMergeJoinTableCtx
    - mJoinDestroyCtx
    - 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:1874,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1874,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1881,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1881,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1888,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1888,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1892,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1893,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1896,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1896,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - pJoin
    - pJoinNode
    - pTaskInfo
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1868
    functionDepth: 16
    functionLinenumber: 1868
    functionLinenumberEnd: 1905
    functionName: mJoinHandleConds
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - filterInitFromNode
    - MJ_ERR_RET
    - 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: 1942
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1942
    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:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1944
    functionDepth: 5
    functionLinenumber: 1944
    functionLinenumberEnd: 1947
    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:1952,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1958,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1964,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1971,1
    - Dst: mJoinInitDownstreamInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1971,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1973,1
    - Dst: mJoinSetBuildAndProbeTable
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1976,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1978,1
    - Dst: mJoinHandleConds
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1978,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1980,1
    - Dst: mJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1980,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1981,1
    - Dst: mJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1981,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1983,1
    - Dst: mJoinInitCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1983,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1984,1
    - Dst: mJoinSetImplFp
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1984,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1986,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1989,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1990,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1990,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1993,1
    - Dst: destroyMergeJoinOperator
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2005,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2007,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2009,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pJoinNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SSortMergeJoinPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1949
    functionDepth: 17
    functionLinenumber: 1949
    functionLinenumberEnd: 2014
    functionName: createMergeJoinOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 3
    functionsReached:
    - mJoinInitCtx
    - mJoinInitTableInfo
    - MJ_ERR_JRET
    - setOperatorInfo
    - taosMemoryFree
    - mJoinHandleConds
    - appendDownstream
    - QRY_PARAM_CHECK
    - destroyOperatorAndDownstreams
    - mJoinSetImplFp
    - setOperatorResetStateFn
    - destroyMergeJoinOperator
    - createOperatorFpSet
    - taosMemoryCalloc
    - mJoinInitDownstreamInfo
    - mJoinSetBuildAndProbeTable
    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: 50
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: createOperatorFpSet
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 13
    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: []
    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: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    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: 2
    argCount: 2
    argNames:
    - pOperator
    - resetFn
    argTypes:
    - SOperatorInfo*
    - __optr_reset_state_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: setOperatorResetStateFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 13
    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:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    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:68,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/operator.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p
    - pDownstream
    - num
    argTypes:
    - SOperatorInfo*
    - SOperatorInfo**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: appendDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 13
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendDownstream(SOperatorInfo* p, SOperatorInfo** pDownstream,
      int32_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/operator.c:81,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/operator.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: setOperatorCompleted
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 16
    functionsReached:
    - setTaskStatus
    - taosGetTimestampUs
    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: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: setOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 13
    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: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numOfTables
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: getQuerySupportBufSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getQuerySupportBufSize(size_t numOfTables)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getQuerySupportBufSize
      Src: /src/tdengine/source/libs/executor/src/operator.c:111,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/operator.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - numOfTables
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: checkForQueryBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - getQuerySupportBufSize
    - atomic_val_compare_exchange_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkForQueryBuf(size_t numOfTables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getQuerySupportBufSize
      Src: /src/tdengine/source/libs/executor/src/operator.c:137,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/operator.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - numOfTables
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: releaseQueryBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - getQuerySupportBufSize
    - atomic_add_fetch_64
    linkageType: ''
    returnType: void
    signature: void releaseQueryBuf(size_t numOfTables)
  - 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: 2
    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:
    - qError
    - traverseOperatorTree
    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: 80
    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:357,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:361,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:362,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:362,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:366,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:369,1
    - Dst: createTableMergeScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:373,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:376,1
    - Dst: createExchangeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:383,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:387,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:390,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:390,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:395,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:399,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:400,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:400,1
    - Dst: createTmqScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:405,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:408,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:414,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:417,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:417,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:421,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:425,1
    - Dst: createSysTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:429,1
    - Dst: createSysTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:431,1
    - Dst: createTableCountScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:435,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:438,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:441,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:441,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:445,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:448,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:453,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:457,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:457,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:458,1
    - Dst: createTagScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:469,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:473,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:478,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:481,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:481,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/operator.c:486,1
    - Dst: SExecTaskInfo*::storageAPI::metaFn::getChildTableList
      Src: /src/tdengine/source/libs/executor/src/operator.c:487,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:490,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:491,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/operator.c:495,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:497,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:502,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:505,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:506,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:511,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:513,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:516,1
    - Dst: createDataBlockInfoScanOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:521,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:524,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:529,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:532,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:532,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:536,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:540,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:544,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:547,1
    - Dst: createCacherowsScanOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:551,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:553,1
    - Dst: createProjectOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:558,1
    - Dst: createVirtualTableMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:561,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/operator.c:576,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:577,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/operator.c:585,1
    - Dst: createOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:586,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:589,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:591,1
    - Dst: createProjectOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:598,1
    - Dst: createGroupOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:602,1
    - Dst: createAggregateOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:604,1
    - Dst: createIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:608,1
    - Dst: createMergeAlignedIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:611,1
    - Dst: createMergeIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:614,1
    - Dst: createSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:616,1
    - Dst: createGroupSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:618,1
    - Dst: createMultiwayMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:621,1
    - Dst: createSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:624,1
    - Dst: createPartitionOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:626,1
    - Dst: createStatewindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:629,1
    - Dst: createMergeJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:631,1
    - Dst: createHashJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:633,1
    - Dst: createFillOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:635,1
    - Dst: createIndefinitOutputOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:637,1
    - Dst: createTimeSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:639,1
    - Dst: createForecastOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:641,1
    - Dst: createImputationOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:643,1
    - Dst: createEventwindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:645,1
    - Dst: createGroupCacheOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:647,1
    - Dst: createDynQueryCtrlOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:649,1
    - Dst: createCountwindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:651,1
    - Dst: createAnomalywindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:653,1
    - Dst: createVirtualTableMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:661,1
    - Dst: createExternalWindowOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:663,1
    - Dst: createMergeAlignedExternalWindowOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:665,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:670,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:672,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:673,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:677,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 345
    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: 684
      start: 287
    functionDepth: 18
    functionLinenumber: 287
    functionLinenumberEnd: 684
    functionName: createOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 1
    functionsReached:
    - tableListCreate
    - createTableCountScanOperatorInfo
    - taosArrayDestroy
    - createGroupOperatorInfo
    - tstrerror
    - taosArrayInit
    - createTmqScanOperatorInfo
    - tableListAddTableInfo
    - GET_TASKID
    - SExecTaskInfo*::storageAPI::metaFn::getChildTableList
    - createDynQueryCtrlOperatorInfo
    - createTableScanOperatorInfo
    - createSortOperatorInfo
    - createVirtualTableMergeOperatorInfo
    - nodesListGetNode
    - createMergeAlignedIntervalOperatorInfo
    - createProjectOperatorInfo
    - createCountwindowOperatorInfo
    - destroyOperator
    - taosArrayGet
    - createGroupCacheOperatorInfo
    - tableListDestroy
    - createTagScanOperatorInfo
    - createGroupSortOperatorInfo
    - createPartitionOperatorInfo
    - createFillOperatorInfo
    - createMultiwayMergeOperatorInfo
    - createExternalWindowOperator
    - qError
    - taosMemoryCalloc
    - createSysTableScanOperatorInfo
    - createHashJoinOperatorInfo
    - createIndefinitOutputOperatorInfo
    - createScanTableListInfo
    - createCacherowsScanOperator
    - createMergeJoinOperatorInfo
    - createTableMergeScanOperatorInfo
    - createStatewindowOperatorInfo
    - createEventwindowOperatorInfo
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - createTimeSliceOperatorInfo
    - createMergeIntervalOperatorInfo
    - initQueriedTableSchemaInfo
    - createExchangeOperatorInfo
    - createForecastOperatorInfo
    - createAnomalywindowOperatorInfo
    - createDataBlockInfoScanOperator
    - nodeType
    - createSessionAggOperatorInfo
    - createIntervalOperatorInfo
    - createAggregateOperatorInfo
    - createImputationOperatorInfo
    - createOperator
    - createMergeAlignedExternalWindowOperator
    - taosMemoryFree
    - LIST_LENGTH
    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:691,1
    - Dst: freeResetOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:692,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:696,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/operator.c:699,1
    - Dst: SOperatorInfo*::fpSet::closeFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:704,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/operator.c:708,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/operator.c:709,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 686
    functionDepth: 5
    functionLinenumber: 686
    functionLinenumberEnd: 710
    functionName: destroyOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 6
    functionsReached:
    - destroyOperator
    - taosMemoryFreeClear
    - freeResetOperatorParams
    - cleanupExprSupp
    - SOperatorInfo*::fpSet::closeFn
    linkageType: ''
    returnType: void
    signature: void destroyOperator(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:715,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/operator.c:722,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pOperator
    - downstreams
    - num
    argTypes:
    - SOperatorInfo*
    - SOperatorInfo**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 712
    functionDepth: 6
    functionLinenumber: 712
    functionLinenumberEnd: 727
    functionName: destroyOperatorAndDownstreams
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 13
    functionsReached:
    - taosMemoryFreeClear
    - destroyOperator
    linkageType: ''
    returnType: void
    signature: void destroyOperatorAndDownstreams(SOperatorInfo* pOperator, SOperatorInfo**
      downstreams, int32_t num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/operator.c:731,1
    - Dst: SOperatorInfo*::fpSet::getExplainFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:744,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:746,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/operator.c:746,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:746,1
    - Dst: getOperatorExplainExecInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:753,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - operatorInfo
    - pExecInfoList
    argTypes:
    - SOperatorInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 761
    functionName: getOperatorExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - tstrerror
    - GET_TASKID
    - getOperatorExplainExecInfo
    - SOperatorInfo*::fpSet::getExplainFn
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getOperatorExplainExecInfo(SOperatorInfo* operatorInfo, SArray*
      pExecInfoList)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:765,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:775,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/operator.c:781,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/operator.c:781,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:783,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/operator.c:787,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/operator.c:789,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/operator.c:795,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:801,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/operator.c:804,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:812,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/operator.c:814,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/operator.c:819,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:829,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SOperatorParam*
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 834
    functionName: mergeOperatorParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayAddAll
    - tSimpleHashGet
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - qError
    - taosMemoryFree
    - tSimpleHashInit
    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:852,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:861,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/operator.c:874,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/operator.c:876,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:882,1
    - Dst: mergeOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:888,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:897,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 3
    argNames:
    - pOperator
    - pInput
    - type
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SOperatorParamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 836
    functionDepth: 5
    functionLinenumber: 836
    functionLinenumberEnd: 901
    functionName: setOperatorParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 3
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - memset
    - mergeOperatorParams
    - freeResetOperatorParams
    - taosArrayGetSize
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t setOperatorParams(struct SOperatorInfo* pOperator, SOperatorParam*
      pInput, SOperatorParamType type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstreamImpl
      Src: /src/tdengine/source/libs/executor/src/operator.c:905,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/operator.c:907,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:909,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 903
    functionDepth: 5
    functionLinenumber: 903
    functionLinenumberEnd: 913
    functionName: getNextBlockFromDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 14
    functionsReached:
    - qError
    - blockDataCheck
    - tstrerror
    - getNextBlockFromDownstreamImpl
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getNextBlockFromDownstream(struct SOperatorInfo* pOperator,
      int32_t idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstreamImpl
      Src: /src/tdengine/source/libs/executor/src/operator.c:917,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/operator.c:919,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:921,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 915
    functionDepth: 5
    functionLinenumber: 915
    functionLinenumberEnd: 925
    functionName: getNextBlockFromDownstreamRemain
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 2
    functionsReached:
    - qError
    - blockDataCheck
    - tstrerror
    - getNextBlockFromDownstreamImpl
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getNextBlockFromDownstreamRemain(struct SOperatorInfo*
      pOperator, int32_t idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/operator.c:928,1
    - Dst: setOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:931,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:932,1
    - Dst: struct SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:933,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:934,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:938,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:938,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/operator.c:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pRes
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 927
    functionDepth: 6
    functionLinenumber: 927
    functionLinenumberEnd: 944
    functionName: optrDefaultGetNextExtFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - struct SOperatorInfo*::fpSet::getNextFn
    - tstrerror
    - QUERY_CHECK_CODE
    - T_LONG_JMP
    - setOperatorParams
    - QRY_PARAM_CHECK
    - qError
    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:947,1
    - Dst: struct SOperatorInfo*::fpSet::notifyFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:949,1
    - Dst: optrDefaultNotifyFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:954,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/operator.c:964,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - pParam
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 946
    functionDepth: 6
    functionLinenumber: 946
    functionLinenumberEnd: 968
    functionName: optrDefaultNotifyFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 1
    functionsReached:
    - optrDefaultNotifyFn
    - struct SOperatorInfo*::fpSet::notifyFn
    - T_LONG_JMP
    - setOperatorParams
    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:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 975
    functionName: getOperatorResultBlockId
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 2
    functionsReached:
    - getOperatorResultBlockId
    linkageType: ''
    returnType: int16_t
    signature: int16_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: 979
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 979
    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:982,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SOptrBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 984
    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: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/operator.c:991,1
    - Dst: cleanupExprSuppWithoutFilter
      Src: /src/tdengine/source/libs/executor/src/operator.c:992,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:993,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:994,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/operator.c:995,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:996,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:1000,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:1000,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: 1004
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 1004
    functionName: resetAggSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 6
    functionsReached:
    - cleanupAggSup
    - tstrerror
    - QUERY_CHECK_CODE
    - qError
    - createExprInfo
    - cleanupExprSuppWithoutFilter
    - initAggSup
    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:1010,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:1011,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1012,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/operator.c:1013,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1014,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:1018,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:1018,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: 1022
      start: 1006
    functionDepth: 3
    functionLinenumber: 1006
    functionLinenumberEnd: 1022
    functionName: resetExprSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 6
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - createExprInfo
    - initExprSupp
    - cleanupExprSuppWithoutFilter
    - qError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t resetExprSupp(SExprSupp* pExprSupp, SExecTaskInfo* pTaskInfo,
      SNodeList* pNodeList,\n                      SNodeList* pGroupKeys, SFunctionStateStore*
      pStore)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:61,1
    - Dst: destroySqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:62,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:63,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:65,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 76
    functionName: resetSortOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - createSqlFunctionCtx
    - tsortDestroySortHandle
    - taosMemoryFreeClear
    - resetBasicOperatorState
    - destroySqlFunctionCtx
    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:80,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:85,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:86,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:96,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:97,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:102,1
    - Dst: calcSortOperMaxTupleLength
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:107,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:117,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:118,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:119,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:120,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:126,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:127,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:129,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:130,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:134,1
    - Dst: makeColsNodeArrFromSortKeys
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:139,1
    - Dst: makeColumnArrayFromList
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:142,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:144,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:148,1
    - Dst: extractKeysLen
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:149,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:150,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:154,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:164,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:166,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:175,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:177,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:178,1
    - Dst: destroySortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:188,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:190,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 87
    argCount: 4
    argNames:
    - downstream
    - pSortNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SSortPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 79
    functionDepth: 16
    functionLinenumber: 79
    functionLinenumberEnd: 193
    functionName: createSortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 4
    functionsReached:
    - destroySortOperatorInfo
    - createSortInfo
    - nodesClearList
    - createSqlFunctionCtx
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - makeColsNodeArrFromSortKeys
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - taosArrayPop
    - initLimitInfo
    - calcSortOperMaxTupleLength
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - extractColMatchInfo
    - filterInitFromNode
    - makeColumnArrayFromList
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - extractKeysLen
    - appendDownstream
    - TSDB_CHECK_NULL
    - QUERY_CHECK_NULL
    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:197,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:198,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:203,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:205,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:208,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:211,1
    - Dst: tsortGetBlockInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pBlock
    - pTupleHandle
    argTypes:
    - SSDataBlock*
    - STupleHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 227
    functionName: appendOneRowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - tsortGetBlockInfo
    - colDataSetNULL
    - colDataSetVal
    - taosArrayGetSize
    - tsortGetValue
    - tsortIsNullVal
    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:236,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:241,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:243,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:243,1
    - Dst: tsortCompAndBuildKeys
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:254,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - pHandle
    - pInfo
    - pBlock
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - SSortOperatorInfo*
    - SSDataBlock*
    - STupleHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 282
    functionName: nextTupleWithGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - calcGroupId
    - tstrerror
    - tsortNextTuple
    - QRY_PARAM_CHECK
    - tsortCompAndBuildKeys
    - qError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t nextTupleWithGroupId(SSortHandle* pHandle, SSortOperatorInfo*
      pInfo, SSDataBlock* pBlock,\n                                    STupleHandle**
      pTupleHandle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:286,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:287,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:294,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:299,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:300,1
    - Dst: nextTupleWithGroupId
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:304,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:306,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:309,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:314,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:315,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:322,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:325,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:326,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:329,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:331,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:332,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:334,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:335,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:337,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:338,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:340,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:341,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:350,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:355,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:355,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:357,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 6
    argNames:
    - pHandle
    - pDataBlock
    - capacity
    - pColMatchInfo
    - pInfo
    - pResBlock
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t
    - SArray*
    - SSortOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 284
    functionDepth: 5
    functionLinenumber: 284
    functionLinenumberEnd: 359
    functionName: getSortedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - colDataAssign
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataCleanup
    - appendOneRowToDataBlock
    - tsortNextTuple
    - QRY_PARAM_CHECK
    - TSDB_CHECK_CODE
    - taosArrayGetSize
    - QUERY_CHECK_NULL
    - nextTupleWithGroupId
    - blockDataDestroy
    - qError
    - blockDataEnsureCapacity
    - tsortGetSortedDataBlock
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getSortedBlockData(SSortHandle* pHandle, SSDataBlock* pDataBlock,
      int32_t capacity, SArray* pColMatchInfo,\n                                SSortOperatorInfo*
      pInfo, SSDataBlock** pResBlock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:363,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:365,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:367,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 373
    functionName: loadNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - blockDataCheck
    - qError
    - tstrerror
    - SOperatorInfo*::fpSet::getNextFn
    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:380,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:382,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pBlock
    - param
    argTypes:
    - SSDataBlock*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 376
    functionDepth: 5
    functionLinenumber: 376
    functionLinenumberEnd: 387
    functionName: applyScalarFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - projectApplyFunctions
    - T_LONG_JMP
    - GET_STM_RTINFO
    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:396,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:400,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:404,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:406,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:408,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:410,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:411,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:416,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:417,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:421,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:422,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:424,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:431,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:431,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 389
    functionDepth: 9
    functionLinenumber: 389
    functionLinenumberEnd: 436
    functionName: doOpenSortOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - tsortCreateSortHandle
    - tstrerror
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - T_LONG_JMP
    - qError
    - QUERY_CHECK_NULL
    - OPTR_IS_OPENED
    - OPTR_SET_OPENED
    - tsortAddSource
    - taosMemoryCalloc
    - taosGetTimestampUs
    - tsortOpen
    - tsortSetFetchRawDataFp
    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:439,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:449,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:450,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:455,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:457,1
    - Dst: getSortedBlockData
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:460,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:462,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:464,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:468,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:469,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:471,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:476,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:478,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:487,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:490,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:490,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:492,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 438
    functionDepth: 6
    functionLinenumber: 438
    functionLinenumberEnd: 495
    functionName: doSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - applyLimitOffset
    - setOperatorCompleted
    - blockDataGetNumOfRows
    - T_LONG_JMP
    - getSortedBlockData
    - resetLimitInfoForNextGroup
    - QRY_PARAM_CHECK
    - qError
    - tsortIsClosed
    - SOperatorInfo*::fpSet::_openFn
    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:499,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:502,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:503,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:504,1
    - Dst: destroySortOpGroupIdCalc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:505,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 507
    functionName: destroySortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 1
    functionsReached:
    - destroySortOpGroupIdCalc
    - taosArrayDestroy
    - tsortDestroySortHandle
    - taosMemoryFreeClear
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroySortOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:510,1
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 521
    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:525,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:527,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:535,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pSortOperInfo
    - pSortKeys
    argTypes:
    - SSortOperatorInfo*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 540
    functionName: calcSortOperMaxTupleLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - nodesListGetNode
    - taosArrayGetSize
    - LIST_LENGTH
    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:544,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:545,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pCalc
    argTypes:
    - SSortOpGroupIdCalc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 548
    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:570,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:572,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:573,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:579,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:584,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:591,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:596,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:607,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:609,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:614,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:619,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:624,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:635,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 6
    argNames:
    - pHandle
    - pDataBlock
    - capacity
    - pColMatchInfo
    - pInfo
    - pResBlock
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t
    - SArray*
    - SGroupSortOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 568
    functionDepth: 4
    functionLinenumber: 568
    functionLinenumberEnd: 638
    functionName: getGroupSortedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - colDataAssign
    - taosArrayGet
    - blockDataCleanup
    - blockDataDestroy
    - tsortNextTuple
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - appendOneRowToDataBlock
    - blockDataEnsureCapacity
    - tsortGetSortedDataBlock
    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:652,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:660,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:661,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:664,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:665,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:681,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 684
    functionName: fetchNextGroupSortDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - SOperatorInfo*::fpSet::getNextFn
    - blockDataCheck
    - QRY_PARAM_CHECK
    - qError
    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:693,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:699,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:701,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:702,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:704,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:705,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:714,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 686
    functionDepth: 9
    functionLinenumber: 686
    functionLinenumberEnd: 721
    functionName: beginSortGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - tsortCreateSortHandle
    - tsortAddSource
    - taosMemoryCalloc
    - taosMemoryFree
    - tsortOpen
    - 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:726,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 723
    functionDepth: 3
    functionLinenumber: 723
    functionLinenumberEnd: 738
    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:741,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:751,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:752,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:757,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:759,1
    - Dst: beginSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:765,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:766,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:771,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:773,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:779,1
    - Dst: getGroupSortedBlockData
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:782,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:784,1
    - Dst: finishSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:792,1
    - Dst: beginSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:794,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:795,1
    - Dst: finishSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:797,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:798,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:806,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:806,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:808,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 740
    functionDepth: 10
    functionLinenumber: 740
    functionLinenumberEnd: 811
    functionName: doGroupSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - getNextBlockFromDownstream
    - tstrerror
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - beginSortGroup
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - getGroupSortedBlockData
    - finishSortGroup
    - qError
    - tsortIsClosed
    - SOperatorInfo*::fpSet::_openFn
    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: 818
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 818
    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:822,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:825,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:826,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:828,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 820
    functionDepth: 3
    functionLinenumber: 820
    functionLinenumberEnd: 832
    functionName: destroyGroupSortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - tsortDestroySortHandle
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyGroupSortOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:845,1
    - Dst: destroySqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:846,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:847,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:849,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 834
    functionDepth: 3
    functionLinenumber: 834
    functionLinenumberEnd: 855
    functionName: resetGroupSortOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - createSqlFunctionCtx
    - tsortDestroySortHandle
    - taosMemoryFreeClear
    - resetBasicOperatorState
    - destroySqlFunctionCtx
    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:859,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:863,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:864,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:875,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:876,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:881,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:882,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:884,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:886,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:887,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:889,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:890,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:896,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:898,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:900,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:901,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:903,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:906,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:908,1
    - Dst: destroyGroupSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:919,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:921,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 4
    argNames:
    - downstream
    - pSortPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SGroupSortPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 857
    functionDepth: 7
    functionLinenumber: 857
    functionLinenumberEnd: 923
    functionName: createGroupSortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 2
    functionsReached:
    - createSqlFunctionCtx
    - destroyGroupSortOperatorInfo
    - extractColMatchInfo
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - createDataBlockFromDescNode
    - initResultSizeInfo
    - appendDownstream
    - QRY_PARAM_CHECK
    - destroyOperatorAndDownstreams
    - createSortInfo
    - createExprInfo
    - TSDB_CHECK_CODE
    - setOperatorResetStateFn
    - createOperatorFpSet
    - taosMemoryCalloc
    - blockDataEnsureCapacity
    - QUERY_CHECK_NULL
    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:66,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:66,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:67,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:67,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:69,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:70,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:77,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: virtualScanloadNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosArrayGet
    - SOperatorInfo*::fpSet::getNextFn
    - blockDataCheck
    - VTS_ERR_JRET
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualScanloadNextDataBlock(void* param, SSDataBlock** ppBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:85,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:86,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:93,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:96,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:97,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:101,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:101,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: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:106,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pBlock
    - tsSlotId
    - startTs
    - endTs
    argTypes:
    - SSDataBlock*
    - col_id_t
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: getTimeWindowOfBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - GET_TYPED_DATA
    - colDataGetNumData
    - tstrerror
    - taosArrayGet
    - taosArrayGetSize
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTimeWindowOfBlock(SSDataBlock *pBlock, col_id_t tsSlotId,
      int64_t *startTs, int64_t *endTs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:121,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:125,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:125,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:127,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:127,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:129,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:131,1
    - Dst: getTimeWindowOfBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:131,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:132,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:141,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 143
    functionName: virtualScanloadNextDataBlockFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - createOneDataBlock
    - tstrerror
    - SOperatorInfo*::fpSet::getNextExtFn
    - qDebug
    - getTimeWindowOfBlock
    - blockDataCheck
    - VTS_ERR_JRET
    - qError
    - blockDataDestroy
    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:151,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:151,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:153,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:153,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:156,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:156,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:161,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:161,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:166,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:167,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - pMergeKeys
    - tsSlotId
    argTypes:
    - SNodeList**
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 145
    functionDepth: 6
    functionLinenumber: 145
    functionLinenumberEnd: 170
    functionName: makeTSMergeKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    - nodesDestroyNode
    - 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:174,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:178,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:182,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:183,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:184,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:185,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pVirtualScanInfo
    argTypes:
    - SVirtualTableScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: cleanUpVirtualScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tsortDestroySortHandle
    - taosArrayGet
    - taosArrayGetSize
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void cleanUpVirtualScanInfo(SVirtualTableScanInfo* pVirtualScanInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:198,1
    - Dst: cleanUpVirtualScanInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:204,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:205,1
    - Dst: makeTSMergeKey
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:205,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:206,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:207,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:208,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:210,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:210,1
    - Dst: tsortSetForceUsePQSort
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:213,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:214,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:217,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:218,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:234,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:234,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:235,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:236,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:237,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:241,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:242,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:250,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:251,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:256,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:256,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:257,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:257,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:260,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:260,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:265,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:265,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:267,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 191
    functionDepth: 9
    functionLinenumber: 191
    functionLinenumberEnd: 272
    functionName: createSortHandleFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - makeTSMergeKey
    - createSortInfo
    - tsortAddSource
    - tsortSetForceUsePQSort
    - taosArrayGet
    - QUERY_CHECK_NULL
    - VTS_ERR_JRET
    - taosMemoryCalloc
    - qError
    - taosArrayGetSize
    - cleanUpVirtualScanInfo
    - tsortOpen
    - tsortCreateSortHandle
    - nodesDestroyList
    - TSDB_CHECK_NULL
    - taosMemoryFree
    - tsortSetFetchRawDataFp
    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:283,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:283,1
    - Dst: tsortSetForceUsePQSort
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:286,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:287,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:292,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:292,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:294,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:303,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:304,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:309,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:309,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:313,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:313,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:317,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 274
    functionDepth: 9
    functionLinenumber: 274
    functionLinenumberEnd: 323
    functionName: createSortHandle
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - tsortCreateSortHandle
    - tstrerror
    - tsortSetFetchRawDataFp
    - taosMemoryFree
    - VTS_ERR_JRET
    - qError
    - tsortAddSource
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - SOperatorInfo*::fpSet::_openFn
    - tsortOpen
    - tsortSetForceUsePQSort
    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:334,1
    - Dst: createSortHandleFromParam
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:334,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:336,1
    - Dst: createSortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:336,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:342,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 325
    functionDepth: 10
    functionLinenumber: 325
    functionLinenumberEnd: 344
    functionName: openVirtualTableScanOperatorImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - createSortHandleFromParam
    - createSortHandle
    - VTS_ERR_JRET
    - qError
    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:349,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:353,1
    - Dst: openVirtualTableScanOperatorImpl
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:355,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:357,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:360,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 11
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: openVirtualTableScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - openVirtualTableScanOperatorImpl
    - VTS_ERR_RET
    - OPTR_IS_OPENED
    - OPTR_SET_OPENED
    - taosGetTimestampUs
    linkageType: ''
    returnType: int32_t
    signature: int32_t openVirtualTableScanOperator(SOperatorInfo* pOperator)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:371,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:372,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:373,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:373,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:378,1
    - Dst: tsortGetBlockId
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:387,1
    - Dst: tsortGetColNum
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:388,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:391,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:401,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:401,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:401,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:407,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:411,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:413,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:414,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:416,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:416,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:416,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - pInfo
    - pHandle
    - capacity
    - p
    argTypes:
    - SVirtualScanMergeOperatorInfo*
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 425
    functionName: doGetVtableMergedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - blockDataEmpty
    - taosArrayGet
    - VTS_ERR_RET
    - colDataSetVal
    - tsortIsNullVal
    - tsortNextTuple
    - tSimpleHashGet
    - taosArrayGetSize
    - colDataSetNItemsNull
    - tsortGetBlockId
    - qError
    - tsortGetValue
    - tsortGetColNum
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doGetVtableMergedBlockData(SVirtualScanMergeOperatorInfo*
      pInfo, SSortHandle* pHandle, int32_t capacity,\n                                          SSDataBlock*
      p)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:432,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:433,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:434,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:434,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:439,1
    - Dst: tsortGetColNum
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:449,1
    - Dst: tsortGetColumnInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:453,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:467,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:477,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:477,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:477,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:487,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:491,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:494,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:494,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 4
    argNames:
    - pInfo
    - pHandle
    - capacity
    - p
    argTypes:
    - SVirtualScanMergeOperatorInfo*
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 427
    functionDepth: 4
    functionLinenumber: 427
    functionLinenumberEnd: 503
    functionName: doGetVStableMergedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - blockDataEmpty
    - taosArrayGet
    - VTS_ERR_RET
    - tsortGetColumnInfo
    - colDataSetVal
    - tsortNextTuple
    - tsortIsNullVal
    - taosArrayGetSize
    - colDataSetNItemsNull
    - tsortGetValue
    - tsortGetColNum
    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:514,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:514,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:515,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:522,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:522,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:527,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:527,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:529,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:534,1
    - Dst: doGetVStableMergedBlockData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:534,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:536,1
    - Dst: doGetVtableMergedBlockData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:536,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:539,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:539,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:540,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 505
    functionDepth: 5
    functionLinenumber: 505
    functionLinenumberEnd: 545
    functionName: doVirtualTableMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - doGetVtableMergedBlockData
    - doGetVStableMergedBlockData
    - copyDataBlock
    - qDebug
    - blockDataCleanup
    - VTS_ERR_RET
    - GET_TASKID
    - blockDataEnsureCapacity
    - tsortGetSortedDataBlock
    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:561,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:562,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:571,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:572,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:573,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:575,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:576,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:578,1
    - Dst: IS_JSON_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:578,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:578,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:579,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:583,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:586,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:587,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:590,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:591,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:602,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:602,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: 605
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 605
    functionName: vtableAddTagPseudoColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - colDataSetNItems
    - QUERY_CHECK_CODE
    - taosArrayGet
    - IS_JSON_NULL
    - colDataIsNull_s
    - colDataGetData
    - colDataSetVal
    - VTS_ERR_JRET
    - qError
    - colDataSetNNULL
    - TSDB_CHECK_NULL
    - colInfoDataCleanup
    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:612,1
    - Dst: vtableAddTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:612,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: 616
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 616
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:630,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:630,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:637,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:637,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:639,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:639,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:643,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:649,1
    - Dst: doVirtualTableMerge
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:649,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:651,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:662,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:662,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:663,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:663,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:671,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:671,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:673,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 618
    functionDepth: 6
    functionLinenumber: 618
    functionLinenumberEnd: 674
    functionName: virtualTableGetNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doFilter
    - SOperatorInfo*::fpSet::getNextExtFn
    - setOperatorCompleted
    - T_LONG_JMP
    - SOperatorInfo*::fpSet::getNextFn
    - doSetTagColumnData
    - VTS_ERR_JRET
    - doVirtualTableMerge
    - qError
    - SOperatorInfo*::fpSet::_openFn
    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:677,1
    - Dst: TsdReader*::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:680,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:685,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:688,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pBase
    - pAPI
    argTypes:
    - STableScanBase*
    - TsdReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 676
    functionDepth: 4
    functionLinenumber: 676
    functionLinenumberEnd: 690
    functionName: destroyTableScanBase
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - cleanupQueryTableDataCond
    - cleanupExprSupp
    - taosLRUCacheCleanup
    - TsdReader*::tsdReaderClose
    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:698,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:701,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:703,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:706,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:709,1
    - Dst: destroyTableScanBase
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:711,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:713,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:716,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:717,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:718,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:719,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:721,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 725
    functionName: destroyVirtualTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - destroyTableScanBase
    - tsortDestroySortHandle
    - taosArrayGet
    - tSimpleHashCleanup
    - taosMemoryFreeClear
    - taosArrayGetSize
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyVirtualTableScanOperatorInfo(void* param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:728,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:739,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:739,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:740,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:743,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:744,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:751,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:751,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:760,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:763,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:763,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - pNodeList
    - pSlotMap
    - tsSlotId
    - orgTsSlotId
    - tagBlockId
    argTypes:
    - SNodeList*
    - SSHashObj**
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 766
    functionName: extractColMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrerror
    - tSimpleHashCleanup
    - tSimpleHashPut
    - VTS_ERR_JRET
    - taosGetDefaultHashFunction
    - qError
    - TSDB_CHECK_NULL
    - LIST_LENGTH
    - tSimpleHashInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractColMap(SNodeList* pNodeList, SSHashObj** pSlotMap, int32_t
      *tsSlotId, int32_t *orgTsSlotId, int32_t *tagBlockId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:775,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:777,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:782,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:785,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:786,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:787,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:792,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:793,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:794,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:795,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:797,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:807,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 768
    functionDepth: 3
    functionLinenumber: 768
    functionLinenumberEnd: 811
    functionName: resetVirtualTableMergeOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tsortDestroySortHandle
    - tstrerror
    - createDataBlockFromDescNode
    - taosArrayGet
    - resetBasicOperatorState
    - taosArrayGetSize
    - qError
    - TSDB_CHECK_NULL
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetVirtualTableMergeOperState(SOperatorInfo* pOper)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:819,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:820,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:824,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:825,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:833,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:834,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:836,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:844,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:844,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:846,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:848,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:851,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:852,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:852,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:854,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:858,1
    - Dst: makeTSMergeKey
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:858,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:859,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:860,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:864,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:867,1
    - Dst: extractColMap
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:868,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:872,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:872,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:875,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:876,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:878,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:881,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:883,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:886,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:886,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:891,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:897,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:897,1
    - Dst: destroyVirtualTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:900,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:902,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 56
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pVirtualScanPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SVirtualScanPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 813
    functionDepth: 16
    functionLinenumber: 813
    functionLinenumberEnd: 906
    functionName: createVirtualTableMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - makeTSMergeKey
    - createSortInfo
    - taosLRUCacheInit
    - extractColMap
    - createSqlFunctionCtx
    - setOperatorInfo
    - initResultSizeInfo
    - getProperSortPageSize
    - createExprInfo
    - VTS_ERR_JRET
    - createOperatorFpSet
    - taosMemoryCalloc
    - qError
    - createDataBlockFromDescNode
    - taosArrayGetSize
    - TSDB_CHECK_CODE
    - blockDataEnsureCapacity
    - filterInitFromNode
    - destroyVirtualTableScanOperatorInfo
    - nodesDestroyList
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - TSDB_CHECK_NULL
    - QUERY_CHECK_NULL
    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:58,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:59,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:61,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:62,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:63,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: destroyCountWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - cleanupAggSup
    - taosMemoryFreeClear
    - cleanupExprSupp
    - colDataDestroy
    - cleanupBasicInfo
    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: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    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:72,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:76,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:76,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:79,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:82,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pCountSup
    argTypes:
    - SCountWindowSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: getCountWinStateInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - 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:93,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:94,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:96,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - pExprSup
    - pCountSup
    - pResult
    - ppResBuff
    argTypes:
    - SExprSupp*
    - SCountWindowSupp*
    - SResultRow**
    - SCountWindowResult**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: setCountWindowOutputBuff
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - getCountWinStateInfo
    - tstrerror
    - setResultRowInitCtx
    - qError
    - QUERY_CHECK_NULL
    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:107,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: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:119,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:120,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:122,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:125,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:125,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:126,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:132,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:133,1
    - Dst: setCountWindowOutputBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:138,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:140,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:141,1
    - Dst: updateCountWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:144,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:151,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:152,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:154,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:167,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:168,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:170,1
    - Dst: clearWinStateBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:172,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:174,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:179,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:180,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:184,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:184,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 188
    functionName: doCountWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - taosArrayGet
    - setCountWindowOutputBuff
    - updateTimeWindowInfo
    - T_LONG_JMP
    - updateCountWindowInfo
    - applyAggFunctionOnPartialTuples
    - taosArrayGetSize
    - clearResultRowInitFlag
    - clearWinStateBuff
    - copyResultrowToDataBlock
    - doUpdateNumOfRows
    - qError
    - blockDataEnsureCapacity
    - QUERY_CHECK_NULL
    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:195,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:198,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:199,1
    - Dst: setCountWindowOutputBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:204,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:205,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:209,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:210,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:212,1
    - Dst: clearWinStateBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:214,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:215,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:217,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:218,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:222,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:223,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: 225
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: buildCountResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - setCountWindowOutputBuff
    - T_LONG_JMP
    - taosArrayGetSize
    - clearResultRowInitFlag
    - clearWinStateBuff
    - copyResultrowToDataBlock
    - doUpdateNumOfRows
    - qError
    - blockDataEnsureCapacity
    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:236,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:241,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:252,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:253,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:255,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:256,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:260,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:261,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:262,1
    - Dst: buildCountResult
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:270,1
    - Dst: doCountWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:278,1
    - Dst: buildCountResult
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:287,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:291,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:291,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 227
    functionDepth: 6
    functionLinenumber: 227
    functionLinenumberEnd: 297
    functionName: countWindowAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - doCountWindowAggImpl
    - GET_STM_RTINFO
    - tstrerror
    - QUERY_CHECK_CODE
    - blockDataUpdateTsWindow
    - blockDataCleanup
    - T_LONG_JMP
    - buildCountResult
    - projectApplyFunctions
    - qError
    - getNextBlockFromDownstream
    - 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:305,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:312,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:313,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:316,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 325
    functionName: resetCountWindowOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - resetExprSupp
    - resetBasicOperatorState
    - resetAggSup
    - initExecTimeWindowInfo
    - colDataDestroy
    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:329,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:333,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:334,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:350,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:351,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:352,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:353,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:359,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:360,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:362,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:364,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:366,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:368,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:369,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:370,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:372,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:373,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:375,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:387,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:396,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:398,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:400,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:401,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:403,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:405,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:407,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:408,1
    - Dst: destroyCountWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:418,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 327
    functionDepth: 16
    functionLinenumber: 327
    functionLinenumberEnd: 424
    functionName: createCountwindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayInit_s
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - initAggSup
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - initExprSupp
    - blockDataEnsureCapacity
    - filterInitFromNode
    - initResultRowInfo
    - initExecTimeWindowInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - destroyCountWindowOperatorInfo
    - QUERY_CHECK_NULL
    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
    - qError
    - taosCloseFile
    - 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:
    - taosMemoryMalloc
    - IS_VAR_DATA_TYPE
    - LIST_LENGTH
    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: 33
    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: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:87,1
    - Dst: tsnprintf
      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:
    - taosMemoryMalloc
    - tsnprintf
    - taosMemoryFree
    - qDebug
    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:
    - tsem_destroy
    - qError
    - 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:
    - taosArrayDestroy
    - freeSGcFileCacheCtx
    - tSimpleHashCleanup
    - taosArrayDestroyEx
    - taosHashCleanup
    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:
    - freeSGcDownstreamCtx
    - taosMemoryFree
    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
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - qError
    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:
    - blockDataDeepCleanup
    - taosHashCleanup
    - taosHashIterate
    - freeGcBlockInList
    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:
    - destroySGcBlkCacheInfo
    - logGroupCacheExecInfo
    - destroyGroupCacheDownstreamCtx
    - taosMemoryFreeClear
    - taosHashCleanup
    - taosMemoryFree
    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:
    - QRY_ERR_RET
    - qTrace
    - taosThreadMutexInit
    - taosOpenFile
    - qError
    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:
    - taosHashSetFreeFp
    - taosHashGet
    - QRY_ERR_RET
    - taosHashInit
    - initOpenCacheFile
    - snprintf
    - taosHashPut
    - taosGetDefaultHashFunction
    - qError
    - taosThreadMutexLock
    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:
    - taosLSeekFile
    - atomic_val_compare_exchange_32
    - taosWriteFile
    - qTrace
    - tstrerror
    - taosHashRelease
    - taosHashAcquire
    - taosHashRemove
    - qError
    - releaseFdToFileCtx
    - 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:
    - saveBlocksToDisk
    - QRY_ERR_RET
    - taosHashGet
    - qDebug
    - freeGcBlkBufInfo
    - taosWUnLockLatch
    - taosHashPut
    - taosWLockLatch
    - taosHashGetSize
    - qError
    - atomic_val_compare_exchange_32
    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:
    - taosHashGet
    - qTrace
    - removeGroupCacheFile
    - snprintf
    - taosRemoveFile
    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
    - blockDataToBuf
    - QRY_ERR_RET
    - blockDataGetSize
    - groupCacheSwitchNewFile
    - atomic_add_fetch_64
    - atomic_fetch_add_64
    - taosArrayGetSize
    - qError
    - addBlkToDirtyBufList
    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:
    - taosArrayGet
    - qError
    - 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
    - taosArrayDup
    - TAOS_MEMCPY
    - blockDataDeepClear
    - taosMemoryFree
    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
    - taosWUnLockLatch
    - taosArrayGetSize
    - taosWLockLatch
    - taosArrayPop
    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:
    - taosWLockLatch
    - taosWUnLockLatch
    - blockDataDeepCleanup
    - taosArrayPush
    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:
    - taosLSeekFile
    - taosReadFile
    - taosMemoryMalloc
    - qTrace
    - taosMemoryFreeClear
    - qError
    - releaseFdToFileCtx
    - 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
    - taosHashPut
    - taosHashAcquire
    - taosMemoryFree
    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:
    - snprintf
    - taosGetPId
    - strlen
    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
    - QRY_ERR_RET
    - taosArrayInit
    - initGcVgroupCtx
    - tSimpleHashGet
    - tSimpleHashPut
    - qError
    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:
    - QRY_ERR_RET
    - taosArrayGet
    - mergeOperatorParams
    - taosWUnLockLatch
    - addNewGroupToVgHash
    - taosArrayGetSize
    - taosArrayClear
    - taosWLockLatch
    - qError
    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
    - QRY_ERR_RET
    - tstrerror
    - appendNewGroupToDownstream
    - SOperatorInfo*::fpSet::getNextExtFn
    - qDebug
    - buildGroupCacheBaseBlock
    - SOperatorInfo*::fpSet::getNextFn
    - GET_TASKID
    - blockDataCheck
    - qError
    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:
    - QRY_ERR_RET
    - tsem_post
    - taosArrayGetP
    - taosArrayGetSize
    - qError
    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:
    - atomic_store_8
    - taosArrayClear
    - notifyWaitingSessions
    - taosThreadMutexUnlock
    - 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:
    - taosHashSetFreeFp
    - taosHashGet
    - QRY_ERR_RET
    - qTrace
    - taosHashInit
    - snprintf
    - taosHashPut
    - taosGetDefaultHashFunction
    - qError
    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:
    - QRY_ERR_RET
    - qTrace
    - groupCacheSwitchNewFile
    - taosArrayGet
    - handleGroupFetchDone
    - addFileRefTableNum
    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:
    - tSimpleHashGet
    - QRY_ERR_RET
    - taosThreadMutexInit
    - taosArrayInit
    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:
    - QRY_ERR_RET
    - taosHashGet
    - taosArrayPush
    - taosArrayDestroy
    - initNewGroupData
    - qDebug
    - taosArrayGetP
    - taosWUnLockLatch
    - taosHashPut
    - taosWLockLatch
    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
    - taosWUnLockLatch
    - taosArrayGetSize
    - 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:
    - taosHashGet
    - QRY_ERR_RET
    - qDebug
    - addBlkToGroupCache
    - addNewGroupData
    - handleVgroupTableFetchDone
    - notifyWaitingSessions
    - qError
    - 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:
    - QRY_ERR_RET
    - taosHashClear
    - taosArrayGet
    - taosHashIterate
    - handleGroupFetchDone
    - taosArrayClear
    - taosArrayGetSize
    - tSimpleHashIterate
    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:
    - QRY_ERR_RET
    - tstrerror
    - handleGroupCacheRetrievedBlk
    - taosHashGetKey
    - tsem_post
    - getBlkFromDownstreamOperator
    - taosHashCancelIterate
    - taosHashIterate
    - atomic_val_compare_exchange_64
    - taosHashRemove
    - handleDownstreamFetchDone
    - qError
    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:
    - taosArrayGet
    - qDebug
    - atomic_load_8
    - retrieveBlkFromBufCache
    - taosArrayGetSize
    - taosRLockLatch
    - taosRUnLockLatch
    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
    - taosArrayInit
    - tstrerror
    - taosHashPut
    - QRY_ERR_JRET
    - tsem_init
    - getCacheBlkFromDownstreamOperator
    - taosThreadMutexUnlock
    - taosHashRemove
    - qError
    - tsem_wait
    - getBlkFromSessionCacheImpl
    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:
    - groupCacheSessionWait
    - atomic_val_compare_exchange_64
    - atomic_load_64
    - getCacheBlkFromDownstreamOperator
    - taosThreadMutexUnlock
    - qError
    - taosThreadMutexLock
    - 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:
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashSetFreeFp
    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:
    - taosHashGet
    - QRY_ERR_RET
    - qDebug
    - addNewGroupData
    - taosHashPut
    - initGroupCacheSessionCtx
    - qError
    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:
    - taosHashGet
    - QRY_ERR_RET
    - tstrerror
    - qDebug
    - getBlkFromSessionCache
    - initGroupCacheSession
    - taosHashRemove
    - qError
    - 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:
    - taosHashGet
    - taosArrayDestroy
    - qTrace
    - atomic_sub_fetch_32
    - removeGroupCacheFile
    - snprintf
    - taosThreadMutexDestroy
    - taosRemoveFile
    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
    - QRY_ERR_RET
    - taosHashSetFreeFp
    - strlen
    - taosArrayInit
    - taosHashInit
    - initGcVgroupCtx
    - snprintf
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - tSimpleHashInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t initGroupCacheDownstreamCtx(SOperatorInfo*          pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1474,1
    - Dst: getBlkFromGroupCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1477,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1480,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pRes
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1466
    functionDepth: 11
    functionLinenumber: 1466
    functionLinenumberEnd: 1489
    functionName: groupCacheGetNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - taosGetTimestampUs
    - getBlkFromGroupCache
    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:1497,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1498,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pOperator
    - pParam
    argTypes:
    - SOperatorInfo*
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1504
    functionName: groupCacheTableCacheEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosHashRemove
    - qError
    - qTrace
    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:1507,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1510,1
    - Dst: blockDataDeepCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1511,1
    - Dst: freeGcBlockInList
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1512,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SGcBlkCacheInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1524
    functionName: resetGroupCacheBlockCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - blockDataDeepCleanup
    - taosHashClear
    - taosHashIterate
    - freeGcBlockInList
    linkageType: ''
    returnType: void
    signature: void resetGroupCacheBlockCache(SGcBlkCacheInfo* pCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1534,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1535,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1537,1
    - Dst: initGcVgroupCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1541,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1542,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1545,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1546,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1547,1
    - Dst: freeSGcFileCacheCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1526
    functionDepth: 2
    functionLinenumber: 1526
    functionLinenumberEnd: 1559
    functionName: resetGroupCacheDownstreamCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - taosArrayClearEx
    - freeSGcFileCacheCtx
    - initGcVgroupCtx
    - tSimpleHashClear
    - taosArrayClear
    - tSimpleHashPut
    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:1567,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1569,1
    - Dst: resetGroupCacheDownstreamCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1571,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1573,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1578,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1561
    functionDepth: 3
    functionLinenumber: 1561
    functionLinenumberEnd: 1582
    functionName: resetGroupCacheOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - tstrerror
    - resetGroupCacheDownstreamCtx
    - memset
    - resetGroupCacheBlockCache
    - qError
    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:1587,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1590,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1591,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1600,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1608,1
    - Dst: initGroupColsInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1614,1
    - Dst: initGroupCacheBlockCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1620,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1626,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1626,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1631,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1634,1
    - Dst: initGroupCacheDownstreamCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1639,1
    - Dst: initGroupCacheExecInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1644,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1649,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1651,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1653,1
    - Dst: destroyGroupCacheOperator
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1660,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1663,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pPhyciNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SGroupCachePhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1584
    functionDepth: 7
    functionLinenumber: 1584
    functionLinenumberEnd: 1666
    functionName: createGroupCacheOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 2
    functionsReached:
    - initGroupCacheBlockCache
    - taosHashSetFreeFp
    - taosMemoryCalloc
    - qTrace
    - setOperatorInfo
    - initGroupCacheDownstreamCtx
    - appendDownstream
    - createOperatorFpSet
    - initGroupColsInfo
    - QRY_PARAM_CHECK
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    - initGroupCacheExecInfo
    - destroyGroupCacheOperator
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createGroupCacheOperatorInfo(SOperatorInfo** pDownstream,
      int32_t numOfDownstream,\n                                     SGroupCachePhysiNode*
      pPhyciNode, SExecTaskInfo* pTaskInfo,\n                                     SOperatorInfo**
      pOptrInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:69,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:71,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:71,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:73,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:75,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: sortMergeloadNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - blockDataCheck
    - qError
    - tstrerror
    - SOperatorInfo*::fpSet::getNextFn
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortMergeloadNextDataBlock(void* param, SSDataBlock** ppBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:88,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:94,1
    - Dst: tsortSetCompareGroupId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:95,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:100,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:106,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:114,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 80
    functionDepth: 9
    functionLinenumber: 80
    functionLinenumberEnd: 121
    functionName: openSortMergeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - tsortCreateSortHandle
    - tsortSetCompareGroupId
    - tsortAddSource
    - taosMemoryCalloc
    - SOperatorInfo*::fpSet::_openFn
    - tsortOpen
    - 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:134,1
    - Dst: tsortGetGroupId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:141,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:148,1
    - Dst: tsortGetGroupId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:157,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:159,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:168,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:180,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 5
    argNames:
    - pInfo
    - pHandle
    - capacity
    - p
    - newgroup
    argTypes:
    - SMultiwayMergeOperatorInfo*
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 192
    functionName: doGetSortedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - tsortNextTuple
    - tsortGetGroupId
    - appendOneRowToDataBlock
    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:205,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:205,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:206,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:210,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:215,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:221,1
    - Dst: doGetSortedBlockData
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:226,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:236,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:239,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:247,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:249,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:255,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:261,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:267,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:283,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:283,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 194
    functionDepth: 5
    functionLinenumber: 194
    functionLinenumberEnd: 288
    functionName: doSortMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - colDataAssign
    - applyLimitOffset
    - taosArrayGet
    - qDebug
    - blockDataCleanup
    - GET_TASKID
    - doGetSortedBlockData
    - resetLimitInfoForNextGroup
    - taosArrayGetSize
    - blockDataEnsureCapacity
    - tsortGetSortedDataBlock
    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:291,1
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 305
    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:310,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:313,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:316,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:318,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 320
    functionName: destroySortMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tsortDestroySortHandle
    - blockDataDestroy
    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: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    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:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 344
    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:347,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:356,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:356,1
    - Dst: NON_SORT_NEXT_SRC
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:358,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:360,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:362,1
    - Dst: NON_SORT_NEXT_SRC
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:364,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 346
    functionDepth: 6
    functionLinenumber: 346
    functionLinenumberEnd: 379
    functionName: doNonSortMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - NON_SORT_NEXT_SRC
    - copyDataBlock
    - qDebug
    - GET_TASKID
    - QRY_PARAM_CHECK
    - TSWAP
    - getNextBlockFromDownstream
    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:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    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: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    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: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:397,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:401,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:402,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:403,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:409,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:411,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:417,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - pNodeList
    - targetBlkId
    - pDst
    - pSrc
    argTypes:
    - SNodeList*
    - uint64_t
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 427
    functionName: copyColumnsValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - colDataAssign
    - taosArrayGet
    - colDataSetVal
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyColumnsValue(SNodeList* pNodeList, uint64_t targetBlkId,
      SSDataBlock* pDst, SSDataBlock* pSrc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:430,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:439,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:439,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:442,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:444,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:445,1
    - Dst: copyColumnsValue
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:450,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 429
    functionDepth: 6
    functionLinenumber: 429
    functionLinenumberEnd: 465
    functionName: doColsMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - copyColumnsValue
    - qDebug
    - setOperatorCompleted
    - T_LONG_JMP
    - GET_TASKID
    - QRY_PARAM_CHECK
    - qError
    - getNextBlockFromDownstream
    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:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 470
    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: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    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:490,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:494,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:500,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:504,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:504,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:506,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 511
    functionName: openMultiwayMergeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - T_LONG_JMP
    - OPTR_IS_OPENED
    - OPTR_SET_OPENED
    - qError
    - taosGetTimestampUs
    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:514,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:525,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:526,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:530,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:535,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:536,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:538,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:543,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:543,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 548
    functionName: doMultiwayMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - T_LONG_JMP
    - blockDataCheck
    - QRY_PARAM_CHECK
    - qError
    - SOperatorInfo*::fpSet::_openFn
    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:552,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: destroyMultiwayMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - blockDataDestroy
    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: 571
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 571
    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:579,1
    - Dst: OPTR_CLR_OPENED
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:582,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:589,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:591,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:594,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:599,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 614
    functionName: resetMultiwayMergeOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - initLimitInfo
    - tsortDestroySortHandle
    - blockDataCleanup
    - resetBasicOperatorState
    - OPTR_CLR_OPENED
    - qError
    - 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:618,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:623,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:624,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:642,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:643,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:644,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:646,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:647,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:648,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:651,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:652,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:653,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:655,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:658,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:659,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:662,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:671,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:672,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:674,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:675,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:676,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:682,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:683,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:685,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:686,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:687,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:691,1
    - Dst: getOperatorResultBlockId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:693,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:698,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:703,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:706,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:709,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:710,1
    - Dst: destroyMultiwayMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:720,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:723,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 80
    argCount: 5
    argNames:
    - downStreams
    - numStreams
    - pMergePhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - size_t
    - SMergePhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 616
    functionDepth: 7
    functionLinenumber: 616
    functionLinenumberEnd: 725
    functionName: createMultiwayMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 2
    functionsReached:
    - createSortInfo
    - nodesListGetNode
    - setOperatorInfo
    - initResultSizeInfo
    - getProperSortPageSize
    - createOperatorFpSet
    - qError
    - taosMemoryCalloc
    - initLimitInfo
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - TSDB_CHECK_CODE
    - extractColMatchInfo
    - blockDataEnsureCapacity
    - destroyMultiwayMergeOperatorInfo
    - getOperatorResultBlockId
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - TSDB_CHECK_NULL
    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: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    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: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    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: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: initResultRowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 10
    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: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    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:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pResultRow
    - entrySize
    argTypes:
    - SResultRow*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: resetResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    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: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: getResultEntryInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 8
    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: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    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:106,1
    - Dst: getResultRowSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:116,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:117,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:119,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:123,1
    - Dst: SqlFunctionCtx*::fpSet::decode
      Src: /src/tdengine/source/libs/executor/src/executil.c:132,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:134,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:138,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:138,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/libs/executor/src/executil.c:147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:149,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:152,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:158,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: 160
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 160
    functionName: getResultRowFromBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - SqlFunctionCtx*::fpSet::decode
    - qTrace
    - getResultRowSize
    - memcpy
    - getResultEntryInfo
    - TAOS_MEMORY_REALLOC
    - qError
    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:165,1
    - Dst: getResultRowSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:172,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:175,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:185,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:187,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:193,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:199,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:199,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:206,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:210,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: 212
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: putResultRowToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - qTrace
    - getResultRowSize
    - memcpy
    - getResultEntryInfo
    - qError
    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:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    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:217,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:220,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: cleanupGroupResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - 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: 247
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 247
    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:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 249
    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:255,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:258,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:263,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:266,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:267,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executil.c:274,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/executil.c:275,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:279,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:280,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executil.c:283,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/executil.c:284,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:290,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:291,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:292,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/executor/src/executil.c:300,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:300,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:307,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - pGroupResInfo
    - pHashmap
    - order
    argTypes:
    - SGroupResInfo*
    - SSHashObj*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 310
    functionName: initGroupedResultInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 3
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosArrayPush
    - tSimpleHashGetSize
    - taosArrayInit
    - tstrerror
    - memcpy
    - taosSort
    - taosArrayGetSize
    - qError
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - taosMemoryFree
    - QUERY_CHECK_NULL
    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:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pGroupResInfo
    - pArrayList
    argTypes:
    - SGroupResInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 321
    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:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    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:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: getNumOfTotalRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 3
    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:343,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:348,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:354,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:356,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:356,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:357,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:366,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:367,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:367,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:368,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:376,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:378,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - pNodeList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 385
    functionName: createSortInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached:
    - nodesListGetNode
    - taosArrayDestroy
    - taosArrayPush
    - tstrerror
    - taosArrayInit
    - nodeType
    - qError
    - LIST_LENGTH
    linkageType: ''
    returnType: SArray
    signature: SArray * createSortInfo(SNodeList* pNodeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:389,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:391,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:403,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:405,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:405,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:406,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:412,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:417,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:419,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:419,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 428
    functionName: createDataBlockFromDescNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 19
    functionsReached:
    - nodesListGetNode
    - tstrerror
    - createColumnInfoData
    - blockDataAppendColInfo
    - qError
    - createDataBlock
    - LIST_LENGTH
    - blockDataDestroy
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * createDataBlockFromDescNode(void* p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:433,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:434,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:436,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:436,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:441,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:443,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:443,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:450,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:451,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:456,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pDataBlock
    - pMatchInfo
    argTypes:
    - SSDataBlock*
    - SColMatchInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 471
    functionName: prepareDataBlockBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - taosArrayGet
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - qError
    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:477,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:483,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:491,1
    - Dst: SMetaReader*::pAPI::extractTagVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:501,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:506,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:510,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:511,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:512,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:516,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:521,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:522,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:522,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:523,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:525,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:525,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:526,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/executor/src/executil.c:529,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:534,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:538,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/executil.c:546,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:547,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:551,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:551,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:552,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:553,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 473
    functionDepth: 5
    functionLinenumber: 473
    functionLinenumberEnd: 558
    functionName: doTranslateTagExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - strlen
    - varDataVal
    - nodeType
    - memcpy
    - IS_VAR_DATA_TYPE
    - nodesSetValueNodeValue
    - SMetaReader*::pAPI::extractTagVal
    - blobDataSetLen
    - nodesMakeNode
    - nodesDestroyNode
    - taosMemoryCalloc
    - blobDataVal
    - 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:564,1
    - Dst: SStorageAPI*::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/executil.c:565,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:567,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:574,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:577,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:581,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:582,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/executor/src/executil.c:590,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:593,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 5
    argNames:
    - info
    - pTagCond
    - metaHandle
    - pQualified
    - pAPI
    argTypes:
    - STableKeyInfo*
    - SNode*
    - void*
    - bool*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 604
    functionName: isQualifiedTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - scalarCalculateConstants
    - nodesRewriteExprPostOrder
    - SStorageAPI*::metaReaderFn::clearReader
    - SStorageAPI*::metaReaderFn::initReader
    - nodesDestroyNode
    - nodesCloneNode
    - SStorageAPI*::metaReaderFn::getEntryGetUidCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t isQualifiedTable(STableKeyInfo* info, SNode* pTagCond, void*
      metaHandle, bool* pQualified, SStorageAPI* pAPI)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:609,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:611,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:614,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:622,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:631,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:634,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:644,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 606
    functionDepth: 5
    functionLinenumber: 606
    functionLinenumberEnd: 656
    functionName: getColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - taosArrayPush
    - nodeType
    - qDebug
    - nodesMakeNode
    - taosHashPut
    - 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:659,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:669,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pType
    - numOfRows
    - pParam
    argTypes:
    - SDataType*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 679
    functionName: createResultData
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - colInfoDataEnsureCapacity
    - 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:684,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCol
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 687
    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:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 694
    functionName: freeItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeItem(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToMsg
      Src: /src/tdengine/source/libs/executor/src/executil.c:703,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:705,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:705,1
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/executor/src/executil.c:709,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/executor/src/executil.c:710,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/executor/src/executil.c:711,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pTagCond
    - pContext
    argTypes:
    - SNode*
    - T_MD5_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 696
    functionDepth: 4
    functionLinenumber: 696
    functionLinenumberEnd: 721
    functionName: genTagFilterDigest
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - tMD5Init
    - tstrerror
    - nodesNodeToMsg
    - taosMemoryFree
    - tMD5Final
    - qError
    - tMD5Update
    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:728,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:729,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:732,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:732,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:733,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:734,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:734,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:735,1
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/executor/src/executil.c:738,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/executor/src/executil.c:739,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/executor/src/executil.c:740,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:743,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:745,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:745,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: 748
      start: 723
    functionDepth: 4
    functionLinenumber: 723
    functionLinenumberEnd: 748
    functionName: genTbGroupDigest
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - tMD5Init
    - tstrerror
    - QUERY_CHECK_CODE
    - nodesNodeToMsg
    - memcpy
    - taosMemoryRealloc
    - taosMemoryFree
    - tMD5Final
    - tListLen
    - qError
    - tMD5Update
    - QUERY_CHECK_NULL
    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:753,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:753,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:760,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:768,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:769,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:774,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:778,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:789,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:790,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - data
    - isList
    - pColList
    argTypes:
    - void*
    - bool
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 792
    functionName: qGetColumnsFromNodeList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - nodesRewriteExprPostOrder
    - REPLACE_NODE
    - taosArrayInit
    - taosHashInit
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - FOREACH
    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:796,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/executil.c:801,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:805,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/executil.c:807,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:811,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:815,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:818,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:823,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:824,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:825,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:826,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:831,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:832,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:832,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:837,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:837,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:837,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:838,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:838,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:842,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:847,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:848,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:851,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:852,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:857,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:857,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 3
    argNames:
    - pValue
    - i
    - gInfo
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 861
    functionName: buildGroupInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - varDataVal
    - varDataTLen
    - tstrerror
    - memcpy
    - qDebug
    - colDataIsNull_s
    - colDataGetData
    - IS_VAR_DATA_TYPE
    - taosArrayReserve
    - tTagIsJson
    - qError
    - taosMemoryCalloc
    - tTagIsJsonNull
    - getJsonValueLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildGroupInfo(SColumnInfoData* pValue, int32_t i, SArray*
      gInfo)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:874,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:879,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:880,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:883,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:884,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:886,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:887,1
    - Dst: SStorageAPI*::metaFn::getTableTags
      Src: /src/tdengine/source/libs/executor/src/executil.c:890,1
    - Dst: qGetColumnsFromNodeList
      Src: /src/tdengine/source/libs/executor/src/executil.c:896,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:901,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:902,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:908,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/executil.c:909,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:910,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:916,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:917,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:919,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:920,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:922,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:923,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:929,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:936,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:948,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:950,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:951,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:952,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:953,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:956,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:960,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:964,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:965,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:969,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:969,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:970,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:972,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:973,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:975,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executil.c:976,1
    - Dst: buildGroupInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:977,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:979,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:979,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/executil.c:983,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:991,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:993,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:993,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:996,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1001,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1002,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1003,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:1004,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1005,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1008,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1008,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 106
    argCount: 5
    argNames:
    - pVnode
    - group
    - pTableListInfo
    - pAPI
    - groupIdMap
    argTypes:
    - void*
    - SNodeList*
    - STableListInfo*
    - SStorageAPI*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 1010
    functionName: getColInfoResultForGroupbyForStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - createTagValBlockForFilter
    - releaseColInfoData
    - taosArrayGet
    - qGetColumnsFromNodeList
    - taosArrayGetLast
    - buildGroupInfo
    - qError
    - blockDataDestroy
    - colDataAssign
    - taosArrayGetSize
    - SStorageAPI*::metaFn::getTableTags
    - nodeType
    - scalarCalculate
    - qDebug
    - createResultData
    - taosArrayGetP
    - taosArrayDestroyEx
    - taosHashPut
    - taosArrayDestroyP
    - QUERY_CHECK_NULL
    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:929,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:936,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:948,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:950,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:951,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:952,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:953,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:956,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:960,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:964,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:965,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 966
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 34
    functionsReached:
    - taosArrayPush
    - colDataAssign
    - nodeType
    - scalarCalculate
    - taosArrayGet
    - createResultData
    - releaseColInfoData
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, group)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1024,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1032,1
    - Dst: genTbGroupDigest
      Src: /src/tdengine/source/libs/executor/src/executil.c:1037,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1038,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:1040,1
    - Dst: SStorageAPI*::metaFn::metaGetCachedTbGroup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1042,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1043,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1044,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1047,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1049,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1050,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1055,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1056,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1059,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1060,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1062,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1063,1
    - Dst: SStorageAPI*::metaFn::getTableTags
      Src: /src/tdengine/source/libs/executor/src/executil.c:1066,1
    - Dst: qGetColumnsFromNodeList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1072,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1077,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/executil.c:1078,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1079,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1088,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1089,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1091,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1092,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1094,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1095,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1101,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1108,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1120,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1122,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1123,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:1124,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1125,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1128,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1132,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1136,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1137,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1147,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1150,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1158,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:1158,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1166,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1167,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1170,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1170,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1174,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1175,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executil.c:1176,1
    - Dst: buildGroupInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:1179,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1181,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1181,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1182,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/executil.c:1187,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1191,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/executil.c:1193,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:1197,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1201,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1202,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1204,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:1205,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1206,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1210,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1210,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1211,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1213,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1217,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1217,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1218,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1221,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/executil.c:1228,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:1230,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1232,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1232,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1233,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1235,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:1240,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1245,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1250,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1251,1
    - Dst: SStorageAPI*::metaFn::metaPutTbGroupToCache
      Src: /src/tdengine/source/libs/executor/src/executil.c:1253,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1254,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1255,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1256,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:1263,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1264,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1265,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1266,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:1267,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1268,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1271,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 192
    argCount: 7
    argNames:
    - pVnode
    - group
    - pTableListInfo
    - digest
    - pAPI
    - initRemainGroups
    - groupIdMap
    argTypes:
    - void*
    - SNodeList*
    - STableListInfo*
    - uint8_t*
    - SStorageAPI*
    - bool
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1012
    functionDepth: 5
    functionLinenumber: 1012
    functionLinenumberEnd: 1274
    functionName: getColInfoResultForGroupby
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayPush
    - genTbGroupDigest
    - taosArrayInit
    - tstrerror
    - SStorageAPI*::metaFn::metaGetCachedTbGroup
    - createTagValBlockForFilter
    - releaseColInfoData
    - tTagIsJsonNull
    - calcGroupId
    - varDataTLen
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qGetColumnsFromNodeList
    - IS_VAR_DATA_TYPE
    - nodesMakeNode
    - tTagIsJson
    - buildGroupInfo
    - taosMemoryCalloc
    - qError
    - blockDataDestroy
    - IS_STR_DATA_BLOB
    - nodesFree
    - colDataAssign
    - taosMemoryFreeClear
    - colDataGetData
    - taosArrayGetSize
    - getJsonValueLen
    - SStorageAPI*::metaFn::getTableTags
    - tListLen
    - taosGetDefaultHashFunction
    - blobDataTLen
    - nodeType
    - scalarCalculate
    - memcpy
    - qDebug
    - taosArrayDup
    - createResultData
    - taosArrayGetP
    - taosArrayDestroyEx
    - colDataIsNull_s
    - SStorageAPI*::metaFn::metaPutTbGroupToCache
    - taosHashPut
    - taosHashInit
    - taosArrayDestroyP
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getColInfoResultForGroupby(void* pVnode, SNodeList* group,
      STableListInfo* pTableListInfo, uint8_t* digest,\n                                   SStorageAPI*
      pAPI, bool initRemainGroups, SHashObj* groupIdMap)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1101,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1108,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1120,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1122,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1123,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:1124,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1125,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1128,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1132,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1136,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1138
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 34
    functionsReached:
    - taosArrayPush
    - colDataAssign
    - nodeType
    - scalarCalculate
    - taosArrayGet
    - createResultData
    - releaseColInfoData
    - QUERY_CHECK_NULL
    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: 1145
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1145
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1286
    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:1291,1
    - Dst: taosArrayInit
      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: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1299,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1301,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1305,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1306,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1307,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1311,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:1314,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1317,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1317,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1319,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1320,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1321,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1322,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/executil.c:1325,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1326,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1327,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:1328,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1332,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1333,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1337,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1339,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1343
    functionName: getTableNameList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - taosArrayGet
    - strcmp
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosArraySort
    - taosArrayGetLast
    - qError
    - varDataVal
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    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: 1354
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1354
    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: 1365
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1365
    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:1368,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - cond
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1375
    functionName: checkTagCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: FilterCondType
    signature: FilterCondType checkTagCond(SNode* cond)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1379,1
    - Dst: optimizeTbnameInCondImpl
      Src: /src/tdengine/source/libs/executor/src/executil.c:1382,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1393,1
    - Dst: optimizeTbnameInCondImpl
      Src: /src/tdengine/source/libs/executor/src/executil.c:1401,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:1408,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1409,1
    - Dst: SStorageAPI*::metaFn::getTableTagsByUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1412,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - pVnode
    - suid
    - list
    - cond
    - pAPI
    argTypes:
    - void*
    - int64_t
    - SArray*
    - SNode*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1416
    functionName: optimizeTbnameInCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodeType
    - taosArrayRemoveDuplicate
    - taosArraySort
    - SStorageAPI*::metaFn::getTableTagsByUid
    - optimizeTbnameInCondImpl
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t optimizeTbnameInCond(void* pVnode, int64_t suid, SArray* list,
      SNode* cond, SStorageAPI* pAPI)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1421,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1430,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1432,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1433,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1436,1
    - Dst: getTableNameList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1441,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1442,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1445,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1447,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:1447,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
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1454,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1456,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1456,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:1459,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1461,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1461,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executil.c:1468,1
    - Dst: SStorageAPI*::metaFn::getTableUidByName
      Src: /src/tdengine/source/libs/executor/src/executil.c:1471,1
    - Dst: SStorageAPI*::metaFn::getTableTypeSuidByName
      Src: /src/tdengine/source/libs/executor/src/executil.c:1473,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1478,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1480,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1486,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1487,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1496,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1497,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 5
    argNames:
    - pVnode
    - pExistedUidList
    - pTagCond
    - pStoreAPI
    - suid
    argTypes:
    - void*
    - SArray*
    - SNode*
    - SStorageAPI*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1419
    functionDepth: 2
    functionLinenumber: 1419
    functionLinenumberEnd: 1502
    functionName: optimizeTbnameInCondImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - taosArrayPush
    - taosArrayDestroy
    - tstrerror
    - nodeType
    - taosArrayGet
    - taosGetDefaultHashFunction
    - SStorageAPI*::metaFn::getTableUidByName
    - taosArrayGetP
    - SStorageAPI*::metaFn::getTableTypeSuidByName
    - taosArrayGetSize
    - taosHashPut
    - getTableNameList
    - taosHashInit
    - qError
    - taosHashCleanup
    - 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:1509,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1510,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1512,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1514,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1515,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:1517,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1518,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:1521,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1524,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1530,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1533,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1534,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1537,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1538,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/executil.c:1543,1
    - Dst: SStorageAPI*::metaFn::getTableNameByUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1545,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1546,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1549,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1550,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1552,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1558,1
    - Dst: SStorageAPI*::metaFn::extractTagVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1560,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1563,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1565,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1566,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1567,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:1568,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1569,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1571,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1572,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1573,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1574,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1575,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1577,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:1579,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1580,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1582,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1583,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1586,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1588,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1599,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1600,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1600,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: 1605
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1605
    functionName: createTagValBlockForFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - createDataBlock
    - QUERY_CHECK_CODE
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - qError
    - varDataSetLen
    - blockDataDestroy
    - IS_STR_DATA_BLOB
    - colDataSetNULL
    - taosArrayGetSize
    - blockDataAppendColInfo
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - SStorageAPI*::metaFn::getTableNameByUid
    - qDebug
    - memcpy
    - colDataSetVal
    - SStorageAPI*::metaFn::extractTagVal
    - taosMemoryFree
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSDataBlock
    signature: "SSDataBlock * createTagValBlockForFilter(SArray* pColList, int32_t
      numOfTables, SArray* pUidTagList, void* pVnode,\n                                        SStorageAPI*
      pStorageAPI)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:1609,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1612,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1615,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1617,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1617,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1621,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1624,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - pListInfo
    - pUidList
    - pUidTagList
    - pResultList
    - addUid
    argTypes:
    - STableListInfo*
    - SArray*
    - SArray*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1639
    functionName: doSetQualifiedUid
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - taosArrayGet
    - qDebug
    - taosArrayClear
    - taosArrayGetSize
    - qError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doSetQualifiedUid(STableListInfo* pListInfo, SArray* pUidList,
      const SArray* pUidTagList,\n                                 bool* pResultList,
      bool addUid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1643,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1649,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1651,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1655,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1657,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pUidTagList
    - pUidList
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1662
    functionName: copyExistedUids
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - taosArrayGet
    - taosArrayGetSize
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyExistedUids(SArray* pUidTagList, const SArray* pUidList)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1683,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1684,1
    - Dst: copyExistedUids
      Src: /src/tdengine/source/libs/executor/src/executil.c:1686,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1687,1
    - Dst: checkTagCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:1689,1
    - Dst: optimizeTbnameInCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:1691,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:1693,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1695,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/executor/src/executil.c:1696,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1697,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1700,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1701,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1702,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1703,1
    - Dst: SStorageAPI*::metaFn::getTableTagsByUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1708,1
    - Dst: SStorageAPI*::metaFn::getTableTags
      Src: /src/tdengine/source/libs/executor/src/executil.c:1710,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1713,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1713,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1715,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1719,1
    - Dst: qGetColumnsFromNodeList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1725,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/executil.c:1729,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1730,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1733,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1738,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1739,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1741,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1742,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1744,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1747,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1750,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1752,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1752,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1754,1
    - Dst: doSetQualifiedUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1757,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1760,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1766,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1766,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1768,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1769,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1770,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1772,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:1773,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 9
    argNames:
    - pListInfo
    - pUidList
    - pTagCond
    - pVnode
    - status
    - pAPI
    - addUid
    - listAdded
    - pStreamInfo
    argTypes:
    - STableListInfo*
    - SArray*
    - SNode*
    - void*
    - SIdxFltStatus
    - SStorageAPI*
    - bool
    - bool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1664
    functionDepth: 2
    functionLinenumber: 1664
    functionLinenumberEnd: 1775
    functionName: doFilterByTagCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - taosArrayEnsureCap
    - copyExistedUids
    - createTagValBlockForFilter
    - taosArrayClear
    - optimizeTbnameInCond
    - doSetQualifiedUid
    - QUERY_CHECK_CODE
    - checkTagCond
    - taosArrayGet
    - qGetColumnsFromNodeList
    - SStorageAPI*::metaFn::getTableTagsByUid
    - qError
    - blockDataDestroy
    - taosMemoryFreeClear
    - taosArrayGetSize
    - SStorageAPI*::metaFn::getTableTags
    - scalarCalculate
    - createResultData
    - taosArrayDestroyEx
    - colDataDestroy
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doFilterByTagCond(STableListInfo* pListInfo, SArray* pUidList,
      SNode* pTagCond, void* pVnode,\n                                 SIdxFltStatus
      status, SStorageAPI* pAPI, bool addUid, bool* listAdded, void* pStreamInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1784,1
    - Dst: fmIsStreamPesudoColVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1788,1
    - Dst: fmSetStreamPseudoFuncParamVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1791,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1795,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1798,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1782
    functionDepth: 4
    functionLinenumber: 1782
    functionLinenumberEnd: 1806
    functionName: replacePlaceHolderColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - fmSetStreamPseudoFuncParamVal
    - nodesDestroyNode
    - fmIsStreamPesudoColVal
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes replacePlaceHolderColumn(SNode** pNode, void* pContext)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1818,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1819,1
    - Dst: SStorageAPI*::metaFn::isTableExisted
      Src: /src/tdengine/source/libs/executor/src/executil.c:1824,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1825,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1826,1
    - Dst: doFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:1828,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1829,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1836,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1837,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/executor/src/executil.c:1840,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1842,1
    - Dst: genTagFilterDigest
      Src: /src/tdengine/source/libs/executor/src/executil.c:1846,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1847,1
    - Dst: genTagFilterDigest
      Src: /src/tdengine/source/libs/executor/src/executil.c:1849,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1852,1
    - Dst: SStorageAPI*::metaFn::getCachedTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1854,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1854,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1856,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1860,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1860,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1861,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1861,1
    - Dst: SStorageAPI*::metaFn::getChildTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1867,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1868,1
    - Dst: SStorageAPI*::metaFn::getInvertIndex
      Src: /src/tdengine/source/libs/executor/src/executil.c:1872,1
    - Dst: SStorageAPI*::metaFn::storeGetIndexInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:1875,1
    - Dst: doFilterTag
      Src: /src/tdengine/source/libs/executor/src/executil.c:1880,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1882,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1884,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1884,1
    - Dst: doFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:1889,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1890,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1893,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1897,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1898,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1902,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1903,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1904,1
    - Dst: SStorageAPI*::metaFn::putCachedTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1907,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1907,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1909,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1912,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1912,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1918,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1920,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1921,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1924,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1926,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:1930,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1934,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1934,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1938,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1940,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1940,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 90
    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: 1943
      start: 1808
    functionDepth: 5
    functionLinenumber: 1808
    functionLinenumberEnd: 1943
    functionName: getTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - SStorageAPI*::metaFn::storeGetIndexInfo
    - genTagFilterDigest
    - doFilterByTagCond
    - QUERY_CHECK_CODE
    - taosArrayGet
    - SStorageAPI*::metaFn::getCachedTableList
    - SStorageAPI*::metaFn::getChildTableList
    - qError
    - doFilterTag
    - qTrace
    - taosArrayGetSize
    - tListLen
    - SStorageAPI*::metaFn::isTableExisted
    - SStorageAPI*::metaFn::getInvertIndex
    - SStorageAPI*::metaFn::putCachedTableList
    - memcpy
    - qDebug
    - nodesRewriteExpr
    - nodesDestroyNode
    - nodesCloneNode
    - QUERY_CHECK_NULL
    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:1954,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1955,1
    - Dst: getTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1957,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1959,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1962,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1966,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1966,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: 1969
      start: 1945
    functionDepth: 6
    functionLinenumber: 1945
    functionLinenumberEnd: 1969
    functionName: qGetTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - tableListCreate
    - tstrerror
    - QUERY_CHECK_CODE
    - tableListDestroy
    - qError
    - getTableList
    - QUERY_CHECK_NULL
    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:1980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pGroups
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1971
    functionDepth: 1
    functionLinenumber: 1971
    functionLinenumberEnd: 1982
    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: 1978
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1978
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 34
    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:1988,1
    - Dst: SStorageAPI*::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/executil.c:1989,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:1990,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1995,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:1997,1
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:2002,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2004,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2005,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2009,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/executor/src/executil.c:2015,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2017,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2019,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2020,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2024,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2025,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2026,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2027,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2027,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2037,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/executil.c:2039,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2041,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2042,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2045,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2046,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2048,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:2049,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2052,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2052,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2053,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2055,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/executil.c:2062,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2064,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2065,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: 2068
      start: 1984
    functionDepth: 6
    functionLinenumber: 1984
    functionLinenumberEnd: 2068
    functionName: getGroupIdFromTagsVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - SStorageAPI*::metaReaderFn::getEntryGetUidCache
    - tstrerror
    - nodesCloneList
    - calcGroupId
    - SStorageAPI*::metaReaderFn::clearReader
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - tTagIsJson
    - qError
    - scalarCalculateConstants
    - IS_STR_DATA_BLOB
    - nodesRewriteExprsPostOrder
    - SStorageAPI*::metaReaderFn::initReader
    - getJsonValueLen
    - nodesGetValueFromNode
    - REPLACE_NODE
    - nodeType
    - memcpy
    - nodesDestroyList
    - LIST_LENGTH
    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:2015,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2017,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2019,1
    - Dst: metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2020,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2024,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2025,1
    - Dst: metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2026,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2027,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2027,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2037,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/executil.c:2039,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2041,1
    - Dst: metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2042,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2045,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2046,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2048,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:2049,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2052,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2052,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2053,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2055,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2013
    functionDepth: 6
    functionLinenumber: 2013
    functionLinenumberEnd: 2059
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 34
    functionsReached:
    - nodesGetValueFromNode
    - scalarCalculateConstants
    - IS_STR_DATA_BLOB
    - REPLACE_NODE
    - tstrerror
    - nodeType
    - varDataTLen
    - memcpy
    - IS_VAR_DATA_TYPE
    - nodesDestroyList
    - tTagIsJson
    - qError
    - metaReaderFn::clearReader
    - getJsonValueLen
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, groupNew)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2075,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2076,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2082,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2084,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2085,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2085,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2098,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2100,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - pNodeList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2107
    functionName: makeColumnArrayFromList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - nodesListGetNode
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - qError
    - LIST_LENGTH
    linkageType: ''
    returnType: SArray
    signature: SArray * makeColumnArrayFromList(SNodeList* pNodeList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2111,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2117,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2124,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2125,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2126,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2135,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2136,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2142,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2144,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2145,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2155,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2156,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2157,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2175,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 5
    argNames:
    - pNodeList
    - pOutputNodeList
    - numOfOutputCols
    - type
    - pMatchInfo
    argTypes:
    - SNodeList*
    - SDataBlockDescNode*
    - int32_t*
    - int32_t
    - SColMatchInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2109
    functionDepth: 1
    functionLinenumber: 2109
    functionLinenumberEnd: 2178
    functionName: extractColMatchInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 4
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - taosArrayInit
    - nodeType
    - tstrerror
    - taosArrayGet
    - taosArrayGetSize
    - qError
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extractColMatchInfo(SNodeList* pNodeList, SDataBlockDescNode*
      pOutputNodeList, int32_t* numOfOutputCols,\n                            int32_t
      type, SColMatchInfo* pMatchInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2188,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2188,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: 2191
      start: 2180
    functionDepth: 1
    functionLinenumber: 2180
    functionLinenumberEnd: 2191
    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:2194,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: 2208
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2208
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2215,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2216,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2221,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2227,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2228,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2234,1
    - Dst: createColumn
      Src: /src/tdengine/source/libs/executor/src/executil.c:2237,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2238,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2245,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2246,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2252,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/executil.c:2254,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2255,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2262,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2269,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2269,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2275,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:2277,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2280,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2283,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2285,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/executor/src/executil.c:2287,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2289,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2292,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2296,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2298,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2299,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2303,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2304,1
    - Dst: createColumn
      Src: /src/tdengine/source/libs/executor/src/executil.c:2310,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2311,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/executil.c:2315,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2316,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2324,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2325,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2330,1
    - Dst: taosMemoryCalloc
      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: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2342,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2347,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2348,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2352,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2356,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2361,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2361,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 101
    argCount: 3
    argNames:
    - pExp
    - pNode
    - slotId
    argTypes:
    - SExprInfo*
    - SNode*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2210
    functionDepth: 5
    functionLinenumber: 2210
    functionLinenumberEnd: 2364
    functionName: createExprFromOneNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - nodesListGetNode
    - QUERY_CHECK_CODE
    - nodesListAppend
    - createColumn
    - createResSchema
    - nodesValueNodeToVariant
    - nodesMakeNode
    - qError
    - taosMemoryCalloc
    - strlen
    - tstrncpy
    - memcmp
    - tListLen
    - nodeType
    - nodesMakeList
    - nodesDestroyNode
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    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:2367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pExp
    - pTargetNode
    argTypes:
    - SExprInfo*
    - STargetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2366
    functionDepth: 6
    functionLinenumber: 2366
    functionLinenumberEnd: 2368
    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:2371,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2372,1
    - Dst: createExprFromOneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2379,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2379,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2381,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2383,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pNodeList
    - numOfExprs
    argTypes:
    - SNodeList*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2370
    functionDepth: 6
    functionLinenumber: 2370
    functionLinenumberEnd: 2389
    functionName: createExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrerror
    - createExprFromOneNode
    - taosMemoryFreeClear
    - qError
    - taosMemoryCalloc
    - LIST_LENGTH
    linkageType: ''
    returnType: SExprInfo
    signature: SExprInfo * createExpr(SNodeList* pNodeList, int32_t* numOfExprs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/executil.c:2392,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2395,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2398,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2406,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2414,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2416,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2419,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2420,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2421,1
    - Dst: createExprFromTargetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2426,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2428,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2429,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - pNodeList
    - pGroupKeys
    - pExprInfo
    - numOfExprs
    argTypes:
    - SNodeList*
    - SNodeList*
    - SExprInfo**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2391
    functionDepth: 7
    functionLinenumber: 2391
    functionLinenumberEnd: 2437
    functionName: createExprInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 22
    functionsReached:
    - createExprFromTargetNode
    - nodesListGetNode
    - tstrerror
    - taosMemoryFreeClear
    - destroyExprInfo
    - QRY_PARAM_CHECK
    - qError
    - taosMemoryCalloc
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t createExprInfo(SNodeList* pNodeList, SNodeList* pGroupKeys,
      SExprInfo** pExprInfo, int32_t* numOfExprs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2439
    functionDepth: 1
    functionLinenumber: 2439
    functionLinenumberEnd: 2444
    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:2458,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2464,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:2465,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2469,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:2471,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2475,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2484,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:2490,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2498,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2500,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2505,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2516,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:2521,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2522,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2523,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2523,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2525,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2447
    functionDepth: 1
    functionLinenumber: 2447
    functionLinenumberEnd: 2528
    functionName: setSelectValueColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryCalloc
    - tstrerror
    - fmIsSelectFunc
    - QUERY_CHECK_CODE
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArraySet
    - taosArrayInit_s
    - qError
    - taosArrayDestroyP
    - 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:2534,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2539,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2541,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2557,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2557,1
    - Dst: fmIsNotNullOutputFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2558,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2560,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2561,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2561,1
    - Dst: fmGetFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/executil.c:2563,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2564,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/executil.c:2567,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2568,1
    - Dst: fmGetUdafExecFuncs
      Src: /src/tdengine/source/libs/executor/src/executil.c:2570,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2571,1
    - Dst: SqlFunctionCtx*::fpSet::getEnv
      Src: /src/tdengine/source/libs/executor/src/executil.c:2573,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2576,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2579,1
    - Dst: fmGetStreamPesudoFuncEnv
      Src: /src/tdengine/source/libs/executor/src/executil.c:2580,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2581,1
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/executil.c:2584,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2588,1
    - Dst: SqlFunctionCtx*::sfp::getEnv
      Src: /src/tdengine/source/libs/executor/src/executil.c:2591,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2594,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2606,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2607,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2608,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2609,1
    - Dst: setSelectValueColumnInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2631,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2635,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2635,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:2637,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:2638,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2640,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2641,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 89
    argCount: 4
    argNames:
    - pExprInfo
    - numOfOutput
    - rowEntryInfoOffset
    - pStore
    argTypes:
    - SExprInfo*
    - int32_t
    - int32_t**
    - SFunctionStateStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2530
    functionDepth: 2
    functionLinenumber: 2530
    functionLinenumberEnd: 2647
    functionName: createSqlFunctionCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 6
    functionsReached:
    - tstrerror
    - fmIsPlaceHolderFunc
    - fmGetFuncExecFuncs
    - QUERY_CHECK_CODE
    - SqlFunctionCtx*::fpSet::getEnv
    - fmIsUserDefinedFunc
    - fmIsWindowPseudoColumnFunc
    - fmIsAggFunc
    - fmGetStreamPesudoFuncEnv
    - qError
    - taosMemoryCalloc
    - fmIsIndefiniteRowsFunc
    - taosMemoryFreeClear
    - fmGetUdafExecFuncs
    - setSelectValueColumnInfo
    - fmGetScalarFuncExecFuncs
    - taosStrdup
    - taosMemoryFree
    - fmIsNotNullOutputFunc
    - SqlFunctionCtx*::sfp::getEnv
    - QUERY_CHECK_NULL
    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:2653,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2656,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2657,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2659,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2659,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2662,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2668,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:2672,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2674,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2674,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2682,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - pBlock
    - pColMatchInfo
    - pCols
    - outputEveryColumn
    argTypes:
    - SSDataBlock*
    - SArray*
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2651
    functionDepth: 1
    functionLinenumber: 2651
    functionLinenumberEnd: 2687
    functionName: relocateColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - colDataAssign
    - taosArrayGet
    - taosArrayGetSize
    - qError
    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:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pTableScanNode
    argTypes:
    - STableScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2689
    functionDepth: 1
    functionLinenumber: 2689
    functionLinenumberEnd: 2702
    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: 2714
      start: 2704
    functionDepth: 0
    functionLinenumber: 2704
    functionLinenumberEnd: 2714
    functionName: extractColumnFromColumnNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: SColumn
    signature: SColumn extractColumnFromColumnNode(SColumnNode* pColNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2719,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2721,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2725,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2727,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2747,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2749,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2749,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - pCond
    - pTableScanNode
    - readHandle
    argTypes:
    - SQueryTableDataCond*
    - STableScanPhysiNode*
    - SReadHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2716
    functionDepth: 1
    functionLinenumber: 2716
    functionLinenumberEnd: 2768
    functionName: initQueryTableDataCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - nodesListGetNode
    - tstrerror
    - taosMemoryFreeClear
    - qError
    - taosMemoryCalloc
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initQueryTableDataCond(SQueryTableDataCond* pCond, const STableScanPhysiNode*
      pTableScanNode,\n                               const SReadHandle* readHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2776,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: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2781,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2782,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2792,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2793,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executil.c:2807,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2812,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2812,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2813,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2814,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 4
    argNames:
    - pCond
    - pOrgCond
    - readHandle
    - colArray
    argTypes:
    - SQueryTableDataCond*
    - SQueryTableDataCond*
    - SReadHandle*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2816
      start: 2770
    functionDepth: 1
    functionLinenumber: 2770
    functionLinenumberEnd: 2816
    functionName: initQueryTableDataCondWithColArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - taosArrayGet
    - taosMemoryFreeClear
    - qError
    - taosArrayGetSize
    - QUERY_CHECK_CONDITION
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    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:2819,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pCond
    argTypes:
    - SQueryTableDataCond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2821
      start: 2818
    functionDepth: 1
    functionLinenumber: 2818
    functionLinenumberEnd: 2821
    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: 2858
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2858
    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:2862,1
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:2865,1
    - Dst: getNextTimeWindowStart
      Src: /src/tdengine/source/libs/executor/src/executil.c:2869,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pInterval
    - ts
    - w
    - ascQuery
    argTypes:
    - SInterval*
    - TSKEY
    - STimeWindow*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2860
    functionDepth: 2
    functionLinenumber: 2860
    functionLinenumberEnd: 2878
    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:2883,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ts
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2886
      start: 2880
    functionDepth: 1
    functionLinenumber: 2880
    functionLinenumberEnd: 2886
    functionName: doCalculateTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosTimeGetIntervalEnd
    - taosTimeTruncate
    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:2894,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: 2898
      start: 2888
    functionDepth: 1
    functionLinenumber: 2888
    functionLinenumberEnd: 2898
    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:2906,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/executil.c:2910,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/executil.c:2912,1
    - Dst: doCalculateTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:2917,1
    - Dst: getFirstQualifiedTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:2923,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: 2927
      start: 2902
    functionDepth: 3
    functionLinenumber: 2902
    functionLinenumberEnd: 2927
    functionName: getActiveTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - doCalculateTimeWindow
    - getInitialStartTimeWindow
    - TAOS_SET_OBJ_ALIGNED
    - getResultRowByPos
    - getFirstQualifiedTimeWindow
    linkageType: ''
    returnType: STimeWindow
    signature: "STimeWindow getActiveTimeWindow(SDiskbasedBuf* pBuf, SResultRowInfo*
      pResultRowInfo, int64_t ts, SInterval* pInterval,\n                                int32_t
      order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/executil.c:2930,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2931,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2932,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pInterval
    - start
    - order
    argTypes:
    - SInterval*
    - TSKEY
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2935
      start: 2929
    functionDepth: 1
    functionLinenumber: 2929
    functionLinenumberEnd: 2935
    functionName: getNextTimeWindowStart
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    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: getNextTimeWindowStart
      Src: /src/tdengine/source/libs/executor/src/executil.c:2938,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInterval
    - tw
    - order
    argTypes:
    - SInterval*
    - STimeWindow*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2937
    functionDepth: 2
    functionLinenumber: 2937
    functionLinenumberEnd: 2940
    functionName: getNextTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - taosTimeAdd
    - getNextTimeWindowStart
    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: 2945
      start: 2942
    functionDepth: 0
    functionLinenumber: 2942
    functionLinenumberEnd: 2945
    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: 2949
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 2949
    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:2952,1
    - Dst: getOffset
      Src: /src/tdengine/source/libs/executor/src/executil.c:2952,1
    - Dst: getLimit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2953,1
    - Dst: getOffset
      Src: /src/tdengine/source/libs/executor/src/executil.c:2953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pLimit
    - pSLimit
    - pLimitInfo
    argTypes:
    - SNode*
    - SNode*
    - SLimitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2951
    functionDepth: 1
    functionLinenumber: 2951
    functionLinenumberEnd: 2962
    functionName: initLimitInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached:
    - getLimit
    - getOffset
    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: 2967
      start: 2964
    functionDepth: 0
    functionLinenumber: 2964
    functionLinenumberEnd: 2967
    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:2970,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2970,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2971,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2971,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pTableList
    - pRes
    argTypes:
    - STableListInfo*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2969
    functionDepth: 1
    functionLinenumber: 2969
    functionLinenumberEnd: 2976
    functionName: tableListGetSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 3
    functionsReached:
    - taosHashGetSize
    - qError
    - 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: 2978
      start: 2978
    functionDepth: 0
    functionLinenumber: 2978
    functionLinenumberEnd: 2978
    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:2981,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTableList
    - index
    argTypes:
    - STableListInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2980
    functionDepth: 1
    functionLinenumber: 2980
    functionLinenumberEnd: 2986
    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:2989,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2995,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2997,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pTableList
    - uid
    - startIndex
    argTypes:
    - STableListInfo*
    - uint64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2988
    functionDepth: 1
    functionLinenumber: 2988
    functionLinenumberEnd: 3005
    functionName: tableListFind
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - qError
    - 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: 3011
      start: 3007
    functionDepth: 0
    functionLinenumber: 3007
    functionLinenumberEnd: 3011
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3014,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3016,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pTableList
    - tableUid
    argTypes:
    - STableListInfo*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3013
    functionDepth: 1
    functionLinenumber: 3013
    functionLinenumberEnd: 3022
    functionName: tableListGetTableGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - taosHashGet
    - qDebug
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t tableListGetTableGroupId(const STableListInfo* pTableList,
      uint64_t tableUid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3029,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:3029,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3030,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3034,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:3036,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:3040,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3041,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3043,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:3044,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executil.c:3047,1
    - Dst: taosArrayPopTailBatch
      Src: /src/tdengine/source/libs/executor/src/executil.c:3048,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3053,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3053,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pTableList
    - uid
    - gid
    argTypes:
    - STableListInfo*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3025
    functionDepth: 1
    functionLinenumber: 3025
    functionLinenumberEnd: 3059
    functionName: tableListAddTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 4
    functionsReached:
    - taosHashGet
    - taosArrayPush
    - tstrerror
    - taosHashInit
    - qDebug
    - qInfo
    - taosArrayGetSize
    - taosHashPut
    - QUERY_CHECK_CONDITION
    - taosGetDefaultHashFunction
    - qError
    - taosArrayPopTailBatch
    - QUERY_CHECK_NULL
    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:3063,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3065,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3067,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3067,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3079,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3083,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3094,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: 3096
      start: 3061
    functionDepth: 2
    functionLinenumber: 3061
    functionLinenumberEnd: 3096
    functionName: tableListGetGroupList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - taosArrayGet
    - tableListGetOutputGroups
    - qError
    - tableListGetSize
    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: 3098
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3098
    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: 3100
      start: 3100
    functionDepth: 0
    functionLinenumber: 3100
    functionLinenumberEnd: 3100
    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:3103,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3109,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3114,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:3114,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3102
    functionDepth: 1
    functionLinenumber: 3102
    functionLinenumberEnd: 3125
    functionName: tableListCreate
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 4
    functionsReached:
    - taosArrayInit
    - taosHashInit
    - tableListDestroy
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    linkageType: ''
    returnType: STableListInfo
    signature: STableListInfo * tableListCreate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3132,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3133,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:3135,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:3136,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:3139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - STableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3140
      start: 3127
    functionDepth: 1
    functionLinenumber: 3127
    functionLinenumberEnd: 3140
    functionName: tableListDestroy
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tableListDestroy(STableListInfo* pTableListInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3147,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3148,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3149,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:3150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - STableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3153
      start: 3142
    functionDepth: 1
    functionLinenumber: 3142
    functionLinenumberEnd: 3153
    functionName: tableListClear
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - taosHashClear
    - taosArrayClear
    - 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: 3164
      start: 3155
    functionDepth: 0
    functionLinenumber: 3155
    functionLinenumberEnd: 3164
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:3167,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3168,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3170,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3175,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3177,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3177,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:3183,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3185,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3185,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3190,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3192,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:3196,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3198,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3198,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3205,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3206,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3208,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3212,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3212,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - STableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3166
    functionDepth: 1
    functionLinenumber: 3166
    functionLinenumberEnd: 3215
    functionName: sortTableGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - taosArrayGet
    - memcpy
    - taosArrayGetSize
    - taosArraySort
    - qError
    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:3221,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3222,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3226,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3228,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3231,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:3231,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3237,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3239,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3239,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:3243,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3246,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3252,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3254,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3254,1
    - Dst: getColInfoResultForGroupbyForStream
      Src: /src/tdengine/source/libs/executor/src/executil.c:3262,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:3271,1
    - Dst: sortTableGroup
      Src: /src/tdengine/source/libs/executor/src/executil.c:3279,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3283,1
    - Dst: getColInfoResultForGroupby
      Src: /src/tdengine/source/libs/executor/src/executil.c:3291,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3296,1
    - Dst: sortTableGroup
      Src: /src/tdengine/source/libs/executor/src/executil.c:3299,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3304,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3306,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3308,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3308,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:3311,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3313,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3313,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 77
    argCount: 8
    argNames:
    - pTableListInfo
    - pHandle
    - pScanNode
    - group
    - groupSort
    - digest
    - pAPI
    - groupIdMap
    argTypes:
    - STableListInfo*
    - SReadHandle*
    - SScanPhysiNode*
    - SNodeList*
    - bool
    - uint8_t*
    - SStorageAPI*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3319
      start: 3217
    functionDepth: 6
    functionLinenumber: 3217
    functionLinenumberEnd: 3319
    functionName: buildGroupIdMapForAllTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - groupbyTbname
    - nodeType
    - tstrerror
    - taosArrayGet
    - qDebug
    - getColInfoResultForGroupbyForStream
    - sortTableGroup
    - taosArrayGetSize
    - taosArraySort
    - getColInfoResultForGroupby
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    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)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:3324,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:3325,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3328,1
    - Dst: getTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:3337,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3340,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3340,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3344,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:3346,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3348,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3352,1
    - Dst: buildGroupIdMapForAllTables
      Src: /src/tdengine/source/libs/executor/src/executil.c:3356,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:3361,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3362,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: 3365
      start: 3321
    functionDepth: 7
    functionLinenumber: 3321
    functionLinenumberEnd: 3365
    functionName: createScanTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - qDebug
    - buildGroupIdMapForAllTables
    - GET_TASKID
    - taosArrayGetSize
    - qError
    - getTableList
    - taosGetTimestampUs
    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: 3377
      start: 3367
    functionDepth: 0
    functionLinenumber: 3367
    functionLinenumberEnd: 3377
    functionName: getStreamOpName
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    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:3382,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3385,1
    - Dst: dumpBlockData
      Src: /src/tdengine/source/libs/executor/src/executil.c:3390,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3392,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:3393,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: 3396
      start: 3379
    functionDepth: 1
    functionLinenumber: 3379
    functionLinenumberEnd: 3396
    functionName: printDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 10
    functionsReached:
    - qDebug
    - qDebugL
    - taosMemoryFree
    - dumpBlockData
    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:3400,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3403,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/executil.c:3411,1
    - Dst: dumpBlockData
      Src: /src/tdengine/source/libs/executor/src/executil.c:3412,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3414,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:3415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pBlock
    - flag
    - opStr
    - taskIdStr
    argTypes:
    - SSDataBlock*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3398
    functionDepth: 1
    functionLinenumber: 3398
    functionLinenumberEnd: 3418
    functionName: printSpecDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - snprintf
    - qDebug
    - 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: 3420
      start: 3420
    functionDepth: 0
    functionLinenumber: 3420
    functionLinenumberEnd: 3420
    functionName: getStartTsKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    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: 3429
      start: 3422
    functionDepth: 0
    functionLinenumber: 3422
    functionLinenumberEnd: 3429
    functionName: updateTimeWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    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:3438,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/executil.c:3439,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:3442,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:3446,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3448,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:3449,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3451,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:3452,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:3453,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3453,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3454,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:3456,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3456,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3457,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:3460,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: 3467
      start: 3431
    functionDepth: 1
    functionLinenumber: 3431
    functionLinenumberEnd: 3467
    functionName: compKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - IS_STR_DATA_BLOB
    - memcmp
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - colDataIsNull
    - getJsonValueLen
    - blobDataTLen
    - TARRAY_GET_ELEM
    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:3476,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/executil.c:3477,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:3482,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:3486,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3488,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3489,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3491,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:3492,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3493,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3494,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3496,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3497,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3500,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: 3506
      start: 3469
    functionDepth: 1
    functionLinenumber: 3469
    functionLinenumberEnd: 3506
    functionName: buildKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - IS_STR_DATA_BLOB
    - blobDataCopy
    - varDataTLen
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - varDataCopy
    - colDataIsNull
    - getJsonValueLen
    - blobDataTLen
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildKeys(char* keyBuf, const SArray* pSortGroupCols, const
      SSDataBlock* pBlock, int32_t rowIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/executor/src/executil.c:3510,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/executor/src/executil.c:3511,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/executor/src/executil.c:3512,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3516,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pData
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3508
    functionDepth: 1
    functionLinenumber: 3508
    functionLinenumberEnd: 3519
    functionName: calcGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached:
    - memcpy
    - tMD5Init
    - tMD5Final
    - tMD5Update
    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:3526,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3528,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pSortKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3534
      start: 3521
    functionDepth: 5
    functionLinenumber: 3521
    functionLinenumberEnd: 3534
    functionName: makeColsNodeArrFromSortKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - qError
    - tstrerror
    - nodesListMakeAppend
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * makeColsNodeArrFromSortKeys(SNodeList* pSortKeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/executor/src/executil.c:3526,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3528,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3532
      start: 3524
    functionDepth: 5
    functionLinenumber: 3524
    functionLinenumberEnd: 3532
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 34
    functionsReached:
    - qError
    - tstrerror
    - nodesListMakeAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pSortKeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3540,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3542,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3543,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3551,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - keys
    - pLen
    argTypes:
    - SArray*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3554
      start: 3536
    functionDepth: 1
    functionLinenumber: 3536
    functionLinenumberEnd: 3554
    functionName: extractKeysLen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - taosArrayGet
    - taosArrayGetSize
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractKeysLen(const SArray* keys, int32_t* pLen)
  - 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: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    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:44,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/querytask.c:49,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/querytask.c:50,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/querytask.c:53,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/querytask.c:54,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:56,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/executor/src/querytask.c:61,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:66,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:68,1
    - Dst: buildTaskId
      Src: /src/tdengine/source/libs/executor/src/querytask.c:72,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/querytask.c:73,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:75,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: 81
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: doCreateTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 2
    functionsReached:
    - doDestroyTask
    - taosMemoryMalloc
    - buildTaskId
    - taosArrayInit
    - setTaskStatus
    - taosInitRWLatch
    - taosMemoryCalloc
    - taosGetTimestampUs
    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: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: isTaskKilled
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTaskKilled(void* pTaskInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stopTableScanOperator
      Src: /src/tdengine/source/libs/executor/src/querytask.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pTaskInfo
    - rspCode
    argTypes:
    - SExecTaskInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 88
    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:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pTaskInfo
    - status
    argTypes:
    - SExecTaskInfo*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: doCreateTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:102,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:104,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/querytask.c:118,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:121,1
    - Dst: createOperator
      Src: /src/tdengine/source/libs/executor/src/querytask.c:129,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 7
    argNames:
    - pPlan
    - pTaskInfo
    - pHandle
    - taskId
    - vgId
    - sql
    - model
    argTypes:
    - SSubplan*
    - SExecTaskInfo**
    - SReadHandle*
    - uint64_t
    - int32_t
    - char*
    - EOPTR_EXEC_MODEL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 100
    functionDepth: 19
    functionLinenumber: 100
    functionLinenumberEnd: 137
    functionName: createExecTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 2
    functionsReached:
    - doDestroyTask
    - createOperator
    - nodesDestroyNode
    - doCreateTask
    - 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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:142,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:143,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:144,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    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:157,1
    - Dst: SStorageAPI*::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/querytask.c:158,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/querytask.c:160,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/querytask.c:161,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/querytask.c:163,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/querytask.c:169,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/querytask.c:170,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/querytask.c:172,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:173,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:182,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:185,1
    - Dst: SStorageAPI*::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/querytask.c:188,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/querytask.c:190,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:191,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:195,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:198,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/querytask.c:201,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:204,1
    - Dst: extractQueriedColumnSchema
      Src: /src/tdengine/source/libs/executor/src/querytask.c:208,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:210,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/querytask.c:214,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:216,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 4
    argNames:
    - pHandle
    - pScanNode
    - dbName
    - pTaskInfo
    argTypes:
    - SReadHandle*
    - SScanPhysiNode*
    - char*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 221
    functionName: initQueriedTableSchemaInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tDecoderClear
    - SStorageAPI*::metaReaderFn::clearReader
    - tCloneSSchemaWrapper
    - GET_TASKID
    - SStorageAPI*::metaReaderFn::initReader
    - extractQueriedColumnSchema
    - cleanupQueriedTableScanInfo
    - qError
    - taosStrdup
    - SStorageAPI*::metaReaderFn::getEntryGetUidCache
    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:224,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/querytask.c:225,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:227,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:232,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/querytask.c:234,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:239,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:246,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/querytask.c:246,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:251,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/querytask.c:253,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:261,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/querytask.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - pScanNode
    argTypes:
    - SScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 266
    functionName: extractQueriedColumnSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - nodeType
    - tListLen
    - taosMemoryCalloc
    - taosMemoryFree
    - LIST_LENGTH
    linkageType: ''
    returnType: SSchemaWrapper
    signature: SSchemaWrapper * extractQueriedColumnSchema(SScanPhysiNode* pScanNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:269,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:270,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:271,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/querytask.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pStreamInfo
    argTypes:
    - SStreamTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: cleanupStreamInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - tDeleteSchemaWrapper
    - tOffsetDestroy
    linkageType: ''
    returnType: void
    signature: void cleanupStreamInfo(SStreamTaskInfo* pStreamInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: freeBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void freeBlock(void* pParam)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/querytask.c:281,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/querytask.c:281,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/querytask.c:282,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/querytask.c:285,1
    - Dst: cleanupStreamInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:286,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:289,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/querytask.c:293,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:294,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/querytask.c:296,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:299,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:300,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 280
    functionDepth: 6
    functionLinenumber: 280
    functionLinenumberEnd: 302
    functionName: doDestroyTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 4
    functionsReached:
    - taosArrayDestroy
    - freeOperatorParam
    - destroyOperator
    - cleanupStreamInfo
    - taosMemoryFreeClear
    - qDebug
    - taosArrayDestroyEx
    - GET_TASKID
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void doDestroyTask(SExecTaskInfo* pTaskInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/querytask.c:305,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/querytask.c:307,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: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    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:
    - tstrerror
    - nodeType
    - taosArrayGet
    - FOREACH
    - qError
    - QUERY_CHECK_NULL
    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: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:117,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:118,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:120,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:121,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:125,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:135,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:136,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:137,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:147,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:148,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:150,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:150,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:151,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:153,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:154,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:155,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:158,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:159,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:160,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:162,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:163,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:164,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:165,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:166,1
    - Dst: extractCacheScanSlotId
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:172,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:173,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:176,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:177,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:181,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:182,1
    - Dst: oneTableForEachGroup
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:185,1
    - Dst: SCAN_ROW_TYPE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:186,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:188,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:189,1
    - Dst: tableListGetSuid
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:191,1
    - Dst: SCacheRowsScanInfo*::readHandle::api::cacheFn::openReader
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:192,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:193,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:196,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:198,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:201,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:202,1
    - Dst: setColIdForCacheReadBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:204,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:205,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:207,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:208,1
    - Dst: SCAN_ROW_TYPE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:210,1
    - Dst: setColIdForCacheReadBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:212,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:213,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:216,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:217,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:218,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:222,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:223,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:226,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:227,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:230,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:232,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:234,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:245,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:245,1
    - Dst: destroyCacheScanOperator
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:249,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:253,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: 256
      start: 96
    functionDepth: 8
    functionLinenumber: 96
    functionLinenumberEnd: 256
    functionName: createCacherowsScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - taosArrayAddAll
    - taosArrayInit
    - tstrerror
    - setColIdForCacheReadBlock
    - TMIN
    - createSqlFunctionCtx
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - taosArrayGet
    - SCAN_ROW_TYPE
    - destroyOperator
    - initResultSizeInfo
    - destroyCacheScanOperator
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - qError
    - oneTableForEachGroup
    - createOneDataBlock
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - TARRAY_SIZE
    - TSDB_CHECK_CODE
    - extractColMatchInfo
    - blockDataEnsureCapacity
    - tableListGetSuid
    - extractCacheScanSlotId
    - SCacheRowsScanInfo*::readHandle::api::cacheFn::openReader
    - tableListGetInfo
    - tableListGetSize
    - QUERY_CHECK_NULL
    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:272,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:274,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:275,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:278,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:283,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:287,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:288,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:292,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:293,1
    - Dst: SStoreCacheReader*::retrieveRows
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:295,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:297,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:303,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:304,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:306,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:307,1
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:314,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:316,1
    - Dst: tableListGetTableGroupId
      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: 90
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 404
    functionName: doScanCacheNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - tableListGetGroupList
    - taosArrayClear
    - QUERY_CHECK_CODE
    - copyDataBlock
    - taosArrayGet
    - blockDataCleanup
    - setOperatorCompleted
    - isTaskKilled
    - SStoreCacheReader*::reuseReader
    - qError
    - SStoreCacheReader*::openReader
    - T_LONG_JMP
    - taosArrayGetSize
    - SStoreCacheReader*::closeReader
    - tableListGetTableGroupId
    - tableListGetSuid
    - SStoreCacheReader*::retrieveRows
    - addTagPseudoColumnData
    - tableListGetOutputGroups
    - tableListGetSize
    - QUERY_CHECK_NULL
    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:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - tableListDestroy
    - SCacheRowsScanInfo*::readHandle::api::cacheFn::closeReader
    - cleanupExprSupp
    - blockDataDestroy
    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
    - taosArrayGetSize
    - taosArrayGetLast
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extractCacheScanSlotId(const SArray* pColMatchInfo, SExecTaskInfo*
      pTaskInfo, int32_t** pSlotIds,\n                               int32_t** pDstSlotIds)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSTabFltArg*::pAPI::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:181,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:185,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:187,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:187,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:191,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:191,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:193,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:193,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:196,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:196,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:196,1
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:203,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 210
    functionName: sysFilte__DbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrerror
    - varDataVal
    - tNameGetDbName
    - tNameFromString
    - optSysGetFilterFunc
    - func
    - qError
    - varDataSetLen
    - SSTabFltArg*::pAPI::metaFn::getBasicInfo
    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:217,1
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:224,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: sysFilte__VgroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SSTabFltArg*::pAPI::metaFn::getBasicInfo
    - func
    - 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:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 251
    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:261,1
    - Dst: SStorageAPI*::metaFilter::metaFilterCreateTime
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 274
    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:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 286
    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:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 298
    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:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 310
    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:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 322
    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:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 334
    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:337,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: 362
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 362
    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:365,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: optSysFilterFuncImpl__LowerThan
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysDoCompare
    - getComparFunc
    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:372,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 377
    functionName: optSysFilterFuncImpl__LowerEqual
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysDoCompare
    - getComparFunc
    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:379,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: optSysFilterFuncImpl__GreaterThan
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysDoCompare
    - getComparFunc
    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:386,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: optSysFilterFuncImpl__GreaterEqual
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysDoCompare
    - getComparFunc
    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:393,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: optSysFilterFuncImpl__Equal
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysDoCompare
    - getComparFunc
    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:401,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: optSysFilterFuncImpl__NoEqual
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysDoCompare
    - getComparFunc
    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: 440
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 440
    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:445,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:446,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:446,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:447,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:450,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:451,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCond
    - condTable
    argTypes:
    - SNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 457
    functionName: sysTableIsOperatorCondOnOneTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - nodesGetValueFromNode
    - tstrncpy
    - nodeType
    - strcasecmp
    - nodesGetNameFromColumnNode
    - varDataVal
    linkageType: ''
    returnType: bool
    signature: bool sysTableIsOperatorCondOnOneTable(SNode* pCond, char* condTable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:463,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:467,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:468,1
    - Dst: sysTableIsOperatorCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:468,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:475,1
    - Dst: sysTableIsOperatorCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pCond
    - condTable
    argTypes:
    - SNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 480
    functionName: sysTableIsCondOnOneTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysTableIsOperatorCondOnOneTable
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool sysTableIsCondOnOneTable(SNode* pCond, char* condTable)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:489,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:492,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:493,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:496,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:502,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:509,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:510,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:511,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:514,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:526,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:529,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:533,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:536,1
    - Dst: sysTableUserColsFillOneTableCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:539,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:541,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:543,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:543,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:545,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:547,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:550,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:555,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:557,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:558,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 3
    argNames:
    - pOperator
    - dataBlock
    - dbname
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 560
    functionName: doOptimizeTableNameFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysTableUserColsFillOneTableCols
    - tstrerror
    - SStorageAPI*::metaReaderFn::clearReader
    - relocateAndFilterSysTagsScanResult
    - setOperatorCompleted
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - T_LONG_JMP
    - qDebug
    - GET_TASKID
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - STR_TO_VARSTR
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doOptimizeTableNameFilter(SOperatorInfo* pOperator, SSDataBlock*
      dataBlock, char* dbname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:568,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:569,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:570,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:572,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:572,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:573,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:575,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:575,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:575,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:579,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - dbname
    - pInfo
    - pAPI
    argTypes:
    - char*
    - SSysTableScanInfo*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 582
    functionName: doExtractDbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrerror
    - QUERY_CHECK_CODE
    - tNameGetDbName
    - tNameFromString
    - qError
    - varDataVal
    - SStorageAPI*::metaFn::getBasicInfo
    - varDataSetLen
    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:599,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:601,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:602,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:604,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:605,1
    - Dst: doExtractDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:607,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:608,1
    - Dst: doOptimizeTableNameFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:612,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:613,1
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:618,1
    - Dst: SStorageAPI*::metaFn::resumeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:620,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:622,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:624,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:629,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:629,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:630,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:633,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:633,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:637,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:637,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:638,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:643,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:652,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:652,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:653,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:655,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:657,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:659,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:663,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:666,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:669,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:674,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:679,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:679,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:681,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:682,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:684,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:685,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:691,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:692,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:695,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:696,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:698,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:699,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:703,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:708,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:712,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:717,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:723,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:724,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:725,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:728,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:728,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:731,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:732,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:734,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:734,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:737,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:738,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:741,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:741,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:743,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:744,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:748,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:749,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:755,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:756,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:759,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:760,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:762,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:763,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:767,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:772,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:776,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:781,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:787,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:788,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:789,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:792,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:792,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:797,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:801,1
    - Dst: sysTableUserColsFillOneTableCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:807,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:808,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:812,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:813,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:817,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:820,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:822,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:826,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:826,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:830,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:831,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:831,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:833,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 193
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 836
    functionName: sysTableScanUserCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysTableUserColsFillOneTableCols
    - tstrerror
    - relocateAndFilterSysTagsScanResult
    - SStorageAPI*::metaFn::resumeTableMetaCursor
    - taosHashPut
    - GET_TASKID
    - buildInfoSchemaTableMetaBlock
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    - SStorageAPI*::metaFn::cursorNext
    - SStorageAPI*::metaReaderFn::clearReader
    - doExtractDbName
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - setOperatorCompleted
    - tCloneSSchemaWrapper
    - qError
    - blockDataDestroy
    - taosHashSetFreeFp
    - taosHashGet
    - T_LONG_JMP
    - SStorageAPI*::metaReaderFn::initReader
    - taosGetDefaultHashFunction
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - terrstr
    - qDebug
    - doOptimizeTableNameFilter
    - SStorageAPI*::metaFn::pauseTableMetaCursor
    - SStorageAPI*::metaFn::openTableMetaCursor
    - taosHashInit
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUserCols(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:839,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pTableListInfo
    - tableUid
    argTypes:
    - STableListInfo*
    - tb_uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 849
    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:866,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:868,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:869,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:871,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:872,1
    - Dst: doExtractDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:874,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:875,1
    - Dst: doOptimizeTableNameFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:879,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:880,1
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:885,1
    - Dst: SStorageAPI*::metaFn::resumeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:887,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:889,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:891,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:896,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:896,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:897,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:901,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:901,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:902,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:907,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:922,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:922,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:924,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:925,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:926,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:931,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:931,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:933,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:934,1
    - Dst: virtualChildTableNeedCollect
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:935,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:936,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:936,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:937,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:942,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:946,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:947,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:950,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:951,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:953,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:954,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:958,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:959,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:962,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:963,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:966,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:967,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:969,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:970,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:974,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:975,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:980,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:984,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:989,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:990,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:993,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:993,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:998,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1002,1
    - Dst: sysTableUserColsFillOneVirtualTableCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1007,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1008,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1012,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1013,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1017,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1020,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1022,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1026,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1026,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1030,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1031,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1031,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1033,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 141
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 1036
    functionName: sysTableScanUserVcCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - relocateAndFilterSysTagsScanResult
    - SStorageAPI*::metaFn::resumeTableMetaCursor
    - taosHashPut
    - GET_TASKID
    - buildInfoSchemaTableMetaBlock
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - virtualChildTableNeedCollect
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    - SStorageAPI*::metaFn::cursorNext
    - SStorageAPI*::metaReaderFn::clearReader
    - doExtractDbName
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - setOperatorCompleted
    - tCloneSSchemaWrapper
    - qError
    - blockDataDestroy
    - taosHashSetFreeFp
    - taosHashGet
    - T_LONG_JMP
    - SStorageAPI*::metaReaderFn::initReader
    - taosGetDefaultHashFunction
    - varDataVal
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - sysTableUserColsFillOneVirtualTableCols
    - terrstr
    - qDebug
    - doOptimizeTableNameFilter
    - SStorageAPI*::metaFn::pauseTableMetaCursor
    - SStorageAPI*::metaFn::openTableMetaCursor
    - taosHashInit
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUserVcCols(SOperatorInfo* pOperator)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1051,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1054,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1055,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1057,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1058,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1062,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1066,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1067,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1069,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1069,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1070,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1072,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1072,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1072,1
    - Dst: sysTableIsCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1076,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1078,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1081,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1082,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1085,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1086,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1092,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1093,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1099,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1100,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1103,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1104,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1105,1
    - Dst: sysTableUserTagsFillOneTableTags
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1109,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1112,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1113,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1115,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1118,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1121,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1123,1
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1129,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1130,1
    - Dst: SStorageAPI*::metaFn::resumeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1132,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1133,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1136,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1142,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1145,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1149,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1149,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1150,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1151,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1152,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1154,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1156,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1160,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1164,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1165,1
    - Dst: sysTableUserTagsFillOneTableTags
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1171,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1175,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1176,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1177,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1179,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1181,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1183,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1187,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1188,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1192,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1195,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1197,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1204,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1204,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1205,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1206,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1209,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 120
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1212
    functionName: sysTableScanUserTags
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - relocateAndFilterSysTagsScanResult
    - SStorageAPI*::metaFn::resumeTableMetaCursor
    - GET_TASKID
    - buildInfoSchemaTableMetaBlock
    - sysTableIsCondOnOneTable
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    - SStorageAPI*::metaFn::cursorNext
    - SStorageAPI*::metaReaderFn::clearReader
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - tNameFromString
    - setOperatorCompleted
    - qError
    - sysTableUserTagsFillOneTableTags
    - varDataSetLen
    - blockDataDestroy
    - strlen
    - tNameGetDbName
    - T_LONG_JMP
    - SStorageAPI*::metaReaderFn::initReader
    - varDataVal
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - SStorageAPI*::metaFn::getBasicInfo
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - SStorageAPI*::metaFn::pauseTableMetaCursor
    - SStorageAPI*::metaFn::openTableMetaCursor
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUserTags(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1222,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1224,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1225,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1227,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1231,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1231,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1233,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: 1235
      start: 1214
    functionDepth: 5
    functionLinenumber: 1214
    functionLinenumberEnd: 1235
    functionName: relocateAndFilterSysTagsScanResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 4
    functionsReached:
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - T_LONG_JMP
    - relocateColumnData
    - qError
    linkageType: ''
    returnType: void
    signature: "void relocateAndFilterSysTagsScanResult(SSysTableScanInfo* pInfo,
      int32_t numOfRows, SSDataBlock* dataBlock,\n                                        SFilterInfo*
      pFilterInfo, SExecTaskInfo* pTaskInfo)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1242,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1246,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1250,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1254,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1258,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1263,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1267,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1267,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1271,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1271,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1281,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1289,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1296,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1300,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1304,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1308,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: 1318
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1318
    functionName: convertTagDataToStr
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - GET_DOUBLE_VAL
    - memcpy
    - taosUcs4ToMbs
    - tsnprintf
    - 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:1326,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1331,1
    - Dst: doAsText
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1332,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1333,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1333,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1340,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1344,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: 1346
      start: 1320
    functionDepth: 2
    functionLinenumber: 1320
    functionLinenumberEnd: 1346
    functionName: sysTableGetGeomText
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - strlen
    - initCtxAsText
    - TAOS_RETURN
    - doAsText
    - qError
    - taosStrdup
    - getGeosErrMsg
    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:1354,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1363,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1364,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1365,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1366,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1369,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1370,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1371,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1372,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1375,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1376,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1377,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1378,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1382,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1383,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1384,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1385,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1386,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1391,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1392,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1395,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1395,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1399,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1403,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1404,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1406,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1407,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1409,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1411,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1411,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1414,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1415,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1416,1
    - Dst: tTagGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1426,1
    - Dst: sysTableGetGeomText
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1429,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1430,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1432,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1434,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1434,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1436,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1448,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1455,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1460,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1460,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1461,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1462,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1462,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1462,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1463,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1463,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1464,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1466,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1468,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1469,1
    - Dst: convertTagDataToStr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1472,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1472,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1475,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1478,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1479,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1480,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1481,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1482,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1484,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1485,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1493,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1493,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: 1496
      start: 1348
    functionDepth: 3
    functionLinenumber: 1348
    functionLinenumberEnd: 1496
    functionName: sysTableUserTagsFillOneTableTags
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - convertTagDataToStr
    - tstrerror
    - tTagIsJsonNull
    - tTagGet
    - QUERY_CHECK_CODE
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - qError
    - taosMemoryCalloc
    - varDataSetLen
    - parseTagDatatoJson
    - IS_STR_DATA_BLOB
    - strlen
    - taosMemoryFreeClear
    - tsnprintf
    - sysTableGetGeomText
    - varDataVal
    - STR_TO_VARSTR
    - taosAscii2Hex
    - memcpy
    - colDataSetVal
    - taosMemoryFree
    - QUERY_CHECK_NULL
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1504,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1514,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1515,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1516,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1517,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1520,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1521,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1522,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1523,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1525,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1526,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1527,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1528,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1532,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1533,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1534,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1535,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1536,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1540,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1541,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1544,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1544,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1548,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1551,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1551,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1554,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1554,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1556,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1557,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1560,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1561,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1561,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1563,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1564,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1565,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1568,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1569,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1570,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1571,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1575,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1576,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1577,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1581,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1582,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1584,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1588,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1589,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1590,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1591,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1592,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1593,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1595,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1596,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1600,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1601,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1602,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1603,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1612,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1612,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 80
    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: 1615
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1615
    functionName: sysTableUserColsFillOneTableCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 2
    functionsReached:
    - decimalFromTypeMod
    - varDataVal
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - sprintf
    - IS_DECIMAL_TYPE
    - colDataSetVal
    - colDataSetNULL
    - strcat
    - tsnprintf
    - qError
    - STR_TO_VARSTR
    - varDataSetLen
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sysTableUserColsFillOneTableCols(const char* dbname, int32_t*
      pNumOfRows,\n                                                const SSDataBlock*
      dataBlock, char* tName, SSchemaWrapper* schemaRow,\n                                                SExtSchema*
      extSchemaRow, char* tableType, SColRefWrapper* colRef)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1624,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1634,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1635,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1636,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1637,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1640,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1641,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1642,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1643,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1646,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1647,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1648,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1649,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1653,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1654,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1655,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1656,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1657,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1660,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1661,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1662,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1663,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1667,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1668,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1670,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1672,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1673,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1676,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1677,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1679,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1683,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1684,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1685,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1686,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1687,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1688,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1690,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1691,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1695,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1696,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1697,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1698,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1701,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1702,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1703,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1704,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1712,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 66
    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: 1715
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1715
    functionName: sysTableUserColsFillOneVirtualTableCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - strcat
    - qError
    - STR_TO_VARSTR
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sysTableUserColsFillOneVirtualTableCols(const SSysTableScanInfo*
      pInfo, const char* dbname, int32_t* pNumOfRows,\n                                                       const
      SSDataBlock* dataBlock, char* tName, char* stName,\n                                                       SSchemaWrapper*
      schemaRow, char* tableType, SColRefWrapper *colRef,\n                                                       tb_uid_t
      uid, int32_t vgId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1721,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1725,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1732,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1740,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1741,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1743,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1743,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - tableName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1752
    functionName: buildInfoSchemaTableMetaBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 3
    functionsReached:
    - tstrerror
    - blockDataDestroy
    - getInfosDbMeta
    - createColumnInfoData
    - blockDataAppendColInfo
    - qError
    - createDataBlock
    - strcmp
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * buildInfoSchemaTableMetaBlock(char* tableName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1767,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1771,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1772,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1774,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1775,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1776,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1779,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1780,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1781,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1782,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1783,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1786,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1787,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1788,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1791,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1792,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1793,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1794,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1797,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1798,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1799,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1802,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1804,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1805,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1806,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1807,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1816,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1816,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 6
    argNames:
    - sysInfo
    - p
    - pSysDbTableMeta
    - size
    - dbName
    - pRows
    argTypes:
    - bool
    - SSDataBlock*
    - SSysTableMeta*
    - size_t
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1754
    functionDepth: 1
    functionLinenumber: 1754
    functionLinenumberEnd: 1819
    functionName: buildDbTableInfoBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - strcmp
    - colDataSetNULL
    - colDataSetVal
    - qError
    - STR_TO_VARSTR
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildDbTableInfoBlock(bool sysInfo, const SSDataBlock* p,
      const SSysTableMeta* pSysDbTableMeta, size_t size,\n                              const
      char* dbName, int64_t* pRows)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildInfoSchemaTableMetaBlock
      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: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1827,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1828,1
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1833,1
    - Dst: buildDbTableInfoBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1834,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1835,1
    - Dst: getPerfDbMeta
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1837,1
    - Dst: buildDbTableInfoBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1838,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1839,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1842,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1843,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1845,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1850,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1851,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - pInfo
    - capacity
    argTypes:
    - SSysTableScanInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1821
    functionDepth: 2
    functionLinenumber: 1821
    functionLinenumberEnd: 1854
    functionName: buildSysDbTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - getPerfDbMeta
    - buildInfoSchemaTableMetaBlock
    - blockDataDestroy
    - getInfosDbMeta
    - relocateColumnData
    - qError
    - blockDataEnsureCapacity
    - buildDbTableInfoBlock
    - QUERY_CHECK_NULL
    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:1861,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1863,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1863,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1867,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1870,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1871,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1873,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1874,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1877,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1878,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1879,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1880,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1883,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1884,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1885,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1886,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1892,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1893,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1894,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1895,1
    - Dst: SStoreMetaReader*::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1898,1
    - Dst: SStoreMetaReader*::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1901,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1903,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1904,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1905,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1906,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1909,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1911,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1912,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1915,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1917,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1918,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1922,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1923,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1925,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1926,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1929,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1930,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1931,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1934,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1935,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1938,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1939,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1940,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1943,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1944,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1945,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1947,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1951,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1952,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1953,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1954,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1957,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1958,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1959,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1960,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1962,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1966,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1967,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1968,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1969,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1972,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1973,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1975,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1976,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1979,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1980,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1981,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1984,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1985,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1988,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1989,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1990,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1993,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1994,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1995,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1997,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2001,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2002,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2003,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2004,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2007,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2008,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2009,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2010,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2012,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2016,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2017,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2018,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2019,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2022,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2023,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2025,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2026,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2029,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2030,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2031,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2034,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2035,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2036,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2039,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2040,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2041,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2042,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2045,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2046,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2047,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2049,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: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2056,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2057,1
    - Dst: SStoreMetaReader*::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2060,1
    - Dst: SStoreMetaReader*::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2063,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2065,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2066,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2067,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2068,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2071,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2073,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2074,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2077,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2079,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2080,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2084,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2085,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2087,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2088,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2091,1
    - Dst: SStoreMetaReader*::clearReader
      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: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2096,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2097,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2098,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2101,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2102,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2103,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2104,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2107,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2108,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2109,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2111,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2115,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2115,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 179
    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: 2117
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 2117
    functionName: doSetUserTableMetaInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - SStoreMetaReader*::getTableEntryByUid
    - QUERY_CHECK_CODE
    - taosArrayGet
    - SStoreMetaReader*::initReader
    - colDataSetNULL
    - colDataSetVal
    - qError
    - SStoreMetaReader*::clearReader
    - STR_TO_VARSTR
    - QUERY_CHECK_NULL
    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:2127,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2134,1
    - Dst: tNameFromString
      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: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2141,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2142,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2144,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2144,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2144,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2146,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2147,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2149,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2150,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2154,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2155,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2156,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2159,1
    - Dst: doSetUserTableMetaInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2161,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2162,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2164,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2165,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2167,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2168,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2170,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2171,1
    - Dst: relocateColumnData
      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: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2180,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2181,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2183,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2196,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2197,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2199,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2200,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2202,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2206,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2207,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2212,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2219,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2219,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2220,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 62
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2119
    functionDepth: 5
    functionLinenumber: 2119
    functionLinenumberEnd: 2225
    functionName: sysTableBuildUserTablesByUids
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - GET_TASKID
    - buildInfoSchemaTableMetaBlock
    - SStorageAPI*::metaReaderFn::clearReader
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataCleanup
    - tNameFromString
    - setOperatorCompleted
    - qError
    - varDataSetLen
    - blockDataDestroy
    - strlen
    - doFilter
    - tNameGetDbName
    - T_LONG_JMP
    - SStorageAPI*::metaReaderFn::initReader
    - taosArrayGetSize
    - varDataVal
    - blockDataEnsureCapacity
    - SStorageAPI*::metaFn::getBasicInfo
    - colDataSetVal
    - doSetUserTableMetaInfo
    - relocateColumnData
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableBuildUserTablesByUids(SOperatorInfo* pOperator)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2237,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2238,1
    - Dst: SStorageAPI*::metaFn::resumeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2242,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2244,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2246,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2250,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2255,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2259,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2260,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2262,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2262,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2263,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2265,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2265,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2265,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2267,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2268,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2270,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2271,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2276,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2277,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2280,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2281,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2283,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2286,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2287,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2288,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2292,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2293,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2294,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2295,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2301,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2302,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2303,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2304,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2307,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2310,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2312,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2313,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2313,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2314,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2315,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2317,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2318,1
    - Dst: isTsmaResSTb
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2321,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2322,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2327,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2328,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2329,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2330,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2333,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2334,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2335,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2336,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2337,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2338,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2341,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2342,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2345,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2346,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2347,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2350,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2351,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2352,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2354,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2358,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2359,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2360,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2361,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2364,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2365,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2367,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2369,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2372,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2373,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2374,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2375,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2378,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2379,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2381,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2384,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2385,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2386,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2389,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2390,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2393,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2394,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2395,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2398,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2399,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2400,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2402,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2406,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2407,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2408,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2409,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2412,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2413,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2414,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2415,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2417,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2420,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2421,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2422,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2423,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2426,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2427,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2429,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2432,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2433,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2434,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2437,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2438,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2439,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2442,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2443,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2444,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2445,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2448,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2449,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2450,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2452,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2456,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2457,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2458,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2459,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2462,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2465,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2467,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2468,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2468,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2469,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2470,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2472,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2473,1
    - Dst: isTsmaResSTb
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2476,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2477,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2482,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2483,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2484,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2485,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2488,1
    - Dst: taosArrayGet
      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: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2491,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2492,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2493,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2496,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2497,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2498,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2501,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2502,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2503,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2504,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2507,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2508,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2509,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2511,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2514,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2515,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2516,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2517,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2523,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2524,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2526,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2527,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2529,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2533,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2540,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2544,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2545,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2547,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2548,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2550,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2554,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2559,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2561,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2568,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2568,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2569,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2571,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2573,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 241
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2227
    functionDepth: 5
    functionLinenumber: 2227
    functionLinenumberEnd: 2576
    functionName: sysTableBuildUserTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - SStorageAPI*::metaFn::resumeTableMetaCursor
    - GET_TASKID
    - buildInfoSchemaTableMetaBlock
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    - SStorageAPI*::metaFn::cursorNext
    - SStorageAPI*::metaReaderFn::clearReader
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataCleanup
    - tNameFromString
    - setOperatorCompleted
    - qError
    - varDataSetLen
    - blockDataDestroy
    - strlen
    - doFilter
    - tNameGetDbName
    - T_LONG_JMP
    - colDataSetNULL
    - isTsmaResSTb
    - SStorageAPI*::metaReaderFn::initReader
    - varDataVal
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - SStorageAPI*::metaFn::getBasicInfo
    - colDataSetVal
    - SStorageAPI*::metaFn::pauseTableMetaCursor
    - SStorageAPI*::metaFn::openTableMetaCursor
    - relocateColumnData
    - QUERY_CHECK_NULL
    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:2586,1
    - Dst: SStorageAPI*::metaFn::getDBSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2590,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2591,1
    - Dst: vnodeEstimateRawDataSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2593,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - pOperator
    - pStaticsInfo
    argTypes:
    - SOperatorInfo*
    - SDbSizeStatisInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2578
    functionDepth: 1
    functionLinenumber: 2578
    functionLinenumberEnd: 2608
    functionName: buildVgDiskUsage
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CODE
    - SStorageAPI*::metaFn::getDBSize
    - SStorageAPI*::metaFn::getBasicInfo
    - vnodeEstimateRawDataSize
    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:2619,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2622,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2633,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2634,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2635,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2610
    functionDepth: 1
    functionLinenumber: 2610
    functionLinenumberEnd: 2641
    functionName: shouldEstimateRawDataSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - getInfosDbMeta
    - createColumnInfoData
    - 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:2659,1
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2663,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2666,1
    - Dst: shouldEstimateRawDataSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2673,1
    - Dst: buildVgDiskUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2676,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2677,1
    - Dst: tSerializeBlockDbUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2682,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2688,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2689,1
    - Dst: tSerializeBlockDbUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2691,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2691,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2693,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2696,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2699,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2700,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2701,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2702,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2703,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2705,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2706,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2712,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2716,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2717,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2719,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2719,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2720,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2722,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2722,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2722,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2724,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2725,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2727,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2728,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2730,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2731,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2732,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2734,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2735,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2736,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2738,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2739,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2740,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2742,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2743,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2744,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2746,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2747,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2748,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2750,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2751,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2752,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2754,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2755,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2756,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2758,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2759,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2760,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2762,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2763,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2764,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2766,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2767,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2768,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2775,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2776,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2778,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2779,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2782,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2786,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2789,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2791,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2795,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2795,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2796,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2798,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 105
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2642
    functionDepth: 5
    functionLinenumber: 2642
    functionLinenumberEnd: 2801
    functionName: sysTableBuildVgUsage
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - buildInfoSchemaTableMetaBlock
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - shouldEstimateRawDataSize
    - QUERY_CHECK_CODE
    - taosArrayGet
    - setOperatorCompleted
    - tNameFromString
    - taosMemoryCalloc
    - qError
    - varDataSetLen
    - blockDataDestroy
    - strlen
    - buildVgDiskUsage
    - doFilter
    - taosMemoryFreeClear
    - tNameGetDbName
    - T_LONG_JMP
    - varDataVal
    - blockDataEnsureCapacity
    - tSerializeBlockDbUsage
    - colDataSetVal
    - SStorageAPI*::metaFn::openTableMetaCursor
    - relocateColumnData
    - taosMemoryFree
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableBuildVgUsage(SOperatorInfo* pOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: buildSysDbTableInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2816,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2817,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2819,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2820,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2823,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2831,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2832,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2834,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2835,1
    - Dst: optSysTabFilte
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2840,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2843,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2846,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2846,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2849,1
    - Dst: sysTableBuildUserTables
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2854,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2859,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2859,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2861,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2803
    functionDepth: 6
    functionLinenumber: 2803
    functionLinenumberEnd: 2864
    functionName: sysTableScanUserTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - sysTableBuildUserTablesByUids
    - taosArrayInit
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - qDebug
    - T_LONG_JMP
    - GET_TASKID
    - optSysTabFilte
    - qError
    - sysTableBuildUserTables
    - buildSysDbTableInfo
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUserTables(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysTableBuildVgUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2875,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2879,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2879,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2865
    functionDepth: 6
    functionLinenumber: 2865
    functionLinenumberEnd: 2884
    functionName: sysTableScanUsage
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - T_LONG_JMP
    - tstrerror
    - sysTableBuildVgUsage
    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: 2898
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2898
    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: 2908
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2908
    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:2920,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2921,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2924,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2929,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2933,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2934,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2936,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2936,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2937,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2939,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2939,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2939,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2941,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2942,1
    - Dst: blockDataEnsureCapacity
      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: SStorageAPI*::tsdReader::fileSetReadNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2952,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2956,1
    - Dst: SStorageAPI*::tsdReader::fileSetReaderClose
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2957,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2961,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2971,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2972,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2973,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2974,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2977,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2978,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2979,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2980,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2984,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2985,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2986,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2987,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2988,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2989,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2993,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2994,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2995,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2996,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2997,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2998,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3002,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3003,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3004,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3005,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3006,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3007,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3011,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3012,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3013,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3014,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3015,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3016,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3020,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3021,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3022,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3023,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3024,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3025,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3029,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3030,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3031,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3032,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3033,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3034,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3051,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3052,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3054,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3055,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3057,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3070,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3071,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3073,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3074,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3076,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3080,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3087,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3087,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3088,1
    - Dst: SStorageAPI*::tsdReader::fileSetReaderClose
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3090,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3091,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 109
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 2910
    functionDepth: 5
    functionLinenumber: 2910
    functionLinenumberEnd: 3094
    functionName: sysTableBuildUserFileSets
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - SStorageAPI*::tsdReader::fileSetReaderOpen
    - buildInfoSchemaTableMetaBlock
    - SStorageAPI*::tsdReader::fileSetGetEntryField
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataCleanup
    - tNameFromString
    - SStorageAPI*::tsdReader::fileSetReadNext
    - setOperatorCompleted
    - qError
    - varDataSetLen
    - blockDataDestroy
    - strlen
    - doFilter
    - SStorageAPI*::tsdReader::fileSetReaderClose
    - tNameGetDbName
    - T_LONG_JMP
    - varDataVal
    - blockDataEnsureCapacity
    - SStorageAPI*::metaFn::getBasicInfo
    - colDataSetVal
    - relocateColumnData
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableBuildUserFileSets(SOperatorInfo* pOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3109,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3109,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3118,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3119,1
    - Dst: taosArrayInit
      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: optSysTabFilte
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3127,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3130,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3133,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3133,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3136,1
    - Dst: sysTableBuildUserFileSets
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3142,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3147,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3096
    functionDepth: 6
    functionLinenumber: 3096
    functionLinenumberEnd: 3152
    functionName: sysTableScanUserFileSets
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - sysTableBuildUserTablesByUids
    - sysTableBuildUserFileSets
    - qTrace
    - taosArrayInit
    - tstrerror
    - qDebug
    - T_LONG_JMP
    - GET_TASKID
    - optSysTabFilte
    - qError
    - QUERY_CHECK_NULL
    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: 3159
      start: 3154
    functionDepth: 0
    functionLinenumber: 3154
    functionLinenumberEnd: 3159
    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:3163,1
    - Dst: getSysTableDbNameColId
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3182,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3196,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3197,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3161
    functionDepth: 1
    functionLinenumber: 3161
    functionLinenumberEnd: 3204
    functionName: getDBNameFromConditionWalker
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - nodesGetValueFromNode
    - tstrncpy
    - nodeType
    - varDataVal
    - getSysTableDbNameColId
    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:3210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCondition
    - dbName
    argTypes:
    - SNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3206
    functionDepth: 3
    functionLinenumber: 3206
    functionLinenumberEnd: 3211
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3220,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3221,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3226,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3228,1
    - Dst: getDBNameFromCondition
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3230,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3231,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3232,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3233,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3234,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3235,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3236,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3237,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3237,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3239,1
    - Dst: getDBNameFromCondition
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3240,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3241,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3241,1
    - Dst: sysTableIsCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3242,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3246,1
    - Dst: sysTableScanUserTables
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3247,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3248,1
    - Dst: sysTableScanUserTags
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3249,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3250,1
    - Dst: sysTableScanUserCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3251,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3252,1
    - Dst: sysTableScanUserVcCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3253,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3254,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3255,1
    - Dst: sysTableScanUserSTables
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3256,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3257,1
    - Dst: sysTableScanUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3258,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3259,1
    - Dst: sysTableScanUserFileSets
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3260,1
    - Dst: sysTableScanFromMNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3262,1
    - Dst: sysTableScanFillTbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3265,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3267,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3269,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3284,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3284,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3285,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3213
    functionDepth: 7
    functionLinenumber: 3213
    functionLinenumberEnd: 3288
    functionName: doSysTableScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysTableScanUserSTables
    - sysTableScanUsage
    - tstrerror
    - applyLimitOffset
    - sysTableScanUserTags
    - sysTableScanFillTbName
    - sysTableIsCondOnOneTable
    - blockDataCleanup
    - setOperatorCompleted
    - isTaskKilled
    - qError
    - IS_SYS_DBNAME
    - sysTableScanUserVcCols
    - T_LONG_JMP
    - strncasecmp
    - sysTableScanFromMNode
    - tsnprintf
    - tNameGetTableName
    - sysTableScanUserTables
    - sysTableScanUserFileSets
    - TAOS_UNUSED
    - getDBNameFromCondition
    - sysTableScanUserCols
    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:3300,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3301,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3303,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3305,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3306,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3309,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3310,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3314,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3314,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - name
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSysTableScanInfo*
    - char*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3290
    functionDepth: 5
    functionLinenumber: 3290
    functionLinenumberEnd: 3318
    functionName: sysTableScanFillTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - taosArrayGet
    - T_LONG_JMP
    - STR_TO_VARSTR
    - qError
    - colDataSetNItems
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: void
    signature: "void sysTableScanFillTbName(SOperatorInfo* pOperator, const SSysTableScanInfo*
      pInfo, const char* name,\n                                   SSDataBlock* pBlock)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3329,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3330,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3330,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3330,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3331,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3331,1
    - Dst: tSerializeSRetrieveTableReq
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3333,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3334,1
    - Dst: tSerializeSRetrieveTableReq
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3338,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3341,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3346,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3348,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3348,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3350,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3354,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3364,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3366,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3366,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3368,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3371,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3373,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3373,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3375,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3379,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3379,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3380,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3389,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3389,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3393,1
    - Dst: extractDataBlockFromFetchRsp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3399,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3401,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3401,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3403,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3404,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3406,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3409,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3411,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3411,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3413,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3414,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 75
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - name
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SSysTableScanInfo*
    - char*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3320
    functionDepth: 5
    functionLinenumber: 3320
    functionLinenumberEnd: 3423
    functionName: sysTableScanFromMNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - GET_TASKID
    - taosGetTimestampUs
    - tsem_wait
    - asyncSendMsgToServer
    - extractDataBlockFromFetchRsp
    - updateLoadRemoteInfo
    - qError
    - taosMemoryCalloc
    - tstrncpy
    - doFilter
    - strcasecmp
    - taosMemoryFreeClear
    - T_LONG_JMP
    - tListLen
    - tNameGetTableName
    - tSerializeSRetrieveTableReq
    - qDebug
    - taosMemoryFree
    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:3430,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3433,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3434,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3435,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3436,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3437,1
    - Dst: SSysTableScanInfo*::pAPI::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3439,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3445,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3448,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3453,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3454,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3457,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3457,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3461,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3465,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3471,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3472,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3477,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3482,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3488
      start: 3425
    functionDepth: 8
    functionLinenumber: 3425
    functionLinenumberEnd: 3488
    functionName: resetSysTableScanOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - initLimitInfo
    - tableListCreate
    - createScanTableListInfo
    - taosArrayDestroy
    - tstrerror
    - SSysTableScanInfo*::pAPI::metaFn::closeTableMetaCursor
    - blockDataEmpty
    - tNameGetTableName
    - tableListDestroy
    - strncasecmp
    - qError
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetSysTableScanOperState(SOperatorInfo* pOper)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3493,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3497,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3498,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3508,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3511,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3512,1
    - Dst: extractTbnameSlotId
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3514,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3519,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3520,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3523,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3524,1
    - Dst: tNameAssign
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3528,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3529,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3531,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3534,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3536,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3538,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3542,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3544,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3545,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3546,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3547,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3549,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3550,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3551,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3554,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3564,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3566,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3567,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3569,1
    - Dst: destroySysScanOperator
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3576,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3579,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3579,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3583,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 6
    argNames:
    - readHandle
    - pScanPhyNode
    - pTableListInfo
    - pUser
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - void*
    - SSystemTableScanPhysiNode*
    - STableListInfo*
    - char*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3587
      start: 3490
    functionDepth: 16
    functionLinenumber: 3490
    functionLinenumberEnd: 3587
    functionName: createSysTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - destroyOperator
    - destroySysScanOperator
    - initResultSizeInfo
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - taosMemoryCalloc
    - qError
    - initLimitInfo
    - createDataBlockFromDescNode
    - strncasecmp
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - extractColMatchInfo
    - blockDataEnsureCapacity
    - taosStrdup
    - filterInitFromNode
    - tNameGetTableName
    - tsem_init
    - extractTbnameSlotId
    - setOperatorResetStateFn
    - tNameAssign
    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:3593,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3595,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pInfo
    - pScanNode
    argTypes:
    - SSysTableScanInfo*
    - SScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3607
      start: 3589
    functionDepth: 1
    functionLinenumber: 3589
    functionLinenumberEnd: 3607
    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:3611,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3613,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3613,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3615,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3618,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3619,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3620,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3621,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3622,1
    - Dst: SSysTableScanInfo*::pAPI::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3625,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3631,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3635,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3636,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3641,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3645,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3648,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3650,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3651,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3653,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3654
      start: 3609
    functionDepth: 2
    functionLinenumber: 3609
    functionLinenumberEnd: 3654
    functionName: destroySysScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - tsem_destroy
    - taosArrayDestroy
    - tstrerror
    - SSysTableScanInfo*::pAPI::metaFn::closeTableMetaCursor
    - tNameGetTableName
    - taosMemoryFreeClear
    - tableListDestroy
    - strncasecmp
    - qError
    - taosHashCleanup
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroySysScanOperator(void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3663,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3664,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3665,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3666,1
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3668,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3670,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3670,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3671,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3673,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3673,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3677,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3679,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3656
    functionDepth: 1
    functionLinenumber: 3656
    functionLinenumberEnd: 3682
    functionName: loadSysTableCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - tsem_post
    - rpcCvtErrCode
    - htobe64
    - qError
    - htonl
    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: 3693
      start: 3684
    functionDepth: 0
    functionLinenumber: 3684
    functionLinenumberEnd: 3693
    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:3703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3708
      start: 3695
    functionDepth: 0
    functionLinenumber: 3695
    functionLinenumberEnd: 3708
    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:3712,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3716
      start: 3709
    functionDepth: 1
    functionLinenumber: 3709
    functionLinenumberEnd: 3716
    functionName: sysChkFilter__VgroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysChkFilter__Comm
    - IS_INTEGER_TYPE
    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:3720,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3717
    functionDepth: 1
    functionLinenumber: 3717
    functionLinenumberEnd: 3724
    functionName: sysChkFilter__TableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysChkFilter__Comm
    - IS_STR_DATA_TYPE
    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:3729,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3733
      start: 3725
    functionDepth: 1
    functionLinenumber: 3725
    functionLinenumberEnd: 3733
    functionName: sysChkFilter__CreateTime
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysChkFilter__Comm
    - IS_TIMESTAMP_TYPE
    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:3739,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3743
      start: 3735
    functionDepth: 1
    functionLinenumber: 3735
    functionLinenumberEnd: 3743
    functionName: sysChkFilter__Ncolumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysChkFilter__Comm
    - IS_INTEGER_TYPE
    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:3748,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3752
      start: 3744
    functionDepth: 1
    functionLinenumber: 3744
    functionLinenumberEnd: 3752
    functionName: sysChkFilter__Ttl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysChkFilter__Comm
    - IS_INTEGER_TYPE
    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:3756,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3760
      start: 3753
    functionDepth: 1
    functionLinenumber: 3753
    functionLinenumberEnd: 3760
    functionName: sysChkFilter__STableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysChkFilter__Comm
    - IS_STR_DATA_TYPE
    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:3764,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3761
    functionDepth: 1
    functionLinenumber: 3761
    functionLinenumberEnd: 3768
    functionName: sysChkFilter__Uid
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysChkFilter__Comm
    - IS_INTEGER_TYPE
    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:3772,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3776
      start: 3769
    functionDepth: 1
    functionLinenumber: 3769
    functionLinenumberEnd: 3776
    functionName: sysChkFilter__Type
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysChkFilter__Comm
    - IS_INTEGER_TYPE
    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:3778,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3784,1
    - Dst: chkFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3790,1
    - Dst: fltFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - arg
    - cond
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3793
      start: 3777
    functionDepth: 1
    functionLinenumber: 3777
    functionLinenumberEnd: 3793
    functionName: optSysTabFilteImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - chkFunc
    - strcmp
    - fltFunc
    - optSysCheckOper
    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:3796,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3803,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pOpear
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3795
    functionDepth: 1
    functionLinenumber: 3795
    functionLinenumberEnd: 3807
    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:3814,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: 3822
      start: 3809
    functionDepth: 1
    functionLinenumber: 3809
    functionLinenumberEnd: 3822
    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:3828,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3832,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3833,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3835,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3836,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3840,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3841,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3842,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3844,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3845,1
    - Dst: optSysBinarySearch
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3846,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3848,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3856,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3865,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3867,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3867,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3870
      start: 3824
    functionDepth: 2
    functionLinenumber: 3824
    functionLinenumberEnd: 3870
    functionName: optSysIntersection
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArrayGetP
    - taosArrayGetSize
    - optSysBinarySearch
    - qError
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    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: 3879
      start: 3872
    functionDepth: 0
    functionLinenumber: 3872
    functionLinenumberEnd: 3879
    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:3883,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3884,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3885,1
    - Dst: optSysIntersection
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mRslt
    - rslt
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3881
    functionDepth: 3
    functionLinenumber: 3881
    functionLinenumberEnd: 3888
    functionName: optSysMergeRslt
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArraySort
    - taosArrayGetSize
    - taosArrayGetP
    - optSysIntersection
    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:3894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cond
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3890
    functionDepth: 0
    functionLinenumber: 3890
    functionLinenumberEnd: 3899
    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:3903,1
    - Dst: optSysTabFilteImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3904,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3908,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3916,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3923,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3927,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3936,1
    - Dst: optSysTabFilteImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3941,1
    - Dst: optSysSpecialColumn
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3945,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3946,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3952,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3958,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3961,1
    - Dst: optSysMergeRslt
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3966,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3972,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3973,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3974,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3976,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3986,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3986,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 3
    argNames:
    - arg
    - cond
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3994
      start: 3901
    functionDepth: 4
    functionLinenumber: 3901
    functionLinenumberEnd: 3994
    functionName: optSysTabFilte
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - nodeType
    - optSysSpecialColumn
    - taosArrayGetP
    - optSysTabFilteImpl
    - taosArrayGetSize
    - optSysMergeRslt
    - LIST_LENGTH
    - 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:4000,1
    - Dst: SReadHandle*::api::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4001,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4003,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4003,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4004,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4015,1
    - Dst: SReadHandle*::api::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4016,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4018,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4018,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4019,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4035,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: 4037
      start: 3996
    functionDepth: 1
    functionLinenumber: 3996
    functionLinenumberEnd: 4037
    functionName: doGetTableRowSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SReadHandle*::api::metaReaderFn::initReader
    - tDecoderClear
    - SReadHandle*::api::metaReaderFn::clearReader
    - tstrerror
    - SReadHandle*::api::metaReaderFn::getTableEntryByUid
    - qError
    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:4052,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4053,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4054,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderGetDataBlockDistInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4056,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4057,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderGetNumOfInMemRows
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4059,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4060,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4065,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4066,1
    - Dst: tSerializeBlockDistInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4068,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4069,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4070,1
    - Dst: tSerializeBlockDistInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4072,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4072,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4075,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4077,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4079,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4080,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4082,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4086,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4087,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4089,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4097,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4097,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4103
      start: 4039
    functionDepth: 2
    functionLinenumber: 4039
    functionLinenumberEnd: 4103
    functionName: doBlockInfoScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::tsdReader::tsdReaderGetDataBlockDistInfo
    - SStorageAPI*::tsdReader::tsdReaderGetNumOfInMemRows
    - doGetTableRowSize
    - varDataVal
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tSerializeBlockDistInfo
    - T_LONG_JMP
    - GET_TASKID
    - colDataSetVal
    - colDataSetInt64
    - qError
    - taosMemoryCalloc
    - taosMemoryFree
    - varDataSetLen
    - QUERY_CHECK_NULL
    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:4107,1
    - Dst: SBlockDistInfo*::readHandle::api::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4109,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4111,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4105
    functionDepth: 2
    functionLinenumber: 4105
    functionLinenumberEnd: 4113
    functionName: destroyBlockDistScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tableListDestroy
    - SBlockDistInfo*::readHandle::api::tsdReader::tsdReaderClose
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyBlockDistScanOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4116,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4120,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4121,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4123,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - uid
    - pCond
    argTypes:
    - uint64_t
    - SQueryTableDataCond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4142
      start: 4115
    functionDepth: 0
    functionLinenumber: 4115
    functionLinenumberEnd: 4142
    functionName: initTableblockDistQueryCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memset
    - taosMemoryCalloc
    - taosMemoryFree
    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:4147,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4151,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4152,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4158,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4159,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4160,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4161,1
    - Dst: initTableblockDistQueryCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4165,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4166,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4170,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4171,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4173,1
    - Dst: SReadHandle*::api::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4175,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4178,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4186,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4187,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4189,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4190,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4192,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4194,1
    - Dst: destroyBlockDistScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4202,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 5
    argNames:
    - readHandle
    - pBlockScanNode
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - SBlockDistScanPhysiNode*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4209
      start: 4144
    functionDepth: 8
    functionLinenumber: 4144
    functionLinenumberEnd: 4209
    functionName: createDataBlockInfoScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 2
    functionsReached:
    - destroyBlockDistScanOperatorInfo
    - tableListGetInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - QUERY_CHECK_CODE
    - destroyOperator
    - cleanupQueryTableDataCond
    - SReadHandle*::api::tsdReader::tsdReaderOpen
    - QRY_PARAM_CHECK
    - createExprInfo
    - initExprSupp
    - initTableblockDistQueryCond
    - createOperatorFpSet
    - taosMemoryCalloc
    - blockDataEnsureCapacity
    - tableListGetSize
    - QUERY_CHECK_NULL
    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:4220,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4221,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4224,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4225,1
    - Dst: SReadHandle*::api::metaFn::getChildTableList
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4227,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4228,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4230,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4232,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4236,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4237,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4239,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4243,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4244,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4249,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - pOperator
    - id
    - ppTableListInfo
    argTypes:
    - SOperatorInfo*
    - STableId*
    - STableListInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4252
      start: 4211
    functionDepth: 2
    functionLinenumber: 4211
    functionLinenumberEnd: 4252
    functionName: buildTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tableListCreate
    - taosArrayDestroy
    - taosArrayInit
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tableListAddTableInfo
    - tableListDestroy
    - taosArrayGetSize
    - SReadHandle*::api::metaFn::getChildTableList
    - QUERY_CHECK_NULL
    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:4264,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4265,1
    - Dst: initTableblockDistQueryCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4269,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4270,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4275,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4276,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4278,1
    - Dst: SReadHandle*::api::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4280,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4283,1
    - Dst: doGetTableRowSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4286,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4286,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4287,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderGetDataBlockDistInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4289,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4290,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderGetNumOfInMemRows
      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: SReadHandle*::api::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4302,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4306,1
    - Dst: SReadHandle*::api::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4312,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4316,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - pOperator
    - id
    - pStaticInfo
    argTypes:
    - SOperatorInfo*
    - STableId*
    - SDbSizeStatisInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4324
      start: 4253
    functionDepth: 3
    functionLinenumber: 4253
    functionLinenumberEnd: 4324
    functionName: vnodeEstimateDataSizeByUid
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::tsdReader::tsdReaderGetDataBlockDistInfo
    - SStorageAPI*::tsdReader::tsdReaderGetNumOfInMemRows
    - doGetTableRowSize
    - QUERY_CHECK_CODE
    - cleanupQueryTableDataCond
    - GET_TASKID
    - SReadHandle*::api::tsdReader::tsdReaderClose
    - SReadHandle*::api::tsdReader::tsdReaderOpen
    - tableListDestroy
    - buildTableListInfo
    - initTableblockDistQueryCond
    - tableListGetInfo
    - tableListGetSize
    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:4334,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4335,1
    - Dst: vnodeEstimateDataSizeByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pOperator
    - pTableList
    - pStaticInfo
    argTypes:
    - SOperatorInfo*
    - SArray*
    - SDbSizeStatisInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4342
      start: 4326
    functionDepth: 4
    functionLinenumber: 4326
    functionLinenumberEnd: 4342
    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:4365,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4367,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4371,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4373,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4376,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4379,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4380,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4386,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4387,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4392,1
    - Dst: vnodeEstimateRawDataSizeImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4396,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4400,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4404,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4404,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4408,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - pOperator
    - pStaticInfo
    argTypes:
    - SOperatorInfo*
    - SDbSizeStatisInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4410
      start: 4344
    functionDepth: 5
    functionLinenumber: 4344
    functionLinenumberEnd: 4410
    functionName: vnodeEstimateRawDataSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - vnodeEstimateRawDataSizeImpl
    - SStorageAPI*::metaFn::cursorNext
    - taosArrayInit
    - tstrerror
    - taosArrayDestroy
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - SStorageAPI*::metaFn::openTableMetaCursor
    - qError
    - TAOS_CHECK_GOTO
    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: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    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: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    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:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SSampleExecInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    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:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    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:106,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:108,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:118,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:124,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:127,1
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:133,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:135,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:145,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:151,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:154,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: 163
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 163
    functionName: overlapWithTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - TMAX
    - getNextTimeWindow
    - qError
    - TMIN
    - getAlignQueryTimeWindow
    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:172,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:176,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:177,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - groupId
    - pPage
    argTypes:
    - SOperatorInfo*
    - uint64_t
    - SFilePage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: getTableGroupOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SET_RES_WINDOW_KEY
    - tSimpleHashGet
    - GET_RES_WINDOW_KEY_LEN
    - getBufPage
    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:193,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:195,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:195,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:201,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:204,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pTableScanInfo
    - uid
    argTypes:
    - STableScanInfo*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 208
    functionName: insertTableToScanIgnoreList
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosHashInit
    - taosArrayGetSize
    - taosHashPut
    - taosGetDefaultHashFunction
    - qError
    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:221,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:231,1
    - Dst: fmFuncDynDataRequired
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:233,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:241,1
    - Dst: insertTableToScanIgnoreList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pOperator
    - pBlockInfo
    - status
    argTypes:
    - SOperatorInfo*
    - SDataBlockInfo*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 249
    functionName: doDynamicPruneDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - insertTableToScanIgnoreList
    - releaseBufPage
    - getResultEntryInfo
    - getTableGroupOutputBuf
    - fmFuncDynDataRequired
    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:258,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: 259
      start: 251
    functionDepth: 14
    functionLinenumber: 251
    functionLinenumberEnd: 259
    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:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - pTableScanInfo
    - pBlock
    - pTaskInfo
    - pLoad
    argTypes:
    - STableScanBase*
    - SSDataBlock*
    - SExecTaskInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 283
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:290,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pTableScanInfo
    - pBlock
    - pTaskInfo
    - rows
    argTypes:
    - STableScanBase*
    - SSDataBlock*
    - SExecTaskInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 300
    functionName: doSetTagColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - blockDataCleanup
    - 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:304,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:309,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:310,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:313,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:315,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:315,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:317,1
    - Dst: blockDataKeepFirstNRows
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:326,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pLimitInfo
    - pBlock
    - pTaskInfo
    argTypes:
    - SLimitInfo*
    - SSDataBlock*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 335
    functionName: applyLimitOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 4
    functionsReached:
    - blockDataTrimFirstRows
    - tstrerror
    - blockDataEmpty
    - qDebug
    - T_LONG_JMP
    - blockDataKeepFirstNRows
    - GET_TASKID
    - qError
    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: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: isDynVtbScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDynVtbScan(SOperatorInfo* pOperator)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: overlapWithTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:360,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:370,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:373,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:373,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:377,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:380,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:381,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:383,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:385,1
    - Dst: doLoadBlockSMA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:391,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:393,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:394,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:394,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:395,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:399,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:399,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:401,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:402,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:405,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:405,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:411,1
    - Dst: qError
      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: doLoadBlockSMA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:419,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:421,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:422,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:422,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:423,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:427,1
    - Dst: doFilterByBlockSMA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:429,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:431,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:432,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:432,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:433,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:437,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:438,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:441,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:443,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:450,1
    - Dst: doDynamicPruneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:453,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:455,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:456,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:460,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:461,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:463,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:466,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:466,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderRetrieveDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:478,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:488,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:498,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:499,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:501,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:502,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:507,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:508,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:510,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:510,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:514,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:516,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:523,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:523,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 129
    argCount: 4
    argNames:
    - pOperator
    - pTableScanInfo
    - pBlock
    - status
    argTypes:
    - SOperatorInfo*
    - STableScanBase*
    - SSDataBlock*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 341
    functionDepth: 15
    functionLinenumber: 341
    functionLinenumberEnd: 526
    functionName: loadDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doLoadBlockSMA
    - applyLimitOffset
    - GET_TASKID
    - overlapWithTimeWindow
    - taosGetTimestampUs
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - doSetTagColumnData
    - doFilterByBlockSMA
    - qError
    - taosHashGetSize
    - doFilter
    - taosMemoryFreeClear
    - SStorageAPI*::tsdReader::tsdReaderRetrieveDataBlock
    - taosArrayGetSize
    - doDynamicPruneDataBlock
    - SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
    - qDebug
    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:529,1
    - Dst: switchCtxOrder
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pTableScanInfo
    - pCtx
    - numOfOutput
    argTypes:
    - STableScanBase*
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 535
    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:548,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:549,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 551
    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:556,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:557,1
    - Dst: taosStrdup
      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: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:566,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:567,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:568,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:575,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:575,1
    - Dst: freeTableCachedVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pMetaReader
    - ppResVal
    argTypes:
    - SMetaReader*
    - STableCachedVal**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 579
    functionName: createTableCacheVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - memcpy
    - freeTableCachedVal
    - qError
    - taosStrdup
    - QUERY_CHECK_NULL
    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:586,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: 587
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 587
    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:593,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pBlock
    - pExpr
    - numOfExpr
    argTypes:
    - SSDataBlock*
    - SExprInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 596
    functionName: doSetNullValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetNNULL
    linkageType: ''
    returnType: void
    signature: void doSetNullValue(SSDataBlock* pBlock, const SExprInfo* pExpr, int32_t
      numOfExpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:599,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - STableCachedVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 601
    functionName: freeTableCachedValObj
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeTableCachedValObj(STableCachedVal* pVal)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SReadHandle*::api::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:631,1
    - Dst: SReadHandle*::api::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:632,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:636,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:637,1
    - Dst: doSetNullValue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:640,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:642,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:642,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:644,1
    - Dst: SReadHandle*::api::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:648,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:657,1
    - Dst: SReadHandle*::api::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:659,1
    - Dst: SReadHandle*::api::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:661,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:664,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:665,1
    - Dst: doSetNullValue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:667,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:669,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:669,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:672,1
    - Dst: SReadHandle*::api::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:676,1
    - Dst: createTableCacheVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:678,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:679,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:684,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:687,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:688,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:691,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:699,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:700,1
    - Dst: fmIsScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:705,1
    - Dst: setTbNameColData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:708,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:709,1
    - Dst: setVgIdColData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:711,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:712,1
    - Dst: setVgVerColData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:714,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:715,1
    - Dst: SReadHandle*::api::metaFn::extractTagVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:720,1
    - Dst: tTagValToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:724,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:729,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:731,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:733,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:734,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:735,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:735,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:737,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:737,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:737,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:738,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:740,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:742,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:744,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:747,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:748,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:761,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:764,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:769,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:772,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:772,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 110
    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: 775
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 775
    functionName: addTagPseudoColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 2
    functionsReached:
    - tTagValToData
    - varDataLen
    - tstrerror
    - colInfoDataCleanup
    - colDataSetNNULL
    - taosLRUCacheInsert
    - tTagIsJsonNull
    - SReadHandle*::api::metaReaderFn::initReader
    - setTbNameColData
    - taosLRUCacheLookup
    - setVgVerColData
    - SReadHandle*::api::metaFn::extractTagVal
    - taosLRUCacheRelease
    - QUERY_CHECK_CODE
    - taosArrayGet
    - createTableCacheVal
    - IS_VAR_DATA_TYPE
    - SReadHandle*::api::metaReaderFn::readerReleaseLock
    - qError
    - taosMemoryCalloc
    - qTrace
    - SReadHandle*::api::metaReaderFn::getEntryGetUidCache
    - varDataVal
    - colDataSetNItems
    - SReadHandle*::api::metaReaderFn::clearReader
    - doSetNullValue
    - memcpy
    - qDebug
    - fmIsScanPseudoColumnFunc
    - colDataSetVal
    - qWarn
    - setVgIdColData
    - taosLRUCacheValue
    - taosMemoryFree
    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:782,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:783,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:787,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:789,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:791,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:792,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:794,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:795,1
    - Dst: struct SScalarFuncExecFuncs::process
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:801,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:802,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:804,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:807,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:811,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:811,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: 814
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 814
    functionName: setTbNameColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - struct SScalarFuncExecFuncs::process
    - QUERY_CHECK_CODE
    - colDataSetVal
    - STR_TO_VARSTR
    - createColumnInfoData
    - colDataDestroy
    - qError
    - fmGetScalarFuncExecFuncs
    - colInfoDataEnsureCapacity
    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:820,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:821,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:823,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:825,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:826,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:828,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:829,1
    - Dst: struct SScalarFuncExecFuncs::process
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:835,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:836,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:838,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:842,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:844,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:844,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: 847
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 847
    functionName: setVgIdColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - struct SScalarFuncExecFuncs::process
    - QUERY_CHECK_CODE
    - colDataSetVal
    - createColumnInfoData
    - colDataDestroy
    - qError
    - fmGetScalarFuncExecFuncs
    - colInfoDataEnsureCapacity
    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:853,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:854,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:856,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:858,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:859,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:861,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:862,1
    - Dst: struct SScalarFuncExecFuncs::process
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:868,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:869,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:871,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:875,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:877,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:877,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: 880
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 880
    functionName: setVgVerColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - struct SScalarFuncExecFuncs::process
    - QUERY_CHECK_CODE
    - colDataSetVal
    - createColumnInfoData
    - colDataDestroy
    - qError
    - fmGetScalarFuncExecFuncs
    - colInfoDataEnsureCapacity
    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:885,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:886,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:888,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:891,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:901,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pInfo
    - pKeyInfo
    - size
    argTypes:
    - STableScanInfo*
    - STableKeyInfo**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 904
    functionName: initNextGroupScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosMemoryFreeClear
    - tableListGetGroupList
    - TARRAY_ELEM_IDX
    - qError
    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:913,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:915,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pInfo
    - groupId
    argTypes:
    - STableScanInfo*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 918
    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:922,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:929,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:931,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:932,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - pTaskInfo
    - pBase
    - pBlock
    - tbInfo
    argTypes:
    - SExecTaskInfo*
    - STableScanBase*
    - SSDataBlock*
    - STableKeyInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 939
    functionName: getOneRowResultBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - blockDataEmpty
    - taosArrayGet
    - colDataSetNULL
    - blockDataGetNumOfCols
    - doSetTagColumnData
    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:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pOperator
    - tbInfo
    argTypes:
    - SOperatorInfo*
    - STableKeyInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 948
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:958,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:960,1
    - Dst: SStorageAPI*::tsdReader::tsdNextDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:964,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:966,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:967,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:974,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:975,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:981,1
    - Dst: processBlockWithProbability
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:986,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:992,1
    - Dst: loadDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:996,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:997,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1009,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1020,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1020,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1022,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 950
    functionDepth: 16
    functionLinenumber: 950
    functionLinenumberEnd: 1025
    functionName: doTableScanImplNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
    - processBlockWithProbability
    - tstrerror
    - QUERY_CHECK_CODE
    - isTaskKilled
    - T_LONG_JMP
    - loadDataBlock
    - QRY_PARAM_CHECK
    - qError
    - tableListGetTableGroupId
    - taosGetTimestampUs
    - SStorageAPI*::tsdReader::tsdNextDataBlock
    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:1034,1
    - Dst: doTableScanImplNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1044,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1045,1
    - Dst: markGroupProcessed
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1048,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1054,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1057,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1060,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1060,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1063,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1064,1
    - Dst: prepareForDescendingScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1071,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1072,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1073,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1074,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1074,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:1096,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1097,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1108,1
    - Dst: getBlockForEmptyTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1114,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1120,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1124,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1127,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1129,1
    - Dst: markGroupProcessed
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1130,1
    - Dst: getBlockForEmptyTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1131,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1142,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 81
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1027
    functionDepth: 17
    functionLinenumber: 1027
    functionLinenumberEnd: 1147
    functionName: doGroupedTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - doTableScanImplNext
    - taosHashClear
    - prepareForDescendingScan
    - setTaskStatus
    - getBlockForEmptyTable
    - taosHashGetKey
    - QUERY_CHECK_CODE
    - tstrerror
    - qDebug
    - taosHashCancelIterate
    - SStorageAPI*::tsdReader::tsdReaderResetStatus
    - taosHashIterate
    - GET_TASKID
    - QRY_PARAM_CHECK
    - markGroupProcessed
    - qError
    - tableListGetInfo
    - tableListGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGroupedTableScan(SOperatorInfo* pOperator, SSDataBlock**
      pBlock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1155,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1157,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1161,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1162,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1167,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1168,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1169,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1180,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1182,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1182,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1186,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1194,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1200,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1204
    functionName: createTableListInfoFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashClear
    - tstrerror
    - taosArrayGet
    - qDebug
    - GET_TASKID
    - taosArrayClear
    - taosArrayGetSize
    - taosHashPut
    - qError
    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:1208,1
    - Dst: initNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1209,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1211,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1211,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1216,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1220,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
    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: 1227
      start: 1206
    functionDepth: 4
    functionLinenumber: 1206
    functionLinenumberEnd: 1227
    functionName: doInitReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - GET_TASKID
    - initNextGroupScan
    - SStorageAPI*::tsdReader::tsdReaderOpen
    - qError
    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: 1238
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1238
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - STableScanOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1242
    functionName: isNewScanParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNewScanParam(STableScanOperatorParam* pParam)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1260,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1262,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1263,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1263,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1264,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1265,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1266,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1269,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1270,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1271,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1272,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1279,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1285,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1286,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1291,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1292,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1293,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1293,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1294,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1294,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1296,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1297,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1298,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1299,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1303,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1303,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1305,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1306,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1308,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1310,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1310,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1316,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1317,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1319,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1322,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1322,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1328,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1329,1
    - Dst: initQueryTableDataCondWithColArray
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1331,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1332,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1335,1
    - Dst: isNewScanParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1341,1
    - Dst: createOneDataBlockWithColArray
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1349,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1350,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1352,1
    - Dst: isNewScanParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1354,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1355,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1358,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1359,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1361,1
    - Dst: doInitReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1362,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1363,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1364,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1367,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1371,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1372,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderSetDatablock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1374,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1381,1
    - Dst: doInitReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1382,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1384,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1386,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1387,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1399,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1399,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1401,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1402,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1403,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1404,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 117
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1244
    functionDepth: 5
    functionLinenumber: 1244
    functionLinenumberEnd: 1406
    functionName: createVTableScanInfoFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - doInitReader
    - GET_TASKID
    - SStorageAPI*::tsdReader::tsdReaderSetDatablock
    - SStorageAPI*::tsdReader::tsdReaderClose
    - taosArrayClear
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    - strcmp
    - SStorageAPI*::metaReaderFn::clearReader
    - QUERY_CHECK_CODE
    - taosArrayGet
    - isNewScanParam
    - createOneDataBlockWithColArray
    - SStorageAPI*::metaReaderFn::readerReleaseLock
    - qError
    - strstr
    - taosRUnLockLatch
    - blockDataDestroy
    - taosHashGet
    - taosHashClear
    - cleanupQueryTableDataCond
    - SStorageAPI*::metaReaderFn::initReader
    - taosArrayGetSize
    - taosArraySort
    - initQueryTableDataCondWithColArray
    - blockDataEnsureCapacity
    - taosRLockLatch
    - qDebug
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - taosHashPut
    - taosHashRemove
    - QUERY_CHECK_NULL
    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:1416,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1418,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1419,1
    - Dst: tableListGetOutputGroups
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1421,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1422,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1424,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1425,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1432,1
    - Dst: initNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1436,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1437,1
    - Dst: SStorageAPI*::tsdReader::tsdSetQueryTableList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1439,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1440,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1442,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1443,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1446,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1447,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1458,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - pOperator
    - pResult
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1408
    functionDepth: 18
    functionLinenumber: 1408
    functionLinenumberEnd: 1462
    functionName: startNextGroupScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - tstrerror
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - tableListGetOutputGroups
    - SStorageAPI*::tsdReader::tsdReaderResetStatus
    - initNextGroupScan
    - resetLimitInfoForNextGroup
    - QRY_PARAM_CHECK
    - taosArrayClear
    - SStorageAPI*::tsdReader::tsdSetQueryTableList
    - qError
    - doGroupedTableScan
    - tableListGetSize
    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:1473,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1475,1
    - Dst: tableListGetOutputGroups
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1478,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1479,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1483,1
    - Dst: doInitReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1484,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1485,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1486,1
    - Dst: SStorageAPI*::tsdReader::tsdSetFilesetDelimited
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1489,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1497,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1498,1
    - Dst: startNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1510,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1511,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1521,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1464
    functionDepth: 19
    functionLinenumber: 1464
    functionLinenumberEnd: 1526
    functionName: groupSeqTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - startNextGroupScan
    - tstrerror
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - doInitReader
    - tableListGetOutputGroups
    - GET_TASKID
    - QRY_PARAM_CHECK
    - SStorageAPI*::tsdReader::tsdSetFilesetDelimited
    - qError
    - doGroupedTableScan
    - taosRLockLatch
    - taosRUnLockLatch
    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: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: isEmptyQueryTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEmptyQueryTimeWindow(STimeWindow* pWindow)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1538,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1539,1
    - Dst: isDynVtbScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1542,1
    - Dst: createVTableScanInfoFromParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1543,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1545,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1547,1
    - Dst: isEmptyQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1550,1
    - Dst: startNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1556,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1557,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1559,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1560,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderSetDatablock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1565,1
    - Dst: createOneDataBlockWithTwoBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1566,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1567,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1569,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1572,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1573,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1575,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1578,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderSetDatablock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1581,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1585,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1590,1
    - Dst: createTableListInfoFromParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1594,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1595,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1597,1
    - Dst: startNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1605,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1606,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1625,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1626,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1628,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1636,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1638,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1640,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1641,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1645,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1645,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1646,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1651,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1653,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1655,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1659,1
    - Dst: SStorageAPI*::tsdReader::tsdSetQueryTableList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1661,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1662,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1663,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1664,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1666,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1667,1
    - Dst: groupSeqTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1671,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1672,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1677,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1677,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1677,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1679,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 113
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1532
    functionDepth: 20
    functionLinenumber: 1532
    functionLinenumberEnd: 1683
    functionName: doTableScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - SStorageAPI*::tsdReader::tsdReaderSetDatablock
    - GET_TASKID
    - SStorageAPI*::tsdReader::tsdReaderClose
    - groupSeqTableScan
    - doGroupedTableScan
    - freeOperatorParam
    - startNextGroupScan
    - createOneDataBlockWithTwoBlock
    - QUERY_CHECK_CODE
    - taosArrayGet
    - isTaskKilled
    - SStorageAPI*::tsdReader::tsdReaderResetStatus
    - createTableListInfoFromParam
    - qError
    - taosRUnLockLatch
    - blockDataDestroy
    - taosHashGet
    - qTrace
    - createVTableScanInfoFromParam
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - TSDB_CHECK_CODE
    - isDynVtbScan
    - taosRLockLatch
    - isEmptyQueryTimeWindow
    - qDebug
    - taosHashRemove
    - SStorageAPI*::tsdReader::tsdSetQueryTableList
    - tableListGetInfo
    - tableListGetSize
    - QUERY_CHECK_NULL
    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:1686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - struct SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1695
    functionName: getTableScannerExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - 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:1698,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1699,1
    - Dst: TsdReader*::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1702,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1707,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1710,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1711,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pBase
    - pAPI
    argTypes:
    - STableScanBase*
    - TsdReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1697
    functionDepth: 4
    functionLinenumber: 1697
    functionLinenumberEnd: 1713
    functionName: destroyTableScanBase
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - tableListDestroy
    - cleanupQueryTableDataCond
    - cleanupExprSupp
    - taosLRUCacheCleanup
    - TsdReader*::tsdReaderClose
    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:1717,1
    - Dst: STableScanInfo*::base::readerAPI::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1724,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1726,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1715
    functionDepth: 1
    functionLinenumber: 1715
    functionLinenumberEnd: 1729
    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:1733,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1734,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1735,1
    - Dst: cleanReaderForVTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1737,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1738,1
    - Dst: destroyTableScanBase
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1740,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1731
    functionDepth: 2
    functionLinenumber: 1731
    functionLinenumberEnd: 1742
    functionName: destroyTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - destroyTableScanBase
    - taosMemoryFreeClear
    - cleanReaderForVTable
    - taosHashCleanup
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyTableScanOperatorInfo(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1746,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pBlock
    - dataRequireFlag
    argTypes:
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1754
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: STableScanInfo*::base::readerAPI::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1775,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1780,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1781,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1783,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1783,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1790,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1794,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1794,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1799,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1801,1
    - Dst: initQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1802,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1804,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1804,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1808,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1809,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1810,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1814,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1815,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1816,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1756
    functionDepth: 8
    functionLinenumber: 1756
    functionLinenumberEnd: 1818
    functionName: resetTableScanOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tableListCreate
    - createScanTableListInfo
    - initLimitInfo
    - taosHashClear
    - STableScanInfo*::base::readerAPI::tsdReaderClose
    - tstrerror
    - initQueryTableDataCond
    - blockDataEmpty
    - memcpy
    - memset
    - tableListDestroy
    - cleanupQueryTableDataCond
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetTableScanOperatorState(SOperatorInfo* pOper)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1823,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1827,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1828,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1840,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1841,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1843,1
    - Dst: initQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1844,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1845,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1850,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1851,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1853,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1855,1
    - Dst: extractIntervalInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1861,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1866,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1869,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1870,1
    - Dst: resetClolumnReserve
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1871,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1872,1
    - Dst: prepareDataBlockBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1874,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1875,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1879,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1881,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1882,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1886,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1886,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1887,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1890,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1892,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1900,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1908,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1911,1
    - Dst: taosLRUCacheSetStrictCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1916,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1917,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1920,1
    - Dst: destroyTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1929,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1934,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 80
    argCount: 5
    argNames:
    - pTableScanNode
    - readHandle
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - STableScanPhysiNode*
    - SReadHandle*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1820
    functionDepth: 16
    functionLinenumber: 1820
    functionLinenumberEnd: 1938
    functionName: createTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 2
    functionsReached:
    - taosLRUCacheSetStrictCapacity
    - taosLRUCacheInit
    - createSqlFunctionCtx
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - destroyOperator
    - initResultSizeInfo
    - createExprInfo
    - createOperatorFpSet
    - TSWAP
    - resetClolumnReserve
    - taosMemoryCalloc
    - destroyTableScanOperatorInfo
    - initLimitInfo
    - createDataBlockFromDescNode
    - memset
    - taosGetTimestampSec
    - QRY_PARAM_CHECK
    - taosGetDefaultHashFunction
    - extractColMatchInfo
    - filterInitFromNode
    - prepareDataBlockBuf
    - initQueryTableDataCond
    - memcpy
    - extractIntervalInfo
    - setOperatorResetStateFn
    - taosHashInit
    - QUERY_CHECK_NULL
    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:1941,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1944,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1945,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1954,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1956,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1963,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pReadHandle
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - void*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1972
    functionName: createTableSeqScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - setOperatorInfo
    - QRY_PARAM_CHECK
    - createOperatorFpSet
    - taosMemoryCalloc
    - taosMemoryFree
    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:1980,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1981,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1984,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1985,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1987,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1988,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1989,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1992,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1993,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1995,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1996,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1997,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1998,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1999,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2001,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2002,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2003,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2003,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2004,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2005,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2006,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2008,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2008,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2017,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2018,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2022,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2024,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2024,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - pBlock
    - offset
    argTypes:
    - SSDataBlock*
    - STqOffsetVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 1974
    functionDepth: 1
    functionLinenumber: 1974
    functionLinenumberEnd: 2027
    functionName: doBlockDataPrimaryKeyFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - varDataLen
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - trimDataBlock
    - IS_VAR_DATA_TYPE
    - taosMemoryCalloc
    - qError
    - IS_STR_DATA_BLOB
    - VALUE_GET_DATUM
    - colDataGetData
    - VALUE_GET_TRIVIAL_DATUM
    - QUERY_CHECK_CONDITION
    - varDataVal
    - getComparFunc
    - memcpy
    - qDebug
    - func
    - taosMemoryFree
    - QUERY_CHECK_NULL
    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: 2038
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2038
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2046,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2049,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2050,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2059,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2065,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2066,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2069,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2070,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2076,1
    - Dst: bdGetColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2078,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2079,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2082,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2083,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2084,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2087,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2088,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2095,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2096,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2097,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2098,1
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2104,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2108,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2115,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2116,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2120,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2123,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2124,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2126,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2127,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2135,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2136,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2137,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2141,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2143,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2144,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2146,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2154,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2040
    functionDepth: 5
    functionLinenumber: 2040
    functionLinenumberEnd: 2157
    functionName: setBlockIntoRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - GET_TASKID
    - colDataSetNNULL
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataUpdateTsWindow
    - qError
    - colDataAssign
    - doFilter
    - taosArrayGetSize
    - taosArraySort
    - blockDataEnsureCapacity
    - tableListGetTableGroupId
    - bdGetColumnInfoData
    - addTagPseudoColumnData
    - blockDataGetNumOfCols
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t setBlockIntoRes(SStreamScanInfo* pInfo, const SSDataBlock*
      pBlock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doBlockDataPrimaryKeyFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2164,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2166,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2166,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2169,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2174,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2176,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2177,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2180,1
    - Dst: varDataLen
      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: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2182,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2183,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2183,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2183,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2185,1
    - Dst: tqOffsetResetToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2188,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - pBlock
    - hasPrimaryKey
    - offset
    argTypes:
    - SSDataBlock*
    - bool
    - STqOffsetVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2159
    functionDepth: 2
    functionLinenumber: 2159
    functionLinenumberEnd: 2195
    functionName: processPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_STR_DATA_BLOB
    - valueSetDatum
    - varDataLen
    - tstrerror
    - varDataVal
    - taosArrayGet
    - memcpy
    - doBlockDataPrimaryKeyFilter
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - tqOffsetResetToData
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t processPrimaryKey(SSDataBlock* pBlock, bool hasPrimaryKey,
      STqOffsetVal* offset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2204,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2206,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2208,1
    - Dst: doTableScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2216,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2217,1
    - Dst: SStorageAPI*::tqReaderFn::tqGetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2220,1
    - Dst: processPrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2222,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2223,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2234,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2238,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderSeek
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2239,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2244,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderNextBlockInWal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2250,1
    - Dst: SStorageAPI*::tqReaderFn::tqGetResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2252,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderGetWalReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2253,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2256,1
    - Dst: SStorageAPI*::tqReaderFn::tqGetResultBlockTime
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2259,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2262,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2264,1
    - Dst: setBlockIntoRes
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2266,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2267,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2274,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2280,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2287,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2289,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2197
    functionDepth: 21
    functionLinenumber: 2197
    functionLinenumberEnd: 2293
    functionName: doQueueScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - processPrimaryKey
    - tstrerror
    - GET_TASKID
    - SStorageAPI*::tsdReader::tsdReaderClose
    - SStorageAPI*::tqReaderFn::tqReaderSeek
    - tqOffsetResetToLog
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - isTaskKilled
    - qError
    - doTableScanNext
    - setBlockIntoRes
    - SStorageAPI*::tqReaderFn::tqGetResultBlock
    - SStorageAPI*::tqReaderFn::tqGetResultBlockTime
    - T_LONG_JMP
    - SStorageAPI*::tqReaderFn::tqReaderGetWalReader
    - SStorageAPI*::tqReaderFn::tqReaderNextBlockInWal
    - qDebug
    - SStorageAPI*::tqReaderFn::tqGetTablePrimaryKey
    linkageType: ''
    returnType: int32_t
    signature: int32_t doQueueScanNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doQueueScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2295
    functionDepth: 22
    functionLinenumber: 2295
    functionLinenumberEnd: 2299
    functionName: doQueueScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - doQueueScanNext
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doQueueScan(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2304,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2305,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2309,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2310,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2312,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2313,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2314,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2315,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2322,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pTableListInfo
    - ppArrayRes
    argTypes:
    - STableListInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2301
    functionDepth: 2
    functionLinenumber: 2301
    functionLinenumberEnd: 2325
    functionName: extractTableIdList
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - qError
    - tableListGetInfo
    - tableListGetSize
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractTableIdList(const STableListInfo* pTableListInfo, SArray**
      ppArrayRes)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2337,1
    - Dst: SStorageAPI*::tsdReader::tsdNextDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2341,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2343,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2344,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2349,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2350,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderRetrieveDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2355,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2356,1
    - Dst: SStorageAPI*::snapshotFn::taosXGetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2359,1
    - Dst: processPrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2360,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2361,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2362,1
    - Dst: SStorageAPI*::snapshotFn::getMetaTableInfoFromSnapshot
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2369,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2370,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2372,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2373,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2377,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2378,1
    - Dst: tqOffsetResetToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2381,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2382,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2384,1
    - Dst: qStreamPrepareScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2385,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2386,1
    - Dst: SStorageAPI*::snapshotFn::getTableInfoFromSnapshot
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2396,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2397,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2398,1
    - Dst: tqOffsetResetToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2405,1
    - Dst: qStreamPrepareScan
      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: tqOffsetResetToMeta
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2410,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2416,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2417,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2419,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2420,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2424,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2426,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2427,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2432,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2433,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2435,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2437,1
    - Dst: tEncodeMqMetaRsp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2438,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2440,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2441,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2442,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2443,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2446,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2447,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2448,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2450,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2451,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2461,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2461,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2463,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 102
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2327
    functionDepth: 3
    functionLinenumber: 2327
    functionLinenumberEnd: 2468
    functionName: doRawScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - processPrimaryKey
    - taosArrayPush
    - taosArrayInit
    - tEncodeSize
    - tstrerror
    - SStorageAPI*::snapshotFn::taosXGetTablePrimaryKey
    - POINTER_SHIFT
    - tqOffsetResetToMeta
    - tqOffsetResetToLog
    - SStorageAPI*::snapshotFn::getMetaTableInfoFromSnapshot
    - QUERY_CHECK_CODE
    - SStorageAPI*::snapshotFn::getTableInfoFromSnapshot
    - isTaskKilled
    - qStreamPrepareScan
    - tEncoderInit
    - qError
    - taosMemoryCalloc
    - tEncoderClear
    - SStorageAPI*::tsdReader::tsdNextDataBlock
    - taosMemoryFreeClear
    - T_LONG_JMP
    - SStorageAPI*::tsdReader::tsdReaderRetrieveDataBlock
    - SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
    - tEncodeMqMetaRsp
    - qDebug
    - tqOffsetResetToData
    - destroyMetaTableInfo
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t doRawScanNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SStreamRawScanInfo*::pAPI::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2472,1
    - Dst: SStreamRawScanInfo*::pAPI::snapshotFn::destroySnapshot
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2473,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2474,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2470
    functionDepth: 2
    functionLinenumber: 2470
    functionLinenumberEnd: 2476
    functionName: destroyTmqRawScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStreamRawScanInfo*::pAPI::tsdReader::tsdReaderClose
    - taosMemoryFree
    - SStreamRawScanInfo*::pAPI::snapshotFn::destroySnapshot
    - tableListDestroy
    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:2487,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2491,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2492,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2499,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2500,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2505,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2508,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2515,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2515,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2517,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - pHandle
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2481
    functionDepth: 2
    functionLinenumber: 2481
    functionLinenumberEnd: 2521
    functionName: createTmqRawScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - tableListCreate
    - tstrerror
    - setOperatorInfo
    - QRY_PARAM_CHECK
    - qError
    - createOperatorFpSet
    - taosMemoryCalloc
    - taosMemoryFree
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTmqRawScanOperatorInfo(SReadHandle* pHandle, SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2530,1
    - Dst: SStreamScanInfo*::readerFn::tqReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2534,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2537,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2541,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2545,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2549,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2553,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2556,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2557,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2560,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2561,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2563,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2564,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2565,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2566,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2567,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2568,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2569,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2571,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2523
    functionDepth: 6
    functionLinenumber: 2523
    functionLinenumberEnd: 2572
    functionName: destroyTmqScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - SStreamScanInfo*::readerFn::tqReaderClose
    - destroyOperator
    - destroyExprInfo
    - destroyDiskbasedBuf
    - tableListDestroy
    - cleanupExprSupp
    - taosHashCleanup
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyTmqScanOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2581,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2582,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2586,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pBlock
    - type
    - bytes
    argTypes:
    - SSDataBlock*
    - uint8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2574
    functionDepth: 1
    functionLinenumber: 2574
    functionLinenumberEnd: 2589
    functionName: addPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - taosArrayPush
    - tstrerror
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t addPrimaryKeyCol(SSDataBlock* pBlock, uint8_t type, int32_t
      bytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2596,1
    - Dst: createDataBlock
      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: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2600,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2602,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2606,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2607,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2608,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2613,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2613,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pMatchInfo
    - idstr
    argTypes:
    - SColMatchInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2621
    functionName: createStreamVtableBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataDestroy
    - taosArrayGetSize
    - createColumnInfoData
    - blockDataAppendColInfo
    - qError
    - createDataBlock
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * createStreamVtableBlock(SColMatchInfo* pMatchInfo, const
      char* idstr)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2626,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2631,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2632,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2649,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2657,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2658,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2659,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2662,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2663,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2666,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2667,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2681,1
    - Dst: createExprFromOneNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2688,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2689,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2691,1
    - Dst: createExpr
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2698,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2702,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2708,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2709,1
    - Dst: createTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2713,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2715,1
    - Dst: tableListGetGroupList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2726,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2727,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderOpen
      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: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2739,1
    - Dst: createStreamVtableBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2744,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2745,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderSetVtableInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2746,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2748,1
    - Dst: SStorageAPI*::stateStore::streamStateSetNumber
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2754,1
    - Dst: buildCreateTableBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2760,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2761,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2764,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2765,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderSetColIdList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2768,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2769,1
    - Dst: extractTableIdList
      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: SStorageAPI*::tqReaderFn::tqReaderSetQueryTableList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2774,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2775,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2776,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2777,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2779,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2780,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2788,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2789,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2792,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2793,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2795,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2796,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2797,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2798,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2806,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2807,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2810,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2811,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2825,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2826,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2828,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2830,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2832,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2840,1
    - Dst: destroyTmqScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2848,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2853,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 167
    argCount: 6
    argNames:
    - pHandle
    - pTableScanNode
    - pTagCond
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STableScanPhysiNode*
    - SNode*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2857
      start: 2623
    functionDepth: 17
    functionLinenumber: 2623
    functionLinenumberEnd: 2857
    functionName: createTmqScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - SStorageAPI*::tqReaderFn::tqReaderSetVtableInfo
    - buildCreateTableBlock
    - taosArrayInit
    - createExprFromOneNode
    - taosArrayDestroy
    - destroyTmqScanOperatorInfo
    - tableListGetGroupList
    - createTableScanOperatorInfo
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - taosArrayGet
    - extractTableIdList
    - destroyOperator
    - tableListDestroy
    - createExprInfo
    - createOperatorFpSet
    - qError
    - taosMemoryCalloc
    - SStorageAPI*::tqReaderFn::tqReaderSetQueryTableList
    - createExpr
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - initExprSupp
    - extractColMatchInfo
    - blockDataEnsureCapacity
    - SStorageAPI*::tqReaderFn::tqReaderOpen
    - SStorageAPI*::tqReaderFn::tqReaderSetColIdList
    - filterInitFromNode
    - createSpecialDataBlock
    - SStorageAPI*::stateStore::streamStateSetNumber
    - memcpy
    - createStreamVtableBlock
    - TSDB_CHECK_NULL
    - QUERY_CHECK_NULL
    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:2867,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2869,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2869,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2870,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2871,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2875,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2876,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2878,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2878,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2879,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2885,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2889,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2890,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2891,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2893,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2894,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2896,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2897,1
    - Dst: SStorageAPI*::metaFn::extractTagVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2901,1
    - Dst: tTagValToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2905,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2910,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2911,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2912,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2914,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2916,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2923,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2923,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - pOperator
    - pRes
    - mr
    - pAPI
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SMetaReader*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2859
    functionDepth: 2
    functionLinenumber: 2859
    functionLinenumberEnd: 2930
    functionName: doTagScanOneTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tTagValToData
    - tDecoderClear
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tTagIsJsonNull
    - taosMemoryFree
    - IS_VAR_DATA_TYPE
    - GET_TASKID
    - colDataSetVal
    - SStorageAPI*::metaFn::extractTagVal
    - qError
    - tableListGetInfo
    - STR_TO_VARSTR
    - 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:2935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2937
      start: 2932
    functionDepth: 0
    functionLinenumber: 2932
    functionLinenumberEnd: 2937
    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:2940,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2950,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pType
    - numOfRows
    - pParam
    argTypes:
    - SDataType*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2939
    functionDepth: 1
    functionLinenumber: 2939
    functionLinenumberEnd: 2960
    functionName: tagScanCreateResultData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - colInfoDataEnsureCapacity
    - 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:2967,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2969,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2973,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2981,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2990,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2992,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2996,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3001,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3002,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3010,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3010,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3014
      start: 2962
    functionDepth: 5
    functionLinenumber: 2962
    functionLinenumberEnd: 3014
    functionName: tagScanRewriteTagColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - taosArrayPush
    - tstrerror
    - nodeType
    - QUERY_CHECK_CODE
    - nodesMakeNode
    - taosHashPut
    - nodesDestroyNode
    - qError
    - QUERY_CHECK_NULL
    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:3020,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3023,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3024,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3026,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3027,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3029,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3030,1
    - Dst: tagScanCreateResultData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3035,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3036,1
    - Dst: scalarCalculate
      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: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3044,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3045,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3049,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3050,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3053,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3054,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3056,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 6
    argNames:
    - aUidTags
    - pTagCond
    - aFilterIdxs
    - pVnode
    - pAPI
    - pInfo
    argTypes:
    - SArray*
    - SNode*
    - SArray*
    - void*
    - SStorageAPI*
    - STagScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3016
    functionDepth: 2
    functionLinenumber: 3016
    functionLinenumberEnd: 3059
    functionName: tagScanFilterByTagCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - scalarCalculate
    - QUERY_CHECK_CODE
    - taosMemoryFreeClear
    - createTagValBlockForFilter
    - blockDataDestroy
    - taosArrayGetSize
    - colDataDestroy
    - tagScanCreateResultData
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tagScanFilterByTagCond(SArray* aUidTags, SNode* pTagCond,
      SArray* aFilterIdxs, void* pVnode,\n                                      SStorageAPI*
      pAPI, STagScanInfo* pInfo)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3069,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3071,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3072,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3074,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3075,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3077,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3078,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3084,1
    - Dst: SStorageAPI*::metaFn::extractTagVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3086,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3089,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3091,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3092,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3093,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3094,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3095,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3097,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3098,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3100,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3101,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3102,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3103,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3104,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3106,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3114,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3114,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: 3117
      start: 3061
    functionDepth: 1
    functionLinenumber: 3061
    functionLinenumberEnd: 3117
    functionName: tagScanFillOneCellWithTag
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_STR_DATA_BLOB
    - tstrerror
    - QUERY_CHECK_CODE
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataSetNULL
    - colDataSetVal
    - SStorageAPI*::metaFn::extractTagVal
    - qError
    - STR_TO_VARSTR
    - taosMemoryFree
    - varDataSetLen
    - QUERY_CHECK_NULL
    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:3126,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3128,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3129,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3130,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3132,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3133,1
    - Dst: tagScanFillOneCellWithTag
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3134,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3135,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3139,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3141,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3142,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3144,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3145,1
    - Dst: tagScanFillOneCellWithTag
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3146,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3154,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: 3157
      start: 3119
    functionDepth: 2
    functionLinenumber: 3119
    functionLinenumberEnd: 3157
    functionName: tagScanFillResultBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - taosArrayGetSize
    - tagScanFillOneCellWithTag
    - qError
    - QUERY_CHECK_NULL
    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:3168,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3173,1
    - Dst: SStorageAPI*::metaFn::openCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3176,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3177,1
    - Dst: SStorageAPI*::metaFn::resumeCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3179,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3180,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3188,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3189,1
    - Dst: SStorageAPI*::metaFn::ctbCursorNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3194,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3200,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3201,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3203,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3204,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3205,1
    - Dst: tagScanFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3215,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3216,1
    - Dst: tagScanFillResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3222,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3224,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3224,1
    - Dst: SStorageAPI*::metaFn::pauseCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3232,1
    - Dst: SStorageAPI*::metaFn::closeCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3235,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3237,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3241,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3243,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3251,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3253,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3257
      start: 3159
    functionDepth: 3
    functionLinenumber: 3159
    functionLinenumberEnd: 3257
    functionName: doTagScanFromCtbIdxNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - SStorageAPI*::metaFn::resumeCtbCursor
    - taosArrayPush
    - tstrerror
    - applyLimitOffset
    - taosArrayClear
    - SStorageAPI*::metaFn::closeCtbCursor
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - setOperatorCompleted
    - SStorageAPI*::metaFn::ctbCursorNext
    - tagScanFilterByTagCond
    - qError
    - tagScanFillResultBlock
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - SStorageAPI*::metaFn::pauseCtbCursor
    - SStorageAPI*::metaFn::openCtbCursor
    - taosArrayClearEx
    - memcpy
    - QUERY_CHECK_NULL
    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:3274,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3275,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3277,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3285,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3290,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3259
    functionDepth: 1
    functionLinenumber: 3259
    functionLinenumberEnd: 3293
    functionName: createTagScanTableListInfoFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashClear
    - qDebug
    - GET_TASKID
    - taosArrayClear
    - 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:3303,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3304,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3306,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3323,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3326,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3327,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3330,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3336,1
    - Dst: doTagScanOneTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3340,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3346,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3349,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3353,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3354,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3356,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3361,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3369,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3371,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3374
      start: 3295
    functionDepth: 4
    functionLinenumber: 3295
    functionLinenumberEnd: 3374
    functionName: doTagScanFromMetaEntryNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - freeOperatorParam
    - setTaskStatus
    - SStorageAPI*::metaReaderFn::clearReader
    - tstrerror
    - QUERY_CHECK_CODE
    - applyLimitOffset
    - blockDataCleanup
    - setOperatorCompleted
    - T_LONG_JMP
    - doTagScanOneTable
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - createTagScanTableListInfoFromParam
    - tableListGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTagScanFromMetaEntryNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTagScanFromMetaEntryNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3376
    functionDepth: 5
    functionLinenumber: 3376
    functionLinenumberEnd: 3380
    functionName: doTagScanFromMetaEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - doTagScanFromMetaEntryNext
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doTagScanFromMetaEntry(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STagScanInfo*::pStorageAPI::metaFn::closeCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3385,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3387,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3388,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3389,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3390,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3392,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3393,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3394,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3382
    functionDepth: 2
    functionLinenumber: 3382
    functionLinenumberEnd: 3399
    functionName: destroyTagScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - STagScanInfo*::pStorageAPI::metaFn::closeCtbCursor
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - tableListDestroy
    - taosHashCleanup
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyTagScanOperatorInfo(void* param)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3404,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3409,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3410,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3421,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3422,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3424,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3425,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3429,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3437,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3438,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3443,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3444,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3446,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3447,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3448,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3451,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3452,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3454,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3455,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3458,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3458,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3459,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3461,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3462,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3465,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3469,1
    - Dst: destroyTagScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3479,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 7
    argNames:
    - pReadHandle
    - pTagScanNode
    - pTableListInfo
    - pTagCond
    - pTagIndexCond
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STagScanPhysiNode*
    - STableListInfo*
    - SNode*
    - SNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3401
    functionDepth: 8
    functionLinenumber: 3401
    functionLinenumberEnd: 3485
    functionName: createTagScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayInit
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - destroyOperator
    - initResultSizeInfo
    - createExprInfo
    - destroyTagScanOperatorInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - initLimitInfo
    - nodesRewriteExprPostOrder
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - initExprSupp
    - taosGetDefaultHashFunction
    - extractColMatchInfo
    - blockDataEnsureCapacity
    - taosHashInit
    - QUERY_CHECK_NULL
    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: 3510
      start: 3489
    functionDepth: 0
    functionLinenumber: 3489
    functionLinenumberEnd: 3510
    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:3533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3537
      start: 3512
    functionDepth: 2
    functionLinenumber: 3512
    functionLinenumberEnd: 3537
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3542,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3543,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3544,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3551,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - SQueryTableDataCond*
    - SQueryTableDataCond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3554
      start: 3539
    functionDepth: 1
    functionLinenumber: 3539
    functionLinenumberEnd: 3554
    functionName: dumpQueryTableCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - memcpy
    - qError
    - QUERY_CHECK_NULL
    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:3566,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3568,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3569,1
    - Dst: SStorageAPI*::tsdReader::tsdNextDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3579,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3581,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3586,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3587,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3588,1
    - Dst: loadDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3604,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3624,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3628,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 3
    argNames:
    - pOperator
    - pInput
    - pSubTableHasBlock
    argTypes:
    - SOperatorInfo*
    - STmsSubTableInput*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3556
    functionDepth: 16
    functionLinenumber: 3556
    functionLinenumberEnd: 3634
    functionName: fetchNextSubTableBlockFromReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
    - blockDataCleanup
    - isTaskKilled
    - GET_TASKID
    - loadDataBlock
    - SStorageAPI*::tsdReader::tsdReaderClose
    - SStorageAPI*::tsdReader::tsdReaderOpen
    - tableListGetTableGroupId
    - SStorageAPI*::tsdReader::tsdNextDataBlock
    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:3640,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3642,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3642,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3648,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3650,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableMergeScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3659
      start: 3636
    functionDepth: 2
    functionLinenumber: 3636
    functionLinenumberEnd: 3659
    functionName: setGroupStartEndIndex
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - qError
    - tableListGetInfo
    - tableListGetSize
    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:3674,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3676,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3676,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pSubTblsInfo
    argTypes:
    - STmsSubTablesMergeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3684
      start: 3661
    functionDepth: 1
    functionLinenumber: 3661
    functionLinenumberEnd: 3684
    functionName: openSubTablesMergeSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tMergeTreeCreate
    - taosArrayGet
    - qError
    - 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:3687,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3689,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3689,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3692,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3696,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3698,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3698,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3701,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3702,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3704,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3704,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3711,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3713,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3718,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3720,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3721,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableMergeScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3729
      start: 3686
    functionDepth: 3
    functionLinenumber: 3686
    functionLinenumberEnd: 3729
    functionName: initSubTablesMergeInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - setGroupStartEndIndex
    - createDiskbasedBuf
    - taosArrayGet
    - taosArrayGetSize
    - qError
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t initSubTablesMergeInfo(STableMergeScanInfo* pInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dumpQueryTableCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3744,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3745,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3747,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3748,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3750,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3751,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3753,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3756,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3757,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3761,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3762,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3763,1
    - Dst: fetchNextSubTableBlockFromReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3770,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3771,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3784,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - pOperator
    - pInfo
    argTypes:
    - SOperatorInfo*
    - STableMergeScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3787
      start: 3731
    functionDepth: 17
    functionLinenumber: 3731
    functionLinenumberEnd: 3787
    functionName: initSubTableInputs
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - createOneDataBlock
    - tstrerror
    - QUERY_CHECK_CODE
    - isTaskKilled
    - T_LONG_JMP
    - GET_TASKID
    - SStorageAPI*::tsdReader::tsdReaderOpen
    - qError
    - fetchNextSubTableBlockFromReader
    - tableListGetInfo
    - dumpQueryTableCond
    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:3794,1
    - Dst: fetchNextSubTableBlockFromReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3796,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3797,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3808,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3808,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pOperatorInfo
    - pSubTblsInfo
    argTypes:
    - SOperatorInfo*
    - STmsSubTablesMergeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3812
      start: 3789
    functionDepth: 17
    functionLinenumber: 3789
    functionLinenumberEnd: 3812
    functionName: adjustSubTableFromMemBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - T_LONG_JMP
    - qError
    - tMergeTreeGetChosenIndex
    - fetchNextSubTableBlockFromReader
    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:3816,1
    - Dst: adjustSubTableFromMemBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3823,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3826,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3828,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3828,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3836,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3836,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pOperatorInfo
    - pSubTblsInfo
    argTypes:
    - SOperatorInfo*
    - STmsSubTablesMergeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3837
      start: 3814
    functionDepth: 18
    functionLinenumber: 3814
    functionLinenumberEnd: 3837
    functionName: adjustSubTableForNextRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - adjustSubTableFromMemBlock
    - tMergeTreeGetAdjustIndex
    - tstrerror
    - taosArrayGet
    - tMergeTreeAdjust
    - tMergeTreeGetChosenIndex
    - qError
    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:3842,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3845,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3846,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3849,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3850,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3851,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3854,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3855,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3858,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3859,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3860,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3870,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pSubTblsInfo
    - pBlock
    argTypes:
    - STmsSubTablesMergeInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3873
      start: 3839
    functionDepth: 1
    functionLinenumber: 3839
    functionLinenumberEnd: 3873
    functionName: appendChosenRowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataGetData
    - colDataSetVal
    - taosArrayGetSize
    - colDataIsNull
    - tMergeTreeGetChosenIndex
    - qError
    - QUERY_CHECK_NULL
    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:3884,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3886,1
    - Dst: appendChosenRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3896,1
    - Dst: adjustSubTableForNextRow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3898,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3899,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3906,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3910,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3922,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3922,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: 3926
      start: 3875
    functionDepth: 19
    functionLinenumber: 3875
    functionLinenumberEnd: 3926
    functionName: getSubTablesSortedBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - applyLimitOffset
    - adjustSubTableForNextRow
    - blockDataCleanup
    - isTaskKilled
    - appendChosenRowToDataBlock
    - QRY_PARAM_CHECK
    - qError
    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:3933,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3934,1
    - Dst: initSubTableInputs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3936,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3937,1
    - Dst: openSubTablesMergeSort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3939,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3940,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3944,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3947
      start: 3928
    functionDepth: 18
    functionLinenumber: 3928
    functionLinenumberEnd: 3947
    functionName: startSubTablesTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - initSubTablesMergeInfo
    - QUERY_CHECK_CODE
    - openSubTablesMergeSort
    - initSubTableInputs
    - qError
    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:3952,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3956,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3957,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3958,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3959,1
    - Dst: STableMergeScanInfo*::base::readerAPI::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3960,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3964,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3965,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableMergeScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3972
      start: 3949
    functionDepth: 1
    functionLinenumber: 3949
    functionLinenumberEnd: 3972
    functionName: stopSubTablesTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - STableMergeScanInfo*::base::readerAPI::tsdReaderClose
    - destroyDiskbasedBuf
    - tMergeTreeDestroy
    - taosMemoryFree
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void stopSubTablesTableMergeScan(STableMergeScanInfo* pInfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3975,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3979,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3988,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3989,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3991,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3992,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3998,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4004,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4005,1
    - Dst: startSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4007,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4008,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4013,1
    - Dst: getSubTablesSortedBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4017,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4018,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4021,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4022,1
    - Dst: getOneRowResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4024,1
    - Dst: stopSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4034,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4036,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4041,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4042,1
    - Dst: startSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4045,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4046,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4047,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4051,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4055,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4055,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4057,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4063
      start: 3974
    functionDepth: 20
    functionLinenumber: 3974
    functionLinenumberEnd: 4063
    functionName: doTableMergeScanParaSubTablesNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - getOneRowResultBlock
    - startSubTablesTableMergeScan
    - taosGetTimestampUs
    - tstrerror
    - QUERY_CHECK_CODE
    - getSubTablesSortedBlock
    - setOperatorCompleted
    - isTaskKilled
    - T_LONG_JMP
    - stopSubTablesTableMergeScan
    - resetLimitInfoForNextGroup
    - QRY_PARAM_CHECK
    - tableListGetSize
    - qError
    - tableListGetInfo
    - SOperatorInfo*::fpSet::_openFn
    - QUERY_CHECK_NULL
    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:4073,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4074,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4075,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4079,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4083,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4088,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4088,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - uid
    - pTableMergeOpInfo
    argTypes:
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4092
      start: 4065
    functionDepth: 1
    functionLinenumber: 4065
    functionLinenumberEnd: 4092
    functionName: tableMergeScanDoSkipTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosHashInit
    - T_LONG_JMP
    - taosHashPut
    - taosGetDefaultHashFunction
    - qError
    - QUERY_CHECK_NULL
    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:4103,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4106,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4106,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4111,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4112,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4113,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4113,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4114,1
    - Dst: loadDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4121,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4124,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - pOperator
    - pFinished
    - pSkipped
    argTypes:
    - SOperatorInfo*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4094
    functionDepth: 16
    functionLinenumber: 4094
    functionLinenumberEnd: 4141
    functionName: doGetBlockForTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
    - isTaskKilled
    - GET_TASKID
    - loadDataBlock
    - qInfo
    - qError
    - SStorageAPI*::tsdReader::tsdNextDataBlock
    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:4150,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4155,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4156,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4163,1
    - Dst: doGetBlockForTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4176,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4182,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4183,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4191,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4199,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4199,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4220,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4223,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4231
      start: 4143
    functionDepth: 17
    functionLinenumber: 4143
    functionLinenumberEnd: 4231
    functionName: getBlockForTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - createOneDataBlock
    - doGetBlockForTableMergeScan
    - tableListGetTableGroupId
    - qDebug
    - GET_TASKID
    - qError
    - taosGetTimestampUs
    - blockDataDestroy
    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:4236,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4237,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4243,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4244,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4245,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4251,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4259,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4263,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4264,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4266,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4267,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4274,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - colMatchInfo
    - order
    - ppSortArray
    argTypes:
    - SArray*
    - int32_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4277
      start: 4233
    functionDepth: 1
    functionLinenumber: 4233
    functionLinenumberEnd: 4277
    functionName: generateSortByTsPkInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - taosArrayGet
    - taosArrayGetSize
    - qError
    - getKeyComparFunc
    - QUERY_CHECK_NULL
    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:4286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - type
    - info
    - param
    argTypes:
    - ETsdReaderNotifyType
    - STsdReaderNotifyInfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4289
      start: 4279
    functionDepth: 1
    functionLinenumber: 4279
    functionLinenumberEnd: 4289
    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:4299,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4299,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4307,1
    - Dst: tsortSetSortByRowId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4315,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4316,1
    - Dst: tsortSetMergeLimit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4319,1
    - Dst: tsortSetMergeLimitReachedFp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4320,1
    - Dst: tsortSetAbortCheckFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4321,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4324,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4326,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4327,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4330,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4332,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4333,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4338,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4339,1
    - Dst: tsortSetSingleTableMerge
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4342,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4344,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4345,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4350,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4353
      start: 4291
    functionDepth: 9
    functionLinenumber: 4291
    functionLinenumberEnd: 4353
    functionName: startDurationForGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tsortSetSingleTableMerge
    - tsortCreateSortHandle
    - tstrerror
    - tsortSetMergeLimit
    - QUERY_CHECK_CODE
    - qDebug
    - GET_TASKID
    - tsortSetSortByRowId
    - QUERY_CHECK_NULL
    - tsortSetAbortCheckFn
    - qError
    - tsortAddSource
    - taosMemoryCalloc
    - tsortSetMergeLimitReachedFp
    - taosMemoryFree
    - tsortOpen
    - tsortSetFetchRawDataFp
    linkageType: ''
    returnType: int32_t
    signature: int32_t startDurationForGroupTableMergeScan(SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4358,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4358,1
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4360,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4369
      start: 4355
    functionDepth: 3
    functionLinenumber: 4355
    functionLinenumberEnd: 4369
    functionName: stopDurationForGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - tsortDestroySortHandle
    - tsortGetSortExecInfo
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: void stopDurationForGroupTableMergeScan(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4378,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4378,1
    - Dst: tableListGetSize
      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:4387,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4388,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4400,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4401,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4402,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4403,1
    - Dst: SStorageAPI*::tsdReader::tsdSetFilesetDelimited
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4405,1
    - Dst: SStorageAPI*::tsdReader::tsdSetSetNotifyCb
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4407,1
    - Dst: startDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4409,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4410,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4414,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4418
      start: 4371
    functionDepth: 10
    functionLinenumber: 4371
    functionLinenumberEnd: 4418
    functionName: startGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - startDurationForGroupTableMergeScan
    - qDebug
    - T_LONG_JMP
    - SStorageAPI*::tsdReader::tsdSetSetNotifyCb
    - GET_TASKID
    - SStorageAPI*::tsdReader::tsdReaderOpen
    - SStorageAPI*::tsdReader::tsdSetFilesetDelimited
    - qError
    - tableListGetInfo
    - tableListGetSize
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: void
    signature: void startGroupTableMergeScan(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stopDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4425,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4428,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4433,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4439,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4440,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4442,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4443
      start: 4420
    functionDepth: 4
    functionLinenumber: 4420
    functionLinenumberEnd: 4443
    functionName: stopGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - stopDurationForGroupTableMergeScan
    - qDebug
    - GET_TASKID
    - SStorageAPI*::tsdReader::tsdReaderClose
    - resetLimitInfoForNextGroup
    - taosHashCleanup
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void stopGroupTableMergeScan(SOperatorInfo* pOperator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4453,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4458,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4460,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4460,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4461,1
    - Dst: tsortAppendTupleToBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4467,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4469,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4469,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4470,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4478,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4480,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4483,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4484,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4484,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: 4491
      start: 4447
    functionDepth: 4
    functionLinenumber: 4447
    functionLinenumberEnd: 4491
    functionName: getSortedTableMergeScanBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - applyLimitOffset
    - blockDataCleanup
    - tsortAppendTupleToBlock
    - T_LONG_JMP
    - qDebug
    - GET_TASKID
    - tsortNextTuple
    - tsortIsClosed
    - qError
    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:4504,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4505,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4507,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4510,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4511,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4517,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4522,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4523,1
    - Dst: startGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4525,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4530,1
    - Dst: getSortedTableMergeScanBlockData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4534,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4537,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4538,1
    - Dst: getOneRowResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4539,1
    - Dst: stopDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4548,1
    - Dst: startDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4549,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4550,1
    - Dst: stopGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4553,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4555,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4560,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4561,1
    - Dst: startGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4563,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4564,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4569,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4573,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4573,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4575,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4581
      start: 4493
    functionDepth: 11
    functionLinenumber: 4493
    functionLinenumberEnd: 4581
    functionName: doTableMergeScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - stopDurationForGroupTableMergeScan
    - startGroupTableMergeScan
    - getOneRowResultBlock
    - tstrerror
    - taosGetTimestampUs
    - getSortedTableMergeScanBlockData
    - QUERY_CHECK_CODE
    - startDurationForGroupTableMergeScan
    - stopGroupTableMergeScan
    - setOperatorCompleted
    - isTaskKilled
    - T_LONG_JMP
    - SOperatorInfo*::fpSet::_openFn
    - resetLimitInfoForNextGroup
    - qError
    - tableListGetInfo
    - tableListGetSize
    - QUERY_CHECK_NULL
    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:4585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4587
      start: 4583
    functionDepth: 12
    functionLinenumber: 4583
    functionLinenumberEnd: 4587
    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:4594,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4600,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4605,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4607,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4609,1
    - Dst: destroyTableScanBase
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4613,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4615,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4619,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4621,1
    - Dst: stopSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4623,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4626
      start: 4589
    functionDepth: 3
    functionLinenumber: 4589
    functionLinenumberEnd: 4626
    functionName: destroyTableMergeScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - destroyTableScanBase
    - tsortDestroySortHandle
    - STableMergeScanInfo*::base::readerAPI::tsdReaderClose
    - taosMemoryFreeClear
    - stopSubTablesTableMergeScan
    - taosHashCleanup
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyTableMergeScanOperatorInfo(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4630,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4630,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4646
      start: 4628
    functionDepth: 1
    functionLinenumber: 4628
    functionLinenumberEnd: 4646
    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:4657,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4665,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4666,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4668,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4674,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4678,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4678,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4682,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4683,1
    - Dst: initQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4684,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4686,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4686,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4690,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4693,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4706,1
    - Dst: stopSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4714
      start: 4648
    functionDepth: 8
    functionLinenumber: 4648
    functionLinenumberEnd: 4714
    functionName: resetTableMergeScanOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tableListCreate
    - createScanTableListInfo
    - initLimitInfo
    - tstrerror
    - initQueryTableDataCond
    - tsortDestroySortHandle
    - STableMergeScanInfo*::base::readerAPI::tsdReaderClose
    - tableListDestroy
    - cleanupQueryTableDataCond
    - stopSubTablesTableMergeScan
    - qError
    - taosHashCleanup
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetTableMergeScanOperatorState(SOperatorInfo* pOper)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4719,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4723,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4724,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4734,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4736,1
    - Dst: initQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4738,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4739,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4743,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4744,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4746,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4748,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4753,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4754,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4768,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4770,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4772,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4774,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4785,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4786,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4787,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4788,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4789,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4790,1
    - Dst: prepareDataBlockBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4796,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4797,1
    - Dst: generateSortByTsPkInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4799,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4800,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4802,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4803,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4808,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4810,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4813,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4814,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4822,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4826,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4830,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4838,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4838,1
    - Dst: destroyTableMergeScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4843,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4847,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 86
    argCount: 5
    argNames:
    - pTableScanNode
    - readHandle
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - STableScanPhysiNode*
    - SReadHandle*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4850
      start: 4716
    functionDepth: 16
    functionLinenumber: 4716
    functionLinenumberEnd: 4850
    functionName: createTableMergeScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - generateSortByTsPkInfo
    - taosLRUCacheInit
    - blockDataGetRowSize
    - createSqlFunctionCtx
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - destroyOperator
    - initResultSizeInfo
    - getProperSortPageSize
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - qError
    - initLimitInfo
    - createOneDataBlock
    - createDataBlockFromDescNode
    - taosGetTimestampSec
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - extractColMatchInfo
    - blockDataEnsureCapacity
    - destroyTableMergeScanOperatorInfo
    - filterInitFromNode
    - prepareDataBlockBuf
    - initQueryTableDataCond
    - setOperatorResetStateFn
    - QUERY_CHECK_NULL
    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:4877,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4881,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4885,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - scanCols
    - supp
    argTypes:
    - SNodeList*
    - STableCountScanSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4893
      start: 4873
    functionDepth: 1
    functionLinenumber: 4873
    functionLinenumberEnd: 4893
    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:4877,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4881,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4885,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4890
      start: 4876
    functionDepth: 1
    functionLinenumber: 4876
    functionLinenumberEnd: 4890
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 37
    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:4899,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pseudoCols
    - supp
    argTypes:
    - SNodeList*
    - STableCountScanSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4913
      start: 4895
    functionDepth: 1
    functionLinenumber: 4895
    functionLinenumberEnd: 4913
    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:4899,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4910
      start: 4898
    functionDepth: 1
    functionLinenumber: 4898
    functionLinenumberEnd: 4910
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 37
    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:4919,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4923,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4926,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4931,1
    - Dst: tNameGetDbNameP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4931,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4932,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - groupTags
    - tableName
    - supp
    argTypes:
    - SNodeList*
    - SName*
    - STableCountScanSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4935
      start: 4915
    functionDepth: 1
    functionLinenumber: 4915
    functionLinenumberEnd: 4935
    functionName: tblCountScanGetInputs
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodeType
    - tNameGetDbNameP
    - tNameGetTableName
    - 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:4919,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4923,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4929
      start: 4918
    functionDepth: 1
    functionLinenumber: 4918
    functionLinenumberEnd: 4929
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 37
    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:4940,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4942,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4942,1
    - Dst: tblCountScanGetGroupTagsSlotId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4950,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4952,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4952,1
    - Dst: tblCountScanGetCountSlotId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4956,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4958,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4958,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: 4962
      start: 4937
    functionDepth: 2
    functionLinenumber: 4937
    functionLinenumberEnd: 4962
    functionName: getTableCountScanSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tblCountScanGetCountSlotId
    - GET_TASKID
    - tblCountScanGetGroupTagsSlotId
    - tblCountScanGetInputs
    - qError
    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:4966,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4971,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4972,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4981,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4982,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4983,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4985,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4986,1
    - Dst: getTableCountScanSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4988,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4991,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4993,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4995,1
    - Dst: destoryTableCountScanOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5002,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - readHandle
    - pTblCountScanNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STableCountScanPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5010
      start: 4964
    functionDepth: 6
    functionLinenumber: 4964
    functionLinenumberEnd: 5010
    functionName: createTableCountScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 2
    functionsReached:
    - setOperatorInfo
    - createDataBlockFromDescNode
    - QUERY_CHECK_CODE
    - destoryTableCountScanOperator
    - destroyOperator
    - initResultSizeInfo
    - QRY_PARAM_CHECK
    - createOperatorFpSet
    - taosMemoryCalloc
    - blockDataEnsureCapacity
    - getTableCountScanSupp
    - QUERY_CHECK_NULL
    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:5017,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5017,1
    - Dst: taosArrayGet
      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: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5022,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5022,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5024,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5024,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5025,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5026,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5030,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5031,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5032,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5034,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5034,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5035,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5035,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5036,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5037,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5039,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5044,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5045,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5046,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5047,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5053,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5053,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: 5056
      start: 5012
    functionDepth: 1
    functionLinenumber: 5012
    functionLinenumberEnd: 5056
    functionName: fillTableCountScanDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - qError
    - QUERY_CHECK_CONDITION
    - varDataVal
    - varDataSetLen
    - QUERY_CHECK_NULL
    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:5063,1
    - Dst: getPerfDbMeta
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5066,1
    - Dst: buildSysDbGroupedTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5069,1
    - Dst: buildSysDbFilterTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pOperator
    - pInfo
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5075
      start: 5058
    functionDepth: 1
    functionLinenumber: 5058
    functionLinenumberEnd: 5075
    functionName: buildSysDbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - getPerfDbMeta
    - buildSysDbGroupedTableCount
    - getInfosDbMeta
    - buildSysDbFilterTableCount
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * buildSysDbTableCount(SOperatorInfo* pOperator, STableCountScanOperatorInfo*
      pInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5082,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5083,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5084,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5085,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5086,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5087,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5088,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5089,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5090,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5095,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5095,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5097,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - pOperator
    - pSupp
    - pRes
    - infodbTableNum
    - perfdbTableNum
    argTypes:
    - SOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5100
      start: 5077
    functionDepth: 2
    functionLinenumber: 5077
    functionLinenumberEnd: 5100
    functionName: buildSysDbFilterTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - fillTableCountScanDataBlock
    - strlen
    - tstrerror
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - T_LONG_JMP
    - qError
    - 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:5111,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5111,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5113,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5117,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5118,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5122,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5122,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5124,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5128,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5129,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5131,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5137,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5137,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5139,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: 5141
      start: 5102
    functionDepth: 2
    functionLinenumber: 5102
    functionLinenumberEnd: 5141
    functionName: buildSysDbGroupedTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - strlen
    - fillTableCountScanDataBlock
    - calcGroupId
    - tstrerror
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - T_LONG_JMP
    - qError
    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:5150,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5151,1
    - Dst: buildSysDbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5158,1
    - Dst: buildVnodeDbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5162,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5164,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5164,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5173
      start: 5143
    functionDepth: 2
    functionLinenumber: 5143
    functionLinenumberEnd: 5173
    functionName: doTableCountScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - blockDataCleanup
    - buildVnodeDbTableCount
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - qError
    - buildSysDbTableCount
    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:5186,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5189,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5190,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5192,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5193,1
    - Dst: buildVnodeGroupedTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5196,1
    - Dst: buildVnodeFilteredTbCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5198,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - pSupp
    - pRes
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5208
      start: 5175
    functionDepth: 1
    functionLinenumber: 5175
    functionLinenumberEnd: 5208
    functionName: buildVnodeDbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - tNameGetDbName
    - tNameFromString
    - buildVnodeGroupedTableCount
    - buildVnodeFilteredTbCount
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    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:5219,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5220,1
    - Dst: SStorageAPI*::metaFn::storeGetTableList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5222,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5225,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5226,1
    - Dst: buildVnodeGroupedStbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5227,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5228,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5231,1
    - Dst: buildVnodeGroupedNtbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5232,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5233,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5237,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5240,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5240,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5244,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5245,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5246,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5247,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5252,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5252,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: 5256
      start: 5210
    functionDepth: 2
    functionLinenumber: 5210
    functionLinenumberEnd: 5256
    functionName: buildVnodeGroupedTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - strlen
    - fillTableCountScanDataBlock
    - SStorageAPI*::metaFn::storeGetTableList
    - taosArrayInit
    - calcGroupId
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - buildVnodeGroupedNtbTableCount
    - setOperatorCompleted
    - taosArrayGetSize
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    - buildVnodeGroupedStbTableCount
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildVnodeGroupedTableCount(SOperatorInfo* pOperator, STableCountScanOperatorInfo*
      pInfo,\n                                           STableCountScanSupp* pSupp,
      SSDataBlock* pRes, int32_t vgId, char* dbName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5265,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5266,1
    - Dst: SStorageAPI*::metaFn::getTableUidByName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5268,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5269,1
    - Dst: SStorageAPI*::metaFn::getNumOfChildTables
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5272,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5273,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5275,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5276,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5279,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5280,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5281,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5285,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5286,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5287,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5293,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5293,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 5
    argNames:
    - pOperator
    - pInfo
    - pSupp
    - pRes
    - dbName
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5298
      start: 5258
    functionDepth: 2
    functionLinenumber: 5258
    functionLinenumberEnd: 5298
    functionName: buildVnodeFilteredTbCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - strlen
    - SStorageAPI*::metaFn::getNumOfChildTables
    - fillTableCountScanDataBlock
    - tstrerror
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - SStorageAPI*::metaFn::getTableUidByName
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    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:5306,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5309,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5309,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5313,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5316,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5321,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: 5324
      start: 5300
    functionDepth: 2
    functionLinenumber: 5300
    functionLinenumberEnd: 5324
    functionName: buildVnodeGroupedNtbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - strlen
    - fillTableCountScanDataBlock
    - calcGroupId
    - tstrerror
    - snprintf
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    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:5331,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5332,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5336,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5336,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5338,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5338,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5341,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5341,1
    - Dst: SStorageAPI*::metaFn::getNumOfChildTables
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5345,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5346,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5347,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5347,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5348,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5352,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5352,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: 5355
      start: 5326
    functionDepth: 2
    functionLinenumber: 5326
    functionLinenumberEnd: 5355
    functionName: buildVnodeGroupedStbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - strlen
    - SStorageAPI*::metaFn::getNumOfChildTables
    - calcGroupId
    - fillTableCountScanDataBlock
    - tstrerror
    - QUERY_CHECK_CODE
    - SStorageAPI*::metaFn::getTableNameByUid
    - snprintf
    - qError
    - varDataVal
    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:5359,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5361,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5363
      start: 5357
    functionDepth: 1
    functionLinenumber: 5357
    functionLinenumberEnd: 5363
    functionName: destoryTableCountScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - blockDataDestroy
    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
    - GRP_DONE
    - mJoinMergeGrpCart
    - MJ_ERR_RET
    - taosArrayGetSize
    - mJoinNonEqCart
    - TMIN
    - GRP_REMAIN_ROWS
    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:
    - mJoinCopyKeyColsDataToBuf
    - mJoinHashGrpCart
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_DONE
    - tSimpleHashGet
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    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
    - GRP_DONE
    - mJoinMergeGrpCart
    - MJ_ERR_RET
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    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:
    - mJoinFilterAndMarkRows
    - doFilter
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_DONE
    - mJoinMergeGrpCart
    - mJoinCopyMergeMidBlk
    - MJ_ERR_RET
    - taosArrayGetSize
    - mJoinNonEqGrpCart
    - GRP_REMAIN_ROWS
    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:
    - mJoinHashGrpCart
    - doFilter
    - taosArrayGet
    - mJoinCopyMergeMidBlk
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - mJoinFilterAndMarkHashRows
    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:
    - mJoinCopyKeyColsDataToBuf
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_DONE
    - tSimpleHashGet
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - taosArrayGetSize
    - mJoinGetRowBitmapOffset
    - mOuterJoinHashGrpCartFilter
    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:
    - mOuterJoinMergeFullCart
    - mOuterJoinMergeSeqCart
    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:
    - mJoinSetDone
    - MJOIN_DS_NEED_INIT
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - mJoinRetrieveBlk
    - MJ_ERR_RET
    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:
    - mLeftJoinHandleGrpRemains
    - MJ_ERR_JRET
    - MJOIN_TB_GRP_ROWS_DONE
    - MJOIN_PROBE_TB_ROWS_DONE
    - PROBE_TS_NREACH
    - blockDataCleanup
    - mJoinIsDone
    - MJOIN_GET_TB_COL_TS
    - mJoinHandleMidRemains
    - mJoinProcessLowerGrp
    - PROBE_TS_NMATCH
    - mJoinProcessEqualGrp
    - MJOIN_GET_TB_CUR_TS
    - MJOIN_BUILD_TB_ROWS_DONE
    - mJoinNonEqCart
    - mLeftJoinRetrieve
    - mJoinBlkReachThreshold
    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
    - GRP_DONE
    - mJoinMergeGrpCart
    - MJ_ERR_RET
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    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:
    - mJoinCopyKeyColsDataToBuf
    - mJoinHashGrpCart
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_DONE
    - tSimpleHashGet
    - MJ_ERR_RET
    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:
    - mJoinSetDone
    - MJOIN_DS_NEED_INIT
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - mJoinRetrieveBlk
    - MJ_ERR_RET
    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:
    - mJoinSetDone
    - MJ_ERR_JRET
    - MJOIN_PROBE_TB_ROWS_DONE
    - blockDataCleanup
    - mInnerJoinRetrieve
    - mInnerJoinHandleGrpRemains
    - MJOIN_GET_TB_COL_TS
    - PROBE_TS_NMATCH
    - mJoinProcessEqualGrp
    - MJOIN_GET_TB_CUR_TS
    - MJOIN_BUILD_TB_ROWS_DONE
    - mJoinBlkReachThreshold
    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:
    - mOuterJoinMergeFullCart
    - mOuterJoinMergeSeqCart
    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:
    - taosArrayGet
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    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:
    - BLK_IS_FULL
    - MJ_ERR_RET
    - taosArrayGetSize
    - mFullJoinOutputHashRow
    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:
    - BitmapLen
    - MJOIN_SET_ROW_BITMAP
    - mFullJoinOutputHashGrpRows
    - BLK_IS_FULL
    - mFullJoinOutputHashRow
    - MJ_ERR_RET
    - taosArrayGetSize
    - tSimpleHashIterate
    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:
    - BLK_IS_FULL
    - MJ_ERR_RET
    - mFullJoinOutputMergeRow
    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:
    - BitmapLen
    - MJOIN_SET_ROW_BITMAP
    - BLK_IS_FULL
    - taosArrayGet
    - mFullJoinOutputMergeGrpRows
    - MJ_ERR_RET
    - taosArrayGetSize
    - mFullJoinOutputMergeRow
    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:
    - mFullJoinHandleHashGrpRemains
    - mFullJoinHandleMergeGrpRemains
    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:
    - mJoinSetDone
    - MJ_ERR_JRET
    - mFullJoinRetrieve
    - mFullJoinHandleBuildTableRemains
    - FJOIN_PROBE_TB_ROWS_DONE
    - blockDataCleanup
    - MJOIN_GET_TB_COL_TS
    - mJoinHandleMidRemains
    - mJoinProcessLowerGrp
    - mJoinProcessGreaterGrp
    - PROBE_TS_NMATCH
    - mJoinProcessEqualGrp
    - MJOIN_GET_TB_CUR_TS
    - MJOIN_BUILD_TB_ROWS_DONE
    - mJoinNonEqCart
    - mJoinBlkReachThreshold
    - mFullJoinHandleGrpRemains
    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:
    - mJoinHashGrpCart
    - blockDataCleanup
    - mJoinCopyMergeMidBlk
    - MJ_ERR_RET
    - mJoinFilterAndKeepSingleRow
    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:
    - mJoinCopyKeyColsDataToBuf
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_DONE
    - mSemiJoinHashGrpCartFilter
    - tSimpleHashGet
    - MJ_ERR_RET
    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:
    - mJoinCopyKeyColsDataToBuf
    - mJoinHashGrpCart
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_DONE
    - tSimpleHashGet
    - MJ_ERR_RET
    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:
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_DONE
    - blockDataCleanup
    - mJoinMergeGrpCart
    - mJoinCopyMergeMidBlk
    - MJ_ERR_RET
    - taosArrayGetSize
    - mJoinFilterAndKeepSingleRow
    - GRP_REMAIN_ROWS
    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:
    - taosArrayGet
    - MJ_ERR_RET
    - mJoinMergeGrpCart
    - 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:
    - mSemiJoinHashFullCart
    - mSemiJoinHashSeqCart
    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:
    - mSemiJoinMergeFullCart
    - mSemiJoinMergeSeqCart
    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:
    - mSemiJoinHandleGrpRemains
    - mJoinSetDone
    - MJ_ERR_JRET
    - MJOIN_PROBE_TB_ROWS_DONE
    - blockDataCleanup
    - mInnerJoinRetrieve
    - MJOIN_GET_TB_COL_TS
    - PROBE_TS_NMATCH
    - mJoinProcessEqualGrp
    - MJOIN_GET_TB_CUR_TS
    - MJOIN_BUILD_TB_ROWS_DONE
    - mJoinBlkReachThreshold
    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:
    - mJoinCopyKeyColsDataToBuf
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_DONE
    - tSimpleHashGet
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    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:
    - mJoinHashGrpCart
    - mJoinFilterAndNoKeepRows
    - blockDataCleanup
    - 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:
    - mJoinCopyKeyColsDataToBuf
    - mAntiJoinHashGrpCartFilter
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_DONE
    - tSimpleHashGet
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    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
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_DONE
    - blockDataCleanup
    - mJoinMergeGrpCart
    - MJ_ERR_RET
    - taosArrayGetSize
    - mJoinNonEqGrpCart
    - GRP_REMAIN_ROWS
    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:
    - mAntiJoinMergeSeqCart
    - mAntiJoinMergeFullCart
    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:
    - MJ_ERR_JRET
    - MJOIN_PROBE_TB_ROWS_DONE
    - PROBE_TS_NREACH
    - blockDataCleanup
    - MJOIN_GET_TB_COL_TS
    - mJoinBlkReachThreshold
    - mAntiJoinHandleGrpRemains
    - mJoinProcessLowerGrp
    - PROBE_TS_NMATCH
    - mJoinProcessEqualGrp
    - MJOIN_GET_TB_CUR_TS
    - MJOIN_BUILD_TB_ROWS_DONE
    - mJoinNonEqCart
    - mLeftJoinRetrieve
    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:
    - blockDataTrimFirstRows
    - MJ_ERR_RET
    - blockDataMergeNRows
    - 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:
    - colDataGetNumData
    - taosArrayGet
    - qDebug
    - GET_TASKID
    - MJOIN_TBTYPE
    - MJ_ERR_RET
    - TMIN
    - mAsofBackwardAddRowsToCache
    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:
    - GRP_DONE
    - mJoinMergeGrpCart
    - MJ_ERR_RET
    - mJoinNonEqCart
    - GRP_REMAIN_ROWS
    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:
    - MJ_ERR_RET
    - mAsofBackwardDumpGrpCache
    - mAsofBackwardAddEqRowsToCache
    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:
    - mAsofBackwardDumpUpdateEqRows
    - MJ_ERR_RET
    - 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
    - MJOIN_GET_TB_CUR_TS
    - mAsofBackwardAddRowsToCache
    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:
    - mAsofBackwardDumpUpdateEqRows
    - mAsofBackwardDumpGrpCache
    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:
    - mJoinSetDone
    - MJOIN_DS_NEED_INIT
    - createOneDataBlock
    - mJoinRetrieveBlk
    - MJ_ERR_RET
    - blockDataEnsureCapacity
    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:
    - MJ_ERR_JRET
    - MJOIN_TB_GRP_ROWS_DONE
    - MJOIN_PROBE_TB_ROWS_DONE
    - mAsofBackwardRetrieve
    - mAsofBackwardHandleClosedGrp
    - blockDataCleanup
    - mJoinIsDone
    - MJOIN_GET_TB_COL_TS
    - mAsofBackwardHandleUnclosedGrp
    - mAsofBackwardDumpGrpCache
    - PROBE_TS_NMATCH
    - MJOIN_GET_TB_CUR_TS
    - mAsofBackwardAddEqRowsToCache
    - MJOIN_BUILD_TB_ROWS_DONE
    - mAsofBackwardProcessEqualGrp
    - mJoinBlkReachThreshold
    - mAsofBackwardHandleGrpRemains
    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:
    - blockDataTrimFirstRows
    - taosArrayGet
    - MJ_ERR_RET
    - taosArrayGetSize
    - MJOIN_SAVE_TB_BLK
    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:
    - blockDataMergeNRows
    - mAsofForwardTrimCacheBlk
    - MJOIN_RESTORE_TB_BLK
    - taosArrayGet
    - qDebug
    - MJOIN_PUSH_BLK_TO_CACHE
    - GET_TASKID
    - MJOIN_TBTYPE
    - MJ_ERR_RET
    - taosArrayGetSize
    - taosArrayPop
    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:
    - taosArrayGet
    - MJ_ERR_RET
    - 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:
    - mAsofForwardUpdateBuildGrpEndIdx
    - mAsofForwardChkFillGrpCache
    - mWinJoinDumpGrpCache
    - MJ_ERR_RET
    - MJOIN_SAVE_TB_BLK
    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:
    - taosArrayGet
    - MJ_ERR_RET
    - colDataGetNumData
    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:
    - MJOIN_POP_TB_BLK
    - MJOIN_RESTORE_TB_BLK
    - qDebug
    - MJOIN_PUSH_BLK_TO_CACHE
    - GET_TASKID
    - MJOIN_TBTYPE
    - MJ_ERR_RET
    - mAsofForwardSkipEqRows
    - MJOIN_BUILD_TB_ROWS_DONE
    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:
    - mAsofForwardUpdateDumpEqRows
    - MJ_ERR_RET
    - 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_POP_TB_BLK
    - MJOIN_RESTORE_TB_BLK
    - PROBE_TS_NREACH
    - MJOIN_GET_TB_COL_TS
    - MJOIN_GET_TB_CUR_TS
    - MJOIN_BUILD_TB_ROWS_DONE
    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:
    - mJoinSetDone
    - MJOIN_DS_NEED_INIT
    - MJOIN_POP_TB_BLK
    - createOneDataBlock
    - MJOIN_RESTORE_TB_BLK
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - mJoinRetrieveBlk
    - MJOIN_PUSH_BLK_TO_CACHE
    - MJ_ERR_RET
    - MJOIN_SAVE_TB_BLK
    - blockDataEnsureCapacity
    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:
    - mAsofForwardRetrieve
    - MJ_ERR_JRET
    - MJOIN_TB_GRP_ROWS_DONE
    - MJOIN_PROBE_TB_ROWS_DONE
    - blockDataCleanup
    - mJoinIsDone
    - MJOIN_GET_TB_COL_TS
    - mAsofForwardSkipBuildGrp
    - mAsofForwardProcessEqualGrp
    - mWinJoinDumpGrpCache
    - mAsofForwardHandleProbeGrp
    - PROBE_TS_NMATCH
    - MJOIN_GET_TB_CUR_TS
    - MJOIN_BUILD_TB_ROWS_DONE
    - mJoinNonEqCart
    - mJoinBlkReachThreshold
    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:
    - mWinJoinResetWindowCache
    - mJoinResetGroupTableCtx
    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
    - taosArrayPopFrontBatch
    - blockDataDestroy
    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:
    - createOneDataBlock
    - MJ_ERR_RET
    - taosArrayGetSize
    - taosArrayGetLast
    - blockDataExtractBlock
    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:
    - mJoinSetDone
    - MJOIN_DS_NEED_INIT
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - mJoinRetrieveBlk
    - MJ_ERR_RET
    - mWinJoinCloneCacheBlk
    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:
    - taosArrayGet
    - taosArrayPush
    - MJ_ERR_RET
    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
    - qDebug
    - GET_TASKID
    - MJOIN_TBTYPE
    - MJ_ERR_RET
    - taosArrayGetSize
    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
    - mWinJoinAddWinBeginBlk
    - MJ_ERR_RET
    - taosArrayGetSize
    - TSWAP
    - mWinJoinPopFrontGroup
    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
    - mWinJoinAddWinBeginBlk
    - MJ_ERR_RET
    - taosArrayGetSize
    - TSWAP
    - mWinJoinPopFrontGroup
    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:
    - taosArrayGet
    - mWinJoinPopFrontGroup
    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
    - taosArrayGet
    - taosArrayPush
    - MJ_ERR_RET
    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:
    - qDebug
    - GET_TASKID
    - MJOIN_TBTYPE
    - MJ_ERR_RET
    - mWinJoinCloneCacheBlk
    - 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:
    - mWinJoinAddWinEndBlk
    - taosArrayGet
    - MJ_ERR_RET
    - taosArrayGetSize
    - taosArrayGetLast
    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:
    - mWinJoinAddWinEndBlk
    - taosArrayGet
    - MJ_ERR_RET
    - taosArrayGetSize
    - taosArrayGetLast
    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
    - mWinJoinDumpGrpCache
    - MJ_ERR_RET
    - taosArrayGetSize
    - mWinJoinPopFrontGroup
    - GRP_REMAIN_ROWS
    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:
    - MJ_ERR_JRET
    - MJOIN_PROBE_TB_ROWS_DONE
    - blockDataCleanup
    - mJoinIsDone
    - MJOIN_GET_TB_COL_TS
    - mWinJoinTrimDumpGrpCache
    - mWinJoinDumpGrpCache
    - mWinJoinRetrieve
    - MJOIN_GET_TB_CUR_TS
    - mJoinBuildEqGrp
    - mWinJoinMoveFillWinCache
    - mJoinBlkReachThreshold
    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:
    - mWinJoinResetWindowCache
    - mJoinResetGroupTableCtx
    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:
    - mWinJoinResetWindowCache
    - taosArrayDestroy
    - blockDataDestroy
    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:
    - createDataBlockFromDescNode
    - ASOF_LOWER_ROW_INCLUDED
    - ASOF_EQ_ROW_INCLUDED
    - MJ_ERR_RET
    - mJoinInitWindowCache
    - mJoinGetFinBlkCapacity
    - blockDataEnsureCapacity
    - ASOF_GREATER_ROW_INCLUDED
    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:
    - createOneDataBlock
    - createDataBlockFromDescNode
    - MJ_ERR_RET
    - mJoinGetFinBlkCapacity
    - blockDataEnsureCapacity
    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:
    - tstrerror
    - doSetResultOutBufByKey
    - setResultRowInitCtx
    - TAOS_SET_POBJ_ALIGNED
    - qError
    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: 4
    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:
    - taosArrayGet
    - setNotInterpoWindowKey
    - doTimeWindowInterpolation
    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:
    - qError
    - setNotInterpoWindowKey
    - tstrerror
    - doTimeWindowInterpolation
    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: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - pInterval
    - pWin
    - calStart
    - calEnd
    - blockType
    argTypes:
    - SInterval*
    - STimeWindow*
    - TSKEY
    - TSKEY
    - EStreamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: inCalSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inCalSlidingWindow(SInterval* pInterval, STimeWindow* pWin, TSKEY
      calStart, TSKEY calEnd, EStreamType blockType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inCalSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInterval
    - pWin
    - pBlockInfo
    argTypes:
    - SInterval*
    - STimeWindow*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: inSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - inCalSlidingWindow
    linkageType: ''
    returnType: bool
    signature: bool inSlidingWindow(SInterval* pInterval, STimeWindow* pWin, SDataBlockInfo*
      pBlockInfo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:395,1
    - Dst: inSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:403,1
    - Dst: binarySearchForKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:417,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:434,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:435,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:443,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:444,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 6
    argNames:
    - pInterval
    - pNext
    - pDataBlockInfo
    - primaryKeys
    - prevPosition
    - order
    argTypes:
    - SInterval*
    - STimeWindow*
    - SDataBlockInfo*
    - TSKEY*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 453
    functionName: getNextQualifiedWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - inSlidingWindow
    - taosTimeTruncate
    - getNextTimeWindow
    - binarySearchForKey
    - taosTimeGetIntervalEnd
    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: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    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: 469
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 469
    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:488,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:491,1
    - Dst: setTimeWindowInterpolationStartTs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:493,1
    - Dst: setResultRowInterpo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:495,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:498,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:503,1
    - Dst: setTimeWindowInterpolationEndTs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:521,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:523,1
    - Dst: setResultRowInterpo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:525,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:528,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:533,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:533,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: 536
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 536
    functionName: doWindowBorderInterpolation
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - isResultRowInterpolated
    - setNotInterpoWindowKey
    - setTimeWindowInterpolationStartTs
    - qError
    - setResultRowInterpo
    - 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:543,1
    - Dst: taosArrayGet
      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: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:551,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:555,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:556,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:557,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:558,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:558,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:560,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:560,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:563,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - pPrevKeys
    - pBlock
    - pCols
    argTypes:
    - SArray*
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 569
    functionName: saveDataBlockLastRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - varDataTLen
    - taosArrayGet
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - colDataGetData
    - taosArrayGetSize
    - blobDataTLen
    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:584,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:592,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:594,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:599,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:603,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:604,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:606,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:608,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:609,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:614,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:617,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:620,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:622,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:625,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:628,1
    - Dst: doTimeWindowInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:637,1
    - Dst: setResultRowInterpo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:641,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:642,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:644,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:645,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:648,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:651,1
    - Dst: closeResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:652,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:653,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:654,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: 659
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 659
    functionName: doInterpUnclosedTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - updateTimeWindowInfo
    - T_LONG_JMP
    - isResultRowInterpolated
    - tdListGetHead
    - applyAggFunctionOnPartialTuples
    - closeResultRow
    - setNotInterpoWindowKey
    - setTimeWindowOutputBuf
    - setResultRowInterpo
    - tdListPopHead
    - getResultRowByPos
    - taosMemoryFree
    - doTimeWindowInterpolation
    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: 666
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 666
    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:670,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:671,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInfo
    - win
    - tableGroupId
    argTypes:
    - SIntervalAggOperatorInfo*
    - STimeWindow*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: isCalculatedWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - SET_RES_WINDOW_KEY
    - tSimpleHashGet
    - GET_RES_WINDOW_KEY_LEN
    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:699,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:700,1
    - Dst: taosBQSize
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:705,1
    - Dst: taosBQMaxSize
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:705,1
    - Dst: taosBQTop
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:706,1
    - Dst: tsKeyCompFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:707,1
    - Dst: isCalculatedWin
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:711,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:716,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:717,1
    - Dst: taosBQPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:721,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:722,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:728,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:728,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:730,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: 733
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 733
    functionName: filterWindowWithLimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - taosBQPush
    - isCalculatedWin
    - T_LONG_JMP
    - taosBQMaxSize
    - tsKeyCompFn
    - createBoundedQueue
    - taosBQSize
    - qError
    - taosMemoryFree
    - taosBQTop
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: bool
    signature: "bool filterWindowWithLimit(SIntervalAggOperatorInfo* pOperatorInfo,
      STimeWindow* win, uint64_t groupId,\n                                  SExecTaskInfo*
      pTaskInfo)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: extractTsCol
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:744,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:747,1
    - Dst: destroyBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:756,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:762,1
    - Dst: filterWindowWithLimit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:763,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:765,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:768,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:772,1
    - Dst: addToOpenWindowList
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:777,1
    - Dst: doInterpUnclosedTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:778,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: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:788,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:790,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:795,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:796,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:799,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:802,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:807,1
    - Dst: filterWindowWithLimit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:809,1
    - Dst: setTimeWindowOutputBuf
      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: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:823,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:826,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:828,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:835,1
    - Dst: addToOpenWindowList
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:837,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:840,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:841,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:844,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:846,1
    - Dst: saveDataBlockLastRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:850,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 4
    argNames:
    - pOperatorInfo
    - pResultRowInfo
    - pBlock
    - scanFlag
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 735
    functionDepth: 5
    functionLinenumber: 735
    functionLinenumberEnd: 853
    functionName: hashIntervalAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - doWindowBorderInterpolation
    - getNumOfRowsInTimeWindow
    - saveDataBlockLastRow
    - destroyBoundedQueue
    - extractTsCol
    - addToOpenWindowList
    - updateTimeWindowInfo
    - T_LONG_JMP
    - doCloseWindow
    - doInterpUnclosedTimeWindow
    - getActiveTimeWindow
    - getStartTsKey
    - applyAggFunctionOnPartialTuples
    - getNextQualifiedWindow
    - setTimeWindowOutputBuf
    - filterWindowWithLimit
    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:857,1
    - Dst: closeResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:858,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:859,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pResultRowInfo
    - pInfo
    - pResult
    argTypes:
    - SResultRowInfo*
    - SIntervalAggOperatorInfo*
    - SResultRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 862
    functionName: doCloseWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 1
    functionsReached:
    - tdListPopHead
    - taosMemoryFree
    - isResultRowInterpolated
    - 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:872,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:874,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:875,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:881,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:882,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:887,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:887,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:889,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: 892
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 892
    functionName: addToOpenWindowList
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - tdListGetTail
    - QUERY_CHECK_CODE
    - tdListAppend
    - T_LONG_JMP
    - qError
    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:898,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:901,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:906,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:911,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:913,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:913,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:915,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pBlock
    - pInfo
    - pTaskInfo
    argTypes:
    - SSDataBlock*
    - SIntervalAggOperatorInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 921
    functionName: extractTsCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - taosArrayGet
    - blockDataUpdateTsWindow
    - T_LONG_JMP
    - qWarn
    - qError
    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:924,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:937,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:941,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:950,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:951,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:952,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:956,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:957,1
    - Dst: hashIntervalAgg
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:958,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:961,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:962,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:965,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:967,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:971,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:971,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:973,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 923
    functionDepth: 6
    functionLinenumber: 923
    functionLinenumberEnd: 976
    functionName: doOpenIntervalAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - hashIntervalAgg
    - getNextBlockFromDownstream
    - GET_STM_RTINFO
    - tstrerror
    - QUERY_CHECK_CODE
    - OPTR_SET_OPENED
    - T_LONG_JMP
    - OPTR_IS_OPENED
    - projectApplyFunctions
    - qError
    - initGroupedResultInfo
    - taosGetTimestampUs
    - 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:989,1
    - Dst: resetNumNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:993,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: 994
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 994
    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:1004,1
    - Dst: resetNumNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1006,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: 1008
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1008
    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, const EStateWinExtendOption* extendOption, bool
      hasNextWin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRowSup
    - nullRowIndex
    argTypes:
    - SWindowRowsSup*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: doKeepStateWindowNullInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doKeepStateWindowNullInfo(SWindowRowsSup* pRowSup, int32_t nullRowIndex)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1018,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1021,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1030,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1033,1
    - Dst: resetNumNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1040,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1046,1
    - Dst: doKeepStateWindowNullInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1047,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1052,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1054,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1057,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1061,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1062,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1063,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1065,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1068,1
    - Dst: doKeepNewStateWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1073,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1074,1
    - Dst: compareVal
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1075,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1076,1
    - Dst: doKeepCurStateWindowEndInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1080,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1082,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1085,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1088,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1089,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1092,1
    - Dst: doKeepNewStateWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1095,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1096,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1099,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1100,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1101,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1103,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1106,1
    - Dst: doKeepCurStateWindowEndInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1115,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1117,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1120,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1123,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1124,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1127,1
    - Dst: resetNumNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1129,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 3
    argNames:
    - pOperator
    - pInfo
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SStateWindowOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1014
    functionDepth: 4
    functionLinenumber: 1014
    functionLinenumberEnd: 1130
    functionName: doStateWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - doKeepNewStateWindowStartInfo
    - blobDataCopy
    - applyAggFunctionOnPartialTuples
    - doKeepTuple
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - compareVal
    - qError
    - IS_STR_DATA_BLOB
    - updateTimeWindowInfo
    - resetNumNullRows
    - T_LONG_JMP
    - colDataGetData
    - setTimeWindowOutputBuf
    - varDataCopy
    - doKeepStateWindowNullInfo
    - memcpy
    - colDataIsNull
    - doKeepCurStateWindowEndInfo
    linkageType: ''
    returnType: void
    signature: void doStateWindowAggImpl(SOperatorInfo* pOperator, SStateWindowOperatorInfo*
      pInfo, SSDataBlock* pBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1133,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1144,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1149,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1155,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1156,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1158,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1159,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1164,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1165,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1167,1
    - Dst: doStateWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1171,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1174,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1175,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1176,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1182,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1182,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1132
    functionDepth: 6
    functionLinenumber: 1132
    functionLinenumberEnd: 1187
    functionName: openStateWindowAggOptr
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - getNextBlockFromDownstream
    - GET_STM_RTINFO
    - tstrerror
    - QUERY_CHECK_CODE
    - blockDataUpdateTsWindow
    - T_LONG_JMP
    - doStateWindowAggImpl
    - OPTR_IS_OPENED
    - projectApplyFunctions
    - qError
    - initGroupedResultInfo
    - taosGetTimestampUs
    - 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:1201,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1202,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1204,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1205,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1208,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1210,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1212,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1214,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1227,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1227,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1189
    functionDepth: 5
    functionLinenumber: 1189
    functionLinenumberEnd: 1233
    functionName: doStateWindowAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - T_LONG_JMP
    - qError
    - hasRemainResults
    - blockDataEnsureCapacity
    - doBuildResultDatablock
    - SOperatorInfo*::fpSet::_openFn
    linkageType: ''
    returnType: int32_t
    signature: int32_t doStateWindowAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1247,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1248,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1251,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1252,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1253,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1255,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1257,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1271,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1235
    functionDepth: 5
    functionLinenumber: 1235
    functionLinenumberEnd: 1277
    functionName: doBuildIntervalResultNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - T_LONG_JMP
    - qError
    - hasRemainResults
    - doBuildResultDatablock
    - SOperatorInfo*::fpSet::_openFn
    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:1284,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1285,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1287,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1292,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1293,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1294,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1295,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1279
    functionDepth: 4
    functionLinenumber: 1279
    functionLinenumberEnd: 1298
    functionName: destroyStateWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - cleanupAggSup
    - cleanupResultInfo
    - taosMemoryFreeClear
    - cleanupExprSupp
    - colDataDestroy
    - cleanupGroupResInfo
    - cleanupBasicInfo
    linkageType: ''
    returnType: void
    signature: void destroyStateWindowOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1303
    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:1312,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1314,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1319,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1320,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1322,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1324,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1327,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1330,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1331,1
    - Dst: destroyBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1332,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1305
    functionDepth: 4
    functionLinenumber: 1305
    functionLinenumberEnd: 1334
    functionName: destroyIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - cleanupAggSup
    - destroyBoundedQueue
    - tdListFree
    - cleanupResultInfo
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - cleanupExprSupp
    - colDataDestroy
    - cleanupGroupResInfo
    - cleanupBasicInfo
    linkageType: ''
    returnType: void
    signature: void destroyIntervalOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1341,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1342,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1344,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1345,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1353,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1354,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1360,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1361,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1363,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1364,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1368,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SIntervalAggOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1371
    functionName: initWindowInterpPrevVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryCalloc
    - taosArrayInit
    - tstrerror
    - qError
    - QUERY_CHECK_NULL
    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:1383,1
    - Dst: initWindowInterpPrevVal
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1390,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1391,1
    - Dst: fmIsIntervalInterpoFunc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1397,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1401,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1402,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1408,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1409,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1411,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1412,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1418,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1418,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: 1422
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1422
    functionName: timeWindowinterpNeeded
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - QUERY_CHECK_CODE
    - initWindowInterpPrevVal
    - fmIsIntervalInterpoFunc
    - qError
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    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:1429,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1430,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1433,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1434,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1436,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1441,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1446,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1458,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1462,1
    - Dst: initWindowInterpPrevVal
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1464,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1467,1
    - Dst: destroyBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - pOper
    - pIntervalInfo
    argTypes:
    - SOperatorInfo*
    - SIntervalAggOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1424
    functionDepth: 4
    functionLinenumber: 1424
    functionLinenumberEnd: 1471
    functionName: resetInterval
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - destroyBoundedQueue
    - resetExprSupp
    - cleanupResultInfo
    - initWindowInterpPrevVal
    - resetBasicOperatorState
    - taosArrayDestroyEx
    - resetAggSup
    - initExecTimeWindowInfo
    - tdListEmpty
    - colDataDestroy
    - cleanupGroupResInfo
    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:1475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1473
    functionDepth: 5
    functionLinenumber: 1473
    functionLinenumberEnd: 1476
    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:1480,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1484,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1485,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1493,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1494,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1495,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1503,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1504,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1505,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1509,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1510,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1512,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1514,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1523,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1552,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1553,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1555,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1561,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1567,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1568,1
    - Dst: timeWindowinterpNeeded
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1571,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1572,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1574,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1582,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1583,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1586,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1588,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1589,1
    - Dst: destroyIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1599,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1602,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1604,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1604,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 84
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SIntervalPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1478
    functionDepth: 16
    functionLinenumber: 1478
    functionLinenumberEnd: 1606
    functionName: createIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 3
    functionsReached:
    - tstrerror
    - calcIntervalAutoOffset
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - qError
    - tdListNew
    - createDataBlockFromDescNode
    - destroyIntervalOperatorInfo
    - QRY_PARAM_CHECK
    - initExprSupp
    - blockDataEnsureCapacity
    - timeWindowinterpNeeded
    - filterInitFromNode
    - initResultRowInfo
    - appendDownstream
    - initExecTimeWindowInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - initAggSup
    - QUERY_CHECK_NULL
    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:1613,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1616,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1638,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1639,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1643,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1653,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1656,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1660,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1662,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1665,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1670,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1671,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1677,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1680,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1683,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1684,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1687,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - pOperator
    - pInfo
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSessionAggOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1609
    functionDepth: 4
    functionLinenumber: 1609
    functionLinenumberEnd: 1689
    functionName: doSessionWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - doKeepTuple
    - taosArrayGet
    - updateTimeWindowInfo
    - T_LONG_JMP
    - doKeepNewWindowStartInfo
    - applyAggFunctionOnPartialTuples
    - setTimeWindowOutputBuf
    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:1706,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1707,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1708,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1710,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1712,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1725,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1732,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1740,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1741,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1742,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1745,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1746,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1748,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1749,1
    - Dst: doSessionWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1751,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1754,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1759,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1760,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1763,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1764,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1766,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1767,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1768,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1770,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1772,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1784,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1784,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1786,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1691
    functionDepth: 6
    functionLinenumber: 1691
    functionLinenumberEnd: 1790
    functionName: doSessionWindowAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - blockDataEnsureCapacity
    - getNextBlockFromDownstream
    - GET_STM_RTINFO
    - doFilter
    - QUERY_CHECK_CODE
    - initGroupedResultInfo
    - blockDataUpdateTsWindow
    - setOperatorCompleted
    - doSessionWindowAggImpl
    - tstrerror
    - T_LONG_JMP
    - projectApplyFunctions
    - qError
    - hasRemainResults
    - doBuildResultDatablock
    - taosGetTimestampUs
    - 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:1798,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1799,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1802,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1803,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1805,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1810,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1817,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1792
    functionDepth: 4
    functionLinenumber: 1792
    functionLinenumberEnd: 1820
    functionName: resetStatewindowOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - resetExprSupp
    - cleanupResultInfo
    - memset
    - resetBasicOperatorState
    - resetAggSup
    - initExecTimeWindowInfo
    - colDataDestroy
    - cleanupGroupResInfo
    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:1825,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1829,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1830,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1844,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1845,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1847,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1853,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1856,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1863,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1873,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1874,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1876,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1878,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1884,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1885,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1886,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1887,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1892,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1893,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1900,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1902,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1904,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1906,1
    - Dst: destroyStateWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1916,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1919,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 70
    argCount: 4
    argNames:
    - downstream
    - pStateNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SStateWindowPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1823
    functionDepth: 16
    functionLinenumber: 1823
    functionLinenumberEnd: 1922
    functionName: createStatewindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - destroyStateWindowOperatorInfo
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - initAggSup
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - extractColumnFromColumnNode
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - initExprSupp
    - filterInitFromNode
    - initResultRowInfo
    - initExecTimeWindowInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - QUERY_CHECK_NULL
    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:1930,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1931,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1933,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1938,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1939,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1941,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1924
    functionDepth: 4
    functionLinenumber: 1924
    functionLinenumberEnd: 1943
    functionName: destroySWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - cleanupAggSup
    - cleanupResultInfo
    - taosMemoryFreeClear
    - cleanupExprSupp
    - colDataDestroy
    - cleanupGroupResInfo
    - cleanupBasicInfo
    linkageType: ''
    returnType: void
    signature: void destroySWindowOperatorInfo(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1951,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1952,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1955,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1956,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1958,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1963,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1945
    functionDepth: 4
    functionLinenumber: 1945
    functionLinenumberEnd: 1974
    functionName: resetSessionAggOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - resetExprSupp
    - cleanupResultInfo
    - resetBasicOperatorState
    - resetAggSup
    - initExecTimeWindowInfo
    - colDataDestroy
    - cleanupGroupResInfo
    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:1978,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1982,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1983,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1993,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1995,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1996,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1997,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2001,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2002,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2004,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2006,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2012,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2013,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2014,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2026,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2027,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2029,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2030,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2033,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2035,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2039,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2041,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2044,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2046,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2047,1
    - Dst: destroySWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2053,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2054,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 4
    argNames:
    - downstream
    - pSessionNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SSessionWinodwPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 1976
    functionDepth: 16
    functionLinenumber: 1976
    functionLinenumberEnd: 2057
    functionName: createSessionAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - initAggSup
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - createDataBlockFromDescNode
    - destroySWindowOperatorInfo
    - QRY_PARAM_CHECK
    - initExprSupp
    - filterInitFromNode
    - initResultRowInfo
    - initExecTimeWindowInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - QUERY_CHECK_NULL
    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:2061,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2059
    functionDepth: 5
    functionLinenumber: 2059
    functionLinenumberEnd: 2063
    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:2066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pResultRowInfo
    - pSup
    argTypes:
    - SResultRowInfo*
    - SAggSupporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2065
    functionDepth: 2
    functionLinenumber: 2065
    functionLinenumberEnd: 2072
    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:2077,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2085,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: 2086
      start: 2074
    functionDepth: 3
    functionLinenumber: 2074
    functionLinenumberEnd: 2086
    functionName: setSingleOutputTupleBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - setResultRowInitCtx
    - doSetSingleOutputTupleBuf
    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:2098,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2100,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2105,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2106,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2115,1
    - Dst: setSingleOutputTupleBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2117,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2119,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2130,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2131,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2134,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2137,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2138,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2143,1
    - Dst: setSingleOutputTupleBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2146,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2148,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2154,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2155,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2158,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - pOperatorInfo
    - pResultRowInfo
    - pBlock
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2088
    functionDepth: 4
    functionLinenumber: 2088
    functionLinenumberEnd: 2160
    functionName: doMergeAlignedIntervalAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    - extractTsCol
    - updateTimeWindowInfo
    - finalizeResultRows
    - T_LONG_JMP
    - applyAggFunctionOnPartialTuples
    - getStartTsKey
    - setSingleOutputTupleBuf
    - resetResultRow
    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: 2166
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2166
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2183,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2195,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2196,1
    - Dst: cleanupAfterGroupResultGen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2197,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2198,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2199,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2202,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2216,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2218,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2219,1
    - Dst: cleanupAfterGroupResultGen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2222,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2223,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2224,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2238,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2239,1
    - Dst: doMergeAlignedIntervalAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2241,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2243,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2244,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2253,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2253,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2168
    functionDepth: 6
    functionLinenumber: 2168
    functionLinenumberEnd: 2257
    functionName: doMergeAlignedIntervalAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - setOperatorCompleted
    - finalizeResultRows
    - T_LONG_JMP
    - doMergeAlignedIntervalAggImpl
    - setInputDataBlock
    - qError
    - resetResultRow
    - getNextBlockFromDownstream
    - cleanupAfterGroupResultGen
    linkageType: ''
    returnType: void
    signature: void doMergeAlignedIntervalAgg(SOperatorInfo* pOperator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2270,1
    - Dst: doMergeAlignedIntervalAgg
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2282,1
    - Dst: doMergeAlignedIntervalAgg
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2259
    functionDepth: 7
    functionLinenumber: 2259
    functionLinenumberEnd: 2292
    functionName: mergeAlignedIntervalAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - doMergeAlignedIntervalAgg
    - blockDataCleanup
    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:2307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2294
    functionDepth: 5
    functionLinenumber: 2294
    functionLinenumberEnd: 2308
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2312,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2316,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2317,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2324,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2337,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2343,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2345,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2356,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2360,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2361,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2363,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2365,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2367,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2368,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2369,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2370,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2371,1
    - Dst: timeWindowinterpNeeded
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2374,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2375,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2377,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2380,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2381,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2382,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2384,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2387,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2389,1
    - Dst: appendDownstream
      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: destroyMAIOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2398,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 58
    argCount: 4
    argNames:
    - downstream
    - pNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SMergeAlignedIntervalPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2310
    functionDepth: 16
    functionLinenumber: 2310
    functionLinenumberEnd: 2402
    functionName: createMergeAlignedIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - calcIntervalAutoOffset
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - tdListNew
    - createDataBlockFromDescNode
    - destroyMAIOperatorInfo
    - QRY_PARAM_CHECK
    - blockDataEnsureCapacity
    - timeWindowinterpNeeded
    - filterInitFromNode
    - initResultRowInfo
    - appendDownstream
    - initExecTimeWindowInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - initAggSup
    - QUERY_CHECK_NULL
    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:2423,1
    - Dst: destroyIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2424,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2421
    functionDepth: 5
    functionLinenumber: 2421
    functionLinenumberEnd: 2427
    functionName: destroyMergeIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - destroyIntervalOperatorInfo
    - tdListFree
    linkageType: ''
    returnType: void
    signature: void destroyMergeIntervalOperatorInfo(void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2436,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2438,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2443,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2445,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2453,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2454,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: 2459
      start: 2429
    functionDepth: 1
    functionLinenumber: 2429
    functionLinenumberEnd: 2459
    functionName: outputPrevIntervalResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosMemoryFreeClear
    - tdListAppend
    - tdListInitIter
    - tdListPopNode
    - tdListNext
    - qError
    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:2471,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2474,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2477,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2481,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2484,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2488,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2491,1
    - Dst: addToOpenWindowList
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2496,1
    - Dst: doInterpUnclosedTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2497,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2500,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2503,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2507,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2509,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2513,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2514,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2517,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2519,1
    - Dst: outputPrevIntervalResult
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2522,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2524,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2524,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2525,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2531,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2539,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2542,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2546,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2550,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2552,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2555,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2556,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2559,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2561,1
    - Dst: outputPrevIntervalResult
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2564,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2566,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2566,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2567,1
    - Dst: saveDataBlockLastRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2572,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: 2574
      start: 2461
    functionDepth: 5
    functionLinenumber: 2461
    functionLinenumberEnd: 2574
    functionName: doMergeIntervalAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - getNumOfRowsInTimeWindow
    - outputPrevIntervalResult
    - saveDataBlockLastRow
    - tstrerror
    - extractTsCol
    - addToOpenWindowList
    - updateTimeWindowInfo
    - T_LONG_JMP
    - doCloseWindow
    - doInterpUnclosedTimeWindow
    - getActiveTimeWindow
    - getStartTsKey
    - applyAggFunctionOnPartialTuples
    - getNextQualifiedWindow
    - setTimeWindowOutputBuf
    - qError
    - doWindowBorderInterpolation
    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:2591,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2592,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2593,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2600,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2608,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2622,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2623,1
    - Dst: doMergeIntervalAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2625,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2636,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2645,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2653,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2653,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2655,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2576
    functionDepth: 6
    functionLinenumber: 2576
    functionLinenumberEnd: 2659
    functionName: doMergeIntervalAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - doMergeIntervalAggImpl
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - setOperatorCompleted
    - T_LONG_JMP
    - tdListInitIter
    - tdListNext
    - qError
    - blockDataEnsureCapacity
    - getNextBlockFromDownstream
    - 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:2668,1
    - Dst: resetInterval
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2661
    functionDepth: 5
    functionLinenumber: 2661
    functionLinenumberEnd: 2672
    functionName: resetMergeIntervalOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - resetInterval
    - tdListEmpty
    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:2676,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2680,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2681,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2695,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2697,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2711,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2715,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2716,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2718,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2724,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2725,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2726,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2727,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2728,1
    - Dst: timeWindowinterpNeeded
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2731,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2732,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2734,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2741,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2742,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2744,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2746,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2748,1
    - Dst: destroyMergeIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2757,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2759,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 4
    argNames:
    - downstream
    - pIntervalPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SMergeIntervalPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2674
    functionDepth: 8
    functionLinenumber: 2674
    functionLinenumberEnd: 2762
    functionName: createMergeIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - calcIntervalAutoOffset
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - initBasicInfo
    - initAggSup
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - tdListNew
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - timeWindowinterpNeeded
    - destroyMergeIntervalOperatorInfo
    - initResultRowInfo
    - initExecTimeWindowInfo
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMergeIntervalOperatorInfo(SOperatorInfo* downstream,
      SMergeIntervalPhysiNode* pIntervalPhyNode,\n                                        SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:79,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:87,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:93,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:94,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:104,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:105,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:107,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:108,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:113,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:115,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:116,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:120,1
    - Dst: doInitOptions
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:122,1
    - Dst: doParseInput
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:124,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:125,1
    - Dst: doSetResSlot
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:127,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:128,1
    - Dst: doParseOption
      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: doCreateBuf
      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: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:136,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:138,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:139,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:141,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:143,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:146,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:147,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:149,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:150,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:154,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:159,1
    - Dst: imputatDestroyOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:162,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 77
    functionDepth: 16
    functionLinenumber: 77
    functionLinenumberEnd: 166
    functionName: createImputationOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - doParseInput
    - doParseOption
    - GET_TASKID
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - qError
    - doInitOptions
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - initExprSupp
    - imputatDestroyOperatorInfo
    - blockDataEnsureCapacity
    - filterInitFromNode
    - qDebug
    - destroyOperatorAndDownstreams
    - doCreateBuf
    - appendDownstream
    - doSetResSlot
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createImputationOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      physiNode, SExecTaskInfo* pTaskInfo,\n                                     SOperatorInfo**
      pOptrInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:176,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:177,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:178,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:180,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:183,1
    - Dst: doCacheBlock
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:191,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:193,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:195,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:197,1
    - Dst: doImputation
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:198,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:199,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:203,1
    - Dst: doCacheBlock
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:206,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:211,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:217,1
    - Dst: doImputation
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:218,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:221,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:222,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:226,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:226,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 168
    functionDepth: 6
    functionLinenumber: 168
    functionLinenumberEnd: 233
    functionName: imputationNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - doCacheBlock
    - getNextBlockFromDownstream
    - tstrerror
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - qDebug
    - T_LONG_JMP
    - GET_TASKID
    - doImputation
    - taosArrayGetSize
    - qError
    - taosGetTimestampUs
    linkageType: ''
    returnType: int32_t
    signature: int32_t imputationNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:239,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:240,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:242,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:243,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:244,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:247,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: imputatDestroyOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayGetP
    - cleanupExprSupp
    - taosArrayGetSize
    - cleanupBasicInfo
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void imputatDestroyOperatorInfo(void* param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:257,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:263,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:266,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:267,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:275,1
    - Dst: MIN
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:278,1
    - Dst: MAX
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:279,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:284,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:286,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:286,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:291,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:293,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:293,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pSupp
    - pBlock
    - id
    argTypes:
    - SImputationSupp*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 299
    functionName: doCacheBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - MIN
    - MAX
    - tstrerror
    - taosArrayGet
    - taosAnalyBufWriteColData
    - qDebug
    - colDataGetData
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCacheBlock(SImputationSupp* pSupp, SSDataBlock* pBlock, const
      char* id)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyBufWriteColEnd
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:306,1
    - Dst: taosAnalyBufWriteDataEnd
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:310,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:313,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:316,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:319,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:327,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:330,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:334,1
    - Dst: estResultRowsAfterImputation
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:339,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:344,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - pInfo
    - pSupp
    - id
    argTypes:
    - SImputationOperatorInfo*
    - SImputationSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 346
    functionName: finishBuildRequest
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - taosAnalyBufWriteOptStr
    - taosAnalyBufWriteDataEnd
    - taosAnalyBufWriteColEnd
    - taosAnalyBufClose
    - taosAnalyBufWriteOptInt
    - estResultRowsAfterImputation
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t finishBuildRequest(SImputationOperatorInfo* pInfo, SImputationSupp*
      pSupp, const char* id)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:357,1
    - Dst: taosAnalySendReqRetJson
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:362,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:368,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:371,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:373,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:375,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:378,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:386,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:389,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:392,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:395,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:401,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:404,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:405,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:406,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:415,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:416,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:417,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:422,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:423,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:425,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:430,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:431,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:433,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:439,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:443,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:444,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:446,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:454,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:458,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:463,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:463,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 4
    argNames:
    - pInfo
    - pSupp
    - pBlock
    - pId
    argTypes:
    - SImputationOperatorInfo*
    - SImputationSupp*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 465
    functionName: doImputationImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - tjsonGetArrayItem
    - tjsonGetObjectValueDouble
    - colDataSetInt32
    - tjsonDelete
    - tstrerror
    - taosArrayGet
    - tjsonGetInt32ValueFromDouble
    - tjsonGetStringValue
    - colDataSetDouble
    - taosAnalySendReqRetJson
    - tjsonGetObjectValueBigInt
    - colDataSetInt64
    - colDataSetFloat
    - qError
    - tjsonGetArraySize
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: int32_t doImputationImpl(SImputationOperatorInfo* pInfo, SImputationSupp*
      pSupp, SSDataBlock* pBlock, const char* pId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:470,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:476,1
    - Dst: finishBuildRequest
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:479,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:480,1
    - Dst: doImputationImpl
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:494,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:495,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:497,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:501,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - pInfo
    - pTaskInfo
    argTypes:
    - SImputationOperatorInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 508
    functionName: doImputation
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - QUERY_CHECK_CODE
    - uInfo
    - taosAnalyBufDestroy
    - qDebug
    - GET_TASKID
    - taosArrayClear
    - finishBuildRequest
    - doImputationImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t doImputation(SImputationOperatorInfo* pInfo, SExecTaskInfo*
      pTaskInfo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:515,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:515,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:517,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:529,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:530,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:538,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:541,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:542,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:553,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:554,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:562,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:565,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:573,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:582,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 4
    argNames:
    - pInfo
    - pSupp
    - pFuncs
    - id
    argTypes:
    - SImputationOperatorInfo*
    - SImputationSupp*
    - SNodeList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 587
    functionName: doParseInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - nodeType
    - qError
    - taosStrdup
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t doParseInput(SImputationOperatorInfo* pInfo, SImputationSupp*
      pSupp, SNodeList* pFuncs, const char* id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:515,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:515,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:517,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:529,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:530,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:538,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:541,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:542,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:553,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:554,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:562,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:565,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:573,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 579
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 37
    functionsReached:
    - nodesListGetNode
    - nodeType
    - qError
    - taosStrdup
    - LIST_LENGTH
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pInfo
    - pSupp
    - pExprSup
    argTypes:
    - SImputationOperatorInfo*
    - SImputationSupp*
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 608
    functionName: doSetResSlot
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetResSlot(SImputationOperatorInfo* pInfo, SImputationSupp*
      pSupp, SExprSupp* pExprSup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SImputationSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 624
    functionName: doInitOptions
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doInitOptions(SImputationSupp* pSupp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:631,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:631,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:633,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:634,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:636,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:636,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:640,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:641,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:644,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:644,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:645,1
    - Dst: strncmp
      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: strncmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:648,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:648,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:650,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:653,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:658,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:659,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:662,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:665,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - pSupp
    - pHashMap
    - id
    argTypes:
    - SImputationSupp*
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 667
    functionName: parseFreq
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - tstrncpy
    - taosMemoryFreeClear
    - taosHashGetValueSize
    - qDebug
    - strerror
    - taosStrndupi
    - tListLen
    - qError
    - strncmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseFreq(SImputationSupp* pSupp, SHashObj* pHashMap, const
      char* id)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:673,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:675,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:677,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:679,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:681,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:683,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:689,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:693,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:695,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:697,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:699,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:701,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:703,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:709,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:713,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:715,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:717,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:719,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:721,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:723,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:729,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 74
    argCount: 5
    argNames:
    - rows
    - skey
    - ekey
    - pSupp
    - id
    argTypes:
    - int32_t
    - int64_t
    - int64_t
    - SImputationSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 735
    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, SImputationSupp* pSupp, const char* id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:742,1
    - Dst: taosAnalysisParseAlgo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:747,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:748,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:749,1
    - Dst: taosAnalysisParseTimout
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:752,1
    - Dst: taosAnalysisParseWncheck
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:753,1
    - Dst: parseFreq
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:756,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - pInfo
    - pSupp
    - id
    argTypes:
    - SImputationOperatorInfo*
    - SImputationSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 761
    functionName: doParseOption
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - tListLen
    - taosAnalysisParseWncheck
    - taosAnalysisParseAlgo
    - taosAnalyGetOpts
    - TSDB_CHECK_CODE
    - taosAnalysisParseTimout
    - taosHashCleanup
    - parseFreq
    linkageType: ''
    returnType: int32_t
    signature: int32_t doParseOption(SImputationOperatorInfo* pInfo, SImputationSupp*
      pSupp, const char* id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:765,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:769,1
    - Dst: tsosAnalyBufOpen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:771,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:774,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:777,1
    - Dst: taosAnalyBufWriteDataBegin
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:780,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:784,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:790,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:791,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - pSupp
    - pId
    argTypes:
    - SImputationSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 794
    functionName: doCreateBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - taosAnalyBufWriteDataBegin
    - taosGetTimestampNs
    - taosAnalyBufDestroy
    - taosAnalyBufClose
    - snprintf
    - taosAnalyBufWriteColBegin
    - taosAnalyBufWriteColMeta
    - tsosAnalyBufOpen
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCreateBuf(SImputationSupp* pSupp, 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: 801
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: createImputationOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createImputationOperatorInfo(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: 802
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 802
    functionName: imputatDestroyOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void imputatDestroyOperatorInfo(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:
    - qError
    - blockDataEnsureCapacity
    - 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: MIN
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:123,1
    - Dst: MAX
      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:
    - MIN
    - MAX
    - tstrerror
    - taosArrayGet
    - taosAnalyBufWriteColData
    - qDebug
    - colDataGetData
    - taosArrayGetSize
    - qError
    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:
    - taosAnalyBufWriteOptStr
    - strlen
    - taosAnalyBufWriteDataEnd
    - taosArrayGet
    - taosAnalyBufWriteColData
    - taosAnalyBufWriteColEnd
    - taosAnalyBufClose
    - colDataGetData
    - taosArrayGetSize
    - taosAnalyBufWriteOptInt
    - qError
    - taosAnalyBufWriteOptFloat
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastCloseBuf(SForecastSupp* pSupp, const char* id)
  - BBCount: 23
    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: tjsonGetStringValue
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:283,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:286,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:287,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:291,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:297,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:300,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:309,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:311,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:320,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:322,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:325,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:326,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:327,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:334,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:336,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:339,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:340,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:341,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:348,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:350,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:353,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:354,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:355,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:361,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:363,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:366,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:367,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:369,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:375,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:379,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:384,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:384,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 103
    argCount: 3
    argNames:
    - pSupp
    - pBlock
    - pId
    argTypes:
    - SForecastSupp*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 386
    functionName: forecastAnalysis
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - tjsonGetArrayItem
    - tjsonGetObjectValueDouble
    - tjsonDelete
    - tstrerror
    - taosArrayGet
    - tjsonGetInt32ValueFromDouble
    - tjsonGetStringValue
    - colDataSetDouble
    - taosAnalySendReqRetJson
    - tjsonGetObjectValueBigInt
    - colDataSetInt64
    - qError
    - tjsonGetArraySize
    - strstr
    - tjsonGetObjectItem
    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:393,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:394,1
    - Dst: forecastEnsureBlockCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:396,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:397,1
    - Dst: forecastAnalysis
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:399,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:400,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:402,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pSupp
    - pResBlock
    - pId
    argTypes:
    - SForecastSupp*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: forecastAggregateBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CODE
    - uInfo
    - taosAnalyBufDestroy
    - forecastCloseBuf
    - forecastEnsureBlockCapacity
    - forecastAnalysis
    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:419,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:421,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:423,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:426,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:432,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:433,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:435,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:443,1
    - Dst: forecastCacheBlock
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:445,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:446,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:448,1
    - Dst: forecastAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:449,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:450,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:454,1
    - Dst: forecastCacheBlock
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:456,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:457,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:462,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:468,1
    - Dst: forecastAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:469,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:470,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:473,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:474,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:478,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:478,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:480,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 485
    functionName: forecastNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - getNextBlockFromDownstream
    - GET_STM_RTINFO
    - forecastAggregateBlocks
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataCleanup
    - qDebug
    - T_LONG_JMP
    - GET_TASKID
    - forecastCacheBlock
    - projectApplyFunctions
    - qError
    - taosGetTimestampUs
    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: 509
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 509
    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:513,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:516,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:522,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:525,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:525,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:531,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:532,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:534,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:534,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:535,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:535,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:535,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:543,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:544,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:546,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:550,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:551,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:552,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:552,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:559,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:559,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - pFunc
    - id
    argTypes:
    - SFunctionNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 562
    functionName: validInputParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrerror
    - nodeType
    - qError
    - LIST_LENGTH
    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:565,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pSupp
    - slotId
    argTypes:
    - SForecastSupp*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 574
    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:586,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:586,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:588,1
    - Dst: validInputParams
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:591,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:600,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:601,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:609,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:611,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:611,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:615,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:624,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:625,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:633,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:636,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:645,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:647,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:647,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:652,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:653,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:657,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:658,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:658,1
    - Dst: existInList
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:666,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:676,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:676,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:677,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:680,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:680,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:684,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 3
    argNames:
    - pSupp
    - pFuncs
    - id
    argTypes:
    - SForecastSupp*
    - SNodeList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 691
    functionName: forecastParseInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - taosArrayPush
    - tstrerror
    - nodeType
    - taosArrayInit
    - validInputParams
    - taosArrayGetSize
    - tListLen
    - qError
    - existInList
    - taosStrdup
    - LIST_LENGTH
    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:586,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:586,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:588,1
    - Dst: validInputParams
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:591,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:600,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:601,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:609,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:611,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:611,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:615,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:624,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:625,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:633,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:636,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:645,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:647,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:647,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:652,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:653,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:657,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:658,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:658,1
    - Dst: existInList
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:666,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:676,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:676,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:677,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:680,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:680,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:684,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 688
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 37
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - taosArrayPush
    - tstrerror
    - nodeType
    - taosArrayInit
    - validInputParams
    - taosArrayGetSize
    - tListLen
    - qError
    - existInList
    - taosStrdup
    - LIST_LENGTH
    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: 702
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 702
    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:705,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:706,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:708,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SForecastSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 716
    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:724,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:726,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:731,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:733,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:737,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:739,1
    - Dst: taosAnalysisParseAlgo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:743,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:744,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:745,1
    - Dst: filterNotSupportForecast
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:747,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:749,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:750,1
    - Dst: taosAnalysisParseTimout
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:754,1
    - Dst: taosAnalysisParseWncheck
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:755,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:758,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:758,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:761,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:761,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:764,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:766,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:770,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:777,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:783,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:783,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:786,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:791,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:794,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:797,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:801,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:801,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:804,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:804,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:807,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:811,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:811,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:814,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:814,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:817,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:821,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:831,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:833,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:837,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:837,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:839,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:843,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:848,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:849,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:849,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:851,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:851,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:853,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:854,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:856,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:861,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:861,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:863,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:869,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:870,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:871,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:878,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:880,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:884,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:889,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:890,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:891,1
    - Dst: strsplit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:894,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:896,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:900,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:901,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:902,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:908,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:910,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:910,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:917,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:926,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:927,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:931,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:932,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:936,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:937,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:941,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:942,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:946,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:947,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:951,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:952,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:956,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:957,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:961,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:962,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:966,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:967,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:971,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:972,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:982,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:983,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:988,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:990,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:999,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 200
    argCount: 2
    argNames:
    - pSupp
    - id
    argTypes:
    - SForecastSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 1001
    functionName: forecastParseOpt
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - sscanf
    - taosHashGetKey
    - strsplit
    - qWarn
    - taosHashIterate
    - strdequote
    - taosStr2Int8
    - taosAnalysisParseWncheck
    - taosAnalysisParseAlgo
    - taosStr2UInt8
    - taosStr2Int16
    - taosStr2UInt32
    - strncmp
    - strcmp
    - initForecastOpt
    - taosArrayGet
    - taosAnalyGetOpts
    - qError
    - taosHashGetSize
    - strstr
    - taosStr2UInt16
    - taosStr2UInt64
    - taosStr2Int64
    - filterNotSupportForecast
    - taosHashGet
    - strlen
    - taosStr2Int32
    - taosStrndupi
    - taosArrayGetSize
    - TSDB_CHECK_CODE
    - tListLen
    - colInfoDataEnsureCapacity
    - taosStr2Float
    - taosMemoryFree
    - memcpy
    - taosHashGetValueSize
    - qDebug
    - toInteger
    - colDataSetVal
    - taosAnalysisParseTimout
    - taosHashCleanup
    - taosStr2Double
    - strncpy
    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:1005,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1009,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1011,1
    - Dst: tsosAnalyBufOpen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1013,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1016,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1019,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1022,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1023,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1027,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1029,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1030,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1031,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1033,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1033,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1034,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1039,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1040,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1046,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1048,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1051,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1051,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1053,1
    - Dst: taosAnalyBufWriteDataBegin
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1060,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1064,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1070,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1071,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - pSupp
    - pId
    argTypes:
    - SForecastSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1074
    functionName: forecastCreateBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - taosAnalyBufWriteDataBegin
    - tsosAnalyBufOpen
    - taosAnalyBufDestroy
    - taosArrayGet
    - memcpy
    - taosAnalyBufClose
    - snprintf
    - taosAnalyBufWriteColBegin
    - tsnprintf
    - taosArrayGetSize
    - taosArrayRemove
    - tListLen
    - taosAnalyBufWriteColMeta
    - taosGetTimestampNs
    - 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:1085,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1087,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1090,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1092,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1093,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1098,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1098,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1100,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1100,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1102,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1102,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1105,1
    - Dst: forecastParseInput
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1107,1
    - Dst: forecastParseOutput
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1109,1
    - Dst: forecastParseOpt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1110,1
    - Dst: forecastCreateBuf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1115,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1116,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1116,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1119,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1124,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1076
    functionDepth: 16
    functionLinenumber: 1076
    functionLinenumberEnd: 1128
    functionName: resetForecastOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - forecastParseOutput
    - forecastParseInput
    - TAOS_CHECK_EXIT
    - tstrerror
    - taosAnalyBufDestroy
    - blockDataCleanup
    - initResultSizeInfo
    - cleanupExprSupp
    - forecastParseOpt
    - createExprInfo
    - initExprSupp
    - qError
    - forecastCreateBuf
    - filterInitFromNode
    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:1135,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1139,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1140,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1155,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1156,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1158,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1159,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1164,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1165,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1167,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1168,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1171,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1173,1
    - Dst: forecastParseInput
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1175,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1176,1
    - Dst: forecastParseOutput
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1178,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1179,1
    - Dst: forecastParseOpt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1181,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1182,1
    - Dst: forecastCreateBuf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1184,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1185,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1187,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1189,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1190,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1192,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1194,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1197,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1199,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1200,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1202,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1203,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1207,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1212,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1212,1
    - Dst: destroyForecastInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1214,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1133
    functionDepth: 16
    functionLinenumber: 1133
    functionLinenumberEnd: 1218
    functionName: createForecastOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 1
    functionsReached:
    - forecastParseOutput
    - tstrerror
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initResultSizeInfo
    - createExprInfo
    - createOperatorFpSet
    - taosMemoryCalloc
    - qError
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - forecastParseOpt
    - destroyForecastInfo
    - initExprSupp
    - blockDataEnsureCapacity
    - forecastParseInput
    - filterInitFromNode
    - qDebug
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - appendDownstream
    - forecastCreateBuf
    - QUERY_CHECK_NULL
    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:1222,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1220
    functionDepth: 1
    functionLinenumber: 1220
    functionLinenumberEnd: 1224
    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:1229,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1232,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1235,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1238,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1240,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1241,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1226
    functionDepth: 4
    functionLinenumber: 1226
    functionLinenumberEnd: 1243
    functionName: destroyForecastInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosAnalyBufDestroy
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - cleanupExprSupp
    - taosMemoryFree
    - 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: 1250
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1250
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:78,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:79,1
    - Dst: getCompletedSources
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:81,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:84,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:87,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:88,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:96,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:97,1
    - Dst: getCompletedSources
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:103,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:106,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:109,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:110,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:117,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:117,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:119,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:121,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:121,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:123,1
    - Dst: doSendFetchDataRequest
      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: exchangeWait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:141,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:142,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:143,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:146,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:148,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:149,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:150,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:157,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:159,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:161,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:165,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:166,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:167,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:169,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:176,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:178,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:187,1
    - Dst: doExtractResultBlocks
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:192,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:196,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:198,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:205,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:209,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:211,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:215,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:220,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:228,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:228,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 106
    argCount: 3
    argNames:
    - pOperator
    - pExchangeInfo
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SExchangeInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 230
    functionName: streamConcurrentlyLoadRemoteData
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - getCompletedSources
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - taosMemoryFreeClear
    - qDebug
    - T_LONG_JMP
    - isTaskKilled
    - GET_TASKID
    - atomic_load_64
    - setAllSourcesCompleted
    - taosArrayGetSize
    - doSendFetchDataRequest
    - updateLoadRemoteInfo
    - exchangeWait
    - qError
    - taosGetTimestampUs
    - doExtractResultBlocks
    linkageType: ''
    returnType: void
    signature: "void streamConcurrentlyLoadRemoteData(SOperatorInfo* pOperator, SExchangeInfo*
      pExchangeInfo,\n                                           SExecTaskInfo* pTaskInfo)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:237,1
    - Dst: getCompletedSources
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:239,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:242,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:245,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:252,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:252,1
    - Dst: exchangeWait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:253,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:255,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:256,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:260,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:261,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:270,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:272,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:273,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:279,1
    - Dst: tmemory_barrier
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:284,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:285,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:292,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:294,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:295,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:299,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:301,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:303,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:308,1
    - Dst: doExtractResultBlocks
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:308,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:311,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:316,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:319,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:323,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:325,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:329,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:333,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:335,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:336,1
    - Dst: getCompletedSources
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:344,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:347,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:350,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:350,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:359,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:359,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 3
    argNames:
    - pOperator
    - pExchangeInfo
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SExchangeInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 361
    functionName: concurrentlyLoadRemoteDataImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - GET_TASKID
    - atomic_load_64
    - doSendFetchDataRequest
    - tmemory_barrier
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - isTaskKilled
    - setAllSourcesCompleted
    - updateLoadRemoteInfo
    - exchangeWait
    - qError
    - doExtractResultBlocks
    - getCompletedSources
    - taosMemoryFreeClear
    - T_LONG_JMP
    - taosArrayGetSize
    - qDebug
    - QUERY_CHECK_NULL
    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:368,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:372,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:373,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:380,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:381,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:382,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:386,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:389,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:389,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:391,1
    - Dst: seqLoadRemoteData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:396,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:398,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:398,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:400,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:402,1
    - Dst: streamConcurrentlyLoadRemoteData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:403,1
    - Dst: concurrentlyLoadRemoteDataImpl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:405,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:408,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:408,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:409,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:412,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:413,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:416,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:417,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:418,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:421,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:423,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:426,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 430
    functionName: doLoadRemoteDataImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - IS_STREAM_MODE
    - streamConcurrentlyLoadRemoteData
    - tstrerror
    - qDebug
    - concurrentlyLoadRemoteDataImpl
    - taosArrayGetP
    - T_LONG_JMP
    - GET_TASKID
    - taosArrayGetSize
    - taosArrayRemove
    - qError
    - seqLoadRemoteData
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doLoadRemoteDataImpl(SOperatorInfo* pOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:438,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:440,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:441,1
    - Dst: doLoadRemoteDataImpl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:449,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:455,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:456,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:458,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:459,1
    - Dst: hasLimitOffsetInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:464,1
    - Dst: handleLimitOffset
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:465,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:467,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:471,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:481,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:489,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:489,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:491,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:493,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 432
    functionDepth: 5
    functionLinenumber: 432
    functionLinenumberEnd: 498
    functionName: loadRemoteDataNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - handleLimitOffset
    - tstrerror
    - doFilter
    - QUERY_CHECK_CODE
    - qDebug
    - blockDataGetNumOfRows
    - setOperatorCompleted
    - T_LONG_JMP
    - hasLimitOffsetInfo
    - doLoadRemoteDataImpl
    - qError
    - SOperatorInfo*::fpSet::_openFn
    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:501,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:510,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:511,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:515,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:521,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:523,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - numOfSources
    - pInfo
    - id
    argTypes:
    - int32_t
    - SExchangeInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 530
    functionName: initDataSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - taosArrayPush
    - taosArrayInit
    - qDebug
    - taosArrayDestroyEx
    - 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:533,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:536,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:539,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:543,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:548,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:550,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:550,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:555,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:555,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:557,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:557,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:563,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:565,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:565,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:568,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:570,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:570,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:575,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:577,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:577,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:582,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:583,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:586,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:586,1
    - Dst: initDataSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:592,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - pExNode
    - pInfo
    - id
    argTypes:
    - SExchangePhysiNode*
    - SExchangeInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 593
    functionName: initExchangeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - initLimitInfo
    - nodesListGetNode
    - taosArrayPush
    - tstrerror
    - taosArrayInit
    - initDataSource
    - taosArrayReserve
    - taosAddRef
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - qError
    - LIST_LENGTH
    - tSimpleHashInit
    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:599,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:601,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:607,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:608,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:609,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:610,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:611,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:617,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:621,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:624,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:625,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:627,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:631,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 639
    functionName: resetExchangeOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - initLimitInfo
    - atomic_add_fetch_64
    - taosArrayClearEx
    - taosArrayGet
    - taosMemoryFreeClear
    - qDebug
    - blockDataCleanup
    - taosWUnLockLatch
    - taosArrayGetSize
    - taosWLockLatch
    - tSimpleHashIterate
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetExchangeOperState(SOperatorInfo* pOper)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:643,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:647,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:648,1
    - Dst: initExchangeOperator
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:656,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:656,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:657,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:659,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:660,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:662,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:663,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:665,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:666,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:667,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:668,1
    - Dst: qAppendTaskStopInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:671,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:672,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:681,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:683,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:685,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:687,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:688,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:689,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:691,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:697,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:697,1
    - Dst: doDestroyExchangeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:701,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 4
    argNames:
    - pTransporter
    - pExNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - void*
    - SExchangePhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 641
    functionDepth: 16
    functionLinenumber: 641
    functionLinenumberEnd: 709
    functionName: createExchangeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayInit
    - tstrerror
    - GET_TASKID
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - destroyOperator
    - createOperatorFpSet
    - qError
    - taosMemoryCalloc
    - qTrace
    - createDataBlockFromDescNode
    - QRY_PARAM_CHECK
    - initExchangeOperator
    - taosArrayGetSize
    - filterInitFromNode
    - qAppendTaskStopInfo
    - doDestroyExchangeOperatorInfo
    - tsem_init
    - setOperatorResetStateFn
    - QUERY_CHECK_NULL
    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:713,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:715,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 717
    functionName: destroyExchangeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - tstrerror
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: void destroyExchangeOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 722
    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:726,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 730
    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:739,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:741,1
    - Dst: asyncFreeConnById
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:742,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:745,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:748,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:749,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:751,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:752,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:754,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:755,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:757,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:759,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:759,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:761,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 764
    functionName: doDestroyExchangeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 1
    functionsReached:
    - tsem_destroy
    - taosArrayDestroy
    - tstrerror
    - taosArrayGet
    - tSimpleHashCleanup
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - qError
    - asyncFreeConnById
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void doDestroyExchangeOperatorInfo(void* param)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:769,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:770,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:772,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:773,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:777,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:779,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:780,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:781,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:783,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:783,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:790,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:792,1
    - Dst: asyncFreeConnById
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:794,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:796,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:796,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:801,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:807,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:811,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:817,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:818,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:819,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:820,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:821,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:822,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:824,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:827,1
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:828,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:830,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:831,1
    - Dst: tstrerror
      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: tmemory_barrier
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:838,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:840,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:842,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:844,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:844,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:848,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:850,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:850,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 853
    functionName: loadRemoteDataCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - tmemory_barrier
    - taosReleaseRef
    - tstrerror
    - tsem_post
    - htobe64
    - rpcCvtErrCode
    - taosMemoryFreeClear
    - taosArrayGet
    - qDebug
    - atomic_load_64
    - taosWUnLockLatch
    - taosAcquireRef
    - taosWLockLatch
    - qWarn
    - qError
    - taosMemoryFree
    - htonl
    - asyncFreeConnById
    linkageType: ''
    returnType: int32_t
    signature: int32_t loadRemoteDataCallback(void* param, SDataBuf* pMsg, int32_t
      code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:856,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:861,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:863,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:867,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:869,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - ppRes
    - pUidList
    - srcOpType
    - tableSeq
    argTypes:
    - SOperatorParam**
    - SArray*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 885
    functionName: buildTableScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - taosArrayDup
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableScanOperatorParam(SOperatorParam** ppRes, SArray*
      pUidList, int32_t srcOpType, bool tableSeq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:892,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:893,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:895,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:896,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:898,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:899,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:901,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:902,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:905,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:907,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:908,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:922,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:922,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:923,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:925,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:927,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:928,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 6
    argNames:
    - ppRes
    - pUidList
    - srcOpType
    - pMap
    - tableSeq
    - window
    argTypes:
    - SOperatorParam**
    - SArray*
    - int32_t
    - SOrgTbInfo*
    - bool
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 933
    functionName: buildTableScanOperatorParamEx
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - tstrncpy
    - tstrerror
    - taosMemoryFreeClear
    - taosArrayDup
    - qError
    - taosMemoryFree
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableScanOperatorParamEx(SOperatorParam** ppRes, SArray*
      pUidList, int32_t srcOpType, SOrgTbInfo *pMap, bool tableSeq, STimeWindow *window)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:940,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:941,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:943,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:944,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:945,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:955,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:955,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:956,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - ppRes
    - pUidList
    - srcOpType
    argTypes:
    - SOperatorParam**
    - SArray*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 961
    functionName: buildTagScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - taosArrayGet
    - taosMemoryFreeClear
    - qError
    - taosMemoryFree
    - QUERY_CHECK_NULL
    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:968,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pRuntimeInfo
    - pTimeRange
    argTypes:
    - SStreamRuntimeFuncInfo*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 991
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:996,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1006,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1011,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1012,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1014,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1015,1
    - Dst: loadRemoteDataCallback
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1025,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1026,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1027,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1043,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1043,1
    - Dst: getCurrentWinCalcTimeRange
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1045,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1046,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1048,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1049,1
    - Dst: buildTableScanOperatorParamEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1057,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1058,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1059,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1060,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1064,1
    - Dst: buildTagScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1068,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1069,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1073,1
    - Dst: buildTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1078,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1079,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1083,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1089,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1092,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1093,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1097,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1100,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1101,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1105,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1109,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1110,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1114,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1116,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1118,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1122,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1124,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1125,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1126,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1126,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1142,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1143,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1149,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1149,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 123
    argCount: 3
    argNames:
    - pExchangeInfo
    - pTaskInfo
    - sourceIndex
    argTypes:
    - SExchangeInfo*
    - SExecTaskInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 993
    functionDepth: 4
    functionLinenumber: 993
    functionLinenumberEnd: 1152
    functionName: doSendFetchDataRequest
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - buildTableScanOperatorParam
    - tstrerror
    - GET_TASKID
    - getCurrentWinCalcTimeRange
    - buildTableScanOperatorParamEx
    - taosGetTimestampUs
    - freeOperatorParam
    - asyncSendMsgToServer
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tSerializeSResFetchReq
    - qError
    - taosMemoryCalloc
    - buildTagScanOperatorParam
    - taosMemoryFreeClear
    - loadRemoteDataCallback
    - taosArrayGetSize
    - qDebug
    - taosMemoryFree
    - QUERY_CHECK_NULL
    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:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pInfo
    - numOfRows
    - dataLen
    - startTs
    - pOperator
    argTypes:
    - SLoadRemoteDataInfo*
    - int64_t
    - int32_t
    - int64_t
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1160
    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,
      int32_t dataLen, int64_t startTs,\n                          SOperatorInfo*
      pOperator)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1167,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1168,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1175,1
    - Dst: htons
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1183,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1184,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1189,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1190,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1193,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1194,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1195,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1198,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1199,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1201,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1202,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1208,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1209,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1211,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1217,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 4
    argNames:
    - pRes
    - pData
    - pColList
    - pNextStart
    argTypes:
    - SSDataBlock*
    - char*
    - SArray*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1162
    functionDepth: 2
    functionLinenumber: 1162
    functionLinenumberEnd: 1221
    functionName: extractDataBlockFromFetchRsp
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 1
    functionsReached:
    - blockDataEnsureCapacity
    - tstrerror
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - blockDecode
    - createColumnInfoData
    - blockDataAppendColInfo
    - qError
    - relocateColumnData
    - htonl
    - createDataBlock
    - htons
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractDataBlockFromFetchRsp(SSDataBlock* pRes, char* pData,
      SArray* pColList, char** pNextStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1228,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1229,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1230,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1223
    functionDepth: 2
    functionLinenumber: 1223
    functionLinenumberEnd: 1234
    functionName: setAllSourcesCompleted
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - setOperatorCompleted
    - qDebug
    - taosArrayGetSize
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: void setAllSourcesCompleted(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1239,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1243,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1244,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1246,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1254,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pArray
    - pRes
    argTypes:
    - SArray*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1257
    functionName: getCompletedSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - taosArrayGet
    - qDebug
    - taosArrayGetSize
    - qError
    - QUERY_CHECK_NULL
    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:1263,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1264,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1268,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1275,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1276,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1276,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1280,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1281,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1259
    functionDepth: 5
    functionLinenumber: 1259
    functionLinenumberEnd: 1286
    functionName: prepareConcurrentlyLoad
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - isTaskKilled
    - T_LONG_JMP
    - GET_TASKID
    - doSendFetchDataRequest
    - taosArrayGetSize
    - taosGetTimestampUs
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareConcurrentlyLoad(SOperatorInfo* pOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1301,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1302,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1306,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1307,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1319,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1320,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1321,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1323,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1324,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1332,1
    - Dst: tsDecompressString
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1336,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1337,1
    - Dst: extractDataBlockFromFetchRsp
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1343,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1347,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1348,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1349,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1355,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1356,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1356,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - pExchangeInfo
    - pDataInfo
    argTypes:
    - SExchangeInfo*
    - SSourceDataInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1288
    functionDepth: 3
    functionLinenumber: 1288
    functionLinenumberEnd: 1359
    functionName: doExtractResultBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - createOneDataBlock
    - tstrerror
    - taosMemoryFreeClear
    - taosMemoryRealloc
    - blockDataCleanup
    - qDebug
    - blockDataDestroy
    - tsDecompressString
    - taosArrayGetSize
    - extractDataBlockFromFetchRsp
    - QUERY_CHECK_CONDITION
    - qError
    - taosArrayPop
    - QUERY_CHECK_NULL
    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:1366,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1367,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1372,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1373,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1383,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1387,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1389,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1389,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1391,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1399,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1401,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1401,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1403,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1407,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1409,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1409,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1411,1
    - Dst: exchangeWait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1415,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1416,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1417,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1420,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1422,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1423,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1431,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1433,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1442,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1444,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1453,1
    - Dst: doExtractResultBlocks
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1457,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1464,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1466,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1477,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1479,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1483,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1485,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1488,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 91
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1361
    functionDepth: 5
    functionLinenumber: 1361
    functionLinenumberEnd: 1495
    functionName: seqLoadRemoteData
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - taosArrayGet
    - taosMemoryFreeClear
    - qDebug
    - T_LONG_JMP
    - isTaskKilled
    - atomic_load_64
    - GET_TASKID
    - setAllSourcesCompleted
    - taosArrayClear
    - taosArrayGetSize
    - doSendFetchDataRequest
    - updateLoadRemoteInfo
    - exchangeWait
    - qError
    - taosGetTimestampUs
    - doExtractResultBlocks
    linkageType: ''
    returnType: int32_t
    signature: int32_t seqLoadRemoteData(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1500,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1501,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1504
    functionName: clearVtbScanDataInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void clearVtbScanDataInfo(void* pItem)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1508,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1512,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1514,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1514,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1518,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1520,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1520,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1523,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1525,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1527,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1527,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1530,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1532,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1536,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1541,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1549,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1551,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1552,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1554,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1564,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1565,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1567,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1567,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1578,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1588,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1589,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1591,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1591,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1602,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1604,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1605,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1608,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1618,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1620,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1620,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1623,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1625,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1636,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1639,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1640,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1643,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 121
    argCount: 2
    argNames:
    - pOperator
    - pBasicParam
    argTypes:
    - SOperatorInfo*
    - SExchangeOperatorBasicParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1506
    functionDepth: 3
    functionLinenumber: 1506
    functionLinenumberEnd: 1656
    functionName: addSingleExchangeSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - tstrncpy
    - tstrerror
    - taosArrayClearEx
    - taosArrayGet
    - taosArrayDup
    - qDebug
    - tSimpleHashGet
    - taosArrayGetSize
    - tSimpleHashPut
    - qError
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t addSingleExchangeSource(SOperatorInfo* pOperator, SExchangeOperatorBasicParam*
      pBasicParam)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1666,1
    - Dst: addSingleExchangeSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1667,1
    - Dst: addSingleExchangeSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1674,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1658
    functionDepth: 4
    functionLinenumber: 1658
    functionLinenumberEnd: 1681
    functionName: addDynamicExchangeSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashIterate
    - addSingleExchangeSource
    - freeOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t addDynamicExchangeSource(SOperatorInfo* pOperator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1688,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1690,1
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1690,1
    - Dst: addDynamicExchangeSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1695,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1696,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1699,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1703,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1705,1
    - Dst: prepareConcurrentlyLoad
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1706,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1707,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1708,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1711,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1712,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1714,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1718,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1718,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1720,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1683
    functionDepth: 6
    functionLinenumber: 1683
    functionLinenumberEnd: 1723
    functionName: prepareLoadRemoteData
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - IS_STREAM_MODE
    - tstrerror
    - QUERY_CHECK_CODE
    - qDebug
    - T_LONG_JMP
    - OPTR_IS_OPENED
    - addDynamicExchangeSource
    - prepareConcurrentlyLoad
    - OPTR_SET_OPENED
    - qError
    - taosGetTimestampUs
    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:1731,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1739,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1753,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1759,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1771,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1776,1
    - Dst: hasSlimitOffsetInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1784,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - pOperator
    - pLimitInfo
    - pBlock
    - holdDataInBuf
    argTypes:
    - SOperatorInfo*
    - SLimitInfo*
    - SSDataBlock*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1725
    functionDepth: 2
    functionLinenumber: 1725
    functionLinenumberEnd: 1789
    functionName: handleLimitOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 1
    functionsReached:
    - hasSlimitOffsetInfo
    - applyLimitOffset
    - setOperatorCompleted
    - blockDataCleanup
    - 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:1795,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1802,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1804,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1804,1
    - Dst: SExecTaskInfo*::pWorkerCb::afterRecoverFromBlocking
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pOperator
    - pExchangeInfo
    argTypes:
    - SOperatorInfo*
    - SExchangeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1791
    functionDepth: 1
    functionLinenumber: 1791
    functionLinenumberEnd: 1817
    functionName: exchangeWait
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 3
    functionsReached:
    - SExecTaskInfo*::pWorkerCb::beforeBlocking
    - tstrerror
    - SExecTaskInfo*::pWorkerCb::afterRecoverFromBlocking
    - qError
    - tsem_wait
    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:
    - destroyStbJoinTableList
    - tSimpleHashCleanup
    - qDebug
    - tSimpleHashSetFreeFp
    linkageType: ''
    returnType: void
    signature: void destroyStbJoinDynCtrlInfo(SStbJoinDynCtrlInfo* pStbJoin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: destroyOrgTbInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyOrgTbInfo(void *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:93,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    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:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    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:112,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: freeUseDbOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - freeVgInfo
    - taosMemFree
    linkageType: ''
    returnType: void
    signature: void freeUseDbOutput(void* pOutput)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:119,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:122,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:125,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:128,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:132,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:135,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:138,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:139,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:142,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:143,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:146,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:147,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:150,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:153,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:156,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - pVtbScan
    argTypes:
    - SVtbScanDynCtrlInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 158
    functionName: destroyVtbScanDynCtrlInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosHashSetFreeFp
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - taosHashCleanup
    - tFreeSUsedbRsp
    linkageType: ''
    returnType: void
    signature: void destroyVtbScanDynCtrlInfo(SVtbScanDynCtrlInfo* pVtbScan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroyStbJoinDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:165,1
    - Dst: destroyVtbScanDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:168,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:171,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: destroyDynQueryCtrlOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - destroyVtbScanDynCtrlInfo
    - taosMemoryFreeClear
    - qError
    - destroyStbJoinDynCtrlInfo
    linkageType: ''
    returnType: void
    signature: void destroyDynQueryCtrlOperator(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:187,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: 190
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 190
    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:225,1
    - Dst: tableNeedCache
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:226,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:229,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - pStbJoin
    argTypes:
    - SStbJoinDynCtrlInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 234
    functionName: updatePostJoinCurrTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - tSimpleHashPut
    - tableNeedCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t updatePostJoinCurrTableInfo(SStbJoinDynCtrlInfo*          pStbJoin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:239,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:242,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:246,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:249,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:250,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:254,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:256,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:257,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:265,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:268,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:273,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: 285
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 285
    functionName: buildGroupCacheOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - freeOperatorParam
    - taosArrayInit
    - atomic_add_fetch_64
    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: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:290,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:296,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:299,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: 313
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 313
    functionName: buildGroupCacheNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - freeOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildGroupCacheNotifyOperatorParam(SOperatorParam** ppRes,
      int32_t downstreamIdx, int32_t vgId, int64_t tbUid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:317,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:323,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:335,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:337,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:340,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - ppRes
    - downstreamIdx
    - pVgId
    - pUid
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 352
    functionName: buildExchangeOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildExchangeOperatorParam(SOperatorParam** ppRes, int32_t
      downstreamIdx, const int32_t* pVgId, int64_t* pUid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:355,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:361,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:363,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:368,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:368,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:368,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:370,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:371,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:374,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:381,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:382,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:391,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:391,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:393,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 3
    argNames:
    - ppRes
    - downstreamIdx
    - pVg
    argTypes:
    - SOperatorParam**
    - int32_t
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 403
    functionName: buildBatchExchangeOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - QRY_ERR_RET
    - tSimpleHashGetSize
    - qTrace
    - taosMemoryFreeClear
    - taosArrayGetSize
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - taosMemoryFree
    - tSimpleHashInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildBatchExchangeOperatorParam(SOperatorParam** ppRes, int32_t
      downstreamIdx, SSHashObj* pVg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:411,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:412,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:415,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:416,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:430,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:431,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:432,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:432,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:444,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:445,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:448,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:449,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:452,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:454,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 4
    argNames:
    - ppRes
    - downstreamIdx
    - vgId
    - uid
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t
    - tb_uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 458
    functionName: buildExchangeOperatorParamForVTagScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildExchangeOperatorParamForVTagScan(SOperatorParam** ppRes,
      int32_t downstreamIdx, int32_t vgId, tb_uid_t uid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:466,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:467,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:470,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:471,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:483,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:484,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:486,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:487,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:488,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:490,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:491,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:501,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:502,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:505,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:506,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:509,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:511,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 3
    argNames:
    - ppRes
    - downstreamIdx
    - pMap
    argTypes:
    - SOperatorParam**
    - int32_t
    - SOrgTbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 515
    functionName: buildExchangeOperatorParamForVScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - tstrncpy
    - taosArrayInit
    - taosMemoryFreeClear
    - taosArrayDup
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildExchangeOperatorParamForVScan(SOperatorParam** ppRes,
      int32_t downstreamIdx, SOrgTbInfo* pMap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:523,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:524,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:527,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:528,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:546,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:547,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:548,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:550,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:551,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:552,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:554,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:555,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:565,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:566,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:569,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:570,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:573,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:575,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 5
    argNames:
    - ppRes
    - downstreamIdx
    - pMap
    - taskId
    - pTaskAddr
    argTypes:
    - SOperatorParam**
    - int32_t
    - SOrgTbInfo*
    - uint64_t
    - SStreamTaskAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 579
    functionName: buildExchangeOperatorParamForVScanEx
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - tstrncpy
    - taosArrayInit
    - taosMemoryFreeClear
    - memcpy
    - taosArrayDup
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildExchangeOperatorParamForVScanEx(SOperatorParam** ppRes,
      int32_t downstreamIdx, SOrgTbInfo* pMap, uint64_t taskId, SStreamTaskAddr* pTaskAddr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:583,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:588,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:591,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:595,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:597,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:602,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:604,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:610,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 4
    argNames:
    - ppRes
    - initParam
    - ppChild0
    - ppChild1
    argTypes:
    - SOperatorParam**
    - bool
    - SOperatorParam**
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 581
    functionDepth: 4
    functionLinenumber: 581
    functionLinenumberEnd: 625
    functionName: buildMergeJoinOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - freeOperatorParam
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildMergeJoinOperatorParam(SOperatorParam** ppRes, bool initParam,
      SOperatorParam** ppChild0, SOperatorParam** ppChild1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:629,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:632,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:633,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:636,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:639,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:640,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:641,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:644,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:646,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:647,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:648,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:652,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:654,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - ppRes
    - pChild0
    - pChild1
    argTypes:
    - SOperatorParam**
    - SOperatorParam*
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 627
    functionDepth: 4
    functionLinenumber: 627
    functionLinenumberEnd: 665
    functionName: buildMergeJoinNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - freeOperatorParam
    - taosArrayInit
    - taosMemoryFreeClear
    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:669,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:671,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:677,1
    - Dst: buildTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:680,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ppRes
    - downstreamIdx
    - pVg
    argTypes:
    - SOperatorParam**
    - int32_t
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 689
    functionName: buildBatchTableScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tSimpleHashGetSize
    - buildTableScanOperatorParam
    - qError
    - tSimpleHashIterate
    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:693,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:697,1
    - Dst: buildTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:701,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:702,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: 708
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 708
    functionName: buildSingleTableScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - buildTableScanOperatorParam
    - taosArrayDestroy
    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:722,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:725,1
    - Dst: updatePostJoinCurrTableInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:725,1
    - Dst: buildBatchTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:729,1
    - Dst: buildBatchExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:729,1
    - Dst: buildBatchTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:731,1
    - Dst: buildBatchExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:731,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:734,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:735,1
    - Dst: buildSingleTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:741,1
    - Dst: buildExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:741,1
    - Dst: buildSingleTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:743,1
    - Dst: buildExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:743,1
    - Dst: buildGroupCacheOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:749,1
    - Dst: buildGroupCacheOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:753,1
    - Dst: buildMergeJoinOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:757,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:761,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:764,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:767,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:770,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:773,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - pInfo
    - pPrev
    - pPost
    - ppParam
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SStbJoinPrevJoinCtx*
    - SStbJoinPostJoinCtx*
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 779
    functionName: buildSeqStbJoinOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - freeOperatorParam
    - tSimpleHashCleanup
    - qDebug
    - buildBatchTableScanOperatorParam
    - updatePostJoinCurrTableInfo
    - buildSingleTableScanOperatorParam
    - buildGroupCacheOperatorParam
    - buildExchangeOperatorParam
    - buildBatchExchangeOperatorParam
    - buildMergeJoinOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildSeqStbJoinOperatorParam(SDynQueryCtrlOperatorInfo* pInfo,
      SStbJoinPrevJoinCtx* pPrev, SStbJoinPostJoinCtx* pPost, SOperatorParam** ppParam)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buildSeqStbJoinOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:787,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:790,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:793,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:793,1
    - Dst: fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:794,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:796,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:798,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:798,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:800,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:805,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:805,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:807,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 781
    functionDepth: 6
    functionLinenumber: 781
    functionLinenumberEnd: 809
    functionName: seqJoinLaunchNewRetrieveImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - buildSeqStbJoinOperatorParam
    - qDebug
    - T_LONG_JMP
    - GET_TASKID
    - blockDataCheck
    - fpSet::getNextExtFn
    - qError
    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:819,1
    - Dst: buildGroupCacheNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:821,1
    - Dst: buildMergeJoinNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:825,1
    - Dst: optrDefaultNotifyFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pOperator
    - pPost
    - leftTable
    argTypes:
    - SOperatorInfo*
    - SStbJoinPostJoinCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 812
    functionDepth: 7
    functionLinenumber: 812
    functionLinenumberEnd: 831
    functionName: notifySeqJoinTableCacheEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - buildMergeJoinNotifyOperatorParam
    - optrDefaultNotifyFn
    - qDebug
    - buildGroupCacheNotifyOperatorParam
    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:844,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:846,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:848,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:848,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:849,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:851,1
    - Dst: notifySeqJoinTableCacheEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:851,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:856,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:858,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:860,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:860,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:861,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:863,1
    - Dst: notifySeqJoinTableCacheEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pOperator
    - pStbJoin
    argTypes:
    - SOperatorInfo*
    - SStbJoinDynCtrlInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 833
    functionDepth: 8
    functionLinenumber: 833
    functionLinenumberEnd: 868
    functionName: handleSeqJoinCurrRetrieveEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - notifySeqJoinTableCacheEnd
    - tstrerror
    - tSimpleHashGet
    - tSimpleHashRemove
    - qError
    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:880,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:880,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:882,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:884,1
    - Dst: handleSeqJoinCurrRetrieveEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 871
    functionDepth: 9
    functionLinenumber: 871
    functionLinenumberEnd: 892
    functionName: seqJoinContinueCurrRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - qDebug
    - GET_TASKID
    - handleSeqJoinCurrRetrieveEnd
    - getNextBlockFromDownstream
    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:895,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:897,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:901,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:902,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:905,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:906,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:912,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: 917
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 917
    functionName: addToJoinVgroupHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tSimpleHashGet
    - tSimpleHashPut
    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:921,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:924,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:928,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:943,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:945,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:945,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:946,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: 954
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 954
    functionName: addToJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - tstrerror
    - tSimpleHashGet
    - tSimpleHashPut
    - tSimpleHashRemove
    - qError
    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:961,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:962,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:963,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:964,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SStbJoinTableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 966
    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:970,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:974,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:977,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:980,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:983,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:986,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:989,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:992,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:995,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:999,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1000,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1001,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1002,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: 1017
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 1017
    functionName: appendStbJoinTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryCalloc
    - freeStbJoinTableList
    - TAOS_MEMCPY
    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:1023,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1025,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1027,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1029,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1031,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1033,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1035,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1037,1
    - Dst: addToJoinVgroupHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1047,1
    - Dst: addToJoinVgroupHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1051,1
    - Dst: addToJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1060,1
    - Dst: appendStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1068,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1078,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1080
    functionName: doBuildStbJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - QRY_ERR_JRET
    - T_LONG_JMP
    - addToJoinTableHash
    - appendStbJoinTableList
    - addToJoinVgroupHash
    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:1091,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1091,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1092,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1099,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1100,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1102,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1106,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1107,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1117
    functionName: postProcessStbJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashIterate
    - tSimpleHashGetSize
    - tstrerror
    - qDebug
    - tSimpleHashClear
    - tSimpleHashRemove
    - qError
    linkageType: ''
    returnType: void
    signature: void postProcessStbJoinTableHash(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1124,1
    - Dst: doBuildStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1132,1
    - Dst: postProcessStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1119
    functionDepth: 6
    functionLinenumber: 1119
    functionLinenumberEnd: 1138
    functionName: buildStbJoinTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - getNextBlockFromDownstream
    - doBuildStbJoinTableHash
    - postProcessStbJoinTableHash
    linkageType: ''
    returnType: void
    signature: void buildStbJoinTableList(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1149,1
    - Dst: seqJoinLaunchNewRetrieveImpl
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1154,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1159,1
    - Dst: handleSeqJoinCurrRetrieveEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1159,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1140
    functionDepth: 9
    functionLinenumber: 1140
    functionLinenumberEnd: 1167
    functionName: seqJoinLaunchNewRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - freeStbJoinTableList
    - setOperatorCompleted
    - handleSeqJoinCurrRetrieveEnd
    - seqJoinLaunchNewRetrieveImpl
    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:1176,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1178,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1181,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1182,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1186,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pStbJoin
    - pBlock
    argTypes:
    - SStbJoinDynCtrlInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1197
    functionName: seqStableJoinComposeRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createColumnInfoData
    - blockDataAppendColInfo
    - qError
    - colInfoDataEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: int32_t seqStableJoinComposeRes(SStbJoinDynCtrlInfo* pStbJoin, SSDataBlock*
      pBlock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1204,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1211,1
    - Dst: buildStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1215,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1217,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1222,1
    - Dst: seqJoinContinueCurrRetrieve
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1222,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1227,1
    - Dst: seqJoinLaunchNewRetrieve
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1227,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1231,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1235,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1235,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1237,1
    - Dst: seqStableJoinComposeRes
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1199
    functionDepth: 10
    functionLinenumber: 1199
    functionLinenumberEnd: 1242
    functionName: seqStableJoin
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - buildStbJoinTableList
    - seqJoinLaunchNewRetrieve
    - tstrerror
    - setOperatorCompleted
    - QRY_ERR_JRET
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - seqJoinContinueCurrRetrieve
    - qError
    - seqStableJoinComposeRes
    - taosGetTimestampUs
    linkageType: ''
    returnType: int32_t
    signature: int32_t seqStableJoin(SOperatorInfo* pOperator, SSDataBlock** pRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1248,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1249,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1251,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1252,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1254,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1255,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1256,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1257,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1267,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1269,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1270,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1273,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - pInfo
    - ppRes
    - uid
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SOperatorParam**
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1277
    functionName: buildVtbScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - tstrerror
    - taosArrayInit
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildVtbScanOperatorParam(SDynQueryCtrlOperatorInfo* pInfo,
      SOperatorParam** ppRes, uint64_t uid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1285,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1288,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1290,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1295,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1296,1
    - Dst: tDeserializeSUseDbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1299,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1301,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1303,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1304,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1308,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1310
    functionName: dynProcessUseDbRsp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - tsem_post
    - rpcCvtErrCode
    - QUERY_CHECK_CODE
    - taosMemoryFreeClear
    - tDeserializeSUseDbRsp
    - qError
    - QUERY_CHECK_NULL
    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:1319,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1320,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1321,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1322,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1323,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1324,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1325,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1326,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1328,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1332,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1333,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1342,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1343,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1345,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1346,1
    - Dst: queryBuildUseDbOutput
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1348,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1349,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1353,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1353,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1354,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1356,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1357,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1358,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: 1360
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1360
    functionName: buildDbVgInfoMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - tstrerror
    - asyncSendMsgToServer
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - tSerializeSUseDbReq
    - taosMemoryFreeClear
    - tFreeSUsedbRsp
    - queryBuildUseDbOutput
    - tNameGetFullDbName
    - qError
    - taosMemoryCalloc
    - tsem_wait
    - QUERY_CHECK_NULL
    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: 1372
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1372
    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:1380,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1381,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1386,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1388,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1389,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1393,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - dbInfo
    - sort_func
    argTypes:
    - SDBVgInfo*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1400
    functionName: dynMakeVgArraySortBy
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosHashCancelIterate
    - taosHashIterate
    - taosArraySort
    - taosHashGetSize
    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: 1413
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1413
    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:1418,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1419,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1421,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1423,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1424,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1429,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1430,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1432,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1433,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1433,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1436,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1438,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1439,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: 1447
      start: 1415
    functionDepth: 2
    functionLinenumber: 1415
    functionLinenumberEnd: 1447
    functionName: getVgId
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosGetTbHashVal
    - QUERY_CHECK_CODE
    - snprintf
    - taosArrayGetSize
    - taosArraySearch
    - qError
    - dynMakeVgArraySortBy
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVgId(SDBVgInfo* dbInfo, char* dbFName, int32_t* vgId, char
      *tbName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1456,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pOperator
    - colId
    argTypes:
    - SOperatorInfo*
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1462
    functionName: colNeedScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool colNeedScan(SOperatorInfo* pOperator, col_id_t colId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1472,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1472,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1474,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1477,1
    - Dst: buildDbVgInfoMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1478,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1479,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1480,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1480,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1481,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1489,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1489,1
    - Dst: freeUseDbOutput
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - pOperator
    - name
    - dbVgInfo
    argTypes:
    - SOperatorInfo*
    - SName*
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1464
    functionDepth: 2
    functionLinenumber: 1464
    functionLinenumberEnd: 1492
    functionName: getDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - freeUseDbOutput
    - taosHashGet
    - strlen
    - tstrerror
    - buildDbVgInfoMap
    - QUERY_CHECK_CODE
    - QRY_PARAM_CHECK
    - taosHashPut
    - qError
    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:1498,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1501,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1502,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1506,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1508,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1509,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1510,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1511,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1512,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1513,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1515,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1516,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1517,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1521,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1521,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1523,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1527,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - colref
    - refDb
    - refTb
    - refCol
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1535
    functionName: extractColRefName
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - strlen
    - tstrncpy
    - tstrerror
    - strchr
    - qError
    - taosMemoryFree
    - QUERY_CHECK_NULL
    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:1538,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1538,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1538,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1539,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1539,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1540,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1540,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1540,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1541,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - dbName
    - tbName
    - expectDbName
    - expectTbName
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1545
    functionName: tableInfoNeedCollect
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - varDataLen
    - strlen
    - strncmp
    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:1551,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1552,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1553,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1554,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1556,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1558,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1559,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1560,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1561,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1562,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1563,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1565,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1568,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1568,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1568,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1569,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1570,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1570,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1570,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1570,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1570,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1571,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1571,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1574,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1574,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1574,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1575,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1576,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1576,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1576,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1576,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1576,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1577,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1577,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1579,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1580,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1580,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1582,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1583,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1583,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1585,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1586,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - pInfo
    - pDataBlock
    - index
    argTypes:
    - SColRefInfo*
    - SArray*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1591
    functionName: getColRefInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - varDataVal
    - varDataTLen
    - GET_TYPED_DATA
    - colDataGetNumData
    - taosArrayGet
    - memcpy
    - colDataIsNull_s
    - colDataGetData
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    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:1610,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1611,1
    - Dst: taosHashGet
      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: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1615,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1617,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1617,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1624,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1625,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1626,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1627,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1628,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1628,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1630,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1632,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1633,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1636,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1637,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1638,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1645,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1645,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - pVtbScan
    - pTaskInfo
    - rversion
    argTypes:
    - SVtbScanDynCtrlInfo*
    - SExecTaskInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1647
    functionName: processOrgTbVg
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - atomic_load_ptr
    - taosHashGet
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosHashClear
    - taosHashGetKey
    - atomic_store_64
    - taosArrayGet
    - tstrerror
    - taosHashIterate
    - atomic_val_compare_exchange_8
    - taosArrayGetSize
    - atomic_val_compare_exchange_ptr
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t processOrgTbVg(SVtbScanDynCtrlInfo* pVtbScan, SExecTaskInfo*
      pTaskInfo, int32_t rversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extractColRefName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1660,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1661,1
    - Dst: toName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1663,1
    - Dst: getDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1665,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1666,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1668,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1669,1
    - Dst: getVgId
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1671,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1672,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1675,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1676,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - pOperator
    - colRef
    - vgId
    argTypes:
    - SOperatorInfo*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1649
    functionDepth: 3
    functionLinenumber: 1649
    functionLinenumberEnd: 1679
    functionName: getVgIdFromColref
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - getDbVgInfo
    - QUERY_CHECK_CODE
    - toName
    - getVgId
    - extractColRefName
    - tNameGetFullDbName
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVgIdFromColref(SOperatorInfo* pOperator, const char* colRef,
      int32_t* vgId)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1690,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1690,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1691,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1695,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1699,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1700,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1701,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1703,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1704,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1705,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1708,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1709,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1710,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1711,1
    - Dst: tableInfoNeedCollect
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1713,1
    - Dst: getColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1715,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1716,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1723,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1723,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1724,1
    - Dst: getVgIdFromColref
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1729,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1730,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1731,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1732,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1735,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1735,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1735,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1736,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1737,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1738,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1738,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1739,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1740,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1740,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1741,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1741,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1741,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1742,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1744,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1744,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1744,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1745,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1746,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1747,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1748,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1748,1
    - Dst: processOrgTbVg
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1755,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1756,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1760,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1760,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1681
    functionDepth: 4
    functionLinenumber: 1681
    functionLinenumberEnd: 1763
    functionName: buildVirtualSuperTableScanChildTableMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - varDataLen
    - taosArrayInit
    - tstrerror
    - SOperatorInfo*::fpSet::getNextFn
    - getColRefInfo
    - QUERY_CHECK_CODE
    - taosArrayGet
    - processOrgTbVg
    - qError
    - taosHashGet
    - getVgIdFromColref
    - colDataGetData
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - varDataVal
    - tableInfoNeedCollect
    - taosArrayGetP
    - colDataIsNull_s
    - taosHashPut
    - taosHashInit
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildVirtualSuperTableScanChildTableMap(SOperatorInfo* pOperator)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1777,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1782,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1783,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1784,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1786,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1787,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1788,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1791,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1796,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1797,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1798,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1799,1
    - Dst: tableInfoNeedCollect
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1801,1
    - Dst: getColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1803,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1804,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1808,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1808,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1809,1
    - Dst: getVgIdFromColref
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1812,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1813,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1814,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1815,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1818,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1818,1
    - Dst: processOrgTbVg
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1823,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1824,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1828,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1828,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1841,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1842,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1843,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1844,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1845,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1846,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1848,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1848,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1849,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1851,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1852,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1857,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1861,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1862,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1864,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1864,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1876,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1877,1
    - Dst: colNeedScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1880,1
    - Dst: extractColRefName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1888,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1889,1
    - Dst: toName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1891,1
    - Dst: getDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1893,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1894,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1896,1
    - Dst: tNameGetFullTableName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1897,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1898,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1900,1
    - Dst: getVgId
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1903,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1904,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1905,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1906,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1907,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1910,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1911,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1911,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1912,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1913,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1918,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1919,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1919,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1921,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1922,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1923,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1929,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1929,1
    - Dst: buildVtbScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1942,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1943,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1945,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1949,1
    - Dst: buildExchangeOperatorParamForVScanEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1951,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1952,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1953,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1954,1
    - Dst: buildExchangeOperatorParamForVScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1956,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1957,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1959,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1959,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1960,1
    - Dst: buildExchangeOperatorParamForVTagScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1964,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1965,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1970,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1970,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1982,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1982,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1983,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1984,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1988,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1989,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1991,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1994,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1998,1
    - Dst: virtualTableScanProcessColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2002,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2003,1
    - Dst: virtualTableScanBuildDownStreamOpParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2005,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2006,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2011,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2022,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2023,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2027,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2034,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2037,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2037,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2049,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2050,1
    - Dst: buildVirtualNormalChildTableScanChildTableMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2051,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2052,1
    - Dst: virtualTableScanGetNext
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2056,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2057,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2061,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2061,1
    - Dst: buildVirtualSuperTableScanChildTableMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2073,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2074,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2077,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2081,1
    - Dst: virtualTableScanGetNext
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2085,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2086,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2090,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2090,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2101,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2108,1
    - Dst: virtualTableScanCheckNeedRedeploy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2113,1
    - Dst: virtualSuperTableScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2117,1
    - Dst: virtualNormalChildTableScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2121,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2127,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2130,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2130,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2132,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2139,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2139,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2143,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2143,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2148,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2148,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2152,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2152,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2156,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2156,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2170,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2171,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2185,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2186,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2187,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2188,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2189,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2189,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2190,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2191,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2192,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2194,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2195,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2200,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2201,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2209,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2209,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2210,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2212,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2213,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2214,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2215,1
    - Dst: taosArrayInit
      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: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2221,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2221,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2221,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2222,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2228,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2228,1
    - Dst: destroyStbJoinDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2240,1
    - Dst: initSeqStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2242,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2244,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2259,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2260,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2264,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2265,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2268,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2272,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2276,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2283,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2292,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2298,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2299,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2301,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2302,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2306,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2307,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2309,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2315,1
    - Dst: initSeqStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2317,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2318,1
    - Dst: initVtbScanInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2322,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2323,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2327,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2332,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2335,1
    - Dst: destroyDynQueryCtrlOperator
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2341,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2343,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2343,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2344,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 398
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 1765
    functionDepth: 7
    functionLinenumber: 1765
    functionLinenumberEnd: 2347
    functionName: buildVirtualNormalChildTableScanChildTableMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - initSeqStbJoinTableHash
    - taosArrayPush
    - taosArrayDestroy
    - tstrerror
    - taosArrayInit
    - toName
    - buildExchangeOperatorParamForVScanEx
    - taosHashIterate
    - SOperatorInfo*::fpSet::getNextFn
    - taosArrayClear
    - taosGetTimestampUs
    - destroyStbJoinDynCtrlInfo
    - nodesListGetNode
    - getDbVgInfo
    - virtualSuperTableScan
    - getColRefInfo
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - taosArrayGet
    - processOrgTbVg
    - colNeedScan
    - getVgId
    - SOperatorInfo*::fpSet::getNextExtFn
    - setOperatorCompleted
    - TAOS_MEMCPY
    - initVtbScanInfo
    - createOperatorFpSet
    - qError
    - taosMemoryCalloc
    - taosHashGet
    - tstrncpy
    - taosHashSetFreeFp
    - taosHashClear
    - virtualTableScanProcessColRefInfo
    - buildVirtualSuperTableScanChildTableMap
    - getVgIdFromColref
    - taosMemoryFreeClear
    - virtualTableScanBuildDownStreamOpParam
    - virtualTableScanGetNext
    - tSimpleHashInit
    - tNameGetFullTableName
    - buildVtbScanOperatorParam
    - colDataGetData
    - tNameGetFullDbName
    - buildVirtualNormalChildTableScanChildTableMap
    - virtualTableScanCheckNeedRedeploy
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - T_LONG_JMP
    - tFreeSUsedbRsp
    - destroyDynQueryCtrlOperator
    - atomic_val_compare_exchange_ptr
    - taosGetDefaultHashFunction
    - virtualNormalChildTableScan
    - tableInfoNeedCollect
    - taosStrdup
    - atomic_load_ptr
    - buildExchangeOperatorParamForVScan
    - taosArrayClearEx
    - extractColRefName
    - colDataIsNull_s
    - buildExchangeOperatorParamForVTagScan
    - taosArrayGetP
    - taosArrayDestroyEx
    - tsem_init
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - taosHashPut
    - taosHashRemove
    - taosHashInit
    - appendDownstream
    - taosHashCleanup
    - taosMemoryFree
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildVirtualNormalChildTableScanChildTableMap(SOperatorInfo*
      pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1796,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1797,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1798,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1799,1
    - Dst: tableInfoNeedCollect
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1801,1
    - Dst: getColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1803,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1804,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1808,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1808,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1809,1
    - Dst: getVgIdFromColref
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1812,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1813,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1814,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1815,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1818,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1792
    functionDepth: 4
    functionLinenumber: 1792
    functionLinenumberEnd: 1820
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 4
    functionsReached:
    - taosArrayPush
    - getColRefInfo
    - QUERY_CHECK_CODE
    - getVgIdFromColref
    - colDataGetData
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - tableInfoNeedCollect
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(rversion, int32_t, TSDB_DATA_TYPE_INT, colDataGetNumData(pRefVerCol,
      i), 0);\n      }\n\n      if (!colDataIsNull_s(pTableNameCol, i))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1841,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1842,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1843,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1844,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1845,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1846,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1848,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1848,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1849,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1851,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1852,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1857,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1861,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1862,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1864,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1867
    functionName: virtualTableScanCheckNeedRedeploy
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - atomic_load_ptr
    - taosArrayDestroy
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - taosHashInit
    - taosArrayClear
    - taosArrayGetSize
    - taosHashPut
    - taosGetDefaultHashFunction
    - atomic_val_compare_exchange_ptr
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualTableScanCheckNeedRedeploy(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1876,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1877,1
    - Dst: colNeedScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1880,1
    - Dst: extractColRefName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1888,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1889,1
    - Dst: toName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1891,1
    - Dst: getDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1893,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1894,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1896,1
    - Dst: tNameGetFullTableName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1897,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1898,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1900,1
    - Dst: getVgId
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1903,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1904,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1905,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1906,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1907,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1910,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1911,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1911,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1912,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1913,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1918,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1919,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1919,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1921,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1922,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1923,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1929,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1929,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 4
    argNames:
    - pOperator
    - pColRefInfo
    - uid
    - vgId
    argTypes:
    - SOperatorInfo*
    - SArray*
    - tb_uid_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1869
    functionDepth: 3
    functionLinenumber: 1869
    functionLinenumberEnd: 1932
    functionName: virtualTableScanProcessColRefInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - toName
    - getDbVgInfo
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colNeedScan
    - getVgId
    - qError
    - taosHashGet
    - tstrncpy
    - tNameGetFullTableName
    - tNameGetFullDbName
    - taosArrayGetSize
    - extractColRefName
    - taosHashPut
    - taosMemoryFree
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualTableScanProcessColRefInfo(SOperatorInfo* pOperator,
      SArray* pColRefInfo, tb_uid_t* uid, int32_t* vgId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildVtbScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1942,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1943,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1945,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1949,1
    - Dst: buildExchangeOperatorParamForVScanEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1951,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1952,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1953,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1954,1
    - Dst: buildExchangeOperatorParamForVScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1956,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1957,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1959,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1959,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1960,1
    - Dst: buildExchangeOperatorParamForVTagScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1964,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1965,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1970,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - pOperator
    - uid
    - vgId
    argTypes:
    - SOperatorInfo*
    - tb_uid_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1934
    functionDepth: 2
    functionLinenumber: 1934
    functionLinenumberEnd: 1973
    functionName: virtualTableScanBuildDownStreamOpParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - buildExchangeOperatorParamForVScan
    - taosArrayPush
    - tstrerror
    - QUERY_CHECK_CODE
    - buildExchangeOperatorParamForVScanEx
    - taosHashIterate
    - buildVtbScanOperatorParam
    - buildExchangeOperatorParamForVTagScan
    - taosHashRemove
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualTableScanBuildDownStreamOpParam(SOperatorInfo* pOperator,
      tb_uid_t uid, int32_t vgId)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1982,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1982,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1983,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1984,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1988,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1989,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1991,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1994,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1998,1
    - Dst: virtualTableScanProcessColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2002,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2003,1
    - Dst: virtualTableScanBuildDownStreamOpParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2005,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2006,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2011,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2022,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2023,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2027,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2034,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2037,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2037,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 1975
    functionDepth: 4
    functionLinenumber: 1975
    functionLinenumberEnd: 2040
    functionName: virtualTableScanGetNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - taosHashSetFreeFp
    - taosHashClear
    - tstrerror
    - virtualTableScanProcessColRefInfo
    - QUERY_CHECK_CODE
    - taosHashInit
    - virtualTableScanBuildDownStreamOpParam
    - SOperatorInfo*::fpSet::getNextExtFn
    - setOperatorCompleted
    - taosArrayGetP
    - SOperatorInfo*::fpSet::getNextFn
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - qError
    - taosHashCleanup
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualTableScanGetNext(SOperatorInfo* pOperator, SSDataBlock**
      pRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2049,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2050,1
    - Dst: buildVirtualNormalChildTableScanChildTableMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2051,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2052,1
    - Dst: virtualTableScanGetNext
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2056,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2057,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2061,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2042
    functionDepth: 8
    functionLinenumber: 2042
    functionLinenumberEnd: 2064
    functionName: virtualNormalChildTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - virtualTableScanGetNext
    - buildVirtualNormalChildTableScanChildTableMap
    - qError
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualNormalChildTableScan(SOperatorInfo* pOperator, SSDataBlock**
      pRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buildVirtualSuperTableScanChildTableMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2073,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2074,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2077,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2081,1
    - Dst: virtualTableScanGetNext
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2085,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2086,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2090,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2066
    functionDepth: 5
    functionLinenumber: 2066
    functionLinenumberEnd: 2093
    functionName: virtualSuperTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - buildVirtualSuperTableScanChildTableMap
    - QUERY_CHECK_CODE
    - virtualTableScanGetNext
    - setOperatorCompleted
    - taosArrayGetSize
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualSuperTableScan(SOperatorInfo* pOperator, SSDataBlock**
      pRes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2101,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2108,1
    - Dst: virtualTableScanCheckNeedRedeploy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2113,1
    - Dst: virtualSuperTableScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2117,1
    - Dst: virtualNormalChildTableScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2121,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2127,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2130,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2130,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2095
    functionDepth: 9
    functionLinenumber: 2095
    functionLinenumberEnd: 2135
    functionName: vtbScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - virtualSuperTableScan
    - tstrerror
    - QUERY_CHECK_CODE
    - T_LONG_JMP
    - virtualTableScanCheckNeedRedeploy
    - QRY_PARAM_CHECK
    - virtualNormalChildTableScan
    - qError
    - taosGetTimestampUs
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtbScan(SOperatorInfo* pOperator, SSDataBlock** pRes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2139,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2139,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2143,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2143,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2148,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2148,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2152,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2152,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2156,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pPrev
    - batchFetch
    argTypes:
    - SStbJoinPrevJoinCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2137
    functionDepth: 1
    functionLinenumber: 2137
    functionLinenumberEnd: 2163
    functionName: initSeqStbJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - taosGetDefaultHashFunction
    - tSimpleHashInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t initSeqStbJoinTableHash(SStbJoinPrevJoinCtx* pPrev, bool batchFetch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2170,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2171,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2185,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2186,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2187,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2188,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2189,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2189,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2190,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2191,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2192,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2194,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2195,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2200,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2201,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2209,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2209,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2210,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2212,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2213,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2214,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2215,1
    - Dst: taosArrayInit
      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: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2221,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2221,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2221,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2222,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2228,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 4
    argNames:
    - pInfo
    - pMsgCb
    - pPhyciNode
    - pTaskInfo
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SMsgCb*
    - SDynQueryCtrlPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2165
    functionDepth: 1
    functionLinenumber: 2165
    functionLinenumberEnd: 2230
    functionName: initVtbScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - taosArrayInit
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tsem_init
    - taosArrayGetSize
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    - taosStrdup
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initVtbScanInfo(SDynQueryCtrlOperatorInfo* pInfo, SMsgCb*
      pMsgCb,\n                               SDynQueryCtrlPhysiNode* pPhyciNode,
      SExecTaskInfo* pTaskInfo)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: destroyStbJoinDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2240,1
    - Dst: initSeqStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2242,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2244,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2259,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2260,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2264,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2265,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2268,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2272,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2276,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2232
    functionDepth: 2
    functionLinenumber: 2232
    functionLinenumberEnd: 2287
    functionName: resetDynQueryCtrlOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - initSeqStbJoinTableHash
    - taosHashSetFreeFp
    - tstrerror
    - taosArrayClearEx
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - qError
    - taosHashCleanup
    - tFreeSUsedbRsp
    - destroyStbJoinDynCtrlInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetDynQueryCtrlOperState(SOperatorInfo* pOper)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2292,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2298,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2299,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2301,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2302,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2306,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2307,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2309,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2315,1
    - Dst: initSeqStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2317,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2318,1
    - Dst: initVtbScanInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2322,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2323,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2327,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2332,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2335,1
    - Dst: destroyDynQueryCtrlOperator
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2341,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2343,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2343,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 6
    argNames:
    - pDownstream
    - numOfDownstream
    - pPhyciNode
    - pTaskInfo
    - pMsgCb
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SDynQueryCtrlPhysiNode*
    - SExecTaskInfo*
    - SMsgCb*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2289
    functionDepth: 7
    functionLinenumber: 2289
    functionLinenumberEnd: 2347
    functionName: createDynQueryCtrlOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 2
    functionsReached:
    - initSeqStbJoinTableHash
    - tstrerror
    - setOperatorInfo
    - QUERY_CHECK_CODE
    - initVtbScanInfo
    - TAOS_MEMCPY
    - appendDownstream
    - destroyDynQueryCtrlOperator
    - QRY_PARAM_CHECK
    - destroyOperatorAndDownstreams
    - setOperatorResetStateFn
    - qError
    - createOperatorFpSet
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - strlen
    - strncasecmp
    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:
    - TD_ALWAYS_ASSERT
    - qInitKeywordsTable
    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::doParseSql
    - nodesCreateAllocator
    - nodesAcquireAllocator
    - PlannerTestBaseImpl::setPlanContext
    - PlannerTestBaseImpl::doCreatePhysiPlan
    - nodesDestroyAllocator
    - PlannerTestBaseImpl::doScaleOutLogicPlan
    - nodesReleaseAllocator
    - unique_ptr::get
    - ASSERT_EQ
    - PlannerTestBaseImpl::reset
    - PlannerTestBaseImpl::doCreateLogicPlan
    - taosMemoryCalloc
    - PlannerTestBaseImpl::doOptimizeLogicPlan
    - PlannerTestBaseImpl::doSplitLogicPlan
    - PlannerTestBaseImpl::dump
    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::setPlanContext
    - PlannerTestBaseImpl::doCreatePhysiPlan
    - PlannerTestBaseImpl::doParseBoundSql
    - PlannerTestBaseImpl::doOptimizeLogicPlan
    - PlannerTestBaseImpl::doCreateLogicPlan
    - PlannerTestBaseImpl::doScaleOutLogicPlan
    - PlannerTestBaseImpl::checkPlanMsg
    - PlannerTestBaseImpl::doSplitLogicPlan
    - PlannerTestBaseImpl::dump
    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:
    - qDestroyQuery
    - taosMemoryFree
    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:
    - ast_::clear
    - physiSubplans_::clear
    - boundAst_::clear
    - rawLogicPlan_::clear
    - scaledLogicPlan_::clear
    - physiPlan_::clear
    - splitLogicPlan_::clear
    - qDestroyQuery
    - msgBuf_::fill
    - sql_::clear
    - optimizedLogicPlan_::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:371,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:373,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - ' sql'
    - pQuery
    argTypes:
    - string
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: PlannerTestBaseImpl::doParseSql
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - PlannerTestBaseImpl::toString
    - db_::c_str
    - msgBuf_::max_size
    - transform
    - sql_::length
    - sql_::end
    - sql_::begin
    - msgBuf_::data
    - sql_::c_str
    - DO_WITH_THROW
    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:380,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:382,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: 384
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: PlannerTestBaseImpl::doBindParams
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - PlannerTestBaseImpl::toString
    - DO_WITH_THROW
    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:389,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:390,1
    - Dst: sql_::length
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:391,1
    - Dst: msgBuf_::data
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:392,1
    - Dst: msgBuf_::max_size
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:393,1
    - Dst: user_::c_str
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:394,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:396,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 398
    functionName: PlannerTestBaseImpl::doParseBoundSql
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - PlannerTestBaseImpl::toString
    - msgBuf_::max_size
    - db_::c_str
    - sql_::length
    - msgBuf_::data
    - sql_::c_str
    - DO_WITH_THROW
    - user_::c_str
    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:401,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: PlannerTestBaseImpl::doCreateLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - PlannerTestBaseImpl::toString
    - DO_WITH_THROW
    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:406,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: PlannerTestBaseImpl::doOptimizeLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - PlannerTestBaseImpl::toString
    - DO_WITH_THROW
    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:411,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: PlannerTestBaseImpl::doSplitLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - PlannerTestBaseImpl::toString
    - DO_WITH_THROW
    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:416,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pLogicPlan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    - SQueryLogicPlan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: PlannerTestBaseImpl::doScaleOutLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - PlannerTestBaseImpl::toString
    - DO_WITH_THROW
    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:421,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:423,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:423,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:424,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:426,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:428,1
    - Dst: physiSubplans_::push_back
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:428,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pLogicPlan
    - pPlan
    argTypes:
    - SPlanContext*
    - SQueryLogicPlan*
    - SQueryPlan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 430
    functionName: PlannerTestBaseImpl::doCreatePhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - PlannerTestBaseImpl::toString
    - taosArrayInit
    - unique_ptr::get
    - DO_WITH_THROW
    - physiSubplans_::push_back
    - FOREACH
    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:434,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:435,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:439,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:442,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pQuery
    - pCxt
    argTypes:
    - SQuery*
    - SPlanContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 432
    functionDepth: 4
    functionLinenumber: 432
    functionLinenumberEnd: 451
    functionName: PlannerTestBaseImpl::setPlanContext
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - nodesDestroyNode
    - nodeType
    - 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:456,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:459,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:460,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 465
    functionName: PlannerTestBaseImpl::toString
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 8
    functionsReached:
    - taosMemoryFreeClear
    - nodesDestroyNode
    - DO_WITH_THROW
    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:470,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:476,1
    - Dst: string::c_str
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:476,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:477,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:478,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:480,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:481,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:483,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:484,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:487,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:488,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 467
    functionDepth: 4
    functionLinenumber: 467
    functionLinenumberEnd: 491
    functionName: PlannerTestBaseImpl::checkPlanMsg
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - memcmp
    - taosMemoryFreeClear
    - string::c_str
    - nodesDestroyNode
    - DO_WITH_THROW
    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:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 500
    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: 502
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 502
    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:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' user'
    - ' db'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 504
    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:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sql'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 506
    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:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sql'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 508
    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:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pParams
    - colIdx
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 512
    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:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 514
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - fmFuncMgtInit
    - nodesInitAllocatorSet
    - initMetaDataEnv
    - generateMetaData
    - PlannerEnv::initCfg
    - ASSERT_EQ
    - 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:
    - fmFuncMgtDestroy
    - qCleanupKeywordsTable
    - taosCloseLog
    - destroyMetaDataEnv
    - 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:
    - tstrncpy
    - taosRemoveDir
    - taosMkDir
    - getLogLevel
    - taosInitLog
    - ASSERT_EQ
    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: 1
    functionLinenumber: 78
    functionLinenumberEnd: 116
    functionName: parseArg
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestMain.cpp
    functionUses: 0
    functionsReached:
    - setDumpModule
    - getopt_long
    - setUseNodeAllocator
    - setSkipSqlNum
    - setQueryPolicy
    - setLogLevel
    - setLimitSqlNum
    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: 2
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestMain.cpp
    functionUses: 2
    functionsReached:
    - PlannerEnv::PlannerEnv
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    - parseArg
    - 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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, uniqueFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:82,1
    - Dst: run
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, tailFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:102,1
    - Dst: run
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, interpFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:115,1
    - Dst: run
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, lastRowFuncWithoutCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:133,1
    - Dst: run
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, timeLineFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:145,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:147,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, multiResFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:153,1
    - Dst: run
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, sampleFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:163,1
    - Dst: run
      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:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, pseudoColumn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:177,1
    - Dst: run
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, indefiniteRowsFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:187,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSubqeuryTest, outerInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:84,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - PlanStmtTest::initParam
    - strncpy
    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:
    - useDb
    - strlen
    - destoryBindParams
    - bindParams
    - buildIntegerParam
    - exec
    - buildStringParam
    - createBindParams
    - prepare
    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:
    - useDb
    - destoryBindParams
    - bindParams
    - buildIntegerParam
    - exec
    - createBindParams
    - prepare
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - errCode
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 41
    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:45,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:46,1
    - Dst: getUsageErrFormat
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:46,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pBuf
    - len
    - errCode
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: generateUsageErrMsg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vsnprintf
    - getUsageErrFormat
    linkageType: ''
    returnType: int32_t
    signature: int32_t generateUsageErrMsg(char* pBuf, int32_t len, int32_t errCode,
      ...)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:58,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:61,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:65,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:74,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:79,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:80,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:83,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:85,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:86,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 99
    functionName: doCreateColumn
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - nodesListStrictAppend
    - nodeType
    - nodesListAppend
    - nodesMakeNode
    - nodesCloneNode
    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:104,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:110,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pExprs
    - pList
    argTypes:
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 6
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: createColumnByRewriteExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    - nodesMakeList
    - nodesDestroyList
    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:124,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:130,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pExpr
    - pList
    argTypes:
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 6
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: createColumnByRewriteExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - nodesMakeList
    - nodesDestroyList
    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:150,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:151,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pSubplan
    - pOld
    - pNew
    argTypes:
    - SLogicSubplan*
    - SLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: replaceLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - REPLACE_NODE
    - FOREACH
    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: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    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: 193
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 193
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJoin
    - requirement
    argTypes:
    - SJoinLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: adjustJoinDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustJoinDataRequirement(SJoinLogicNode* pJoin, EDataOrderLevel
      requirement)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:203,1
    - Dst: dataOrderStr
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pAgg
    - requirement
    argTypes:
    - SAggLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: adjustAggDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - dataOrderStr
    - planError
    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: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    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: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    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: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    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: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    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: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    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: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    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: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    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: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    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:290,1
    - Dst: adjustSessionDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:292,1
    - Dst: adjustStateDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:294,1
    - Dst: adjustEventDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:296,1
    - Dst: adjustCountDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:298,1
    - Dst: adjustAnomalyDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:300,1
    - Dst: adjustExternalDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 307
    functionName: adjustWindowDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - adjustStateDataRequirement
    - adjustEventDataRequirement
    - adjustCountDataRequirement
    - adjustAnomalyDataRequirement
    - adjustSessionDataRequirement
    - adjustExternalDataRequirement
    - adjustIntervalDataRequirement
    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: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    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: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    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:324,1
    - Dst: dataOrderStr
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pPart
    - requirement
    argTypes:
    - SPartitionLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 333
    functionName: adjustPartitionDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - dataOrderStr
    - planError
    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: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    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: 351
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 351
    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: 360
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 360
    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:364,1
    - Dst: adjustScanDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:366,1
    - Dst: adjustJoinDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:369,1
    - Dst: adjustAggDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:372,1
    - Dst: adjustProjectDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:375,1
    - Dst: adjustWindowDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:382,1
    - Dst: adjustFillDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:385,1
    - Dst: adjustSortDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:388,1
    - Dst: adjustPartitionDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:391,1
    - Dst: adjustIndefRowsDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:394,1
    - Dst: adjustInterpDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:397,1
    - Dst: adjustForecastDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:401,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:408,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:409,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - pNode
    - requirement
    argTypes:
    - SLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 416
    functionName: adjustLogicNodeDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 1
    functionsReached:
    - adjustSortDataRequirement
    - adjustFillDataRequirement
    - nodeType
    - adjustLogicNodeDataRequirement
    - adjustInterpDataRequirement
    - FOREACH
    - adjustWindowDataRequirement
    - adjustScanDataRequirement
    - adjustIndefRowsDataRequirement
    - adjustPartitionDataRequirement
    - adjustForecastDataRequirement
    - adjustAggDataRequirement
    - adjustProjectDataRequirement
    - adjustJoinDataRequirement
    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:419,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:421,1
    - Dst: stbNotSystemScan
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:422,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: stbNotSystemScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 1
    functionsReached:
    - stbNotSystemScan
    - nodesListGetNode
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool stbNotSystemScan(SLogicNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:434,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:435,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:437,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 443
    functionName: keysHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool keysHasTbname(SNodeList* pKeys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:434,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:435,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:437,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 40
    functionsReached:
    - nodesListGetNode
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pPartKey, pKeys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:446,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    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:456,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:460,1
    - Dst: stbNotSystemScan
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:461,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:461,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:463,1
    - Dst: stbGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:463,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: isPartTableAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbGetPartKeys
    - keysHasTbname
    - LIST_LENGTH
    - stbNotSystemScan
    linkageType: ''
    returnType: bool
    signature: bool isPartTableAgg(SAggLogicNode* pAgg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:472,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:473,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:475,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pPartKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 481
    functionName: stbHasPartTag
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool stbHasPartTag(SNodeList* pPartKeys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:472,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:473,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:475,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 40
    functionsReached:
    - nodesListGetNode
    - nodeType
    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: 498
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 498
    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: 495
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 40
    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: 510
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 510
    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: 508
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 508
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 40
    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: 522
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 522
    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: 520
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 40
    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: 534
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 534
    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: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 40
    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: 546
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 546
    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: 544
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 40
    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: 558
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 558
    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: 556
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 556
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:564,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:567,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:567,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:573,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:573,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:580,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:581,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:588,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pNode
    - ppRes
    argTypes:
    - SNode*
    - SSHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: collectTableAliasFromNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - collectTableAliasFromNodes
    - tSimpleHashCleanup
    - FOREACH
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - tSimpleHashInit
    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:596,1
    - Dst: stbHasPartTag
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:600,1
    - Dst: stbNotSystemScan
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:601,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:601,1
    - Dst: stbHasPartTag
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:603,1
    - Dst: stbGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:603,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 604
    functionName: isPartTagAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbHasPartTag
    - stbGetPartKeys
    - LIST_LENGTH
    - stbNotSystemScan
    linkageType: ''
    returnType: bool
    signature: bool isPartTagAgg(SAggLogicNode* pAgg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:607,1
    - Dst: stbGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:607,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 608
    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:615,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:628,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:644,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: 647
      start: 610
    functionDepth: 4
    functionLinenumber: 610
    functionLinenumberEnd: 647
    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:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 657
    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:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 663
    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:667,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:669,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:670,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:671,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:673,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:675,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:678,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:681,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:686,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:687,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:688,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - pGroupCol
    argTypes:
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 665
    functionDepth: 6
    functionLinenumber: 665
    functionLinenumberEnd: 697
    functionName: createGroupKeyAggFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesListMakeStrictAppend
    - taosHashBinary
    - tsnprintf
    - nodesMakeNode
    - 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:701,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pPrimaryKeyCond
    - pTimeRange
    - pIsStrict
    argTypes:
    - SNode**
    - STimeWindow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 699
    functionDepth: 8
    functionLinenumber: 699
    functionLinenumberEnd: 707
    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:711,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 717
    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:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pCols
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 719
    functionDepth: 4
    functionLinenumber: 719
    functionLinenumberEnd: 723
    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:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 725
    functionDepth: 3
    functionLinenumber: 725
    functionLinenumberEnd: 729
    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:741,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:752,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:758,1
    - Dst: tagScanNodeHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:760,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:766,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:767,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 733
    functionDepth: 5
    functionLinenumber: 733
    functionLinenumberEnd: 770
    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:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pCol
    - pExpr
    argTypes:
    - SColumnNode*
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 776
    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: 784
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 784
    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: 783
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 783
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTargets)
  - 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: 60
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: getSlotKeyHelper
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - taosMemoryCalloc
    - strlen
    - 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:70,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:74,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:80,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:84,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:88,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:89,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:90,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: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:93,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:93,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:97,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:101,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:102,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:103,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:104,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:105,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:106,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:106,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:110,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:112,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:115,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:119,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:122,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:124,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:132,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:137,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 5
    argNames:
    - pNode
    - pStmtName
    - ppKey
    - pLen
    - extraBufLen
    argTypes:
    - SNode*
    - char*
    - char**
    - int32_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 140
    functionName: getSlotKey
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - nodesListGetNode
    - taosHashBinary
    - nodeType
    - TAOS_STRNCAT
    - getSlotKeyHelper
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSlotKey(SNode* pNode, const char* pStmtName, char** ppKey,
      int32_t* pLen, uint16_t extraBufLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:145,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:150,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: 156
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: createSlotDesc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - nodesMakeNode
    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:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pNode
    - dataBlockId
    - slotId
    - pOutput
    argTypes:
    - SNode*
    - int16_t
    - int16_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 5
    functionLinenumber: 158
    functionLinenumberEnd: 171
    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, int16_t dataBlockId, int16_t slotId,
      SNode** pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:174,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:177,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:183,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:188,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - dataBlockId
    - slotId
    - pName
    - len
    - pHash
    argTypes:
    - int16_t
    - int16_t
    - char*
    - int32_t
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: putSlotToHashImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - taosHashPut
    - taosArrayInit
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: int32_t putSlotToHashImpl(int16_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:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pName
    - len
    - dataBlockId
    - slotId
    - pNode
    - pHash
    argTypes:
    - char*
    - int32_t
    - int16_t
    - int16_t
    - SNode*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 197
    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, int16_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:201,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:201,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:205,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:205,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:207,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:210,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:211,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:212,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:215,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:216,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - capacity
    - dataBlockId
    - pDescHash
    - ppProjIdxDescHash
    argTypes:
    - SPhysiPlanContext*
    - int32_t
    - int16_t
    - SHashObj**
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 224
    functionName: createDataBlockDescHash
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    - taosArrayInsert
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDataBlockDescHash(SPhysiPlanContext* pCxt, int32_t capacity,
      int16_t dataBlockId,\n                                       SHashObj** pDescHash,
      SHashObj** ppProjIdxDescHash)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:229,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:239,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:241,1
    - Dst: createSlotDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:241,1
    - Dst: putSlotToHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:243,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:245,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:246,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:246,1
    - Dst: putSlotToHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:247,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:247,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:250,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: 260
      start: 226
    functionDepth: 6
    functionLinenumber: 226
    functionLinenumberEnd: 260
    functionName: buildDataBlockSlots
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - strlen
    - nodeType
    - createSlotDesc
    - getSlotKey
    - snprintf
    - nodesMakeList
    - taosMemoryFree
    - putSlotToHash
    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:239,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:241,1
    - Dst: createSlotDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:241,1
    - Dst: putSlotToHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:243,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:245,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:246,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:246,1
    - Dst: putSlotToHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:247,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:247,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 236
    functionDepth: 6
    functionLinenumber: 236
    functionLinenumberEnd: 258
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 41
    functionsReached:
    - nodesListStrictAppend
    - strlen
    - nodeType
    - createSlotDesc
    - getSlotKey
    - snprintf
    - taosMemoryFree
    - putSlotToHash
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:264,1
    - Dst: createDataBlockDescHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:272,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:272,1
    - Dst: buildDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:274,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 7
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: createDataBlockDesc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createDataBlockDescHash
    - nodesMakeNode
    - nodesDestroyNode
    - buildDataBlockSlots
    - LIST_LENGTH
    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:287,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pSlotIdsInfo
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 296
    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:305,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:306,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:309,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:312,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:314,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:316,1
    - Dst: createSlotDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:317,1
    - Dst: putSlotToHashImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:319,1
    - Dst: getUnsetSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:332,1
    - Dst: createTarget
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:335,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:337,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: 346
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 346
    functionName: addDataBlockSlotsImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - nodesListStrictAppend
    - REPLACE_NODE
    - nodeType
    - createSlotDesc
    - taosArrayGetP
    - getSlotKey
    - getUnsetSlotId
    - createTarget
    - putSlotToHashImpl
    - taosMemoryFree
    - LIST_LENGTH
    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:309,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:312,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:314,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:316,1
    - Dst: createSlotDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:317,1
    - Dst: putSlotToHashImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:319,1
    - Dst: getUnsetSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:332,1
    - Dst: createTarget
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:335,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:337,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 308
    functionDepth: 6
    functionLinenumber: 308
    functionLinenumberEnd: 344
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 41
    functionsReached:
    - nodesListStrictAppend
    - taosHashGet
    - REPLACE_NODE
    - nodeType
    - createSlotDesc
    - getSlotKey
    - getUnsetSlotId
    - createTarget
    - putSlotToHashImpl
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addDataBlockSlotsImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 7
    functionLinenumber: 348
    functionLinenumberEnd: 350
    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:358,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:360,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:363,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNode**
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 352
    functionDepth: 8
    functionLinenumber: 352
    functionLinenumberEnd: 367
    functionName: addDataBlockSlot
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesClearList
    - addDataBlockSlots
    - 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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pStmtName
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - char*
    - SNodeList*
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 7
    functionLinenumber: 369
    functionLinenumberEnd: 372
    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:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 7
    functionLinenumber: 374
    functionLinenumberEnd: 376
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:398,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:399,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:402,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:404,1
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:405,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pName
    - pHash
    argTypes:
    - char*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 408
    functionName: dumpSlots
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - planDebug
    - taosHashIterate
    - strncpy
    - taosHashGetKey
    linkageType: ''
    returnType: void
    signature: void dumpSlots(const char* pName, SHashObj* pHash)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:411,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:411,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:415,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:421,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:421,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:422,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:422,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:424,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:424,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: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:437,1
    - Dst: dumpSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:438,1
    - Dst: dumpSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:441,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:445,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 450
    functionName: doSetSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosHashGet
    - nodeType
    - taosMemoryFree
    - taosArrayGet
    - getSlotKey
    - snprintf
    - dumpSlots
    - planError
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doSetSlotId(SNode* pNode, void* pContext)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:453,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:453,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:466,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:473,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:473,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:474,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:476,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:477,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:478,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:478,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:482,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:484,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:485,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:486,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:492,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:493,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:497,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:501,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:502,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 506
    functionName: doSetMultiTableSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - nodesListGetNode
    - taosHashGet
    - nodeType
    - taosMemoryFree
    - taosArrayGet
    - sprintf
    - taosArrayGetP
    - getSlotKey
    - taosArrayGetSize
    - planError
    - LIST_LENGTH
    - 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:515,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:522,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:523,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:524,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:525,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:526,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - leftDataBlockId
    - rightDataBlockId
    - pNode
    - pOutput
    argTypes:
    - SPhysiPlanContext*
    - int16_t
    - int16_t
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 4
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: setNodeSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - nodesDestroyNode
    - nodesCloneNode
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setNodeSlotId(SPhysiPlanContext* pCxt, int16_t leftDataBlockId,
      int16_t rightDataBlockId, SNode* pNode,\n                             SNode**
      pOutput)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:543,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:550,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:551,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:552,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:553,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:554,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - leftDataBlockId
    - rightDataBlockId
    - pList
    - pOutput
    argTypes:
    - SPhysiPlanContext*
    - int16_t
    - int16_t
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 536
    functionDepth: 6
    functionLinenumber: 536
    functionLinenumberEnd: 561
    functionName: setListSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    - nodesCloneList
    - taosArrayGetP
    - nodesDestroyList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setListSlotId(SPhysiPlanContext* pCxt, int16_t leftDataBlockId,
      int16_t rightDataBlockId,\n                             const SNodeList* pList,
      SNodeList** pOutput)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:567,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:571,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:571,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:581,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:582,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - pCxt
    - pChild
    - isVtb
    - pList
    - pOutput
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - bool
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 563
    functionDepth: 6
    functionLinenumber: 563
    functionLinenumberEnd: 589
    functionName: setMultiBlockSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    - PLAN_RET
    - nodesDestroyList
    - PLAN_ERR_JRET
    - 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:593,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:599,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:600,1
    - Dst: createDataBlockDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:605,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pLogicNode
    - type
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 591
    functionDepth: 8
    functionLinenumber: 591
    functionLinenumberEnd: 613
    functionName: makePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - TSWAP
    - createDataBlockDesc
    - nodesMakeNode
    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:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pLogicNode
    - pPhysiNode
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 615
    functionDepth: 5
    functionLinenumber: 615
    functionLinenumberEnd: 621
    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: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    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:630,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:630,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:638,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:644,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:647,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:650,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:650,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - pScanCols
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 654
    functionName: sortScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - REPLACE_NODE
    - taosArrayInit
    - taosArrayGetP
    - taosArraySort
    - LIST_LENGTH
    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:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 41
    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:650,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 650
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 41
    functionsReached:
    - REPLACE_NODE
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void FOREACH(pCol, pScanCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:662,1
    - Dst: sortScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pScanPhysiNode
    - pScanCols
    argTypes:
    - SPhysiPlanContext*
    - SScanPhysiNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 656
    functionDepth: 4
    functionLinenumber: 656
    functionLinenumberEnd: 667
    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:671,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:673,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:678,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:682,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:686,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:695,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:698,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:705,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:712,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: 716
      start: 669
    functionDepth: 8
    functionLinenumber: 669
    functionLinenumberEnd: 716
    functionName: createScanPhysiNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - setConditionsSlotId
    - nodesDestroyNode
    - memcpy
    - nodesCloneList
    - addDataBlockSlots
    - createScanCols
    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: 721
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 721
    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: 741
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 741
    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:746,1
    - Dst: getScanOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:746,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:752,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 743
    functionDepth: 9
    functionLinenumber: 743
    functionLinenumberEnd: 755
    functionName: createSimpleScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createScanPhysiNodeFinalize
    - vgroupInfoToNodeAddr
    - makePhysiNode
    - getScanOperatorType
    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:760,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:765,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 757
    functionDepth: 9
    functionLinenumber: 757
    functionLinenumberEnd: 770
    functionName: createTagScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createScanPhysiNodeFinalize
    - vgroupInfoToNodeAddr
    - makePhysiNode
    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:775,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:780,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:782,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:786,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:788,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:796,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:799,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:801,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:801,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:808,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:814,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:815,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:817,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:817,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:818,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 772
    functionDepth: 9
    functionLinenumber: 772
    functionLinenumberEnd: 828
    functionName: createLastRowScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - vgroupInfoToNodeAddr
    - taosArrayInit
    - createScanPhysiNodeFinalize
    - taosArrayGet
    - makePhysiNode
    - taosArrayInsert
    - taosArrayGetSize
    - TARRAY_SIZE
    - nodesCloneList
    - nodesDestroyNode
    - strncmp
    - FOREACH
    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:832,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:839,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:841,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:847,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 830
    functionDepth: 9
    functionLinenumber: 830
    functionLinenumberEnd: 850
    functionName: createTableCountScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - vgroupInfoToNodeAddr
    - createScanPhysiNodeFinalize
    - makePhysiNode
    - nodesCloneList
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTableCountScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan,\n                                             SScanLogicNode* pScanLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:854,1
    - Dst: getScanOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:855,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:860,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:864,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:867,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:870,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:872,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:876,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:878,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:881,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:883,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 852
    functionDepth: 9
    functionLinenumber: 852
    functionLinenumberEnd: 904
    functionName: createTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - vgroupInfoToNodeAddr
    - getScanOperatorType
    - createScanPhysiNodeFinalize
    - memcpy
    - makePhysiNode
    - tNameGetFullDbName
    - nodesCloneList
    - nodesDestroyNode
    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:908,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:918,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:919,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:920,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:921,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:922,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:923,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:925,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:931,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:936,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:938,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 906
    functionDepth: 9
    functionLinenumber: 906
    functionLinenumberEnd: 939
    functionName: createSystemTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - vgroupInfoToNodeAddr
    - createScanPhysiNodeFinalize
    - makePhysiNode
    - 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:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 10
    functionLinenumber: 941
    functionLinenumberEnd: 944
    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:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 10
    functionLinenumber: 946
    functionLinenumberEnd: 949
    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:956,1
    - Dst: createTagScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:956,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:959,1
    - Dst: createSimpleScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:959,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:962,1
    - Dst: createTableCountScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:962,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:965,1
    - Dst: createLastRowScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:965,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:968,1
    - Dst: createTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:968,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:971,1
    - Dst: createSystemTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:971,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:974,1
    - Dst: createStreamScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:974,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:977,1
    - Dst: createTableMergeScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:977,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:980,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:989,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:990,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:991,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:997,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:998,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 951
    functionDepth: 11
    functionLinenumber: 951
    functionLinenumberEnd: 1003
    functionName: createScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createStreamScanPhysiNode
    - taosArrayPush
    - createTableCountScanPhysiNode
    - taosArrayInit
    - createLastRowScanPhysiNode
    - createTableScanPhysiNode
    - createSimpleScanPhysiNode
    - createTableMergeScanPhysiNode
    - PLAN_ERR_RET
    - createTagScanPhysiNode
    - createSystemTableScanPhysiNode
    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:1007,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1009,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1009,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1010,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1011,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1013,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1014,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pChildren
    - idx
    - ppDesc
    argTypes:
    - SNodeList*
    - int32_t
    - SDataBlockDescNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1019
    functionName: getJoinDataBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - planError
    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:1024,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1028,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1030,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1033,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1035,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1038,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1044,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1046,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1049,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1051,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1054,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1058,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1062,1
    - Dst: setColEqList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1063,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1069,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1069,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 5
    argNames:
    - pEqCond
    - leftBlkId
    - rightBlkId
    - ppLeft
    - ppRight
    argTypes:
    - SNode*
    - int16_t
    - int16_t
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1021
    functionDepth: 6
    functionLinenumber: 1021
    functionLinenumberEnd: 1074
    functionName: setColEqList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - nodesListMakeStrictAppend
    - nodeType
    - setColEqList
    - nodesCloneNode
    - planError
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setColEqList(SNode* pEqCond, int16_t leftBlkId, int16_t rightBlkId,
      SNodeList** ppLeft,\n                            SNodeList** ppRight)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1079,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1082,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1086,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1095,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1103,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1107,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1107,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1113,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1116,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1117,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1118,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1118,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1126,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1130,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1132,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1138,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1138,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1144,1
    - Dst: getAsofJoinReverseOp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1149,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1153,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1161,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1165,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1165,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1171,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1174,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:1176,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1176,1
    - Dst: getAsofJoinReverseOp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1182,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1184,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1188,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1190,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:1200,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1200,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 118
    argCount: 6
    argNames:
    - pEqCond
    - subType
    - leftBlkId
    - rightBlkId
    - pJoin
    - pJoinLogicNode
    argTypes:
    - SNode*
    - int32_t
    - int16_t
    - int16_t
    - SSortMergeJoinPhysiNode*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1076
    functionDepth: 3
    functionLinenumber: 1076
    functionLinenumberEnd: 1205
    functionName: setMergeJoinPrimColEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - getAsofJoinReverseOp
    - nodesCloneNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setMergeJoinPrimColEqCond(SNode* pEqCond, int32_t subType,
      int16_t leftBlkId, int16_t rightBlkId,\n                                         SSortMergeJoinPhysiNode*
      pJoin, SJoinLogicNode* pJoinLogicNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1212,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1212,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1213,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pTargets
    - pPrimExpr
    - ppRemoved
    argTypes:
    - SNodeList*
    - SValueNode*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1207
    functionDepth: 3
    functionLinenumber: 1207
    functionLinenumberEnd: 1220
    functionName: removePrimColFromJoinTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - ERASE_NODE
    - nodesCloneNode
    - strcmp
    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:1212,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1212,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1213,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1210
    functionDepth: 3
    functionLinenumber: 1210
    functionLinenumberEnd: 1217
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 43
    functionsReached:
    - ERASE_NODE
    - nodesCloneNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTargets)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1225,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pJoin
    - ppTarget
    - primExpr
    - blkId
    argTypes:
    - SSortMergeJoinPhysiNode*
    - SColumnNode**
    - STargetNode*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1222
    functionDepth: 6
    functionLinenumber: 1222
    functionLinenumberEnd: 1236
    functionName: appendPrimColToJoinTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - planError
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendPrimColToJoinTargets(SSortMergeJoinPhysiNode* pJoin,
      SColumnNode** ppTarget, STargetNode* primExpr, int16_t blkId)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1241,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1251,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1254,1
    - Dst: getJoinDataBlockDescNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1260,1
    - Dst: getJoinDataBlockDescNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1264,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1268,1
    - Dst: setMergeJoinPrimColEqCond
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1271,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1275,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1278,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1284,1
    - Dst: setMergeJoinPrimColEqCond
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1287,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1291,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1294,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1296,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1302,1
    - Dst: removePrimColFromJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1304,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1308,1
    - Dst: removePrimColFromJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1310,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1314,1
    - Dst: appendPrimColToJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1319,1
    - Dst: appendPrimColToJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1322,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1326,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1331,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1341,1
    - Dst: setColEqList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1344,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1350,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1360,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1365,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1369,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1375,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1376,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1377,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 94
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pJoinLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SJoinLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1238
    functionDepth: 9
    functionLinenumber: 1238
    functionLinenumberEnd: 1381
    functionName: createMergeJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - removePrimColFromJoinTargets
    - setConditionsSlotId
    - makePhysiNode
    - getJoinDataBlockDescNode
    - setListSlotId
    - setMergeJoinPrimColEqCond
    - addDataBlockSlots
    - addDataBlockSlot
    - mergeJoinConds
    - setColEqList
    - nodesDestroyNode
    - appendPrimColToJoinTargets
    - nodesCloneNode
    - setNodeSlotId
    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:1385,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1391,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1393,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1396,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1399,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1403,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1405,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1408,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1411,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1414,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1422,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1422,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - lBlkId
    - rBlkId
    - pEq
    - pJoin
    argTypes:
    - int16_t
    - int16_t
    - SNode*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1383
    functionDepth: 5
    functionLinenumber: 1383
    functionLinenumberEnd: 1424
    functionName: extractHashJoinOpCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesCloneNode
    - nodeType
    - planError
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractHashJoinOpCols(int16_t lBlkId, int16_t rBlkId, SNode*
      pEq, SHashJoinPhysiNode* pJoin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1432,1
    - Dst: extractHashJoinOpCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1433,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1434,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1437,1
    - Dst: extractHashJoinOpCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1438,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1444,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - lBlkId
    - rBlkId
    - pEq
    - pJoin
    argTypes:
    - int16_t
    - int16_t
    - SNode*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1426
    functionDepth: 6
    functionLinenumber: 1426
    functionLinenumberEnd: 1449
    functionName: extractHashJoinOnCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - planError
    - extractHashJoinOpCols
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractHashJoinOnCols(int16_t lBlkId, int16_t rBlkId, SNode*
      pEq, SHashJoinPhysiNode* pJoin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1455,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1460,1
    - Dst: extractHashJoinOnCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1465,1
    - Dst: extractHashJoinOnCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1467,1
    - Dst: extractHashJoinOnCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1470,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - lBlkId
    - rBlkId
    - pEq1
    - pEq2
    - pEq3
    - pJoin
    argTypes:
    - int16_t
    - int16_t
    - SNode*
    - SNode*
    - SNode*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1451
    functionDepth: 7
    functionLinenumber: 1451
    functionLinenumberEnd: 1478
    functionName: createHashJoinColList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - extractHashJoinOnCols
    - planError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createHashJoinColList(int16_t lBlkId, int16_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:1482,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1482,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1487,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1490,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1494,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1496,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1498,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1505,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1508,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1512,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1514,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1516,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1518,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1522,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1529,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1533,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1535,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1537,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1543,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1550,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1554,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1559,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1567,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 3
    argNames:
    - lBlkId
    - rBlkId
    - pJoin
    argTypes:
    - int16_t
    - int16_t
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1480
    functionDepth: 5
    functionLinenumber: 1480
    functionLinenumberEnd: 1570
    functionName: sortHashJoinTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - tSimpleHashGetSize
    - tSimpleHashCleanup
    - tSimpleHashInit
    - getSlotKey
    - tSimpleHashGet
    - tSimpleHashRemove
    - nodesMakeList
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - tSimpleHashIterate
    - nodesClearList
    - taosMemoryFree
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortHashJoinTargets(int16_t lBlkId, int16_t rBlkId, SHashJoinPhysiNode*
      pJoin)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1575,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1578,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1582,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1590,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1598,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1601,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1602,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1603,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1603,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1610,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1614,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1616,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1622,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1622,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1628,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1636,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1644,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1647,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1648,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1649,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1649,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1656,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1660,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1662,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1668,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1668,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1672,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1672,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 96
    argCount: 4
    argNames:
    - pEqCond
    - leftBlkId
    - rightBlkId
    - pJoin
    argTypes:
    - SNode*
    - int16_t
    - int16_t
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1677
    functionName: setHashJoinPrimColEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesCloneNode
    - nodeType
    - planError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setHashJoinPrimColEqCond(SNode* pEqCond, int16_t leftBlkId,
      int16_t rightBlkId,\n                                        SHashJoinPhysiNode*
      pJoin)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1682,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1687,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1688,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1694,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1696,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1700,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1702,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1711,1
    - Dst: setHashJoinPrimColEqCond
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1714,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1717,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1720,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1724,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1728,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1732,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1735,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1738,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1743,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1746,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1750,1
    - Dst: createHashJoinColList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1753,1
    - Dst: sortHashJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1757,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1760,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1766,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pJoinLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SJoinLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1679
    functionDepth: 9
    functionLinenumber: 1679
    functionLinenumberEnd: 1770
    functionName: createHashJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - sortHashJoinTargets
    - setConditionsSlotId
    - makePhysiNode
    - setHashJoinPrimColEqCond
    - setListSlotId
    - addDataBlockSlots
    - addDataBlockSlot
    - mergeJoinConds
    - createHashJoinColList
    - nodesDestroyNode
    - nodesCloneNode
    - setNodeSlotId
    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:1776,1
    - Dst: createHashJoinPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1778,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pJoinLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SJoinLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1772
    functionDepth: 10
    functionLinenumber: 1772
    functionLinenumberEnd: 1785
    functionName: createJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createHashJoinPhysiNode
    - planError
    - createMergeJoinPhysiNode
    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:1793,1
    - Dst: sortScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pScanPhysiNode
    - pScanCols
    argTypes:
    - SPhysiPlanContext*
    - SVirtualScanPhysiNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1787
    functionDepth: 4
    functionLinenumber: 1787
    functionLinenumberEnd: 1798
    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:1807,1
    - Dst: createVirtualScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1807,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1808,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1808,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1811,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1811,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1812,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1812,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1815,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1815,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1820,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1827,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: 1829
      start: 1800
    functionDepth: 8
    functionLinenumber: 1800
    functionLinenumberEnd: 1829
    functionName: createVirtualTableScanPhysiNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setConditionsSlotId
    - nodesDestroyNode
    - memcpy
    - PLAN_ERR_JRET
    - nodesCloneList
    - addDataBlockSlots
    - createVirtualScanCols
    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:1835,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1841,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1845,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1846,1
    - Dst: createVirtualTableScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1846,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1847,1
    - Dst: setMultiBlockSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1847,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: 1849
      start: 1831
    functionDepth: 9
    functionLinenumber: 1831
    functionLinenumberEnd: 1849
    functionName: createVirtualTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - vgroupInfoToNodeAddr
    - setMultiBlockSlotId
    - makePhysiNode
    - tNameGetFullDbName
    - createVirtualTableScanPhysiNodeFinalize
    - PLAN_ERR_RET
    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:1854,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SGroupCacheLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1851
    functionDepth: 9
    functionLinenumber: 1851
    functionLinenumberEnd: 1874
    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:1878,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1881,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1883,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1886,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1901,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pDynCtrl
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDynQueryCtrlLogicNode*
    - SDynQueryCtrlPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1876
    functionDepth: 7
    functionLinenumber: 1876
    functionLinenumberEnd: 1905
    functionName: updateDynQueryCtrlStbJoinInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setListSlotId
    - nodesListGetNode
    - memcpy
    - nodesDestroyList
    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: 1893
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1893
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 45
    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: 1898
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1898
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pUidList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1913,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1917,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1918,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1918,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1927,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1928,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1932,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pDynCtrl
    - pSubPlan
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDynQueryCtrlLogicNode*
    - SDynQueryCtrlPhysiNode*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1907
    functionDepth: 4
    functionLinenumber: 1907
    functionLinenumberEnd: 1934
    functionName: updateDynQueryCtrlVtbScanInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - vgroupInfoToNodeAddr
    - tstrncpy
    - tstrerror
    - PLAN_ERR_JRET
    - nodesCloneList
    - TSWAP
    - planError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t updateDynQueryCtrlVtbScanInfo(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                             SDynQueryCtrlLogicNode*
      pLogicNode, SDynQueryCtrlPhysiNode* pDynCtrl,\n                                             SSubplan*
      pSubPlan)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1942,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1943,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1947,1
    - Dst: updateDynQueryCtrlStbJoinInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1947,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1950,1
    - Dst: updateDynQueryCtrlVtbScanInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1950,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1953,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1962,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1962,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pPhyNode
    - pSubPlan
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDynQueryCtrlLogicNode*
    - SPhysiNode**
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1937
    functionDepth: 9
    functionLinenumber: 1937
    functionLinenumberEnd: 1964
    functionName: createDynQueryCtrlPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - makePhysiNode
    - updateDynQueryCtrlStbJoinInfo
    - updateDynQueryCtrlVtbScanInfo
    - PLAN_ERR_JRET
    - planError
    - QUERY_CHECK_NULL
    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:1975,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1979,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1980,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1984,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1986,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1992,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1994,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1996,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1998,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SRewritePrecalcExprsCxt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1973
    functionDepth: 5
    functionLinenumber: 1973
    functionLinenumberEnd: 2001
    functionName: collectAndRewrite
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - snprintf
    - nodesListAppend
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    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:2005,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2010,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2012,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SRewritePrecalcExprsCxt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2003
    functionDepth: 5
    functionLinenumber: 2003
    functionLinenumberEnd: 2022
    functionName: rewriteValueToOperator
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteValueToOperator(SRewritePrecalcExprsCxt* pCxt, SNode**
      pNode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2026,1
    - Dst: rewriteValueToOperator
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2031,1
    - Dst: collectAndRewrite
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2035,1
    - Dst: collectAndRewrite
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2040,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2043,1
    - Dst: collectAndRewrite
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2044,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2024
    functionDepth: 6
    functionLinenumber: 2024
    functionLinenumberEnd: 2051
    functionName: doRewritePrecalcExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - collectAndRewrite
    - fmIsScalarFunc
    - nodeType
    - rewriteValueToOperator
    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:2060,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2066,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2074,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2075,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2075,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2077,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2082,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2087,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2088,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2089,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - pCxt
    - pList
    - pPrecalcExprs
    - pRewrittenList
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2053
    functionDepth: 4
    functionLinenumber: 2053
    functionLinenumberEnd: 2092
    functionName: rewritePrecalcExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - nodesRewriteExprs
    - nodesListAppend
    - nodesMakeList
    - NODES_DESTORY_LIST
    - nodesCloneNode
    - LIST_LENGTH
    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:2074,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2075,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2075,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2077,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2072
    functionDepth: 4
    functionLinenumber: 2072
    functionLinenumberEnd: 2085
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 45
    functionsReached:
    - nodesListAppend
    - nodesListGetNode
    - nodesCloneNode
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2101,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2104,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2107,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2109,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - pPrecalcExprs
    - pRewritten
    argTypes:
    - SPhysiPlanContext*
    - SNode*
    - SNodeList**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2094
    functionDepth: 5
    functionLinenumber: 2094
    functionLinenumberEnd: 2112
    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:2115,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2117,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - res
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2114
    functionDepth: 1
    functionLinenumber: 2114
    functionLinenumberEnd: 2123
    functionName: hasCountLikeFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - fmIsCountLikeFunc
    - nodeType
    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:2126,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2133,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2136,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2125
    functionDepth: 1
    functionLinenumber: 2125
    functionLinenumberEnd: 2140
    functionName: isDynVirtualStableScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isDynVirtualStableScan(SNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isDynVirtualStableScan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2143,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2143,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2144,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2146,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2149,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2151,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2156,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2158,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pChildTuple
    - pChildren
    argTypes:
    - SDataBlockDescNode**
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2142
    functionDepth: 2
    functionLinenumber: 2142
    functionLinenumberEnd: 2164
    functionName: getChildTuple
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - isDynVirtualStableScan
    - nodesListGetNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getChildTuple(SDataBlockDescNode **pChildTuple, SNodeList*
      pChildren)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2169,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2185,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2187,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2189,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2193,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2198,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2200,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2205,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2207,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2212,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2214,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2219,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2225,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2228,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2229,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2230,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pAggLogicNode
    - pPhyNode
    - pSubPlan
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SAggLogicNode*
    - SPhysiNode**
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2166
    functionDepth: 9
    functionLinenumber: 2166
    functionLinenumberEnd: 2233
    functionName: createAggPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setConditionsSlotId
    - nodesWalkExprs
    - nodesDestroyNode
    - makePhysiNode
    - nodesDestroyList
    - pushdownDataBlockSlots
    - getChildTuple
    - setListSlotId
    - rewritePrecalcExprs
    - addDataBlockSlots
    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:2237,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2245,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2254,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2259,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2261,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2266,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2268,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2273,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2279,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2282,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SIndefRowsFuncLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2235
    functionDepth: 9
    functionLinenumber: 2235
    functionLinenumberEnd: 2286
    functionName: createIndefRowsFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setConditionsSlotId
    - nodesDestroyNode
    - makePhysiNode
    - nodesDestroyList
    - pushdownDataBlockSlots
    - getChildTuple
    - setListSlotId
    - rewritePrecalcExprs
    - addDataBlockSlots
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createIndefRowsFuncPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                            SIndefRowsFuncLogicNode*
      pFuncLogicNode, SPhysiNode** pPhyNode)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2290,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2298,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2302,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2307,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2309,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2314,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2316,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2329,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2333,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2337,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2343,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2346,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2347,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SInterpFuncLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2288
    functionDepth: 9
    functionLinenumber: 2288
    functionLinenumberEnd: 2350
    functionName: createInterpFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - setConditionsSlotId
    - nodesDestroyNode
    - makePhysiNode
    - nodesDestroyList
    - pushdownDataBlockSlots
    - getChildTuple
    - setListSlotId
    - rewritePrecalcExprs
    - addDataBlockSlots
    - setNodeSlotId
    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:2355,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2362,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2366,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2371,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2373,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2378,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2380,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2385,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2391,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2394,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2395,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SForecastFuncLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2352
    functionDepth: 9
    functionLinenumber: 2352
    functionLinenumberEnd: 2398
    functionName: createForecastFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setConditionsSlotId
    - nodesDestroyNode
    - makePhysiNode
    - nodesDestroyList
    - pushdownDataBlockSlots
    - getChildTuple
    - setListSlotId
    - rewritePrecalcExprs
    - addDataBlockSlots
    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:2403,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2410,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2412,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2415,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2417,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2422,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2424,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2429,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2435,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2438,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SImputationFuncLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2400
    functionDepth: 9
    functionLinenumber: 2400
    functionLinenumberEnd: 2442
    functionName: createImputationFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - setConditionsSlotId
    - nodesDestroyNode
    - makePhysiNode
    - nodesDestroyList
    - pushdownDataBlockSlots
    - setListSlotId
    - rewritePrecalcExprs
    - addDataBlockSlots
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createImputationFuncPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                             SImputationFuncLogicNode*
      pFuncLogicNode, SPhysiNode** pPhyNode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2451,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pProject
    argTypes:
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2444
    functionDepth: 1
    functionLinenumber: 2444
    functionLinenumberEnd: 2456
    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)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2459,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pProject
    argTypes:
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2458
    functionDepth: 1
    functionLinenumber: 2458
    functionLinenumberEnd: 2473
    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:2478,1
    - Dst: projectCanMergeDataBlock
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2483,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2488,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2489,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2491,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2491,1
    - Dst: addDataBlockSlotsForProject
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2495,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2499,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pProjectLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SProjectLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2475
    functionDepth: 9
    functionLinenumber: 2475
    functionLinenumberEnd: 2509
    functionName: createProjectPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - setConditionsSlotId
    - makePhysiNode
    - projectCanMergeDataBlock
    - LIST_LENGTH
    - setListSlotId
    - addDataBlockSlotsForProject
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createProjectPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                      SProjectLogicNode* pProjectLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2514,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2524,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pExchangeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SExchangeLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2511
    functionDepth: 9
    functionLinenumber: 2511
    functionLinenumberEnd: 2532
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2537,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2545,1
    - Dst: sortScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2548,1
    - Dst: sortScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2552,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2555,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2558,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pExchangeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SExchangeLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2534
    functionDepth: 9
    functionLinenumber: 2534
    functionLinenumberEnd: 2572
    functionName: createStreamScanPhysiNodeByExchange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setConditionsSlotId
    - nodesDestroyNode
    - makePhysiNode
    - sortScanCols
    - nodesCloneList
    - addDataBlockSlots
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamScanPhysiNodeByExchange(SPhysiPlanContext* pCxt,
      SExchangeLogicNode* pExchangeLogicNode,\n                                                   SPhysiNode**
      pPhyNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doCreateExchangePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pExchangeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SExchangeLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2574
    functionDepth: 10
    functionLinenumber: 2574
    functionLinenumberEnd: 2577
    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: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2589,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2597,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2601,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2606,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2608,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2614,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2620,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2623,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2627,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2629,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2634,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2636,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2641,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2644,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2645,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindow
    - pWindowLogicNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowPhysiNode*
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2579
    functionDepth: 8
    functionLinenumber: 2579
    functionLinenumberEnd: 2648
    functionName: createWindowPhysiNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListAppendList
    - nodeType
    - setConditionsSlotId
    - nodesDestroyList
    - getChildTuple
    - setListSlotId
    - rewritePrecalcExprs
    - addDataBlockSlots
    - setNodeSlotId
    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: 2660
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2660
    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: 2672
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2672
    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:2676,1
    - Dst: getIntervalOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2677,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2689,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2674
    functionDepth: 9
    functionLinenumber: 2674
    functionLinenumberEnd: 2697
    functionName: createIntervalPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - getIntervalOperatorType
    - createWindowPhysiNodeFinalize
    - makePhysiNode
    - nodesDestroyNode
    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:2701,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2709,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2699
    functionDepth: 9
    functionLinenumber: 2699
    functionLinenumberEnd: 2717
    functionName: createSessionWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createWindowPhysiNodeFinalize
    - makePhysiNode
    - nodesDestroyNode
    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:2722,1
    - Dst: rewritePrecalcExpr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2730,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2734,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2738,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2740,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2745,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2755,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2761,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2764,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2765,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2719
    functionDepth: 9
    functionLinenumber: 2719
    functionLinenumberEnd: 2768
    functionName: createStateWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createWindowPhysiNodeFinalize
    - nodesDestroyNode
    - makePhysiNode
    - nodesDestroyList
    - getChildTuple
    - setListSlotId
    - rewritePrecalcExpr
    - addDataBlockSlots
    - setNodeSlotId
    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:2774,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2782,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2785,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2788,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2792,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2802
      start: 2770
    functionDepth: 9
    functionLinenumber: 2770
    functionLinenumberEnd: 2802
    functionName: createEventWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createWindowPhysiNodeFinalize
    - makePhysiNode
    - getChildTuple
    - nodesDestroyNode
    - setNodeSlotId
    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:2808,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2816,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2804
    functionDepth: 9
    functionLinenumber: 2804
    functionLinenumberEnd: 2824
    functionName: createCountWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createWindowPhysiNodeFinalize
    - makePhysiNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createCountWindowPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                          SWindowLogicNode* pWindowLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2828,1
    - Dst: rewritePrecalcExpr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2836,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2840,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2844,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2846,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2851,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2857,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2860,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2866,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2869,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2870,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2826
    functionDepth: 9
    functionLinenumber: 2826
    functionLinenumberEnd: 2873
    functionName: createAnomalyWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - createWindowPhysiNodeFinalize
    - nodesDestroyNode
    - makePhysiNode
    - nodesDestroyList
    - getChildTuple
    - setListSlotId
    - rewritePrecalcExpr
    - addDataBlockSlots
    - setNodeSlotId
    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:2878,1
    - Dst: getExternalOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2879,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2885,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2885,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2887,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2887,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2875
    functionDepth: 9
    functionLinenumber: 2875
    functionLinenumberEnd: 2894
    functionName: createExternalWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createWindowPhysiNodeFinalize
    - makePhysiNode
    - PLAN_ERR_JRET
    - nodesDestroyNode
    - nodesCloneNode
    - getExternalOperatorType
    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:2900,1
    - Dst: createSessionWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2902,1
    - Dst: createStateWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2904,1
    - Dst: createEventWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2906,1
    - Dst: createCountWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2908,1
    - Dst: createAnomalyWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2910,1
    - Dst: createExternalWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2917
      start: 2896
    functionDepth: 10
    functionLinenumber: 2896
    functionLinenumberEnd: 2917
    functionName: createWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createExternalWindowPhysiNode
    - createCountWindowPhysiNode
    - createSessionWindowPhysiNode
    - createAnomalyWindowPhysiNode
    - createEventWindowPhysiNode
    - createIntervalPhysiNode
    - createStateWindowPhysiNode
    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:2921,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2930,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2936,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2941,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2943,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2948,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2952,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2954,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2959,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2965,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2968,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2969,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pSortLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SSortLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2919
    functionDepth: 9
    functionLinenumber: 2919
    functionLinenumberEnd: 2972
    functionName: createSortPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setConditionsSlotId
    - nodesDestroyNode
    - makePhysiNode
    - nodesDestroyList
    - pushdownDataBlockSlots
    - getChildTuple
    - setListSlotId
    - rewritePrecalcExprs
    - addDataBlockSlots
    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:2977,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2984,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2988,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2992,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2994,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2999,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3003,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3005,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3012,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3013,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3026,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3032,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3035,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3036,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: 3039
      start: 2974
    functionDepth: 9
    functionLinenumber: 2974
    functionLinenumberEnd: 3039
    functionName: createPartitionPhysiNodeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - setConditionsSlotId
    - nodesDestroyNode
    - makePhysiNode
    - nodesDestroyList
    - pushdownDataBlockSlots
    - getChildTuple
    - setListSlotId
    - rewritePrecalcExprs
    - addDataBlockSlots
    - FOREACH
    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:3043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pPartLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SPartitionLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3041
    functionDepth: 10
    functionLinenumber: 3041
    functionLinenumberEnd: 3044
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3048,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3056,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3061,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3064,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3067,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3070,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3073,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3075,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3076,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3078,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3083,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3086,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3090,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3094,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3100,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFillNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SFillLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3046
    functionDepth: 9
    functionLinenumber: 3046
    functionLinenumberEnd: 3104
    functionName: createFillPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - setConditionsSlotId
    - nodesDestroyNode
    - makePhysiNode
    - getChildTuple
    - addDataBlockSlot
    - setListSlotId
    - TSWAP
    - addDataBlockSlots
    - LIST_LENGTH
    - setNodeSlotId
    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:3108,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3117,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3119,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3123,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pMerge
    - idx
    argTypes:
    - SMergePhysiNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3106
    functionDepth: 6
    functionLinenumber: 3106
    functionLinenumberEnd: 3125
    functionName: createExchangePhysiNodeByMerge
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t createExchangePhysiNodeByMerge(SMergePhysiNode* pMerge, int32_t
      idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3131,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3152,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3152,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3156,1
    - Dst: createExchangePhysiNodeByMerge
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3156,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3161,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3161,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3165,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3165,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3167,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3167,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3169,1
    - Dst: setMultiBlockSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3169,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3170,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3170,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pMergeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SMergeLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3178
      start: 3127
    functionDepth: 9
    functionLinenumber: 3127
    functionLinenumberEnd: 3178
    functionName: createMergePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createExchangePhysiNodeByMerge
    - setMultiBlockSlotId
    - nodesDestroyNode
    - makePhysiNode
    - PLAN_ERR_JRET
    - setListSlotId
    - addDataBlockSlots
    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:3182,1
    - Dst: createScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3184,1
    - Dst: createJoinPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3186,1
    - Dst: createAggPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3188,1
    - Dst: createProjectPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3190,1
    - Dst: createExchangePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3192,1
    - Dst: createWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3194,1
    - Dst: createSortPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3196,1
    - Dst: createPartitionPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3198,1
    - Dst: createFillPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3200,1
    - Dst: createIndefRowsFuncPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3202,1
    - Dst: createInterpFuncPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3204,1
    - Dst: createImputationFuncPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3206,1
    - Dst: createForecastFuncPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3208,1
    - Dst: createMergePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3210,1
    - Dst: createGroupCachePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3212,1
    - Dst: createDynQueryCtrlPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3214,1
    - Dst: createVirtualTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3216,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: 3222
      start: 3180
    functionDepth: 12
    functionLinenumber: 3180
    functionLinenumberEnd: 3222
    functionName: doCreatePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createGroupCachePhysiNode
    - nodeType
    - createDynQueryCtrlPhysiNode
    - createMergePhysiNode
    - createIndefRowsFuncPhysiNode
    - createSortPhysiNode
    - createScanPhysiNode
    - createPartitionPhysiNode
    - createInterpFuncPhysiNode
    - createImputationFuncPhysiNode
    - createProjectPhysiNode
    - createWindowPhysiNode
    - createAggPhysiNode
    - createFillPhysiNode
    - createForecastFuncPhysiNode
    - createExchangePhysiNode
    - createVirtualTableScanPhysiNode
    - createJoinPhysiNode
    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:3227,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3233,1
    - Dst: createPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3235,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3237,1
    - Dst: doCreatePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3245,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3249,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3252,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3254,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pLogicNode
    - pSubplan
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - SSubplan*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3224
    functionDepth: 13
    functionLinenumber: 3224
    functionLinenumberEnd: 3261
    functionName: createPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - nodesListStrictAppend
    - createPhysiNode
    - nodesDestroyList
    - doCreatePhysiNode
    - nodesMakeList
    - LIST_LENGTH
    - FOREACH
    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:3265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pBlocks
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SVgDataBlocks*
    - SDataSinkNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3277
      start: 3263
    functionDepth: 5
    functionLinenumber: 3263
    functionLinenumberEnd: 3277
    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:3281,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3287,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pRoot
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SPhysiNode*
    - SDataSinkNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3295
      start: 3279
    functionDepth: 5
    functionLinenumber: 3279
    functionLinenumberEnd: 3295
    functionName: createDataDispatcher
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataDispatcher(SPhysiPlanContext* pCxt, const SPhysiNode*
      pRoot, SDataSinkNode** pSink)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3299,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - ppSubplan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3297
    functionDepth: 5
    functionLinenumber: 3297
    functionLinenumberEnd: 3317
    functionName: makeSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - nodesMakeNode
    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:3323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3324
      start: 3319
    functionDepth: 0
    functionLinenumber: 3319
    functionLinenumberEnd: 3324
    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:3329,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3337,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3338,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3342,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3344,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3348,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - pCxt
    - pModify
    - pSubplan
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    - SDataSinkNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3326
    functionDepth: 7
    functionLinenumber: 3326
    functionLinenumberEnd: 3358
    functionName: createQueryInserter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - vgroupInfoToNodeAddr
    - tstrncpy
    - nodeType
    - nodesDestroyNode
    - nodesMakeNode
    - setListSlotId
    - 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:3362,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3362,1
    - Dst: createQueryInserter
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3368
      start: 3360
    functionDepth: 14
    functionLinenumber: 3360
    functionLinenumberEnd: 3368
    functionName: buildInsertSelectSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createQueryInserter
    - createPhysiNode
    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:3372,1
    - Dst: buildInsertSelectSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 3370
    functionDepth: 15
    functionLinenumber: 3370
    functionLinenumberEnd: 3375
    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:3380,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3387,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3388,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3391,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3394,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3397,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3401,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - pModify
    - pRoot
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SPhysiNode*
    - SDataSinkNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3411
      start: 3377
    functionDepth: 5
    functionLinenumber: 3377
    functionLinenumberEnd: 3411
    functionName: createDataDeleter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    - setNodeSlotId
    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:3415,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3415,1
    - Dst: createDataDeleter
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3413
    functionDepth: 14
    functionLinenumber: 3413
    functionLinenumberEnd: 3421
    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:3428,1
    - Dst: buildDeleteSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3423
    functionDepth: 16
    functionLinenumber: 3423
    functionLinenumberEnd: 3438
    functionName: buildVnodeModifySubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - buildDeleteSubplan
    - buildInsertSubplan
    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:3442,1
    - Dst: buildVnodeModifySubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3448,1
    - Dst: createPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3455,1
    - Dst: createDataDispatcher
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3457,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pPhysiSubplan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3440
    functionDepth: 17
    functionLinenumber: 3440
    functionLinenumberEnd: 3468
    functionName: createPhysiSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createDataDispatcher
    - createPhysiNode
    - buildVnodeModifySubplan
    - nodesDestroyNode
    - makeSubplan
    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:3472,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3477,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - ppQueryPlan
    argTypes:
    - SPhysiPlanContext*
    - SQueryPlan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3470
    functionDepth: 5
    functionLinenumber: 3470
    functionLinenumberEnd: 3485
    functionName: makeQueryPhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesMakeList
    - nodesMakeNode
    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:3489,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3491,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3495,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3499,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3502,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3507,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: 3508
      start: 3487
    functionDepth: 5
    functionLinenumber: 3487
    functionLinenumberEnd: 3508
    functionName: pushSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - nodesListStrictAppend
    - nodesListGetNode
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    - LIST_LENGTH
    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:3513,1
    - Dst: pushSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3516,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3521,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3526,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3528,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3534,1
    - Dst: buildPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pLogicSubplan
    - pParent
    - pQueryPlan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan*
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3543
      start: 3510
    functionDepth: 18
    functionLinenumber: 3510
    functionLinenumberEnd: 3543
    functionName: buildPhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - pushSubplan
    - nodesListMakeAppend
    - createPhysiSubplan
    - buildPhysiPlan
    - nodesDestroyNode
    - FOREACH
    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:3547,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3553,1
    - Dst: buildPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3554,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pLogicPlan
    - pPhysiPlan
    argTypes:
    - SPhysiPlanContext*
    - SQueryLogicPlan*
    - SQueryPlan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3545
    functionDepth: 19
    functionLinenumber: 3545
    functionLinenumberEnd: 3567
    functionName: doCreatePhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 2
    functionsReached:
    - nodesDestroyNode
    - buildPhysiPlan
    - makeQueryPhysiPlan
    - FOREACH
    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:3571,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3573,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3574,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3569
    functionDepth: 1
    functionLinenumber: 3569
    functionLinenumberEnd: 3577
    functionName: destoryLocationHash
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosHashCleanup
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void destoryLocationHash(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3580,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SPhysiPlanContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3582
      start: 3579
    functionDepth: 1
    functionLinenumber: 3579
    functionLinenumberEnd: 3582
    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:3585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pPlan
    argTypes:
    - SPlanContext*
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3593
      start: 3584
    functionDepth: 1
    functionLinenumber: 3584
    functionLinenumberEnd: 3593
    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:3601,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pExecNodeList
    argTypes:
    - SPhysiPlanContext*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3606
      start: 3595
    functionDepth: 1
    functionLinenumber: 3595
    functionLinenumberEnd: 3606
    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:3612,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3613,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3616,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3617,1
    - Dst: doCreatePhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3621,1
    - Dst: setExplainInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3623,1
    - Dst: setExecNodeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3624,1
    - Dst: destoryPhysiPlanContext
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pLogicPlan
    - pPlan
    - pExecNodeList
    argTypes:
    - SPlanContext*
    - SQueryLogicPlan*
    - SQueryPlan**
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3629
      start: 3608
    functionDepth: 20
    functionLinenumber: 3608
    functionLinenumberEnd: 3629
    functionName: createPhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - destoryPhysiPlanContext
    - doCreatePhysiPlan
    - setExecNodeList
    - setExplainInfo
    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: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    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: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    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: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    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: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    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:168,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:172,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pNode
    - func
    - pCtx
    argTypes:
    - SLogicNode*
    - FMayBeOptimized
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: optFindPossibleNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - func
    - optFindPossibleNode
    - FOREACH
    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:182,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:186,1
    - Dst: optFindEligibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pNode
    - func
    - pInfo
    argTypes:
    - SLogicNode*
    - FShouldBeOptimized
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: optFindEligibleNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - optFindEligibleNode
    - func
    - FOREACH
    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:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    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:200,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:202,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:207,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: optRebuildTbanme
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    - nodeType
    - nodesMakeNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes optRebuildTbanme(SNode** pNode, void* pContext)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:222,1
    - Dst: projectCouldMergeUnsortDataBlock
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:243,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - pNode
    - order
    - pNodeForcePropagate
    argTypes:
    - SLogicNode*
    - EOrder
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 254
    functionName: optSetParentOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - projectCouldMergeUnsortDataBlock
    - optSetParentOrder
    - nodeType
    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:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 263
    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:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 269
    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:272,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 279
    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:282,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:283,1
    - Dst: scanPathOptHaveNormalCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:285,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:289,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:293,1
    - Dst: scanPathOptHaveNormalCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 297
    functionName: scanPathOptShouldGetFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scanPathOptHaveNormalCol
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool scanPathOptShouldGetFuncs(SLogicNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptShouldGetFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:300,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 6
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: scanPathOptGetAllFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scanPathOptShouldGetFuncs
    - nodeType
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * scanPathOptGetAllFuncs(SLogicNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: typeCheckFn
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:315,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:317,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:318,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: scanPathOptIsSpecifiedFuncType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - nodeType
    - 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:326,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:334,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:336,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:338,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:340,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:342,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:344,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:346,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:353,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:354,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:359,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - pScan
    - pSdrFuncs
    - pDsoFuncs
    argTypes:
    - SScanLogicNode*
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 325
    functionDepth: 7
    functionLinenumber: 325
    functionLinenumberEnd: 366
    functionName: scanPathOptGetRelatedFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scanPathOptIsSpecifiedFuncType
    - nodesListMakeStrictAppend
    - scanPathOptGetAllFuncs
    - nodesDestroyList
    - 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:334,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:336,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:338,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:340,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:342,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:344,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:346,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:353,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 331
    functionDepth: 6
    functionLinenumber: 331
    functionLinenumberEnd: 357
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 54
    functionsReached:
    - scanPathOptIsSpecifiedFuncType
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pAllFuncs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptGetAllFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pScan
    - pScanOrder
    argTypes:
    - SScanLogicNode*
    - EScanOrder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 368
    functionDepth: 7
    functionLinenumber: 368
    functionLinenumberEnd: 392
    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: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pAllFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptGetRelatedFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:395,1
    - Dst: scanPathOptGetScanOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SOsdInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 8
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: scanPathOptSetOsdInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scanPathOptGetScanOrder
    - scanPathOptGetRelatedFuncs
    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:403,1
    - Dst: scanPathOptSetOsdInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pLogicNode
    - pInfo
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SOsdInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 9
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: scanPathOptMatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scanPathOptSetOsdInfo
    - optFindPossibleNode
    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: 422
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 422
    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:431,1
    - Dst: fmFuncDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 434
    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:431,1
    - Dst: fmFuncDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 54
    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:439,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:440,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SOsdInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 454
    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:465,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - scanOrder
    - pScan
    argTypes:
    - EScanOrder
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 479
    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:484,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:487,1
    - Dst: isPartTagAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 491
    functionName: scanPathOptSetGroupOrderScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - isPartTagAgg
    - isPartTableAgg
    - nodeType
    linkageType: ''
    returnType: void
    signature: void scanPathOptSetGroupOrderScan(SScanLogicNode* pScan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptMatch
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:499,1
    - Dst: scanPathOptSetScanWin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:501,1
    - Dst: scanPathOptSetScanOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:502,1
    - Dst: scanPathOptSetGroupOrderScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:503,1
    - Dst: scanPathOptGetDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:506,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:511,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 493
    functionDepth: 10
    functionLinenumber: 493
    functionLinenumberEnd: 516
    functionName: scanPathOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scanPathOptSetScanOrder
    - scanPathOptGetDataRequired
    - nodesDestroyList
    - scanPathOptSetGroupOrderScan
    - scanPathOptMatch
    - scanPathOptSetScanWin
    - OPTIMIZE_FLAG_SET_MASK
    linkageType: ''
    returnType: int32_t
    signature: int32_t scanPathOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:523,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:526,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:529,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pScan
    - pPrimaryKeyCond
    - pOtherCond
    argTypes:
    - SOptimizeContext*
    - SScanLogicNode*
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 519
    functionDepth: 8
    functionLinenumber: 519
    functionLinenumberEnd: 537
    functionName: pushDownCondOptCalcTimeRange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - filterGetTimeRange
    - nodesMergeNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t pushDownCondOptCalcTimeRange(SOptimizeContext* pCxt, SScanLogicNode*
      pScan, SNode** pPrimaryKeyCond,\n                                            SNode**
      pOtherCond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pTagCond
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 543
    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:547,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:551,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:552,1
    - Dst: rewriteDnodeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:552,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:554,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:560,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:560,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:561,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:563,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:567,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:572,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:572,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:573,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:573,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:574,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:574,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:582,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:582,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - pCond
    - pDnodeConds
    argTypes:
    - SNode**
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 545
    functionDepth: 6
    functionLinenumber: 545
    functionLinenumberEnd: 585
    functionName: rewriteDnodeConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - nodeType
    - WHERE_EACH
    - ERASE_NODE
    - nodesDestroyList
    - nodesListAppend
    - rewriteDnodeConds
    - PLAN_ERR_JRET
    - nodesDestroyNode
    - nodesCloneNode
    - planError
    - 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:592,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:595,1
    - Dst: rewriteDnodeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pScan
    - pDnodeConds
    argTypes:
    - SOptimizeContext*
    - SScanLogicNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 587
    functionDepth: 7
    functionLinenumber: 587
    functionLinenumberEnd: 601
    functionName: filterDnodeConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - rewriteDnodeConds
    - 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:611,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:619,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:628,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:628,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:629,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:631,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:635,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:636,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:637,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:639,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:672,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:678,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:691,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:695,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:697,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 82
    argCount: 2
    argNames:
    - pScan
    - pDnodeConds
    argTypes:
    - SScanLogicNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 700
    functionName: pushDownDnodeConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - nodeType
    - IS_SIGNED_NUMERIC_TYPE
    - taosMemoryCalloc
    - taosMemoryFree
    - 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:619,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:628,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:628,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:629,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:631,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:635,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:636,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:637,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:639,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 661
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 54
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - nodeType
    - 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:704,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:713,1
    - Dst: pushDownCondOptRebuildTbanme
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:716,1
    - Dst: pushDownCondOptCalcTimeRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:719,1
    - Dst: filterDnodeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:724,1
    - Dst: pushDownDnodeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:726,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:729,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:734,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:737,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:738,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pScan
    argTypes:
    - SOptimizeContext*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 702
    functionDepth: 9
    functionLinenumber: 702
    functionLinenumberEnd: 742
    functionName: pdcDealScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pushDownCondOptRebuildTbanme
    - pushDownCondOptCalcTimeRange
    - OPTIMIZE_FLAG_TEST_MASK
    - filterDnodeConds
    - nodesDestroyList
    - filterPartitionCond
    - nodesDestroyNode
    - pushDownDnodeConds
    - OPTIMIZE_FLAG_SET_MASK
    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:746,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:757,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:758,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:759,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:759,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:762,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:766,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:766,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:768,1
    - Dst: pushDownCondOptRebuildTbanme
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:768,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:771,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:772,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:773,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:773,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:776,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:776,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:777,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:778,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:778,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:781,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:782,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:783,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:783,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:788,1
    - Dst: pushDownCondOptCalcTimeRange
      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:795,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:800,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:801,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:802,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:803,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 2
    argNames:
    - pCxt
    - pScan
    argTypes:
    - SOptimizeContext*
    - SDynQueryCtrlLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 744
    functionDepth: 9
    functionLinenumber: 744
    functionLinenumberEnd: 805
    functionName: pdcDealVirtualSuperTableScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - generateUsageErrMsg
    - pushDownCondOptRebuildTbanme
    - pushDownCondOptCalcTimeRange
    - nodeType
    - OPTIMIZE_FLAG_TEST_MASK
    - filterPartitionCond
    - PLAN_ERR_JRET
    - nodesDestroyNode
    - TSWAP
    - LIST_LENGTH
    - OPTIMIZE_FLAG_SET_MASK
    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:810,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:810,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:813,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:814,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:819,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCondCol
    - pTableCols
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 824
    functionName: pdcColBelongThisTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - nodeType
    - 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:810,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:810,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:813,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:814,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:819,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 822
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 54
    functionsReached:
    - nodesEqualNode
    - nodeType
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pTableCol, pTableCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:827,1
    - Dst: pdcColBelongThisTable
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pTableCols
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 4
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: pdcJoinColInTableColList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcColBelongThisTable
    - nodeType
    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:836,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:839,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:844,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCondCol
    - pTables
    argTypes:
    - SNode*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 848
    functionName: pdcJoinColInTableList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGet
    - strlen
    - nodeType
    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:852,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:853,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:857,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 863
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:871,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 5
    argNames:
    - pJoin
    - pLeftTbls
    - pRightTbls
    - pNode
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SSHashObj*
    - SSHashObj*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 865
    functionDepth: 3
    functionLinenumber: 865
    functionLinenumberEnd: 896
    functionName: pdcJoinGetCondAction
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: ECondAction
    signature: "ECondAction pdcJoinGetCondAction(SJoinLogicNode* pJoin, SSHashObj*
      pLeftTbls, SSHashObj* pRightTbls,\n                                        SNode*
      pNode, bool whereCond)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:911,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:911,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:915,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:915,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:917,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:926,1
    - Dst: pdcJoinGetCondAction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:927,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:929,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:934,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:936,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:938,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:940,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:947,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:948,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:955,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:958,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:961,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:964,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:973,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:976,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:977,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:978,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:979,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:980,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:981,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:982,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:983,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 6
    argNames:
    - pJoin
    - pSrcCond
    - pOnCond
    - pLeftChildCond
    - pRightChildCond
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 898
    functionDepth: 6
    functionLinenumber: 898
    functionLinenumberEnd: 987
    functionName: pdcJoinSplitLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - collectTableAliasFromNodes
    - tSimpleHashCleanup
    - pdcJoinGetCondAction
    - nodesListMakeAppend
    - nodesDestroyList
    - nodesMergeConds
    - nodesDestroyNode
    - nodesCloneNode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t pdcJoinSplitLogicCond(SJoinLogicNode* pJoin, SNode** pSrcCond,
      SNode** pOnCond, SNode** pLeftChildCond,\n                                     SNode**
      pRightChildCond, bool whereCond)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:993,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:993,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:997,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:997,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:999,1
    - Dst: pdcJoinGetCondAction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1003,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1005,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1006,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - pJoin
    - pSrcCond
    - pOnCond
    - pLeftChildCond
    - pRightChildCond
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 989
    functionDepth: 4
    functionLinenumber: 989
    functionLinenumberEnd: 1021
    functionName: pdcJoinSplitOpCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcJoinGetCondAction
    - nodesListGetNode
    - collectTableAliasFromNodes
    - tSimpleHashCleanup
    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:1025,1
    - Dst: pdcJoinSplitLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1026,1
    - Dst: pdcJoinSplitOpCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1028,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: 1030
      start: 1023
    functionDepth: 7
    functionLinenumber: 1023
    functionLinenumberEnd: 1030
    functionName: pdcJoinSplitCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcJoinSplitLogicCond
    - pdcJoinSplitOpCond
    - nodeType
    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:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pCond
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1032
    functionDepth: 7
    functionLinenumber: 1032
    functionLinenumberEnd: 1034
    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:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pChild
    - pCond
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1036
    functionDepth: 7
    functionLinenumber: 1036
    functionLinenumberEnd: 1038
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1041,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1041,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1041,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1045,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1048,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1057,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1062,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1063,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1073,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 4
    argNames:
    - pNode
    - pTables
    - constAsPrim
    - constPrimGot
    argTypes:
    - SNode*
    - SSHashObj*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1074
    functionName: pdcJoinIsPrim
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetCell
    - nodeType
    - pdcJoinColInTableList
    linkageType: ''
    returnType: bool
    signature: bool pdcJoinIsPrim(SNode* pNode, SSHashObj* pTables, bool constAsPrim,
      bool* constPrimGot)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1077,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1094,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1094,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1098,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1098,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1100,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1105,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1106,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1107,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1108,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1110,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1118,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1119,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 3
    argNames:
    - pJoin
    - pCond
    - constAsPrim
    argTypes:
    - SJoinLogicNode*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1076
    functionDepth: 3
    functionLinenumber: 1076
    functionLinenumberEnd: 1122
    functionName: pdcJoinIsPrimEqualCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - collectTableAliasFromNodes
    - nodeType
    - tSimpleHashCleanup
    - pdcJoinIsPrim
    - TSWAP
    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:1125,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1135,1
    - Dst: pdcJoinHasPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1136,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pJoin
    - pCond
    - errCond
    argTypes:
    - SJoinLogicNode*
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1124
    functionDepth: 4
    functionLinenumber: 1124
    functionLinenumberEnd: 1145
    functionName: pdcJoinHasPrimEqualCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - pdcJoinIsPrimEqualCond
    - pdcJoinHasPrimEqualCond
    - nodeType
    - FOREACH
    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:1153,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1155,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1156,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1159,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1161,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1163,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1171,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1175,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1183,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1185,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1189,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1190,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: 1195
      start: 1147
    functionDepth: 6
    functionLinenumber: 1147
    functionLinenumberEnd: 1195
    functionName: pdcJoinSplitPrimInLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - ERASE_NODE
    - WHERE_EACH
    - nodesDestroyList
    - nodesMergeConds
    - nodesDestroyNode
    - nodesCloneNode
    - pdcJoinIsPrimEqualCond
    - planError
    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:1202,1
    - Dst: pdcJoinSplitPrimInLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1204,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1205,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1216,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1197
    functionDepth: 7
    functionLinenumber: 1197
    functionLinenumberEnd: 1220
    functionName: pdcJoinSplitPrimEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcJoinSplitPrimInLogicCond
    - pdcJoinIsPrimEqualCond
    - nodesDestroyNode
    - nodeType
    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:1225,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1229,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1230,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1233,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1234,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1243,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1243,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1244,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1244,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1251,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1255,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1265,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1266,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1268,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1269,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1272,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1275,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1277,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1280,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1282,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1285,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1287,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1288,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1291,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1294,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1296,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1299,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1301,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1304,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 4
    argNames:
    - pJoin
    - pCond
    - allTags
    - pRes
    argTypes:
    - SJoinLogicNode*
    - SNode*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1222
    functionDepth: 6
    functionLinenumber: 1222
    functionLinenumberEnd: 1311
    functionName: pdcJoinIsEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_WINDOW_JOIN
    - nodesListMakeStrictAppend
    - nodeType
    - pdcJoinColInTableColList
    - 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:1323,1
    - Dst: pdcJoinIsEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1327,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1329,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1334,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1336,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1340,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1342,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1356,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1359,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1362,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1365,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1374,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1375,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1376,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1377,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1378,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1379,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1380,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1381,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1313
    functionDepth: 7
    functionLinenumber: 1313
    functionLinenumberEnd: 1385
    functionName: pdcJoinPartLogicEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - pdcJoinIsEqualOnCond
    - nodesMergeConds
    - nodesDestroyNode
    - nodesCloneNode
    - FOREACH
    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:1396,1
    - Dst: pdcJoinPartLogicEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1398,1
    - Dst: pdcJoinIsEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1403,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1387
    functionDepth: 8
    functionLinenumber: 1387
    functionLinenumberEnd: 1427
    functionName: pdcJoinPartEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcJoinPartLogicEqualOnCond
    - pdcJoinIsEqualOnCond
    - nodesCloneNode
    - nodeType
    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:1431,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1432,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1437,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1439,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1441,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1442,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1445,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1429
    functionDepth: 5
    functionLinenumber: 1429
    functionLinenumberEnd: 1455
    functionName: pdcJoinCollectCondCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - pdcJoinColInTableList
    - nodesListStrictAppend
    - nodeType
    - tsnprintf
    - taosHashPut
    - nodesCloneNode
    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:1462,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1462,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1467,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1468,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1470,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pJoin
    - pTables
    - pCondCols
    argTypes:
    - SJoinLogicNode*
    - SSHashObj*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1457
    functionDepth: 3
    functionLinenumber: 1457
    functionLinenumberEnd: 1475
    functionName: pdcJoinCollectColsFromParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - nodesWalkExpr
    - taosHashCleanup
    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:1478,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1485,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1491,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1491,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1495,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1495,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1497,1
    - Dst: pdcJoinCollectColsFromParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1503,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1507,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1513,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1516,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1519,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1526,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1527,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1534,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1536,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1545,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1477
    functionDepth: 7
    functionLinenumber: 1477
    functionLinenumberEnd: 1548
    functionName: pdcJoinAddParentOnColsToTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - collectTableAliasFromNodes
    - nodesListStrictAppend
    - nodeType
    - tSimpleHashCleanup
    - pdcJoinCollectColsFromParent
    - nodesDestroyList
    - nodesMakeList
    - createColumnByRewriteExprs
    - nodesEqualNode
    - nodesCloneNode
    - FOREACH
    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:1526,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1527,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1534,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1523
    functionDepth: 5
    functionLinenumber: 1523
    functionLinenumberEnd: 1542
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 59
    functionsReached:
    - nodesEqualNode
    - nodesCloneNode
    - nodesListStrictAppend
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTargets)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1557,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1560,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1563,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1566,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1569,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1576,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1577,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1584,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1586,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1550
    functionDepth: 7
    functionLinenumber: 1550
    functionLinenumberEnd: 1598
    functionName: pdcJoinAddPreFilterColsToTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesDestroyList
    - nodesMakeList
    - createColumnByRewriteExprs
    - nodesEqualNode
    - nodesCollectColumnsFromNode
    - nodesCloneNode
    - FOREACH
    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:1576,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1577,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1584,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1586,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1573
    functionDepth: 5
    functionLinenumber: 1573
    functionLinenumberEnd: 1592
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 61
    functionsReached:
    - nodesEqualNode
    - nodesCloneNode
    - nodesListStrictAppend
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTargets)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1607,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1614,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1617,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1620,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1623,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1630,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1631,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1638,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1640,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1649,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1600
    functionDepth: 7
    functionLinenumber: 1600
    functionLinenumberEnd: 1652
    functionName: pdcJoinAddFilterColsToTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesDestroyList
    - nodesMakeList
    - createColumnByRewriteExprs
    - nodesEqualNode
    - nodesCollectColumnsFromNode
    - nodesCloneNode
    - FOREACH
    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:1630,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1631,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1638,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1640,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1627
    functionDepth: 5
    functionLinenumber: 1627
    functionLinenumberEnd: 1646
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 63
    functionsReached:
    - nodesEqualNode
    - nodesCloneNode
    - nodesListStrictAppend
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTargets)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1659,1
    - Dst: pdcJoinSplitPrimInLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1661,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1662,1
    - Dst: scalarConvertOpValueNodeTs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1673,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1676,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - ppCond
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1654
    functionDepth: 7
    functionLinenumber: 1654
    functionLinenumberEnd: 1681
    functionName: pdcJoinSplitConstPrimEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - scalarConvertOpValueNodeTs
    - pdcJoinSplitPrimInLogicCond
    - 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:1687,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1687,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1692,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1695,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1696,1
    - Dst: pdcJoinHasPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1702,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1704,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1706,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1709,1
    - Dst: pdcJoinHasPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1711,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1716,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1720,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1720,1
    - Dst: pdcJoinSplitConstPrimEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1727,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1732,1
    - Dst: pdcJoinSplitConstPrimEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1734,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1740,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1744,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1745,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1749,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1750,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 50
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1685
    functionDepth: 8
    functionLinenumber: 1685
    functionLinenumberEnd: 1754
    functionName: pdcJoinCheckAllCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - IS_WINDOW_JOIN
    - generateUsageErrMsg
    - pdcJoinHasPrimEqualCond
    - IS_INNER_NONE_JOIN
    - IS_ASOF_JOIN
    - nodesDestroyNode
    - pdcJoinSplitConstPrimEqCond
    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:1761,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1763,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1765,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1767,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1771,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1774,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1778,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1781,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1756
    functionDepth: 4
    functionLinenumber: 1756
    functionLinenumberEnd: 1792
    functionName: pdcJoinHandleGrpJoinCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - generateUsageErrMsg
    - FOREACH
    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:1796,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1798,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1800,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1794
    functionDepth: 2
    functionLinenumber: 1794
    functionLinenumberEnd: 1818
    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:1822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1835
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1845,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - pCond
    - pLeftTables
    - pRightTables
    - tableCondTypes
    argTypes:
    - SNode*
    - SSHashObj*
    - SSHashObj*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1838
    functionDepth: 3
    functionLinenumber: 1838
    functionLinenumberEnd: 1877
    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:1884,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1885,1
    - Dst: pdcJoinGetLogicTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1886,1
    - Dst: pdcJoinGetOpTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pCond
    - pLeftTables
    - pRightTables
    - tableCondTypes
    argTypes:
    - SNode*
    - SSHashObj*
    - SSHashObj*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1879
    functionDepth: 4
    functionLinenumber: 1879
    functionLinenumberEnd: 1897
    functionName: pdcJoinGetLogicTableCondTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - pdcJoinGetOpTableCondTypes
    - pdcJoinGetLogicTableCondTypes
    - nodeType
    - FOREACH
    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:1901,1
    - Dst: pdcJoinGetLogicTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1902,1
    - Dst: pdcJoinGetOpTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pCond
    - pLeftTables
    - pRightTables
    - tableCondTypes
    argTypes:
    - SNode*
    - SSHashObj*
    - SSHashObj*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1899
    functionDepth: 5
    functionLinenumber: 1899
    functionLinenumberEnd: 1906
    functionName: pdcGetTableCondTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcJoinGetOpTableCondTypes
    - nodeType
    - pdcJoinGetLogicTableCondTypes
    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:1915,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1915,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1920,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1920,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1922,1
    - Dst: pdcGetTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1927,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1928,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1929,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1908
    functionDepth: 6
    functionLinenumber: 1908
    functionLinenumberEnd: 1963
    functionName: pdcRewriteTypeBasedOnConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - collectTableAliasFromNodes
    - pdcGetTableCondTypes
    - 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:1967,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1969,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1971,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1988,1
    - Dst: fmIsIgnoreNullFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2005,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 1965
    functionDepth: 4
    functionLinenumber: 1965
    functionLinenumberEnd: 2031
    functionName: pdcCheckTableResType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    - fmIsIgnoreNullFunc
    - nodeType
    - 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:2041,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2041,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2045,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2045,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2047,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2054,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2069,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2088,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2089,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2033
    functionDepth: 4
    functionLinenumber: 2033
    functionLinenumberEnd: 2121
    functionName: pdcRewriteTypeBasedOnJoinRes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - collectTableAliasFromNodes
    - nodeType
    - nodesWalkExprs
    - tSimpleHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcRewriteTypeBasedOnJoinRes(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2125,1
    - Dst: pdcJoinCheckAllCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2137,1
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2141,1
    - Dst: pdcJoinPushDownOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2143,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2146,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2146,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2150,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2150,1
    - Dst: pdcRewriteTypeBasedOnConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2154,1
    - Dst: pdcRewriteTypeBasedOnJoinRes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2159,1
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2171,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2173,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2173,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2176,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2176,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2180,1
    - Dst: pdcJoinSplitPrimEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2182,1
    - Dst: pdcJoinPartEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2186,1
    - Dst: pdcJoinHandleGrpJoinCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2190,1
    - Dst: pdcJoinAddParentOnColsToTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2194,1
    - Dst: pdcJoinAddFilterColsToTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2202,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2206,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2209,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2210,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2211,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 67
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2124
    functionDepth: 9
    functionLinenumber: 2124
    functionLinenumberEnd: 2215
    functionName: pdcDealJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - pdcRewriteTypeBasedOnJoinRes
    - IS_WINDOW_JOIN
    - pdcJoinPartEqualOnCond
    - pdcJoinHandleGrpJoinCond
    - OPTIMIZE_FLAG_TEST_MASK
    - pdcJoinSplitPrimEqCond
    - pdcJoinSplitCond
    - pdcJoinAddParentOnColsToTarget
    - pdcJoinAddFilterColsToTarget
    - pdcJoinCheckAllCond
    - pdcPushDownCondToChild
    - pdcJoinPushDownOnCond
    - pdcRewriteTypeBasedOnConds
    - nodesDestroyNode
    - OPTIMIZE_FLAG_SET_MASK
    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:2224,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2226,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2234
    functionName: partAggCondHasAggFuncImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - strcmp
    - nodeType
    - FOREACH
    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:2238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pAgg
    - pCond
    argTypes:
    - SAggLogicNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2236
    functionDepth: 3
    functionLinenumber: 2236
    functionLinenumberEnd: 2240
    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:2249,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2251,1
    - Dst: partitionAggCondHasAggFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2255,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2256,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2258,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2268,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2271,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2278,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2279,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2280,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2281,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - pAgg
    - ppAggFuncCond
    - ppGroupKeyCond
    argTypes:
    - SAggLogicNode*
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2242
    functionDepth: 6
    functionLinenumber: 2242
    functionLinenumberEnd: 2286
    functionName: partitionAggCondConj
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - partitionAggCondHasAggFunc
    - nodesDestroyList
    - nodesMergeConds
    - nodesDestroyNode
    - nodesCloneNode
    - FOREACH
    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:2290,1
    - Dst: partitionAggCondConj
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2292,1
    - Dst: partitionAggCondHasAggFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pAgg
    - ppAggFunCond
    - ppGroupKeyCond
    argTypes:
    - SAggLogicNode*
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2288
    functionDepth: 7
    functionLinenumber: 2288
    functionLinenumberEnd: 2301
    functionName: partitionAggCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - partitionAggCondHasAggFunc
    - partitionAggCondConj
    - nodeType
    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:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pAgg
    - pAggFuncCond
    argTypes:
    - SOptimizeContext*
    - SAggLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2303
    functionDepth: 7
    functionLinenumber: 2303
    functionLinenumberEnd: 2305
    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:2315,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2317,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2319,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2320,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2322,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2312
    functionDepth: 4
    functionLinenumber: 2312
    functionLinenumberEnd: 2334
    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:2338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pCxt
    - pAgg
    - pGroupKeyCond
    argTypes:
    - SOptimizeContext*
    - SAggLogicNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2336
    functionDepth: 1
    functionLinenumber: 2336
    functionLinenumberEnd: 2340
    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:2344,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2348,1
    - Dst: partitionAggCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2354,1
    - Dst: pushCondToAggCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2356,1
    - Dst: rewriteAggGroupKeyCondForPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2359,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2362,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2363,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2366,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2369,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pAgg
    argTypes:
    - SOptimizeContext*
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2342
    functionDepth: 8
    functionLinenumber: 2342
    functionLinenumberEnd: 2373
    functionName: pdcDealAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - OPTIMIZE_FLAG_TEST_MASK
    - partitionAggCond
    - rewriteAggGroupKeyCondForPushDown
    - pdcPushDownCondToChild
    - pushCondToAggCond
    - nodesDestroyNode
    - LIST_LENGTH
    - OPTIMIZE_FLAG_SET_MASK
    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:2383,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2385,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2386,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2388,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2389,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2391,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ppNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2380
    functionDepth: 4
    functionLinenumber: 2380
    functionLinenumberEnd: 2404
    functionName: rewriteProjectCondForPushDownImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - nodesDestroyNode
    - nodesEqualNode
    - 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:2410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pProject
    - ppProjectCond
    argTypes:
    - SOptimizeContext*
    - SProjectLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2414
    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:2418,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2422,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2429,1
    - Dst: rewriteProjectCondForPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2436,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2438,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2442,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pProject
    argTypes:
    - SOptimizeContext*
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2416
    functionDepth: 8
    functionLinenumber: 2416
    functionLinenumberEnd: 2448
    functionName: pdcDealProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - OPTIMIZE_FLAG_TEST_MASK
    - rewriteProjectCondForPushDown
    - pdcPushDownCondToChild
    - nodesDestroyNode
    - LIST_LENGTH
    - OPTIMIZE_FLAG_SET_MASK
    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:2452,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2455,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2456,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pLogicNode
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2450
    functionDepth: 8
    functionLinenumber: 2450
    functionLinenumberEnd: 2462
    functionName: pdcTrivialPushDown
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - pdcPushDownCondToChild
    - OPTIMIZE_FLAG_SET_MASK
    - OPTIMIZE_FLAG_TEST_MASK
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcTrivialPushDown(SOptimizeContext* pCxt, SLogicNode* pLogicNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2466,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2466,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2468,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2473,1
    - Dst: pdcTrivialPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pVScan
    argTypes:
    - SOptimizeContext*
    - SVirtualScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2464
    functionDepth: 9
    functionLinenumber: 2464
    functionLinenumberEnd: 2479
    functionName: pdcDealVirtualTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - pdcTrivialPushDown
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcDealVirtualTable(SOptimizeContext* pCxt, SVirtualScanLogicNode*
      pVScan)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2483,1
    - Dst: pdcDealScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2485,1
    - Dst: pdcDealJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2488,1
    - Dst: pdcDealAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2491,1
    - Dst: pdcDealProject
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2494,1
    - Dst: pdcTrivialPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2498,1
    - Dst: pdcDealVirtualTable
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2501,1
    - Dst: pdcDealVirtualSuperTableScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2504,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2511,1
    - Dst: pdcOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2512,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - pCxt
    - pLogicNode
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2481
    functionDepth: 10
    functionLinenumber: 2481
    functionLinenumberEnd: 2519
    functionName: pdcOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodeType
    - pdcDealJoin
    - pdcDealProject
    - pdcDealScan
    - pdcDealVirtualSuperTableScan
    - pdcDealAgg
    - pdcTrivialPushDown
    - pdcDealVirtualTable
    - pdcOptimizeImpl
    - FOREACH
    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:2522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2521
    functionDepth: 11
    functionLinenumber: 2521
    functionLinenumberEnd: 2523
    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:2526,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2535,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2536,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2541,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2550,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2555,1
    - Dst: fmIsIgnoreNullFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2557,1
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2560,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2562,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2563,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2566,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2571,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2572,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2575,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2525
    functionDepth: 3
    functionLinenumber: 2525
    functionLinenumberEnd: 2582
    functionName: eliminateNotNullCondMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - fmIsIgnoreNullFunc
    - fmIsMultiResFunc
    - nodesEqualNode
    - FOREACH
    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:2585,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2590,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2584
    functionDepth: 4
    functionLinenumber: 2584
    functionLinenumberEnd: 2597
    functionName: eliminateNotNullCondOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesListGetNode
    - optFindPossibleNode
    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:2600,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2603,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2604,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pSortKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2599
    functionDepth: 1
    functionLinenumber: 2599
    functionLinenumberEnd: 2605
    functionName: sortPriKeyOptIsPriKeyOrderBy
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - isPrimaryKeyImpl
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool sortPriKeyOptIsPriKeyOrderBy(SNodeList* pSortKeys)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2608,1
    - Dst: sortPriKeyOptIsPriKeyOrderBy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2612,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2613,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2616,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2617,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2624,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2628,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2629,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2607
    functionDepth: 2
    functionLinenumber: 2607
    functionLinenumberEnd: 2635
    functionName: sortPriKeyOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - sortPriKeyOptIsPriKeyOrderBy
    - optFindPossibleNode
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool sortPriKeyOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - pJoin
    - pSort
    - pNotOptimize
    - keepSort
    argTypes:
    - SJoinLogicNode*
    - SSortLogicNode*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2702
    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:2712,1
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2725,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2725,1
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2728,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2728,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: 2733
      start: 2704
    functionDepth: 1
    functionLinenumber: 2704
    functionLinenumberEnd: 2733
    functionName: sortPriKeyOptHandleJoinSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - sortPriKeyOptGetSequencingNodesImpl
    - sortPriKeyOptHandleLeftRightJoinSort
    - nodesListGetNode
    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:2736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSort
    argTypes:
    - SSortLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2735
    functionDepth: 1
    functionLinenumber: 2735
    functionLinenumberEnd: 2737
    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:2745,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2770,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - pLogicNode
    - sortOrder
    argTypes:
    - SLogicNode*
    - EOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2781
      start: 2739
    functionDepth: 1
    functionLinenumber: 2739
    functionLinenumberEnd: 2781
    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:2770,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2769
    functionDepth: 1
    functionLinenumber: 2769
    functionLinenumberEnd: 2779
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncList)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptGetPriKeyOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2785,1
    - Dst: sortPriKeyOptHasUnsupportedPkFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2786,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2796,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2803,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2807,1
    - Dst: sortPriKeyOptHandleJoinSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2811,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2819,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2830,1
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2835,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2835,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 6
    argNames:
    - pNode
    - groupSort
    - pSort
    - pNotOptimize
    - pSequencingNodes
    - keepSort
    argTypes:
    - SLogicNode*
    - bool
    - SSortLogicNode*
    - bool*
    - SNodeList**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2783
    functionDepth: 5
    functionLinenumber: 2783
    functionLinenumberEnd: 2837
    functionName: sortPriKeyOptGetSequencingNodesImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 2
    functionsReached:
    - nodesListGetNode
    - sortPriKeyOptGetSequencingNodesImpl
    - nodeType
    - sortPriKeyOptHasUnsupportedPkFunc
    - NODES_CLEAR_LIST
    - nodesListMakeAppend
    - sortPriKeyOptHandleJoinSort
    - sortPriKeyOptGetPriKeyOrder
    - LIST_LENGTH
    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:2842,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2842,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - pSort
    - groupSort
    - pSequencingNodes
    - keepSort
    argTypes:
    - SSortLogicNode*
    - bool
    - SNodeList**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2839
    functionDepth: 6
    functionLinenumber: 2839
    functionLinenumberEnd: 2848
    functionName: sortPriKeyOptGetSequencingNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - sortPriKeyOptGetSequencingNodesImpl
    - NODES_CLEAR_LIST
    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:2852,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2855,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2858,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2868,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2871,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2874,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2876,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2878,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2880,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2881,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - pCxt
    - pLogicSubplan
    - pSort
    - pSequencingNodes
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SSortLogicNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2850
    functionDepth: 4
    functionLinenumber: 2850
    functionLinenumberEnd: 2885
    functionName: sortPriKeyOptApply
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - replaceLogicNode
    - NODES_CLEAR_LIST
    - optSetParentOrder
    - sortPriKeyOptGetPriKeyOrder
    - nodesDestroyNode
    - TSWAP
    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:2855,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2858,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2868,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2871,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2854
    functionDepth: 3
    functionLinenumber: 2854
    functionLinenumberEnd: 2872
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    functionsReached:
    - TSWAP
    - optSetParentOrder
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pSequencingNode, pSequencingNodes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptGetSequencingNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2890,1
    - Dst: sortPriKeyOptApply
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2893,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2895,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2897,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2899,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2901,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2902,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2907,1
    - Dst: sortPriKeyOptGetPriKeyOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2907,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2913,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSort
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SSortLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2915
      start: 2887
    functionDepth: 7
    functionLinenumber: 2887
    functionLinenumberEnd: 2915
    functionName: sortPrimaryKeyOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - sortPriKeyOptGetSequencingNodes
    - replaceLogicNode
    - sortPriKeyOptApply
    - NODES_CLEAR_LIST
    - optSetParentOrder
    - sortPriKeyOptGetPriKeyOrder
    - nodesDestroyNode
    - TSWAP
    - nodesClearList
    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:2918,1
    - Dst: sortPrimaryKeyOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2917
    functionDepth: 8
    functionLinenumber: 2917
    functionLinenumberEnd: 2923
    functionName: sortPrimaryKeyOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - sortPrimaryKeyOptimizeImpl
    - optFindPossibleNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortPrimaryKeyOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2926,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2927,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2949,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2955,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2969,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2976,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2976,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2977,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2977,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2983,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2988,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2989,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2991,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2991,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2993,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2993,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2997,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3004,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3011,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3013,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3019,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3021,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3025,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3027,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3033,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3035,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3040,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 94
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3052
      start: 2925
    functionDepth: 6
    functionLinenumber: 2925
    functionLinenumberEnd: 3052
    functionName: sortForJoinOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesListGetNode
    - collectTableAliasFromNodes
    - strlen
    - nodesListMakeStrictAppend
    - nodeType
    - tSimpleHashCleanup
    - nodesListMakeAppend
    - tSimpleHashGet
    - nodesMakeNode
    - nodesCloneList
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortForJoinOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SJoinLogicNode* pJoin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3055,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3064,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3065,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3054
    functionDepth: 1
    functionLinenumber: 3054
    functionLinenumberEnd: 3079
    functionName: sortForJoinOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    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:3083,1
    - Dst: sortForJoinOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3081
    functionDepth: 7
    functionLinenumber: 3081
    functionLinenumberEnd: 3088
    functionName: sortForJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - sortForJoinOptimizeImpl
    - optFindPossibleNode
    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:3091,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3099,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3090
    functionDepth: 1
    functionLinenumber: 3090
    functionLinenumberEnd: 3104
    functionName: joinCondGetScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - joinCondGetScanNode
    - nodeType
    linkageType: ''
    returnType: SScanLogicNode
    signature: SScanLogicNode * joinCondGetScanNode(SLogicNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3107,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3109,1
    - Dst: joinCondGetAllScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3115,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3115,1
    - Dst: joinCondGetAllScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3117,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pList
    argTypes:
    - SLogicNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3106
    functionDepth: 6
    functionLinenumber: 3106
    functionLinenumberEnd: 3124
    functionName: joinCondGetAllScanNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - joinCondGetAllScanNodes
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t joinCondGetAllScanNodes(SLogicNode* pNode, SNodeList** pList)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3127,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3128,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3135,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3139,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3140,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3143,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3143,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3144,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3150,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3150,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3151,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3156,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3157,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3160,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3161,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3166,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3167,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3170,1
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3174,1
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3174,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3175,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3179,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3181,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3181,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 38
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3126
    functionDepth: 2
    functionLinenumber: 3126
    functionLinenumberEnd: 3187
    functionName: joinCondMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - IS_TSWINDOW_SPECIFIED
    - nodesListGetNode
    - nodeType
    - OPTIMIZE_FLAG_TEST_MASK
    - joinCondGetScanNode
    - OPTIMIZE_FLAG_SET_MASK
    linkageType: ''
    returnType: bool
    signature: bool joinCondMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - STimeWindow*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3196
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3196
    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:3199,1
    - Dst: joinCondGetAllScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3208,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3213,1
    - Dst: joinCondMergeScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3218,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3223,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3227,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3228,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3229,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3230,1
    - Dst: joinCondMergeScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3235,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3239,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3240,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3241,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3242,1
    - Dst: joinCondMergeScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3247,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3198
    functionDepth: 7
    functionLinenumber: 3198
    functionLinenumberEnd: 3259
    functionName: joinCondOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - joinCondGetScanNode
    - joinCondMergeScanRange
    - joinCondGetAllScanNodes
    - nodesClearList
    - optFindPossibleNode
    - OPTIMIZE_FLAG_SET_MASK
    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:3218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3218
    functionDepth: 1
    functionLinenumber: 3218
    functionLinenumberEnd: 3218
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    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: 3222
      start: 3219
    functionDepth: 0
    functionLinenumber: 3219
    functionLinenumberEnd: 3222
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pScanList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3262,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3261
    functionDepth: 1
    functionLinenumber: 3261
    functionLinenumberEnd: 3274
    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:3279,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3293,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3295,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3298,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3300,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - pScan
    - pIndex
    - pCols
    - pOutput
    argTypes:
    - SScanLogicNode*
    - STableIndexInfo*
    - SNodeList*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3309
      start: 3276
    functionDepth: 5
    functionLinenumber: 3276
    functionLinenumberEnd: 3309
    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:3317,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3326,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - pScan
    - pWindow
    - pIndex
    - tz
    argTypes:
    - SScanLogicNode*
    - SWindowLogicNode*
    - STableIndexInfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3330
      start: 3311
    functionDepth: 1
    functionLinenumber: 3311
    functionLinenumberEnd: 3330
    functionName: smaIndexOptEqualInterval
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - IS_TSWINDOW_SPECIFIED
    - taosTimeTruncate
    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:3334,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3342,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3344,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: 3347
      start: 3332
    functionDepth: 5
    functionLinenumber: 3332
    functionLinenumberEnd: 3347
    functionName: smaIndexOptCreateSmaCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:3353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pQueryFunc
    - pSmaFuncs
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3359
      start: 3349
    functionDepth: 3
    functionLinenumber: 3349
    functionLinenumberEnd: 3359
    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:3353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3352
    functionDepth: 3
    functionLinenumber: 3352
    functionLinenumberEnd: 3357
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    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:3364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pSmaFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3361
    functionDepth: 1
    functionLinenumber: 3361
    functionLinenumberEnd: 3369
    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:3364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3367
      start: 3363
    functionDepth: 1
    functionLinenumber: 3363
    functionLinenumberEnd: 3367
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    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:3380,1
    - Dst: smaIndexOptCreateSmaCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3385,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3389,1
    - Dst: smaIndexOptFindWStartFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3404,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3406,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3408,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3408,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3413,1
    - Dst: smaIndexOptCreateSmaCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3415,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3417,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3420,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3422,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3423,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3429,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: 3433
      start: 3371
    functionDepth: 6
    functionLinenumber: 3371
    functionLinenumberEnd: 3433
    functionName: smaIndexOptCreateSmaCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - smaIndexOptFindSmaFunc
    - nodesListMakeStrictAppend
    - tstrerror
    - nodesListPushFront
    - nodesDestroyList
    - rewriteExprAliasName
    - smaIndexOptFindWStartFunc
    - nodesDestroyNode
    - qError
    - smaIndexOptCreateSmaCol
    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:3380,1
    - Dst: smaIndexOptCreateSmaCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3385,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3389,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3400
      start: 3379
    functionDepth: 6
    functionLinenumber: 3379
    functionLinenumberEnd: 3400
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    functionsReached:
    - nodesListMakeStrictAppend
    - smaIndexOptFindSmaFunc
    - smaIndexOptCreateSmaCol
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFunc, pFuncs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smaIndexOptEqualInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3437,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3441,1
    - Dst: smaIndexOptCreateSmaCols
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3443,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pScan
    - pIndex
    - pCols
    - tz
    argTypes:
    - SScanLogicNode*
    - STableIndexInfo*
    - SNodeList**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3447
      start: 3435
    functionDepth: 7
    functionLinenumber: 3435
    functionLinenumberEnd: 3447
    functionName: smaIndexOptCouldApplyIndex
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - smaIndexOptCreateSmaCols
    - nodesStringToList
    - smaIndexOptEqualInterval
    - nodesDestroyList
    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:3452,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3454,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pLogicSubplan
    - pScan
    - pIndex
    - pSmaCols
    argTypes:
    - SLogicSubplan*
    - SScanLogicNode*
    - STableIndexInfo*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3460
      start: 3449
    functionDepth: 6
    functionLinenumber: 3449
    functionLinenumberEnd: 3460
    functionName: smaIndexOptApplyIndex
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - smaIndexOptCreateSmaScan
    - replaceLogicNode
    - nodesDestroyNode
    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:3464,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3466,1
    - Dst: smaIndexOptCouldApplyIndex
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3468,1
    - Dst: smaIndexOptApplyIndex
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pScan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3476
      start: 3462
    functionDepth: 8
    functionLinenumber: 3462
    functionLinenumberEnd: 3476
    functionName: smaIndexOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - smaIndexOptApplyIndex
    - 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:3479,1
    - Dst: smaIndexOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3478
    functionDepth: 9
    functionLinenumber: 3478
    functionLinenumberEnd: 3484
    functionName: smaIndexOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - smaIndexOptimizeImpl
    - optFindPossibleNode
    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:3487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3494
      start: 3486
    functionDepth: 1
    functionLinenumber: 3486
    functionLinenumberEnd: 3494
    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:3498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3496
    functionDepth: 4
    functionLinenumber: 3496
    functionLinenumberEnd: 3500
    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:3503,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3504,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3504,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3505,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3507,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3510,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3521,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3502
    functionDepth: 1
    functionLinenumber: 3502
    functionLinenumberEnd: 3535
    functionName: partTagsIsOptimizableNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool partTagsIsOptimizableNode(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3543
      start: 3537
    functionDepth: 1
    functionLinenumber: 3537
    functionLinenumberEnd: 3543
    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:3546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3551
      start: 3545
    functionDepth: 1
    functionLinenumber: 3545
    functionLinenumberEnd: 3551
    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:3556,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3561
      start: 3553
    functionDepth: 1
    functionLinenumber: 3553
    functionLinenumberEnd: 3561
    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:3556,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3559
      start: 3555
    functionDepth: 1
    functionLinenumber: 3555
    functionLinenumberEnd: 3559
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    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:3564,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3568,1
    - Dst: partTagsGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3568,1
    - Dst: partTagsOptAreSupportedFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3568,1
    - Dst: partTagsGetFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3569
      start: 3563
    functionDepth: 5
    functionLinenumber: 3563
    functionLinenumberEnd: 3569
    functionName: partTagsOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - partTagsIsOptimizableNode
    - partTagsGetPartKeys
    - keysHasCol
    - partTagsGetFuncs
    - 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:3573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pPartKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3575
      start: 3571
    functionDepth: 1
    functionLinenumber: 3571
    functionLinenumberEnd: 3575
    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: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3580,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3582,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pAlias
    - pTableAlias
    - pColName
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3584
      start: 3578
    functionDepth: 1
    functionLinenumber: 3578
    functionLinenumberEnd: 3584
    functionName: partTagsSetAlias
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    - tstrncpy
    - taosHashBinary
    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:3589,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3594,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3595,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3596,1
    - Dst: partTagsSetAlias
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3599,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3601,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3603,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3605,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3608,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3612,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pFuncName
    - pNode
    - ppNode
    argTypes:
    - char*
    - SNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3617
      start: 3586
    functionDepth: 6
    functionLinenumber: 3586
    functionLinenumberEnd: 3617
    functionName: partTagsCreateWrapperFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesListMakeStrictAppend
    - nodeType
    - partTagsSetAlias
    - snprintf
    - nodesMakeNode
    - 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:3622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3619
    functionDepth: 1
    functionLinenumber: 3619
    functionLinenumberEnd: 3627
    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:3622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3625
      start: 3621
    functionDepth: 1
    functionLinenumber: 3621
    functionLinenumberEnd: 3625
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    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:3632,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3633,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pExpr
    - pTargets
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3641
      start: 3629
    functionDepth: 3
    functionLinenumber: 3629
    functionLinenumberEnd: 3641
    functionName: partTagsNeedOutput
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - nodeType
    - 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:3632,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3633,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3639
      start: 3631
    functionDepth: 3
    functionLinenumber: 3631
    functionLinenumberEnd: 3639
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    functionsReached:
    - nodesEqualNode
    - nodeType
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pOutput, pTargets)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: partTagsHasIndefRowsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3644,1
    - Dst: partTagsNeedOutput
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3649,1
    - Dst: partTagsCreateWrapperFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3654,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3656,1
    - Dst: partTagsCreateWrapperFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3659,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3661,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - pGroupTags
    - start
    - pAgg
    argTypes:
    - SNodeList*
    - int32_t
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3669
      start: 3643
    functionDepth: 7
    functionLinenumber: 3643
    functionLinenumberEnd: 3669
    functionName: partTagsRewriteGroupTagsToFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - partTagsHasIndefRowsSelectFunc
    - partTagsNeedOutput
    - nodesListStrictAppend
    - partTagsCreateWrapperFunc
    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:3649,1
    - Dst: partTagsCreateWrapperFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3654,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3656,1
    - Dst: partTagsCreateWrapperFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3659,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3661,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3667
      start: 3648
    functionDepth: 7
    functionLinenumber: 3648
    functionLinenumberEnd: 3667
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 72
    functionsReached:
    - nodesListStrictAppend
    - partTagsNeedOutput
    - partTagsCreateWrapperFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pGroupTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3673,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3675,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3675,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3676,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3681
      start: 3671
    functionDepth: 1
    functionLinenumber: 3671
    functionLinenumberEnd: 3681
    functionName: partTagsCollectColsNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - nodeType
    - 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:3687,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3687,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3692,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3694,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3699,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3700,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3700,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3701,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3708
      start: 3684
    functionDepth: 3
    functionLinenumber: 3684
    functionLinenumberEnd: 3708
    functionName: partTagsIsScanPseudoColsInConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - nodesWalkExpr
    - taosHashInit
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool partTagsIsScanPseudoColsInConds(SScanLogicNode* pScan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: partTagsIsScanPseudoColsInConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3715,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3720,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3721,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3722,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3723,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3729,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3733
      start: 3710
    functionDepth: 6
    functionLinenumber: 3710
    functionLinenumberEnd: 3733
    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:3736,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3742,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3743,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3744,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3745,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3747,1
    - Dst: scanPathOptSetGroupOrderScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3752,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3757,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3758,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3764,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3765,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3768,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3769,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3775,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3778,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3780,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3788,1
    - Dst: partTagsRewriteGroupTagsToFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3790,1
    - Dst: partTagsOptRemovePseudoCols
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3794,1
    - Dst: partTagsOptRebuildTbanme
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3797,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3735
    functionDepth: 8
    functionLinenumber: 3735
    functionLinenumberEnd: 3802
    functionName: partTagsOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - partTagsOptRebuildTbanme
    - adjustLogicNodeDataRequirement
    - nodeType
    - nodesListMakeStrictAppend
    - replaceLogicNode
    - NODES_CLEAR_LIST
    - scanPathOptSetGroupOrderScan
    - nodesEqualNode
    - NODES_DESTORY_LIST
    - LIST_LENGTH
    - partTagsRewriteGroupTagsToFuncs
    - partTagsOptRemovePseudoCols
    - nodesDestroyNode
    - TSWAP
    - nodesCloneNode
    - optFindPossibleNode
    - FOREACH
    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:3806,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3806,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3808,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3810,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3810,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3812,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3816,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3816,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pProjectNode
    - pRet
    argTypes:
    - SProjectLogicNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3825
      start: 3804
    functionDepth: 1
    functionLinenumber: 3804
    functionLinenumberEnd: 3825
    functionName: eliminateProjOptCheckProjColumnNames
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - taosHashInit
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t eliminateProjOptCheckProjColumnNames(SProjectLogicNode* pProjectNode,
      bool* pRet)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3830,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3830,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3831,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3831,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3832,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3836,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3841,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3841,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3842,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3842,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3843,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3847,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3847,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3851,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3851,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3852,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3853,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3853,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3861,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3861,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3862,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3863,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3875,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3877,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3881,1
    - Dst: eliminateProjOptCheckProjColumnNames
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3887,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3892
      start: 3827
    functionDepth: 2
    functionLinenumber: 3827
    functionLinenumberEnd: 3892
    functionName: eliminateProjOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - OPTIMIZE_FLAG_TEST_MASK
    - strcmp
    - eliminateProjOptCheckProjColumnNames
    - LIST_LENGTH
    - FOREACH
    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:3900,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3903,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3913
      start: 3899
    functionDepth: 3
    functionLinenumber: 3899
    functionLinenumberEnd: 3913
    functionName: eliminateProjOptCanUseNewChildTargetsImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - nodeType
    - FOREACH
    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:3918,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3922,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3925,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3928,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3931,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pChild
    - pNewChildTargets
    argTypes:
    - SLogicNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3915
    functionDepth: 3
    functionLinenumber: 3915
    functionLinenumberEnd: 3935
    functionName: eliminateProjOptCanChildConditionUseChildTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - nodeType
    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:3944,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3947,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3948,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3954,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3957
      start: 3937
    functionDepth: 5
    functionLinenumber: 3937
    functionLinenumberEnd: 3957
    functionName: alignProjectionWithTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListErase
    - strcmp
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void alignProjectionWithTarget(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3965,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3971
      start: 3964
    functionDepth: 1
    functionLinenumber: 3964
    functionLinenumberEnd: 3971
    functionName: eliminateProjOptRewriteScanTableAlias
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodeType
    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:3979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pParentProjects
    - pChildTargets
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3985
      start: 3973
    functionDepth: 0
    functionLinenumber: 3973
    functionLinenumberEnd: 3985
    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:3979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3984
      start: 3975
    functionDepth: 0
    functionLinenumber: 3975
    functionLinenumberEnd: 3984
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 79
    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:3979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3983
      start: 3977
    functionDepth: 0
    functionLinenumber: 3977
    functionLinenumberEnd: 3983
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 79
    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:3992,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3994,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4000,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4002,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4005,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pProj
    - pChild
    - pNewChildTargets
    - orderMatch
    argTypes:
    - SProjectLogicNode*
    - SProjectLogicNode*
    - SNodeList**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 3987
    functionDepth: 6
    functionLinenumber: 3987
    functionLinenumberEnd: 4012
    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:4018,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4019,1
    - Dst: eliminateProjOptFindProjPrefixWithOrderCheck
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4022,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4024,1
    - Dst: alignProjectionWithTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4026,1
    - Dst: eliminateProjOptPushTargetsToSetOpChildren
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pSetOp
    argTypes:
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4034
      start: 4014
    functionDepth: 7
    functionLinenumber: 4014
    functionLinenumberEnd: 4034
    functionName: eliminateProjOptPushTargetsToSetOpChildren
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - eliminateProjOptPushTargetsToSetOpChildren
    - nodeType
    - nodesDestroyList
    - alignProjectionWithTarget
    - eliminateProjOptFindProjPrefixWithOrderCheck
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t eliminateProjOptPushTargetsToSetOpChildren(SProjectLogicNode*
      pSetOp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4038,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4042,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4042,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4048,1
    - Dst: eliminateProjOptFindProjPrefixWithOrderCheck
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4053,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4060,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4061,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4062,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4064,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4066,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4077,1
    - Dst: eliminateProjOptCanChildConditionUseChildTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4081,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4083,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4087,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4088,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4095,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4096,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4097,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4098,1
    - Dst: eliminateProjPushdownProjIdx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4099,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4103,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4106,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4107,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4108,1
    - Dst: alignProjectionWithTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4111,1
    - Dst: eliminateProjOptPushTargetsToSetOpChildren
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4115,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pProjectNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4120
      start: 4036
    functionDepth: 8
    functionLinenumber: 4036
    functionLinenumberEnd: 4120
    functionName: eliminateProjOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    - eliminateProjOptFindProjPrefixWithOrderCheck
    - strcmp
    - nodesListGetNode
    - eliminateProjOptPushTargetsToSetOpChildren
    - TSWAP
    - eliminateProjPushdownProjIdx
    - NODES_CLEAR_LIST
    - OPTIMIZE_FLAG_SET_MASK
    - nodesListMakeStrictAppend
    - nodeType
    - nodesWalkExpr
    - replaceLogicNode
    - nodesDestroyList
    - eliminateProjOptCanChildConditionUseChildTargets
    - nodesDestroyNode
    - alignProjectionWithTarget
    - nodesCloneNode
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t eliminateProjOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan,\n                                         SProjectLogicNode*
      pProjectNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4129,1
    - Dst: eliminateProjOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 4122
    functionDepth: 9
    functionLinenumber: 4122
    functionLinenumberEnd: 4136
    functionName: eliminateProjOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - eliminateProjOptimizeImpl
    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:4139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4140
      start: 4138
    functionDepth: 1
    functionLinenumber: 4138
    functionLinenumberEnd: 4140
    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:4144,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4150,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pSortKey
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4157
      start: 4142
    functionDepth: 5
    functionLinenumber: 4142
    functionLinenumberEnd: 4157
    functionName: rewriteTailOptCreateOrderByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - nodesMakeNode
    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:4161,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4165,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pLimit
    - pOffset
    - pOutput
    argTypes:
    - SNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4159
    functionDepth: 6
    functionLinenumber: 4159
    functionLinenumberEnd: 4175
    functionName: rewriteTailOptCreateLimit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromInt64
    - nodesMakeNode
    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:4178,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4181,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4182,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pIndef
    argTypes:
    - SIndefRowsFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4184
      start: 4177
    functionDepth: 1
    functionLinenumber: 4177
    functionLinenumberEnd: 4184
    functionName: rewriteTailOptNeedGroupSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool rewriteTailOptNeedGroupSort(SIndefRowsFuncLogicNode* pIndef)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4188,1
    - Dst: rewriteTailOptNeedGroupSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4193,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4194,1
    - Dst: optResetParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4195,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4200,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4208,1
    - Dst: rewriteTailOptCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4211,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4211,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4213,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4216,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4216,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4226
      start: 4186
    functionDepth: 6
    functionLinenumber: 4186
    functionLinenumberEnd: 4226
    functionName: rewriteTailOptCreateSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - LIST_LENGTH
    - nodesMakeNode
    - nodesCloneList
    - TSWAP
    - rewriteTailOptCreateOrderByExpr
    - optResetParent
    - rewriteTailOptNeedGroupSort
    - FOREACH
    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:4230,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4230,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pFunc
    - ppNode
    argTypes:
    - SFunctionNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4237
      start: 4228
    functionDepth: 3
    functionLinenumber: 4228
    functionLinenumberEnd: 4237
    functionName: rewriteTailOptCreateProjectExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - nodesCloneNode
    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:4241,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4246,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4251,1
    - Dst: rewriteTailOptCreateProjectExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4253,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4255,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4266,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4267,1
    - Dst: rewriteTailOptCreateLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4269,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4269,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4270,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4279
      start: 4239
    functionDepth: 7
    functionLinenumber: 4239
    functionLinenumberEnd: 4279
    functionName: rewriteTailOptCreateProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - rewriteTailOptCreateProjectExpr
    - rewriteTailOptCreateLimit
    - nodesMakeNode
    - nodesDestroyNode
    - TSWAP
    - LIST_LENGTH
    - FOREACH
    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:4285,1
    - Dst: rewriteTailOptCreateProject
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4287,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4290,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4295,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4298,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4300,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pIndef
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SIndefRowsFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4305
      start: 4281
    functionDepth: 8
    functionLinenumber: 4281
    functionLinenumberEnd: 4305
    functionName: rewriteTailOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - replaceLogicNode
    - rewriteTailOptCreateProject
    - nodesListMakeAppend
    - rewriteTailOptCreateSort
    - nodesDestroyNode
    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:4309,1
    - Dst: rewriteTailOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4316
      start: 4307
    functionDepth: 9
    functionLinenumber: 4307
    functionLinenumberEnd: 4316
    functionName: rewriteTailOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - rewriteTailOptimizeImpl
    - optFindPossibleNode
    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:4321,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4321,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4322,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4325,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4325,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4329
      start: 4318
    functionDepth: 1
    functionLinenumber: 4318
    functionLinenumberEnd: 4329
    functionName: eliminateSetOpMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - nodeType
    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:4334,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4335,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4337,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4338,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSetOpNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4348
      start: 4331
    functionDepth: 3
    functionLinenumber: 4331
    functionLinenumberEnd: 4348
    functionName: eliminateSetOpOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - ERASE_NODE
    - nodesEqualNode
    - INSERT_LIST
    - FOREACH
    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:4351,1
    - Dst: eliminateSetOpOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4350
    functionDepth: 4
    functionLinenumber: 4350
    functionLinenumberEnd: 4357
    functionName: eliminateSetOpOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - eliminateSetOpOptimizeImpl
    - optFindPossibleNode
    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:4360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4361
      start: 4359
    functionDepth: 1
    functionLinenumber: 4359
    functionLinenumberEnd: 4361
    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:4365,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4371,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4373,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pExpr
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4363
    functionDepth: 6
    functionLinenumber: 4363
    functionLinenumberEnd: 4381
    functionName: rewriteUniqueOptCreateGroupingSet
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - nodesMakeNode
    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:4385,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4390,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4392,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4396,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4397,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4398,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4401,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4403,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4406,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pSelectValue
    - pCol
    - ppNode
    argTypes:
    - SFunctionNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4415
      start: 4383
    functionDepth: 6
    functionLinenumber: 4383
    functionLinenumberEnd: 4415
    functionName: rewriteUniqueOptCreateFirstFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesListMakeStrictAppend
    - taosHashBinary
    - tsnprintf
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteUniqueOptCreateFirstFunc(SFunctionNode* pSelectValue,
      SNode* pCol, SNode** ppNode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4419,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4424,1
    - Dst: optResetParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4425,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4433,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4435,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4437,1
    - Dst: rewriteUniqueOptCreateGroupingSet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4439,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4441,1
    - Dst: rewriteUniqueOptCreateFirstFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4446,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4448,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4452,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4454,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4463,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4466,1
    - Dst: rewriteUniqueOptCreateFirstFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4471,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4473,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4480,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4483
      start: 4417
    functionDepth: 7
    functionLinenumber: 4417
    functionLinenumberEnd: 4483
    functionName: rewriteUniqueOptCreateAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - rewriteUniqueOptCreateFirstFunc
    - nodesCloneNode
    - nodesListGetNode
    - createColumnByRewriteExprs
    - nodesListMakeStrictAppend
    - nodesMakeNode
    - nodesDestroyNode
    - TSWAP
    - optResetParent
    - rewriteUniqueOptCreateGroupingSet
    - FOREACH
    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:4487,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4494,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4495,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4496,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4496,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4498,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4501,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pFunc
    - ppNode
    argTypes:
    - SFunctionNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4506
      start: 4485
    functionDepth: 5
    functionLinenumber: 4485
    functionLinenumberEnd: 4506
    functionName: rewriteUniqueOptCreateProjectCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - nodeType
    - nodesMakeNode
    - PLAN_ERR_RET
    - 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:4510,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4515,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4521,1
    - Dst: rewriteUniqueOptCreateProjectCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4523,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4525,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4538
      start: 4508
    functionDepth: 6
    functionLinenumber: 4508
    functionLinenumberEnd: 4538
    functionName: rewriteUniqueOptCreateProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - rewriteUniqueOptCreateProjectCol
    - nodesMakeNode
    - nodesDestroyNode
    - TSWAP
    - FOREACH
    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:4544,1
    - Dst: rewriteUniqueOptCreateProject
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4546,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4549,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4554,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4557,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4562,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4564,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pIndef
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SIndefRowsFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4569
      start: 4540
    functionDepth: 8
    functionLinenumber: 4540
    functionLinenumberEnd: 4569
    functionName: rewriteUniqueOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - adjustLogicNodeDataRequirement
    - replaceLogicNode
    - rewriteUniqueOptCreateAgg
    - nodesListMakeAppend
    - rewriteUniqueOptCreateProject
    - 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:4573,1
    - Dst: rewriteUniqueOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4580
      start: 4571
    functionDepth: 9
    functionLinenumber: 4571
    functionLinenumberEnd: 4580
    functionName: rewriteUniqueOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - rewriteUniqueOptimizeImpl
    - optFindPossibleNode
    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:4588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4598
      start: 4587
    functionDepth: 1
    functionLinenumber: 4587
    functionLinenumberEnd: 4598
    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:4602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4604
      start: 4600
    functionDepth: 3
    functionLinenumber: 4600
    functionLinenumberEnd: 4604
    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: 4620
      start: 4606
    functionDepth: 0
    functionLinenumber: 4606
    functionLinenumberEnd: 4620
    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: 4641
      start: 4627
    functionDepth: 0
    functionLinenumber: 4627
    functionLinenumberEnd: 4641
    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:4645,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4655,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pFunc
    - pScan
    - pSplitAggFuncList
    argTypes:
    - SFunctionNode*
    - SScanLogicNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4676
      start: 4643
    functionDepth: 1
    functionLinenumber: 4643
    functionLinenumberEnd: 4676
    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: 4672
      start: 4667
    functionDepth: 0
    functionLinenumber: 4667
    functionLinenumberEnd: 4672
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pSplitAggFuncList)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4684,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4686,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4687,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4689,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4689,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4693,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4695,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4698,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4701,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4710,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4710,1
    - Dst: lastRowScanOptCheckColNum
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4713,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4721,1
    - Dst: lastRowScanOptCheckColNum
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4736,1
    - Dst: lastRowScanOptLastParaIsTag
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4742,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4755,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4756,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4758,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4758,1
    - Dst: WHERE_FIRST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4766,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4783,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 85
    argCount: 3
    argNames:
    - pNode
    - cacheLastModel
    - hasOtherFunc
    argTypes:
    - SLogicNode*
    - int8_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4785
      start: 4678
    functionDepth: 4
    functionLinenumber: 4678
    functionLinenumberEnd: 4785
    functionName: lastRowScanOptCheckFuncList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosHashGet
    - tstrerror
    - nodeType
    - taosHashInit
    - lastRowScanOptCheckColNum
    - WHERE_EACH
    - taosHashPut
    - taosGetDefaultHashFunction
    - qError
    - taosHashCleanup
    - lastRowScanOptLastParaIsTag
    - WHERE_FIRST
    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:4790,1
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4791,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - pAgg
    - pScan
    argTypes:
    - SAggLogicNode*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4787
    functionDepth: 1
    functionLinenumber: 4787
    functionLinenumberEnd: 4796
    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:4799,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4799,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4800,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4800,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4805,1
    - Dst: lastRowScanOptCheckLastCache
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4806,1
    - Dst: lastRowScanOptCheckFuncList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4811,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4820
      start: 4798
    functionDepth: 5
    functionLinenumber: 4798
    functionLinenumberEnd: 4820
    functionName: lastRowScanOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - lastRowScanOptCheckFuncList
    - LIST_LENGTH
    - 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:4832,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4835,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4839,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4842,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4843,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - pNode
    - pContext
    - setType
    argTypes:
    - SNode*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4852
      start: 4831
    functionDepth: 5
    functionLinenumber: 4831
    functionLinenumberEnd: 4852
    functionName: lastRowScanOptGetColAndSetDataType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - getLastCacheDataType
    - nodeType
    - nodesListMakeAppend
    - nodesEqualNode
    - FOREACH
    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:4855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4856
      start: 4854
    functionDepth: 6
    functionLinenumber: 4854
    functionLinenumberEnd: 4856
    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:4859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4860
      start: 4858
    functionDepth: 6
    functionLinenumber: 4858
    functionLinenumberEnd: 4860
    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:4869,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4870,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4875,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4880,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: 4885
      start: 4862
    functionDepth: 4
    functionLinenumber: 4862
    functionLinenumberEnd: 4885
    functionName: lastRowScanOptSetLastTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - ERASE_NODE
    - nodesEqualNode
    - getLastCacheDataType
    - nodeListNodeEqual
    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:4869,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4870,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4875,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4880,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4884
      start: 4865
    functionDepth: 4
    functionLinenumber: 4865
    functionLinenumberEnd: 4884
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 5
    functionsReached:
    - ERASE_NODE
    - nodesEqualNode
    - getLastCacheDataType
    - nodeListNodeEqual
    linkageType: ''
    returnType: void
    signature: void WHERE_EACH(pTarget, pTargets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4869,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4874
      start: 4868
    functionDepth: 3
    functionLinenumber: 4868
    functionLinenumberEnd: 4874
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    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:4894,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4901,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4908,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4913,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pTargets
    - pList1
    - pList2
    - pList3
    argTypes:
    - SNodeList*
    - SNodeList*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4918
      start: 4887
    functionDepth: 4
    functionLinenumber: 4887
    functionLinenumberEnd: 4918
    functionName: lastRowScanOptRemoveUslessTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - ERASE_NODE
    - nodesEqualNode
    - nodeListNodeEqual
    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:4894,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4901,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4908,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4913,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4917
      start: 4890
    functionDepth: 4
    functionLinenumber: 4890
    functionLinenumberEnd: 4917
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 5
    functionsReached:
    - ERASE_NODE
    - nodesEqualNode
    - nodeListNodeEqual
    linkageType: ''
    returnType: void
    signature: void WHERE_EACH(pTarget, pTargets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4898
      start: 4893
    functionDepth: 3
    functionLinenumber: 4893
    functionLinenumberEnd: 4898
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    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:4901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4905
      start: 4900
    functionDepth: 3
    functionLinenumber: 4900
    functionLinenumberEnd: 4905
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    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:4921,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4927,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4929,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4934,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4936,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4940,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4941,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4942,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pScan
    - pColNode
    - funcType
    argTypes:
    - SScanLogicNode*
    - SColumnNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4948
      start: 4920
    functionDepth: 1
    functionLinenumber: 4920
    functionLinenumberEnd: 4948
    functionName: lastRowScanBuildFuncTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrncpy
    - taosArrayInit
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t lastRowScanBuildFuncTypes(SScanLogicNode* pScan, SColumnNode*
      pColNode, int32_t funcType)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4955,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4963,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4968,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4973,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4976,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4984,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4984,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4992
      start: 4950
    functionDepth: 2
    functionLinenumber: 4950
    functionLinenumberEnd: 4992
    functionName: lastRowScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrerror
    - tsnprintf
    - qError
    - fmGetFuncInfo
    - optFindPossibleNode
    - FOREACH
    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:4995,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4995,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4996,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4996,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5001,1
    - Dst: lastRowScanOptCheckLastCache
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5002,1
    - Dst: lastRowScanOptCheckFuncList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5007,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5016
      start: 4994
    functionDepth: 5
    functionLinenumber: 4994
    functionLinenumberEnd: 5016
    functionName: splitCacheLastFuncOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - lastRowScanOptCheckFuncList
    - LIST_LENGTH
    - lastRowScanOptCheckLastCache
    linkageType: ''
    returnType: bool
    signature: bool splitCacheLastFuncOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5021,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5023,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5024,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5048,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5050,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5053,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5055,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5061,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5063,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5067,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5068,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5071,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5072,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5074,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5077,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5079,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5083,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5085,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5088,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5090,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5093,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5095,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5105,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5107,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5113,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5117,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5118,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5120,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5123,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5125,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5128,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 99
    argCount: 4
    argNames:
    - pNewAgg
    - pAgg
    - pFunc
    - pTargets
    argTypes:
    - SAggLogicNode**
    - SAggLogicNode*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5134
      start: 5018
    functionDepth: 7
    functionLinenumber: 5018
    functionLinenumberEnd: 5134
    functionName: splitCacheLastFuncOptCreateAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createColumnByRewriteExprs
    - nodesListMakeStrictAppend
    - nodeType
    - nodesFree
    - nodesDestroyNode
    - OPTIMIZE_FLAG_CLEAR_MASK
    - nodesDestroyList
    - nodesMakeNode
    - nodesCloneList
    - TSWAP
    - nodesCollectColumnsFromNode
    - nodesCloneNode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t splitCacheLastFuncOptCreateAggLogicNode(SAggLogicNode** pNewAgg,
      SAggLogicNode* pAgg, SNodeList* pFunc,\n                                                       SNodeList*
      pTargets)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5038
      start: 5031
    functionDepth: 0
    functionLinenumber: 5031
    functionLinenumberEnd: 5038
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 89
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFuncNode, pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5105,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5111
      start: 5102
    functionDepth: 6
    functionLinenumber: 5102
    functionLinenumberEnd: 5111
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 89
    functionsReached:
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pOldScanCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5141
      start: 5136
    functionDepth: 0
    functionLinenumber: 5136
    functionLinenumberEnd: 5141
    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:5146,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5156,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5158,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5162,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5164,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5165,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - pNew
    - pAgg1
    - pAgg2
    argTypes:
    - SMergeLogicNode**
    - SAggLogicNode*
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5173
      start: 5143
    functionDepth: 5
    functionLinenumber: 5143
    functionLinenumberEnd: 5173
    functionName: splitCacheLastFuncOptCreateMergeLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - FOREACH
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t splitCacheLastFuncOptCreateMergeLogicNode(SMergeLogicNode**
      pNew, SAggLogicNode* pAgg1,\n                                                         SAggLogicNode*
      pAgg2)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5212,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5217,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5225,1
    - Dst: isNeedSplitCacheLastFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5229,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5231,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5233,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5238,1
    - Dst: WHERE_FIRST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5242,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5256,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5261,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5267,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5273,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5275,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5277,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5287,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5294,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5299,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5300,1
    - Dst: splitCacheLastFuncOptCreateAggLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5306,1
    - Dst: splitCacheLastFuncOptModifyAggLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5308,1
    - Dst: splitCacheLastFuncOptCreateMergeLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5311,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5314,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5317,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5318,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5321,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 85
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5326
      start: 5206
    functionDepth: 8
    functionLinenumber: 5206
    functionLinenumberEnd: 5326
    functionName: splitCacheLastFuncOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - isNeedSplitCacheLastFunc
    - replaceLogicNode
    - strcmp
    - splitCacheLastFuncOptCreateAggLogicNode
    - WHERE_EACH
    - ERASE_NODE
    - nodesDestroyList
    - nodesDestroyNode
    - splitCacheLastFuncOptCreateMergeLogicNode
    - splitCacheLastFuncOptModifyAggLogicNode
    - nodesCloneNode
    - planError
    - optFindPossibleNode
    - WHERE_FIRST
    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:5273,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5275,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5282
      start: 5271
    functionDepth: 6
    functionLinenumber: 5271
    functionLinenumberEnd: 5282
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 90
    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:5330,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5330,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5333,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5334,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5340
      start: 5329
    functionDepth: 1
    functionLinenumber: 5329
    functionLinenumberEnd: 5340
    functionName: mergeProjectsMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    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:5350,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5354,1
    - Dst: isColRefExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5355,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5357,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5361,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5370
      start: 5347
    functionDepth: 4
    functionLinenumber: 5347
    functionLinenumberEnd: 5370
    functionName: mergeProjectionsExpr2
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - snprintf
    - isColRefExpr
    - nodesDestroyNode
    - nodesCloneNode
    - FOREACH
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes mergeProjectionsExpr2(SNode** pNode, void* pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5375,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5377,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5378,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5380,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5381,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5383,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5387,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5398
      start: 5372
    functionDepth: 4
    functionLinenumber: 5372
    functionLinenumberEnd: 5398
    functionName: mergeProjectionsExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - snprintf
    - nodesDestroyNode
    - nodesEqualNode
    - nodesCloneNode
    - strcmp
    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:5401,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5406,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5410,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5411,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5412,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5414,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5419,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSelfNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5424
      start: 5400
    functionDepth: 4
    functionLinenumber: 5400
    functionLinenumberEnd: 5424
    functionName: mergeProjectsOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - replaceLogicNode
    - NODES_CLEAR_LIST
    - nodesDestroyNode
    - nodesRewriteExprs
    - LIST_LENGTH
    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:5427,1
    - Dst: mergeProjectsOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5433
      start: 5426
    functionDepth: 5
    functionLinenumber: 5426
    functionLinenumberEnd: 5433
    functionName: mergeProjectsOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - mergeProjectsOptimizeImpl
    - optFindPossibleNode
    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:5436,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5446,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5447,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5452,1
    - Dst: planOptNodeListHasTbname
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5453,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5458,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5460,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5461,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5467
      start: 5435
    functionDepth: 5
    functionLinenumber: 5435
    functionLinenumberEnd: 5467
    functionName: tagScanOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - keysHasCol
    - planOptNodeListHasTbname
    - LIST_LENGTH
    - FOREACH
    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:5471,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5478,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5480,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5485,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5490,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5496,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5498,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5499,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5501,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5503,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5512,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5520
      start: 5469
    functionDepth: 6
    functionLinenumber: 5469
    functionLinenumberEnd: 5520
    functionName: tagScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - strcmp
    - nodesDestroyList
    - ERASE_NODE
    - nodesListAppend
    - NODES_DESTORY_LIST
    - nodesMakeList
    - nodesCloneNode
    - optFindPossibleNode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t tagScanOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5523,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5530
      start: 5522
    functionDepth: 1
    functionLinenumber: 5522
    functionLinenumberEnd: 5530
    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: 5535
      start: 5532
    functionDepth: 0
    functionLinenumber: 5532
    functionLinenumberEnd: 5535
    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:5541,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5545,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5556,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5560,1
    - Dst: pushDownLimitHow
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5561,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5570,1
    - Dst: isPartTagAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5571,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5571,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5574,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5582,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5582,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5583,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5584,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5586,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5595,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5597,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5607,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5609,1
    - Dst: swapLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5611,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5620,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 3
    argNames:
    - pNodeWithLimit
    - pNodeLimitPushTo
    - pPushed
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5628
      start: 5538
    functionDepth: 5
    functionLinenumber: 5538
    functionLinenumberEnd: 5628
    functionName: pushDownLimitTo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - isPartTagAgg
    - isPartTableAgg
    - nodeType
    - pushDownLimitHow
    - swapLimit
    - cloneLimit
    - LIST_LENGTH
    - FOREACH
    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:5631,1
    - Dst: pushDownLimitTo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5634,1
    - Dst: sortPriKeyOptIsPriKeyOrderBy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5637,1
    - Dst: pushDownLimitTo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pNodeWithLimit
    - pNodeLimitPushTo
    - pPushed
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5645
      start: 5630
    functionDepth: 6
    functionLinenumber: 5630
    functionLinenumberEnd: 5645
    functionName: pushDownLimitHow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - sortPriKeyOptIsPriKeyOrderBy
    - pushDownLimitTo
    - nodeType
    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:5648,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5653,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5654,1
    - Dst: pushDownLimitHow
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5664
      start: 5647
    functionDepth: 7
    functionLinenumber: 5647
    functionLinenumberEnd: 5664
    functionName: pushDownLimitOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesListGetNode
    - pushDownLimitHow
    - optFindPossibleNode
    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:5679,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5680,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5684,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pGroupKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5690
      start: 5672
    functionDepth: 1
    functionLinenumber: 5672
    functionLinenumberEnd: 5690
    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:5679,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5680,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5684,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5687
      start: 5678
    functionDepth: 1
    functionLinenumber: 5678
    functionLinenumberEnd: 5687
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 95
    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:5693,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5697,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5697,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5697,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5699
      start: 5692
    functionDepth: 1
    functionLinenumber: 5692
    functionLinenumberEnd: 5699
    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:5704,1
    - Dst: tbCntScanOptNotNullableExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5706,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5706,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pAggFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5711
      start: 5701
    functionDepth: 2
    functionLinenumber: 5701
    functionLinenumberEnd: 5711
    functionName: tbCntScanOptIsEligibleAggFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tbCntScanOptNotNullableExpr
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptIsEligibleAggFuncs(SNodeList* pAggFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5704,1
    - Dst: tbCntScanOptNotNullableExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5706,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5709
      start: 5703
    functionDepth: 2
    functionLinenumber: 5703
    functionLinenumberEnd: 5709
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 95
    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:5714,1
    - Dst: tbCntScanOptIsEligibleAggFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5715
      start: 5713
    functionDepth: 3
    functionLinenumber: 5713
    functionLinenumberEnd: 5715
    functionName: tbCntScanOptIsEligibleAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tbCntScanOptIsEligibleGroupKeys
    - tbCntScanOptIsEligibleAggFuncs
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptIsEligibleAgg(SAggLogicNode* pAgg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5724,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5726,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5729,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pOper
    - pCol
    - pVal
    argTypes:
    - SOperatorNode*
    - SColumnNode**
    - SValueNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5736
      start: 5717
    functionDepth: 1
    functionLinenumber: 5717
    functionLinenumberEnd: 5736
    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:5748,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5749,1
    - Dst: tbCntScanOptGetColValFromCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5749,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5752,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5754,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5755,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5757,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pInfo
    - pCond
    argTypes:
    - STbCntScanOptInfo*
    - SLogicConditionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5763
      start: 5738
    functionDepth: 2
    functionLinenumber: 5738
    functionLinenumberEnd: 5763
    functionName: tbCntScanOptIsEligibleLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodeType
    - FOREACH
    - tbCntScanOptGetColValFromCond
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptIsEligibleLogicCond(STbCntScanOptInfo* pInfo, SLogicConditionNode*
      pCond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tbCntScanOptGetColValFromCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5768,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCond
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5772
      start: 5765
    functionDepth: 2
    functionLinenumber: 5765
    functionLinenumberEnd: 5772
    functionName: tbCntScanOptIsEligibleOpCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tbCntScanOptGetColValFromCond
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptIsEligibleOpCond(SOperatorNode* pCond)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5778,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5781,1
    - Dst: tbCntScanOptIsEligibleLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5782,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5785,1
    - Dst: tbCntScanOptIsEligibleOpCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pInfo
    - pConditions
    argTypes:
    - STbCntScanOptInfo*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5790
      start: 5774
    functionDepth: 3
    functionLinenumber: 5774
    functionLinenumberEnd: 5790
    functionName: tbCntScanOptIsEligibleConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tbCntScanOptIsEligibleOpCond
    - nodeType
    - tbCntScanOptIsEligibleLogicCond
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptIsEligibleConds(STbCntScanOptInfo* pInfo, SNode* pConditions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5793,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5794,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5795,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5796,1
    - Dst: tbCntScanOptIsEligibleConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5802,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STbCntScanOptInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5803
      start: 5792
    functionDepth: 4
    functionLinenumber: 5792
    functionLinenumberEnd: 5803
    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:5806,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5806,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5807,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5807,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5812,1
    - Dst: tbCntScanOptIsEligibleAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5813,1
    - Dst: tbCntScanOptIsEligibleScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pInfo
    argTypes:
    - SLogicNode*
    - STbCntScanOptInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5814
      start: 5805
    functionDepth: 5
    functionLinenumber: 5805
    functionLinenumberEnd: 5814
    functionName: tbCntScanOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - tbCntScanOptIsEligibleScan
    - tbCntScanOptIsEligibleAgg
    - LIST_LENGTH
    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:5818,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5822,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5823,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5824,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5831
      start: 5816
    functionDepth: 5
    functionLinenumber: 5816
    functionLinenumberEnd: 5831
    functionName: tbCntScanOptCreateTableCountFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    - fmGetFuncInfo
    - nodesMakeNode
    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:5835,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5836,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5837,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5838,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5839,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5840,1
    - Dst: tbCntScanOptCreateTableCountFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5842,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5844,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5847,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5847,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5851,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5852,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5854,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5856,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5860,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5862,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5867,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5869,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STbCntScanOptInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5878
      start: 5833
    functionDepth: 7
    functionLinenumber: 5833
    functionLinenumberEnd: 5878
    functionName: tbCntScanOptRewriteScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - nodesListMakeStrictAppend
    - tbCntScanOptCreateTableCountFunc
    - NODES_DESTORY_LIST
    - NODES_DESTORY_NODE
    - createColumnByRewriteExpr
    - nodesCloneNode
    - FOREACH
    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:5882,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5886,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5887,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5888,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5890,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pCntFunc
    - pParam
    - pOutput
    argTypes:
    - SFunctionNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5898
      start: 5880
    functionDepth: 7
    functionLinenumber: 5880
    functionLinenumberEnd: 5898
    functionName: tbCntScanOptCreateSumFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    - nodesDestroyNode
    - createColumnByRewriteExpr
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t tbCntScanOptCreateSumFunc(SFunctionNode* pCntFunc, SNode* pParam,
      SNode** pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5901,1
    - Dst: tbCntScanOptCreateSumFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5903,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5903,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5904,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5906,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5907,1
    - Dst: partTagsRewriteGroupTagsToFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5910,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5914
      start: 5900
    functionDepth: 8
    functionLinenumber: 5900
    functionLinenumberEnd: 5914
    functionName: tbCntScanOptRewriteAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - tbCntScanOptCreateSumFunc
    - NODES_DESTORY_LIST
    - partTagsRewriteGroupTagsToFuncs
    linkageType: ''
    returnType: int32_t
    signature: int32_t tbCntScanOptRewriteAgg(SAggLogicNode* pAgg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: optFindEligibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5918,1
    - Dst: tbCntScanOptRewriteScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5922,1
    - Dst: tbCntScanOptRewriteAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5927
      start: 5916
    functionDepth: 9
    functionLinenumber: 5916
    functionLinenumberEnd: 5927
    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, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5931,1
    - Dst: sortPriKeyOptIsPriKeyOrderBy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5935,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5939,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5941,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5956
      start: 5929
    functionDepth: 2
    functionLinenumber: 5929
    functionLinenumberEnd: 5956
    functionName: sortNonPriKeySatisfied
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - sortPriKeyOptIsPriKeyOrderBy
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: SSortLogicNode
    signature: SSortLogicNode * sortNonPriKeySatisfied(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sortNonPriKeySatisfied
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5959,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pInfo
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5964
      start: 5958
    functionDepth: 4
    functionLinenumber: 5958
    functionLinenumberEnd: 5964
    functionName: sortNonPriKeyShouldOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - sortNonPriKeySatisfied
    - nodesListAppend
    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:5968,1
    - Dst: optFindEligibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5973,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5975,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5981,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5983,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5988
      start: 5966
    functionDepth: 4
    functionLinenumber: 5966
    functionLinenumberEnd: 5988
    functionName: sortNonPriKeyOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesMakeList
    - optSetParentOrder
    - optFindEligibleNode
    - nodesClearList
    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:5981,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5984
      start: 5979
    functionDepth: 3
    functionLinenumber: 5979
    functionLinenumberEnd: 5984
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 98
    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:5992,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6017,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6024
      start: 5990
    functionDepth: 3
    functionLinenumber: 5990
    functionLinenumberEnd: 6024
    functionName: hashJoinOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - adjustLogicNodeDataRequirement
    - nodeType
    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:6031,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6033,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6038,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6044,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6046,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6052,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6057,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6064,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6068,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6069,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - pCondition
    - pPrimaryKeyCond
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6073
      start: 6026
    functionDepth: 6
    functionLinenumber: 6026
    functionLinenumberEnd: 6073
    functionName: hashJoinOptSplitPrimFromLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - filterIsMultiTableColsCond
    - filterClassifyCondition
    - nodesListMakeAppend
    - WHERE_EACH
    - ERASE_NODE
    - nodesDestroyList
    - nodesMergeConds
    - nodesDestroyNode
    - nodesCloneNode
    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:6076,1
    - Dst: hashJoinOptSplitPrimFromLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6078,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6086,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6094,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCondition
    - pPrimaryKeyCond
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6101
      start: 6075
    functionDepth: 7
    functionLinenumber: 6075
    functionLinenumberEnd: 6101
    functionName: hashJoinOptSplitPrimCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - filterIsMultiTableColsCond
    - hashJoinOptSplitPrimFromLogicCond
    - filterClassifyCondition
    - nodeType
    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:6117,1
    - Dst: hashJoinOptSplitPrimCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6130,1
    - Dst: getTimeRangeFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6133,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6134,1
    - Dst: hashJoinOptSplitPrimCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6144,1
    - Dst: getTimeRangeFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6147,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6148,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6156,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6159,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6165,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6166,1
    - Dst: hashJoinOptSplitPrimCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6170,1
    - Dst: getTimeRangeFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6176,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6177,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6181,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6185,1
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6194,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6200,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6203,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6206,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6207,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6215,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6217,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6218,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6223,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6226,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6229,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6230,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6237,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6240,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6241,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6247,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6288,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 137
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6291
      start: 6103
    functionDepth: 9
    functionLinenumber: 6103
    functionLinenumberEnd: 6291
    functionName: hashJoinOptRewriteJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - getTimeRangeFromNode
    - TSWINDOW_IS_EQUAL
    - pdcJoinSplitCond
    - TMAX
    - mergeJoinConds
    - TAOS_SET_OBJ_ALIGNED
    - OPTIMIZE_FLAG_SET_MASK
    - nodesDestroyNode
    - hashJoinOptSplitPrimCond
    - TMIN
    - FOREACH
    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:6295,1
    - Dst: hashJoinOptRewriteJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6304
      start: 6293
    functionDepth: 10
    functionLinenumber: 6293
    functionLinenumberEnd: 6304
    functionName: hashJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - hashJoinOptRewriteJoin
    - optFindPossibleNode
    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:6307,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6308,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6322,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6323,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6324,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6324,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6329
      start: 6306
    functionDepth: 1
    functionLinenumber: 6306
    functionLinenumberEnd: 6329
    functionName: stbJoinOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - OPTIMIZE_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool stbJoinOptShouldBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6333,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6337,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6338,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - funcName
    - pScan
    argTypes:
    - char*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6343
      start: 6331
    functionDepth: 7
    functionLinenumber: 6331
    functionLinenumberEnd: 6343
    functionName: stbJoinOptAddFuncToScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - snprintf
    - createFunction
    - createColumnByRewriteExpr
    - nodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbJoinOptAddFuncToScanNode(char* funcName, SScanLogicNode*
      pScan)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6350,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6351,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6356,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6358,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6361,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6367,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6372,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6373,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6379,1
    - Dst: stbJoinOptAddFuncToScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6386,1
    - Dst: stbJoinOptAddFuncToScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6389,1
    - Dst: tagScanSetExecutionMode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6393,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6397,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - pJoin
    - pNode
    argTypes:
    - SLogicNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6401
      start: 6345
    functionDepth: 8
    functionLinenumber: 6345
    functionLinenumberEnd: 6401
    functionName: stbJoinOptRewriteToTagScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - stbJoinOptAddFuncToScanNode
    - WHERE_EACH
    - ERASE_NODE
    - tagScanSetExecutionMode
    - nodesDestroyList
    - nodesMakeList
    - NODES_DESTORY_LIST
    - NODES_DESTORY_NODE
    - taosStrcasecmp
    - nodesCollectColumnsFromNode
    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:6372,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6377
      start: 6370
    functionDepth: 1
    functionLinenumber: 6370
    functionLinenumberEnd: 6377
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 99
    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:6405,1
    - Dst: stbJoinOptRewriteToTagScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6413,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6421,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJoin
    - ppList
    argTypes:
    - SLogicNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6437
      start: 6403
    functionDepth: 9
    functionLinenumber: 6403
    functionLinenumberEnd: 6437
    functionName: stbJoinOptCreateTagScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - nodesDestroyList
    - stbJoinOptRewriteToTagScan
    - strcmp
    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:6413,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6428
      start: 6412
    functionDepth: 9
    functionLinenumber: 6412
    functionLinenumberEnd: 6428
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 99
    functionsReached:
    - stbJoinOptRewriteToTagScan
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6442,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6456,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6458,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6461,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6463,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6473,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6474,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6476,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6489,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6493,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6499,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6503,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6505,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - pOrig
    - pChildren
    - ppLogic
    argTypes:
    - SLogicNode*
    - SNodeList*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6509
      start: 6439
    functionDepth: 7
    functionLinenumber: 6439
    functionLinenumberEnd: 6509
    functionName: stbJoinOptCreateTagHashJoinNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyList
    - OPTIMIZE_FLAG_SET_MASK
    - nodesMakeNode
    - nodesDestroyNode
    - createColumnByRewriteExpr
    - nodesCollectColumnsFromNode
    - nodesCloneNode
    - FOREACH
    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:6473,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6474,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6486
      start: 6470
    functionDepth: 7
    functionLinenumber: 6470
    functionLinenumberEnd: 6486
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 101
    functionsReached:
    - createColumnByRewriteExpr
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pChildren)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6497
      start: 6492
    functionDepth: 7
    functionLinenumber: 6492
    functionLinenumberEnd: 6497
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 101
    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:6513,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6528,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6530,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pJoin
    - ppList
    - srcScan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SNodeList**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6552
      start: 6511
    functionDepth: 4
    functionLinenumber: 6511
    functionLinenumberEnd: 6552
    functionName: stbJoinOptCreateTableScanNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - nodesDestroyNode
    - strcmp
    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:6528,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6530,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6539,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6547
      start: 6521
    functionDepth: 4
    functionLinenumber: 6521
    functionLinenumberEnd: 6547
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 101
    functionsReached:
    - nodesDestroyNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6557,1
    - Dst: getBatchScanOptionFromHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6565,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6568,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6570,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6572,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6574,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6578,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6580,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6581,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6583,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6604,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - pRoot
    - pChildren
    - ppLogic
    argTypes:
    - SLogicNode*
    - SNodeList*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6608
      start: 6554
    functionDepth: 7
    functionLinenumber: 6554
    functionLinenumberEnd: 6608
    functionName: stbJoinOptCreateGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListStrictAppendList
    - nodeType
    - getBatchScanOptionFromHint
    - nodesMakeList
    - nodesMakeNode
    - nodesCloneList
    - createColumnByRewriteExpr
    - nodesDestroyNode
    - FOREACH
    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: 6598
      start: 6592
    functionDepth: 0
    functionLinenumber: 6592
    functionLinenumberEnd: 6598
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pChildren)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6611,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6611,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6612,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6615,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6618,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6619,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6620,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6622,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6626,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6627,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6633,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6642
      start: 6610
    functionDepth: 3
    functionLinenumber: 6610
    functionLinenumberEnd: 6642
    functionName: stbJoinOptRemoveTagEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - ERASE_NODE
    - NODES_DESTORY_NODE
    - nodesEqualNode
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void stbJoinOptRemoveTagEqCond(SJoinLogicNode* pJoin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6647,1
    - Dst: stbJoinOptRemoveTagEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6655,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6656,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6659,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6659,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6660,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6664,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pOrig
    - pChild
    - ppLogic
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6670
      start: 6644
    functionDepth: 5
    functionLinenumber: 6644
    functionLinenumberEnd: 6670
    functionName: stbJoinOptCreateMergeJoinNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - stbJoinOptRemoveTagEqCond
    - ERASE_NODE
    - OPTIMIZE_FLAG_SET_MASK
    - NODES_DESTORY_NODE
    - nodesDestroyNode
    - nodesCloneNode
    - FOREACH
    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:6676,1
    - Dst: getBatchScanOptionFromHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6682,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6683,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6687,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6692,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6697,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6702,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6702,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6705,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6705,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6708,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6708,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6711,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6711,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6715,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6717,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6721,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6731,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: 6736
      start: 6672
    functionDepth: 5
    functionLinenumber: 6672
    functionLinenumberEnd: 6736
    functionName: stbJoinOptCreateDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesListGetNode
    - memcpy
    - getBatchScanOptionFromHint
    - nodesMakeList
    - nodesMakeNode
    - nodesCloneList
    - nodesDestroyNode
    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:6747,1
    - Dst: stbJoinOptCreateTagHashJoinNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6749,1
    - Dst: stbJoinOptCreateTableScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6752,1
    - Dst: stbJoinOptCreateGroupCacheNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6755,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6755,1
    - Dst: stbJoinOptCreateMergeJoinNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6758,1
    - Dst: stbJoinOptCreateDynQueryCtrlNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6761,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6761,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6764,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6767,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6771
      start: 6738
    functionDepth: 10
    functionLinenumber: 6738
    functionLinenumberEnd: 6771
    functionName: stbJoinOptRewriteStableJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - stbJoinOptCreateTagScanNode
    - stbJoinOptCreateTagHashJoinNode
    - stbJoinOptCreateMergeJoinNode
    - stbJoinOptCreateDynQueryCtrlNode
    - replaceLogicNode
    - getLogicNodeRootNode
    - stbJoinOptCreateGroupCacheNode
    - stbJoinOptCreateTableScanNodes
    - nodesDestroyNode
    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:6774,1
    - Dst: stbJoinOptRewriteStableJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6780
      start: 6773
    functionDepth: 11
    functionLinenumber: 6773
    functionLinenumberEnd: 6780
    functionName: stableJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - stbJoinOptRewriteStableJoin
    - optFindPossibleNode
    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:6783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6797
      start: 6782
    functionDepth: 1
    functionLinenumber: 6782
    functionLinenumberEnd: 6797
    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:6802,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6812,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6814,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6820,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6822,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6825,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - pParent
    - pChild
    - leftChild
    - pNew
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - bool
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6834
      start: 6799
    functionDepth: 6
    functionLinenumber: 6799
    functionLinenumberEnd: 6834
    functionName: grpJoinOptCreatePartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - nodesDestroyNode
    - nodesListMakeStrictAppend
    - nodesMakeNode
    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:6841,1
    - Dst: grpJoinOptCreatePartitionNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6842,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6851
      start: 6836
    functionDepth: 7
    functionLinenumber: 6836
    functionLinenumberEnd: 6851
    functionName: grpJoinOptInsertPartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - grpJoinOptCreatePartitionNode
    - REPLACE_NODE
    - FOREACH
    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:6859,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6860,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6866,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6869,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6884
      start: 6853
    functionDepth: 5
    functionLinenumber: 6853
    functionLinenumberEnd: 6884
    functionName: grpJoinOptPartByTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - nodesListMakeStrictAppendList
    - nodeType
    - FOREACH
    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:6889,1
    - Dst: grpJoinOptInsertPartitionNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6896
      start: 6886
    functionDepth: 8
    functionLinenumber: 6886
    functionLinenumberEnd: 6896
    functionName: grpJoinOptRewriteGroupJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - grpJoinOptPartByTags
    - grpJoinOptInsertPartitionNode
    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:6899,1
    - Dst: grpJoinOptRewriteGroupJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6905
      start: 6898
    functionDepth: 9
    functionLinenumber: 6898
    functionLinenumberEnd: 6905
    functionName: groupJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - grpJoinOptRewriteGroupJoin
    - optFindPossibleNode
    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:6908,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6913
      start: 6907
    functionDepth: 5
    functionLinenumber: 6907
    functionLinenumberEnd: 6913
    functionName: partColOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - keysHasCol
    - nodeType
    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:6919,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6923,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6925,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6929,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6932,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6937,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6944,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6950,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6953,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6957,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6958,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6962,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6972,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 2
    argNames:
    - pPartition
    - ppSort
    argTypes:
    - SPartitionLogicNode*
    - SSortLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6978
      start: 6915
    functionDepth: 6
    functionLinenumber: 6915
    functionLinenumberEnd: 6978
    functionName: partColOptCreateSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodeType
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    - FOREACH
    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:6984,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6986,1
    - Dst: getSortForGroupOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6988,1
    - Dst: partColOptCreateSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6991,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6996,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6997,1
    - Dst: optResetParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6998,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7000,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7002,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7005,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7009,1
    - Dst: getOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7010,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7013,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7015,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7019,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7023,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7025,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7030,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7033,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7040,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7040,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7041,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7046,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7048,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7055
      start: 6980
    functionDepth: 7
    functionLinenumber: 6980
    functionLinenumberEnd: 7055
    functionName: partitionColsOpt
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - getOptHint
    - nodesListStrictAppend
    - nodesListGetNode
    - nodeType
    - replaceLogicNode
    - NODES_CLEAR_LIST
    - partColOptCreateSort
    - nodesListMakeAppend
    - getLogicNodeRootNode
    - nodesMakeList
    - getSortForGroupOptHint
    - nodesMakeNode
    - nodesDestroyNode
    - TSWAP
    - optResetParent
    - optFindPossibleNode
    - FOREACH
    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:7058,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7070,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7089,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7089,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7090,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7095,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7098,1
    - Dst: getOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7101,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7102,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7112
      start: 7057
    functionDepth: 1
    functionLinenumber: 7057
    functionLinenumberEnd: 7112
    functionName: tsmaOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsPseudoColumnFunc
    - getLogicNodeRootNode
    - fmIsTSMASupportedFunc
    - getOptHint
    - fmIsGroupKeyFunc
    - planError
    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:7089,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7089,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7093
      start: 7087
    functionDepth: 1
    functionLinenumber: 7087
    functionLinenumberEnd: 7093
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 108
    functionsReached:
    - fmIsTSMASupportedFunc
    - fmIsPseudoColumnFunc
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pTmpNode, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7148,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7149,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7168,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pScan
    - tz
    argTypes:
    - STSMAOptCtx*
    - SScanLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7174
      start: 7140
    functionDepth: 1
    functionLinenumber: 7140
    functionLinenumberEnd: 7174
    functionName: fillTSMAOptCtx
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - taosArrayInit
    - nodeType
    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:7178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7179
      start: 7176
    functionDepth: 1
    functionLinenumber: 7176
    functionLinenumberEnd: 7179
    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:7182,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7183,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pTsmaOptCtx
    argTypes:
    - STSMAOptCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7185
      start: 7181
    functionDepth: 1
    functionLinenumber: 7181
    functionLinenumberEnd: 7185
    functionName: clearTSMAOptCtx
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void clearTSMAOptCtx(STSMAOptCtx* pTsmaOptCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7190,1
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7194,1
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - tsmaInterval
    - unit
    - pTsmaOptCtx
    argTypes:
    - int64_t
    - int8_t
    - STSMAOptCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7201
      start: 7187
    functionDepth: 1
    functionLinenumber: 7187
    functionLinenumberEnd: 7201
    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:7208,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7211,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7211,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7212,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7221,1
    - Dst: fmIsMyStateFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7224,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7233,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - pTsmaFuncs
    - pQueryFuncs
    - pTsmaScanCols
    - pIsValid
    argTypes:
    - SArray*
    - SNodeList*
    - SArray*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7244
      start: 7203
    functionDepth: 1
    functionLinenumber: 7203
    functionLinenumberEnd: 7244
    functionName: tsmaOptCheckValidFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - fmIsMyStateFunc
    - nodeType
    - fmIsPseudoColumnFunc
    - taosArrayGet
    - taosArrayClear
    - fmIsGroupKeyFunc
    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:7211,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7211,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7212,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7221,1
    - Dst: fmIsMyStateFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7224,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7233,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7241
      start: 7209
    functionDepth: 1
    functionLinenumber: 7209
    functionLinenumberEnd: 7241
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 108
    functionsReached:
    - taosArrayPush
    - fmIsMyStateFunc
    - nodeType
    - fmIsPseudoColumnFunc
    - taosArrayGet
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pQueryFuncs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7253,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7258,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7270
      start: 7251
    functionDepth: 1
    functionLinenumber: 7251
    functionLinenumberEnd: 7270
    functionName: tsmaOptTagCheck
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - nodeType
    - 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:7275,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7277,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - STableTSMAInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7281
      start: 7272
    functionDepth: 4
    functionLinenumber: 7272
    functionLinenumberEnd: 7281
    functionName: tsmaOptCheckTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - nodesWalkExprs
    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:7291,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7295,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7300,1
    - Dst: tsmaOptCheckValidInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7306,1
    - Dst: tsmaOptCheckValidFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7311,1
    - Dst: tsmaOptCheckTags
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7315,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7319,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7321,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7326,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 1
    argNames:
    - pTsmaOptCtx
    argTypes:
    - STSMAOptCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7328
      start: 7283
    functionDepth: 5
    functionLinenumber: 7283
    functionLinenumberEnd: 7328
    functionName: tsmaOptFilterTsmas
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGet
    - tsmaOptCheckValidInterval
    - taosArrayGetP
    - tsmaOptCheckTags
    - tsmaOptCheckValidFuncs
    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: 7349
      start: 7330
    functionDepth: 0
    functionLinenumber: 7330
    functionLinenumberEnd: 7349
    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: 7360
      start: 7351
    functionDepth: 0
    functionLinenumber: 7351
    functionLinenumberEnd: 7360
    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:7367,1
    - Dst: tsmaOptInitIntervalFromTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7368,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7369,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7370,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: 7375
      start: 7362
    functionDepth: 1
    functionLinenumber: 7362
    functionLinenumberEnd: 7375
    functionName: tsmaOptFindUsefulTsma
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tsmaOptInitIntervalFromTsma
    - taosTimeTruncate
    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:7387,1
    - Dst: tsmaOptInitIntervalFromTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7393,1
    - Dst: tsmaOptInitIntervalFromTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7397,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7401,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7403,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7404,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7411,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7413,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7414,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7422,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7424,1
    - Dst: tsmaOptFindUsefulTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7426,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7430,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7436,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7442,1
    - Dst: tsmaOptFindUsefulTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7450,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7455,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pScanRange
    - tz
    argTypes:
    - STSMAOptCtx*
    - STimeWindow*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7458
      start: 7377
    functionDepth: 2
    functionLinenumber: 7377
    functionLinenumberEnd: 7458
    functionName: tsmaOptSplitWindows
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    - taosArrayPush
    - tsmaOptFindUsefulTsma
    - taosArrayGet
    - tsmaOptInitIntervalFromTsma
    - taosTimeTruncate
    - TMIN
    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:7472,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7475,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7477,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7483,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7484,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7485,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7487,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7494,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pTsma
    - pAggFuncs
    - ppList
    argTypes:
    - STSMAOptUsefulTsma*
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7500
      start: 7460
    functionDepth: 6
    functionLinenumber: 7460
    functionLinenumberEnd: 7500
    functionName: tsmaOptCreateTsmaScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesListMakeStrictAppend
    - fmIsPseudoColumnFunc
    - taosArrayGet
    - nodesDestroyList
    - nodesMakeNode
    - fmIsGroupKeyFunc
    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:7472,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7475,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7477,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7483,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7484,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7485,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7491
      start: 7470
    functionDepth: 6
    functionLinenumber: 7470
    functionLinenumberEnd: 7491
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 108
    functionsReached:
    - tstrncpy
    - nodesListMakeStrictAppend
    - fmIsPseudoColumnFunc
    - taosArrayGet
    - nodesMakeNode
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pAggFuncs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7507,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7508,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7509,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pTsma
    - pTagCol
    argTypes:
    - STSMAOptCtx*
    - STSMAOptUsefulTsma*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7519
      start: 7502
    functionDepth: 1
    functionLinenumber: 7502
    functionLinenumberEnd: 7519
    functionName: tsmaOptRewriteTag
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tstrncpy
    - 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:7525,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7532,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7534,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7535,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7536,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7544,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7545,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7546,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7552,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7553,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7558,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7562,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7569,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7570,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pTbNameNode
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - SNode**
    - STSMAOptUsefulTsma*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7574
      start: 7521
    functionDepth: 6
    functionLinenumber: 7521
    functionLinenumberEnd: 7574
    functionName: tsmaOptRewriteTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - tstrncpy
    - nodesListMakeStrictAppend
    - taosArrayGet
    - fmGetFuncId
    - snprintf
    - nodesMakeNode
    - 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:7588,1
    - Dst: tsmaOptRewriteTag
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7589,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7591,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7592,1
    - Dst: tsmaOptRewriteTbname
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7593,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - ppNode
    - ctx
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7601
      start: 7584
    functionDepth: 7
    functionLinenumber: 7584
    functionLinenumberEnd: 7601
    functionName: tsmaOptNodeRewriter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tsmaOptRewriteTbname
    - tsmaOptRewriteTag
    - nodeType
    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:7608,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: 7611
      start: 7603
    functionDepth: 1
    functionLinenumber: 7603
    functionLinenumberEnd: 7611
    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:7619,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7621,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: 7624
      start: 7613
    functionDepth: 2
    functionLinenumber: 7613
    functionLinenumberEnd: 7624
    functionName: tsmaOptRewriteNodeList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - REPLACE_NODE
    - tsmaOptRewriteNode
    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:7619,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7622
      start: 7617
    functionDepth: 2
    functionLinenumber: 7617
    functionLinenumberEnd: 7622
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 108
    functionsReached:
    - REPLACE_NODE
    - tsmaOptRewriteNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pNodes)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7636,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7640,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7645,1
    - Dst: tsmaOptCreateTsmaScanCols
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7648,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7651,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7652,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7654,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7656,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7661,1
    - Dst: tsmaOptRewriteNodeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7664,1
    - Dst: tsmaOptRewriteNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7667,1
    - Dst: tsmaOptRewriteNodeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7670,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7675,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7676,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7678,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7679,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7681,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7686,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7693,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7697,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7701,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pNewScan
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - SScanLogicNode*
    - STSMAOptUsefulTsma*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7706
      start: 7626
    functionDepth: 7
    functionLinenumber: 7626
    functionLinenumberEnd: 7706
    functionName: tsmaOptRewriteScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - REPLACE_NODE
    - nodesListMakeStrictAppend
    - taosMemoryFreeClear
    - tsmaOptCreateTsmaScanCols
    - tsmaOptRewriteNode
    - memcpy
    - taosArrayGetP
    - nodesDestroyList
    - nodesRewriteExpr
    - tsmaOptRewriteNodeList
    - taosArrayGetSize
    - nodesDestroyNode
    - taosMemoryCalloc
    - nodesCloneNode
    - FOREACH
    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:7721,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7732,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7735,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7740,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7743,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7746,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7753,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7755,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7757,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7759,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7761,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7765,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7770,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7772,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7776,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7777,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7780,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - pTsmaOptCtx
    - pParent
    - pScan
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - SLogicNode*
    - SScanLogicNode*
    - STSMAOptUsefulTsma*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7784
      start: 7708
    functionDepth: 7
    functionLinenumber: 7708
    functionLinenumberEnd: 7784
    functionName: tsmaOptRewriteParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - REPLACE_NODE
    - nodeType
    - fmIsPseudoColumnFunc
    - nodesListPushFront
    - nodesListErase
    - nodesDestroyList
    - nodesRewriteExpr
    - createColumnByRewriteExprs
    - nodesDestroyNode
    - fmGetDistMethod
    - fmIsGroupKeyFunc
    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:7732,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7735,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7740,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7743,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7746,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7753,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7755,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7757,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7759,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7761,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7765,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7766
      start: 7730
    functionDepth: 5
    functionLinenumber: 7730
    functionLinenumberEnd: 7766
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 109
    functionsReached:
    - nodesCloneNode
    - REPLACE_NODE
    - fmIsPseudoColumnFunc
    - nodesListPushFront
    - nodesListErase
    - nodesRewriteExpr
    - nodesDestroyNode
    - fmGetDistMethod
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pAggFuncNode, pAggFuncs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7793,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7797,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7798,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7799,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7804,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7810,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7812,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7820,1
    - Dst: tsmaOptRewriteScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7828,1
    - Dst: tsmaOptRewriteParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7830,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7835,1
    - Dst: tsmaOptRewriteScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7837,1
    - Dst: tsmaOptRewriteParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7839,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 1
    argNames:
    - pTsmaOptCtx
    argTypes:
    - STSMAOptCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7844
      start: 7786
    functionDepth: 8
    functionLinenumber: 7786
    functionLinenumberEnd: 7844
    functionName: tsmaOptGeneratePlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tsmaOptRewriteScan
    - tstrncpy
    - taosArrayGet
    - taosArrayGetP
    - tsmaOptRewriteParent
    - nodesMakeNode
    - nodesCloneNode
    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:7851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - STSMAOptCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7855
      start: 7846
    functionDepth: 1
    functionLinenumber: 7846
    functionLinenumberEnd: 7855
    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:7860,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7863,1
    - Dst: getOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7864,1
    - Dst: fillTSMAOptCtx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7866,1
    - Dst: tsmaOptFilterTsmas
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7869,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7873,1
    - Dst: tsmaOptSplitWindows
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7875,1
    - Dst: tsmaOptIsUsingTsmas
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7876,1
    - Dst: tsmaOptGeneratePlan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7878,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7885,1
    - Dst: clearTSMAOptCtx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7893,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7895
      start: 7857
    functionDepth: 9
    functionLinenumber: 7857
    functionLinenumberEnd: 7895
    functionName: tsmaOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tsmaOptSplitWindows
    - tsmaOptFilterTsmas
    - nodesListMakeAppend
    - clearTSMAOptCtx
    - getLogicNodeRootNode
    - fillTSMAOptCtx
    - taosArraySort
    - tsmaOptIsUsingTsmas
    - tsmaOptGeneratePlan
    - getOptHint
    - optFindPossibleNode
    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:7902,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7902,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7906,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7916,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7925
      start: 7897
    functionDepth: 1
    functionLinenumber: 7897
    functionLinenumberEnd: 7925
    functionName: eliminateVirtualScanMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - nodeType
    - FOREACH
    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:7932,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7933,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7935,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7937,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7940,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pVirtualScanNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7950
      start: 7927
    functionDepth: 3
    functionLinenumber: 7927
    functionLinenumberEnd: 7950
    functionName: eliminateVirtualScanOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - INSERT_LIST
    - OPTIMIZE_FLAG_CLEAR_MASK
    - ERASE_NODE
    - nodesEqualNode
    - FOREACH
    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:7954,1
    - Dst: eliminateVirtualScanOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7960
      start: 7953
    functionDepth: 4
    functionLinenumber: 7953
    functionLinenumberEnd: 7960
    functionName: eliminateVirtualScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - eliminateVirtualScanOptimizeImpl
    - optFindPossibleNode
    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:7963,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7963,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7964,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7964,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7969,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7969,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7973,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7975,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7986,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7988,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7988,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7993,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7999
      start: 7962
    functionDepth: 1
    functionLinenumber: 7962
    functionLinenumberEnd: 7999
    functionName: pdaMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - fmIsSelectFunc
    - nodeType
    - fmIsGroupKeyFunc
    - LIST_LENGTH
    - FOREACH
    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:8004,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8007,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8008,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8014,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8015,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8016,1
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8017,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8017,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8022,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8029,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - pCol
    - pVScan
    - ppNode
    argTypes:
    - SColumnNode*
    - SVirtualScanLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8032
      start: 8001
    functionDepth: 3
    functionLinenumber: 8001
    functionLinenumberEnd: 8032
    functionName: findDepTableScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - PLAN_RET
    - FOREACH
    - nodesCloneNode
    - planError
    - strcmp
    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:8037,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8037,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8038,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8038,1
    - Dst: fmIsLastFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8039,1
    - Dst: fmIsLastRowFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8040,1
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8041,1
    - Dst: fmIsKeepOrderFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8042,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - pAgg
    - pFunc
    argTypes:
    - SAggLogicNode*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8051
      start: 8034
    functionDepth: 5
    functionLinenumber: 8034
    functionLinenumberEnd: 8051
    functionName: mergeAggFuncToAggNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - fmIsLastFunc
    - nodesListMakeAppend
    - fmIsLastRowFunc
    - PLAN_ERR_JRET
    - fmIsKeepOrderFunc
    - nodesDestroyNode
    - fmIsTimelineFunc
    - 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:8063,1
    - Dst: findDepTableScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8063,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8065,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8066,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8067,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8069,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8069,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8072,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8072,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8073,1
    - Dst: mergeAggFuncToAggNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8073,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8074,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8074,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8076,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8076,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8076,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8080,1
    - Dst: mergeAggFuncToAggNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8080,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8081,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 4
    argNames:
    - pCol
    - pAggFunc
    - pVScan
    - pAggNodeMap
    argTypes:
    - SColumnNode*
    - SFunctionNode*
    - SVirtualScanLogicNode*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8089
      start: 8053
    functionDepth: 6
    functionLinenumber: 8053
    functionLinenumberEnd: 8089
    functionName: rebuildPlanForPdaOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosHashGet
    - mergeAggFuncToAggNode
    - taosHashPut
    - nodesListMakeAppend
    - nodesMakeNode
    - TAOS_STRNCAT
    - PLAN_ERR_JRET
    - nodesDestroyNode
    - findDepTableScanNode
    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:8096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8097
      start: 8091
    functionDepth: 4
    functionLinenumber: 8091
    functionLinenumberEnd: 8097
    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:8111,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8116,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8118,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8118,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8118,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8120,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8123,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8126,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8127,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8134,1
    - Dst: rebuildPlanForPdaOptimize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8134,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8139,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8139,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8147,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8147,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8150,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8155,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8159,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8161,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8164,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8164,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8165,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8165,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8166,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8167,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8167,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8171,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8171,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8173,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8174,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8175,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8180,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8181,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8184
      start: 8108
    functionDepth: 7
    functionLinenumber: 8108
    functionLinenumberEnd: 8184
    functionName: pdaOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - nodesListMakeAppend
    - nodesListGetNode
    - nodesMakeNode
    - taosHashGetSize
    - nodesDestroyNode
    - taosHashSetFreeFp
    - LIST_LENGTH
    - PLAN_ERR_JRET
    - taosGetDefaultHashFunction
    - rebuildPlanForPdaOptimize
    - nodesListMakeStrictAppend
    - nodeType
    - replaceLogicNode
    - OPTIMIZE_FLAG_CLEAR_MASK
    - createColumnByRewriteExprs
    - taosHashInit
    - taosHashCleanup
    - optFindPossibleNode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdaOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8226,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8229,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8231,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pRuleName
    - pSubplan
    argTypes:
    - char*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8236
      start: 8220
    functionDepth: 4
    functionLinenumber: 8220
    functionLinenumberEnd: 8236
    functionName: dumpLogicSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - nodesNodeToString
    - qDebugL
    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:8241,1
    - Dst: optimizeFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8249,1
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8261
      start: 8238
    functionDepth: 0
    functionLinenumber: 8238
    functionLinenumberEnd: 8261
    functionName: applyOptimizeRule
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - 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:8267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8268
      start: 8263
    functionDepth: 1
    functionLinenumber: 8263
    functionLinenumberEnd: 8268
    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:
    - nodesDestroyNode
    - nodesCloneNode
    - nodesMakeNode
    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:
    - nodeType
    - memcpy
    - doSetScanVgroup
    - taosMemoryCalloc
    - FOREACH
    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
    - singleCloneSubLogicPlan
    - setScanVgroup
    linkageType: ''
    returnType: int32_t
    signature: int32_t scaleOutByVgroups(SScaleOutContext* pCxt, SLogicSubplan* pSubplan,
      int32_t level, SNodeList* pGroup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:108,1
    - Dst: scaleOutByVgroups
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:110,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:112,1
    - Dst: singleCloneSubLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 7
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: scaleOutForMerge
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - scaleOutByVgroups
    - nodeType
    - 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:119,1
    - Dst: singleCloneSubLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:122,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:126,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:127,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: 132
      start: 116
    functionDepth: 6
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: scaleOutForInsertValues
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - singleCloneSubLogicPlan
    - taosArrayGetSize
    - taosArrayGetP
    - nodesListStrictAppend
    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:137,1
    - Dst: scaleOutForMerge
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:139,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: 140
      start: 134
    functionDepth: 8
    functionLinenumber: 134
    functionLinenumberEnd: 140
    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:145,1
    - Dst: scaleOutForInsert
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:147,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: 148
      start: 142
    functionDepth: 9
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: scaleOutForModify
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - scaleOutForInsert
    - scaleOutByVgroups
    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:152,1
    - Dst: scaleOutForMerge
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:154,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: 156
      start: 150
    functionDepth: 8
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: scaleOutForScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - scaleOutForMerge
    - scaleOutByVgroups
    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:161,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:165,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: 171
      start: 158
    functionDepth: 6
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: scaleOutForCompute
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - singleCloneSubLogicPlan
    - nodesListStrictAppend
    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:179,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:181,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:191,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pParentsGroup
    - pCurrentGroup
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 200
    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:179,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 186
    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:191,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 5
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 115
    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:191,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 115
    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:203,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    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:211,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:215,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:219,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pParentsGroup
    - pCurrentGroup
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 230
    functionName: pushHierarchicalPlanForNormal
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesListAppend
    - LIST_LENGTH
    - 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:215,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:219,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 115
    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:219,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 115
    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:233,1
    - Dst: pushHierarchicalPlanForCompute
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:234,1
    - Dst: pushHierarchicalPlanForNormal
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pParentsGroup
    - pCurrentGroup
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 6
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: pushHierarchicalPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - pushHierarchicalPlanForNormal
    - pushHierarchicalPlanForCompute
    - isComputeGroup
    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:241,1
    - Dst: scaleOutForMerge
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:248,1
    - Dst: scaleOutForScan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:252,1
    - Dst: scaleOutForModify
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:255,1
    - Dst: scaleOutForCompute
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:258,1
    - Dst: pushHierarchicalPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:265,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:270,1
    - Dst: doScaleOut
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:271,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:279,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:281,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: 285
      start: 239
    functionDepth: 10
    functionLinenumber: 239
    functionLinenumberEnd: 285
    functionName: doScaleOut
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 1
    functionsReached:
    - scaleOutForScan
    - scaleOutForMerge
    - nodesDestroyList
    - scaleOutForModify
    - nodesMakeList
    - doScaleOut
    - pushHierarchicalPlan
    - scaleOutForCompute
    - nodesClearList
    - FOREACH
    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:289,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:295,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 287
    functionDepth: 5
    functionLinenumber: 287
    functionLinenumberEnd: 302
    functionName: makeQueryLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesMakeList
    - nodesMakeNode
    linkageType: ''
    returnType: SQueryLogicPlan
    signature: SQueryLogicPlan * makeQueryLogicPlan()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeQueryLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:305,1
    - Dst: doScaleOut
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:311,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pLogicPlan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    - SQueryLogicPlan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 11
    functionLinenumber: 304
    functionLinenumberEnd: 319
    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:24,1
    - Dst: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:26,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planner.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: debugPrintNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - printf
    - 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:39,1
    - Dst: planDebugL
      Src: /src/tdengine/source/libs/planner/src/planner.c:41,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planner.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: dumpQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - planDebugL
    - 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:49,1
    - Dst: nodeType
      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: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:53,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:55,1
    - Dst: printPlanNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - level
    argTypes:
    - SLogicNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: printPlanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - nodesNodeName
    - nodeType
    - printf
    - printPlanNode
    - 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:63,1
    - Dst: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:65,1
    - Dst: printPlanNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:67,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:70,1
    - Dst: dumpLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pLogicSubplan
    - level
    argTypes:
    - SLogicSubplan*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: dumpLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - dumpLogicPlan
    - printf
    - printPlanNode
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void dumpLogicPlan(SLogicSubplan* pLogicSubplan, int32_t level)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesAcquireAllocator
      Src: /src/tdengine/source/libs/planner/src/planner.c:80,1
    - Dst: createLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:82,1
    - Dst: optimizeLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:85,1
    - Dst: splitLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:88,1
    - Dst: scaleOutLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:91,1
    - Dst: createPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:94,1
    - Dst: validateQueryPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:97,1
    - Dst: dumpQueryPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:100,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/planner/src/planner.c:102,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:104,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pPlan
    - pExecNodeList
    argTypes:
    - SPlanContext*
    - SQueryPlan**
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 76
    functionDepth: 21
    functionLinenumber: 76
    functionLinenumberEnd: 108
    functionName: qCreateQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached:
    - scaleOutLogicPlan
    - optimizeLogicPlan
    - splitLogicPlan
    - nodesAcquireAllocator
    - createLogicPlan
    - dumpQueryPlan
    - createPhysiPlan
    - nodesReleaseAllocator
    - nodesDestroyNode
    - validateQueryPlan
    linkageType: ''
    returnType: int32_t
    signature: int32_t qCreateQueryPlan(SPlanContext* pCxt, SQueryPlan** pPlan, SArray*
      pExecNodeList)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:112,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:116,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planner.c:118,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:121,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:125,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planner.c:127,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:132,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planner.c:134,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:141,1
    - Dst: setSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - pNode
    - groupId
    - pSource
    argTypes:
    - SPhysiNode*
    - int32_t
    - SDownstreamSourceNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 110
    functionDepth: 6
    functionLinenumber: 110
    functionLinenumberEnd: 148
    functionName: setSubplanExecutionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodeType
    - setSubplanExecutionNode
    - nodesCloneNode
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t setSubplanExecutionNode(SPhysiNode* pNode, int32_t groupId,
      SDownstreamSourceNode* pSource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPostPlan
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    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:156,1
    - Dst: setSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - subplan
    - groupId
    - pSource
    argTypes:
    - SSubplan*
    - int32_t
    - SDownstreamSourceNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 7
    functionLinenumber: 155
    functionLinenumberEnd: 158
    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:161,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planner.c:163,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:164,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planner.c:166,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:168,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planner.c:168,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:172,1
    - Dst: clearSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: clearSubplanExecutionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - nodeType
    - clearSubplanExecutionNode
    - NODES_DESTORY_LIST
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void clearSubplanExecutionNode(SPhysiNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planner.c:176,1
    - Dst: clearSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSubplan
    argTypes:
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 178
    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:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pSubplan
    - pStr
    - pLen
    argTypes:
    - SSubplan*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 189
    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:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pStr
    - pSubplan
    argTypes:
    - char*
    - SSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 191
    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:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pSubplan
    - pStr
    - pLen
    argTypes:
    - SSubplan*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 206
    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:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pStr
    - len
    - pSubplan
    argTypes:
    - char*
    - int32_t
    - SSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 5
    functionLinenumber: 208
    functionLinenumberEnd: 210
    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:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 5
    functionLinenumber: 212
    functionLinenumberEnd: 218
    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:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: qDestroyQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 2
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void qDestroyQueryPlan(SQueryPlan* pPlan)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:55,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:57,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:58,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - pFunc
    - pCol
    - isPartitionBy
    argTypes:
    - SFunctionNode*
    - SColumnNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: setColumnInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - snprintf
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: void setColumnInfo(SFunctionNode* pFunc, SColumnNode* pCol, bool isPartitionBy)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:91,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:96,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:97,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:98,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:100,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:115,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:116,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:117,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:119,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:121,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:127,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:128,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:129,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:132,1
    - Dst: setColumnInfo
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:133,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 151
    functionName: doRewriteExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - nodeType
    - setColumnInfo
    - nodesMakeNode
    - nodesDestroyNode
    - nodesEqualNode
    - FOREACH
    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:154,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: doNameExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - rewriteExprAliasName
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doNameExpr(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:171,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:175,1
    - Dst: nodesRewriteSelectStmt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:177,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pExpr
    - pSelect
    - clause
    argTypes:
    - SNode*
    - SSelectStmt*
    - ESqlClause
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: rewriteExprForSelect
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - nodesRewriteSelectStmt
    - nodesClearList
    - nodesListMakeAppend
    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:190,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:192,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pExprs
    - pOutputs
    - pRewriteExpr
    argTypes:
    - SNodeList*
    - bool*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 6
    functionLinenumber: 183
    functionLinenumberEnd: 202
    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:190,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:192,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 6
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 121
    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:206,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:211,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:211,1
    - Dst: nodesRewriteSelectStmt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:216,1
    - Dst: cloneRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:218,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - pExprs
    - pSelect
    - clause
    - pRewriteExprs
    argTypes:
    - SNodeList*
    - SSelectStmt*
    - ESqlClause
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 204
    functionDepth: 7
    functionLinenumber: 204
    functionLinenumberEnd: 222
    functionName: rewriteExprsForSelect
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesRewriteSelectStmt
    - cloneRewriteExprs
    - nodesWalkExprs
    - taosMemoryCalloc
    - taosMemoryFree
    - LIST_LENGTH
    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:225,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pExprs
    - pTarget
    argTypes:
    - SNodeList*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 229
    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:232,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pExprs
    - pTarget
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 236
    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:240,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pOldRoot
    - pNewRoot
    argTypes:
    - SLogicPlanContext*
    - SLogicNode**
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 253
    functionName: pushLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListAppend
    - nodesMakeList
    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:258,1
    - Dst: pushLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:261,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:265,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: 268
      start: 255
    functionDepth: 5
    functionLinenumber: 255
    functionLinenumberEnd: 268
    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:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - FCreateSelectLogicNode
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 6
    functionLinenumber: 270
    functionLinenumberEnd: 273
    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:285,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:285,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:293,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: 299
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 299
    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: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    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:307,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:316,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:317,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:319,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - pTable
    - pSchema
    argTypes:
    - SRealTableNode*
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 323
    functionName: createFirstCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - hasPkInTable
    - tstrncpy
    - nodesMakeNode
    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:327,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:336,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:337,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pTable
    - pSchema
    argTypes:
    - SRealTableNode*
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 325
    functionDepth: 5
    functionLinenumber: 325
    functionLinenumberEnd: 340
    functionName: createInsColsScanCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:344,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:353,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:354,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - pTable
    - pSchema
    argTypes:
    - SVirtualTableNode*
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 342
    functionDepth: 5
    functionLinenumber: 342
    functionLinenumberEnd: 361
    functionName: createVtbFirstCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:367,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:375,1
    - Dst: createVtbFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SVirtualTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 6
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: addVtbPrimaryTsCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createVtbFirstCol
    - nodesListMakeStrictAppend
    - FOREACH
    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:382,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:382,1
    - Dst: createInsColsScanCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 6
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: addInsColumnScanCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_RET
    - createInsColsScanCol
    - nodesListMakeStrictAppend
    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:390,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:398,1
    - Dst: createFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 387
    functionDepth: 6
    functionLinenumber: 387
    functionLinenumberEnd: 401
    functionName: addPrimaryTsCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createFirstCol
    - nodesListMakeStrictAppend
    - FOREACH
    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:404,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:407,1
    - Dst: createFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 6
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: addSystableFirstCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - LIST_LENGTH
    - createFirstCol
    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:414,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:422,1
    - Dst: createFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 425
    functionName: addPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createFirstCol
    - nodesListMakeStrictAppend
    - FOREACH
    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:429,1
    - Dst: addPrimaryTsCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:431,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:432,1
    - Dst: addPrimaryKeyCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 427
    functionDepth: 7
    functionLinenumber: 427
    functionLinenumberEnd: 436
    functionName: addDefaultScanCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - addSystableFirstCol
    - hasPkInTable
    - addPrimaryTsCol
    - addPrimaryKeyCol
    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:441,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:446,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:447,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:448,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:449,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:450,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:456,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:459,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 4
    argNames:
    - pCxt
    - pRealTable
    - hasRepeatScanFuncs
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SRealTableNode*
    - bool
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 469
    functionName: makeScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - TSWAP
    - tstrncpy
    - TAOS_SET_OBJ_ALIGNED
    - nodesMakeNode
    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: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    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:485,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:488,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:497,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:500,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:510,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - pSelect
    - pScan
    - pRealTable
    argTypes:
    - SSelectStmt*
    - SScanLogicNode*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 473
    functionDepth: 7
    functionLinenumber: 473
    functionLinenumberEnd: 512
    functionName: updateScanNoPseudoRefAfterGrp
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - nodesCollectColumns
    - nodesDestroyList
    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:517,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:525,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:529,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:534,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:539,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:544,1
    - Dst: updateScanNoPseudoRefAfterGrp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:549,1
    - Dst: getScanType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:553,1
    - Dst: SET_SYS_SCAN_FLAG
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:555,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:557,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:557,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:558,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:558,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:559,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:559,1
    - Dst: SET_HSYS_SCAN_FLAG
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:560,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:569,1
    - Dst: needScanDefaultCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:585,1
    - Dst: addDefaultScanCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:586,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:591,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:594,1
    - Dst: tagScanSetExecutionMode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:598,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:604,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:606,1
    - Dst: getParaTablesSortOptHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:616,1
    - Dst: getSmallDataTsSortOptHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:617,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:620,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pRealTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SRealTableNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 514
    functionDepth: 8
    functionLinenumber: 514
    functionLinenumberEnd: 625
    functionName: createScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - SET_SYS_SCAN_FLAG
    - getParaTablesSortOptHint
    - keysHasCol
    - updateScanNoPseudoRefAfterGrp
    - makeScanLogicNode
    - strcmp
    - needScanDefaultCol
    - rewriteExprsForSelect
    - nodesCollectColumns
    - nodesCollectFuncs
    - tagScanSetExecutionMode
    - SET_HSYS_SCAN_FLAG
    - tNameGetTableName
    - getSmallDataTsSortOptHint
    - createColumnByRewriteExprs
    - getScanType
    - nodesDestroyNode
    - nodesCloneNode
    - addDefaultScanCol
    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:632,1
    - Dst: makeScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:632,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:636,1
    - Dst: addDefaultScanCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:636,1
    - Dst: getScanType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:638,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:640,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:640,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pRealTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SRealTableNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 627
    functionDepth: 8
    functionLinenumber: 627
    functionLinenumberEnd: 648
    functionName: createRefScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getScanType
    - PLAN_ERR_RET
    - makeScanLogicNode
    - nodesCloneNode
    - addDefaultScanCol
    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:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - STempTableNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 653
    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:657,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:657,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:661,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:661,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:663,1
    - Dst: nodesCollectColumnsExt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:666,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pSelect
    - pJoin
    - pCols
    argTypes:
    - SSelectStmt*
    - SJoinLogicNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 655
    functionDepth: 7
    functionLinenumber: 655
    functionLinenumberEnd: 672
    functionName: collectJoinResColumns
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectColumnsExt
    - nodesListGetNode
    - collectTableAliasFromNodes
    - tSimpleHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectJoinResColumns(SSelectStmt* pSelect, SJoinLogicNode*
      pJoin, SNodeList** pCols)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:678,1
    - Dst: getHashJoinOptHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:690,1
    - Dst: getBatchScanOptionFromHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:691,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:698,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:700,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:703,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:706,1
    - Dst: doCreateLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:713,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:715,1
    - Dst: doCreateLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:724,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:726,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:732,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:740,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:741,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:743,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:749,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:751,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:757,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:758,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:761,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:761,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:763,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:770,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:772,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:776,1
    - Dst: collectJoinResColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:786,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:788,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:790,1
    - Dst: rewriteTargetsWithResId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:794,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:798,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:806,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 105
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pJoinTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SJoinTableNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 674
    functionDepth: 8
    functionLinenumber: 674
    functionLinenumberEnd: 810
    functionName: createJoinLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - createColumnByRewriteExprs
    - nodesListStrictAppendList
    - nodeType
    - nodesDestroyNode
    - rewriteTargetsWithResId
    - nodesDestroyList
    - getHashJoinOptHint
    - getBatchScanOptionFromHint
    - nodesMakeList
    - nodesMakeNode
    - doCreateLogicNodeByTable
    - nodesCloneList
    - collectJoinResColumns
    - nodesCloneNode
    - nodesCollectColumns
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createJoinLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SJoinTableNode* pJoinTable,\n                                   SLogicNode**
      pLogicNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:815,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:816,1
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:817,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - refTableList
    - dbName
    - tableName
    - pRefTable
    argTypes:
    - SNodeList*
    - char*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 821
    functionName: findRefTableNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - PLAN_RET
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t findRefTableNode(SNodeList *refTableList, const char *dbName,
      const char *tableName, SNode **pRefTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:815,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:816,1
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:817,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 819
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 124
    functionsReached:
    - strcasecmp
    - PLAN_RET
    - nodesCloneNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pRef, refTableList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:826,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: 833
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 833
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:839,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:839,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:841,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:842,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:843,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:844,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:846,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:847,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:848,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:849,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:853,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:854,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:862,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:863,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:864,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:865,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:866,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:882,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:882,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:885,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 5
    argNames:
    - pLogicNode
    - colRef
    - pVirtualTableNode
    - pSchema
    - colId
    argTypes:
    - SLogicNode*
    - SColRef*
    - STableNode*
    - SSchema*
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 835
    functionDepth: 5
    functionLinenumber: 835
    functionLinenumberEnd: 887
    functionName: scanAddCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - nodesMakeNode
    - nodesDestroyNode
    - strncmp
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t scanAddCol(SLogicNode* pLogicNode, SColRef* colRef, STableNode*
      pVirtualTableNode, const SSchema* pSchema, col_id_t colId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - vtbSchema
    - refSchema
    argTypes:
    - SSchema*
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 897
    functionName: checkColRefType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkColRefType(const SSchema* vtbSchema, const SSchema* refSchema)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:909,1
    - Dst: findRefTableNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:909,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:910,1
    - Dst: findRefColId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:910,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:913,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:914,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:915,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:917,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:917,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:919,1
    - Dst: createRefScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:919,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:920,1
    - Dst: checkColRefType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:920,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:921,1
    - Dst: scanAddCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:921,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:922,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:922,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:922,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:926,1
    - Dst: checkColRefType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:926,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:927,1
    - Dst: scanAddCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:927,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:930,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:933,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 6
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - colRefIndex
    - schemaIndex
    - refTablesMap
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - int32_t
    - int32_t
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 899
    functionDepth: 9
    functionLinenumber: 899
    functionLinenumberEnd: 938
    functionName: addSubScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - findRefTableNode
    - taosHashGet
    - strlen
    - scanAddCol
    - taosHashPut
    - findRefColId
    - strcat
    - PLAN_ERR_JRET
    - nodesDestroyNode
    - createRefScanLogicNode
    - checkColRefType
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addSubScanNode(SLogicPlanContext* pCxt, SSelectStmt* pSelect,
      SVirtualTableNode* pVirtualTable,\n                              int32_t colRefIndex,
      int32_t schemaIndex, SHashObj *refTablesMap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:942,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:948,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pVirtualTable
    - pScan
    argTypes:
    - SLogicPlanContext*
    - SVirtualTableNode*
    - SVirtualScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 951
    functionName: makeVirtualScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - TSWAP
    - tstrncpy
    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:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 953
    functionDepth: 4
    functionLinenumber: 953
    functionLinenumberEnd: 959
    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: 968
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 968
    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: 977
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 977
    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:982,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:982,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:982,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:993,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:994,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:995,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:996,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:997,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:998,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:998,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:999,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1001,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1001,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1001,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - pScanCols
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 1008
    functionName: eliminateDupScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - taosHashInit
    - taosHashPut
    - strcat
    - ERASE_NODE
    - PLAN_ERR_JRET
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t eliminateDupScanCols(SNodeList* pScanCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:993,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:994,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:995,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:996,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:997,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:998,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:998,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:999,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1001,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1001,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1001,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1003
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 125
    functionsReached:
    - taosHashGet
    - strlen
    - taosHashPut
    - strcat
    - ERASE_NODE
    - PLAN_ERR_JRET
    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:1015,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1016,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SVgroupsInfo**
    - SVgroupsInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1022
    functionName: cloneVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - VGROUPS_INFO_SIZE
    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:1029,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1029,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1031,1
    - Dst: cloneVgroups
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1031,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1037,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1040,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1041,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1047,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1047,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1051,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1051,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1059,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pVirtualScan
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualScanLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1024
    functionDepth: 7
    functionLinenumber: 1024
    functionLinenumberEnd: 1062
    functionName: createTagScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - createColumnByRewriteExprs
    - cloneVgroups
    - TAOS_SET_OBJ_ALIGNED
    - PLAN_ERR_JRET
    - nodesMakeNode
    - nodesCloneList
    - nodesDestroyNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTagScanLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SVirtualScanLogicNode* pVirtualScan,\n                                      SLogicNode**
      pLogicNode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1076,1
    - Dst: createScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1076,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1076,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1078,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1078,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1082,1
    - Dst: addVtbPrimaryTsCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1082,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1084,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1094,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1101,1
    - Dst: scanAddCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1101,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1104,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1104,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1108,1
    - Dst: createTagScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1108,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1117,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1117,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1119,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1119,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1122,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1122,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1123,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1123,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1127,1
    - Dst: createScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1127,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1127,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1128,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1129,1
    - Dst: addInsColumnScanCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1129,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1129,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1130,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1130,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1135,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1135,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1150,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1150,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1151,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1151,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1157,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1158,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1159,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1159,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1160,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1160,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1161,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1161,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1162,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1170,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1171,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 5
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - pVtableScan
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - SVirtualScanLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1064
    functionDepth: 9
    functionLinenumber: 1064
    functionLinenumberEnd: 1174
    functionName: createVirtualSuperTableLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - addVtbPrimaryTsCol
    - nodesCloneList
    - nodesListGetNode
    - scanAddCol
    - nodesMakeNode
    - TSWAP
    - createScanLogicNode
    - planError
    - tstrncpy
    - nodesMakeValueNodeFromInt32
    - PLAN_ERR_JRET
    - nodesListStrictAppend
    - createTagScanLogicNode
    - nodesListMakeStrictAppend
    - addInsColumnScanCol
    - nodesDestroyList
    - createColumnByRewriteExprs
    - nodesDestroyNode
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createVirtualSuperTableLogicNode(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect,\n                                                SVirtualTableNode*
      pVirtualTable, SVirtualScanLogicNode* pVtableScan,\n                                                SLogicNode**
      pLogicNode)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1185,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1185,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1185,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1187,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1192,1
    - Dst: addVtbPrimaryTsCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1192,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1195,1
    - Dst: eliminateDupScanCols
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1195,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1197,1
    - Dst: findColRefIndex
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1199,1
    - Dst: findSchemaIndex
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1200,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1203,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1206,1
    - Dst: addSubScanNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1206,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1215,1
    - Dst: createTagScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1215,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1220,1
    - Dst: findColRefIndex
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1225,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1227,1
    - Dst: addSubScanNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1227,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1235,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1237,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1237,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1238,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1238,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1242,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1242,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1246,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1246,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1247,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1247,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1250,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1253,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1253,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1254,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1255,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 5
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - pVtableScan
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - SVirtualScanLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1176
    functionDepth: 10
    functionLinenumber: 1176
    functionLinenumberEnd: 1257
    functionName: createVirtualNormalChildTableLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosHashIterate
    - addVtbPrimaryTsCol
    - findColRefIndex
    - eliminateDupScanCols
    - findSchemaIndex
    - planError
    - taosHashSetFreeFp
    - taosHashClear
    - PLAN_ERR_JRET
    - taosGetDefaultHashFunction
    - nodesListStrictAppend
    - createTagScanLogicNode
    - addSubScanNode
    - createColumnByRewriteExprs
    - taosHashInit
    - taosHashCleanup
    - LIST_LENGTH
    - FOREACH
    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:1265,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1265,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1267,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1267,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1269,1
    - Dst: makeVirtualScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1269,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1271,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1271,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1274,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1274,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1277,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1277,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1280,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1280,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1284,1
    - Dst: createVirtualSuperTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1284,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1289,1
    - Dst: createVirtualSuperTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1289,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1291,1
    - Dst: createVirtualNormalChildTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1291,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1296,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1302,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1302,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1260
    functionDepth: 11
    functionLinenumber: 1260
    functionLinenumberEnd: 1305
    functionName: createVirtualTableLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - makeVirtualScanLogicNode
    - nodesCollectFuncs
    - createVirtualSuperTableLogicNode
    - tstrerror
    - createVirtualNormalChildTableLogicNode
    - rewriteExprsForSelect
    - PLAN_ERR_JRET
    - nodesMakeList
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCollectColumns
    - planError
    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:1310,1
    - Dst: createScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1312,1
    - Dst: createSubqueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1314,1
    - Dst: createJoinLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1316,1
    - Dst: createVirtualTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1318,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1323,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1307
    functionDepth: 12
    functionLinenumber: 1307
    functionLinenumberEnd: 1325
    functionName: doCreateLogicNodeByTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - nodeType
    - createJoinLogicNode
    - createVirtualTableLogicNode
    - createScanLogicNode
    - createSubqueryLogicNode
    - planError
    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:1331,1
    - Dst: doCreateLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1331,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1333,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1333,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1340,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1340,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1327
    functionDepth: 13
    functionLinenumber: 1327
    functionLinenumberEnd: 1343
    functionName: createLogicNodeByTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - PLAN_ERR_JRET
    - doCreateLogicNodeByTable
    - nodesDestroyNode
    - nodesCloneNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createLogicNodeByTable(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SNode* pTable,\n                                      SLogicNode**
      pLogicNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1347,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1352,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pStmtName
    - pExpr
    argTypes:
    - char*
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1345
    functionDepth: 5
    functionLinenumber: 1345
    functionLinenumberEnd: 1358
    functionName: createColumnByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - nodesMakeNode
    linkageType: ''
    returnType: SColumnNode
    signature: SColumnNode * createColumnByExpr(const char* pStmtName, SExprNode*
      pExpr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1364,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1370,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pExpr
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1360
    functionDepth: 6
    functionLinenumber: 1360
    functionLinenumberEnd: 1378
    functionName: createGroupingSetNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - nodesMakeNode
    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:1381,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1383
    functionName: isWindowJoinStmt
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - IS_WINDOW_JOIN
    - nodeType
    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: 1389
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1389
    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: 1394
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    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:1400,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1415,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1420,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1422,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1427,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1428,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1429,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1430,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1431,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1432,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1437,1
    - Dst: createGroupKeyAggFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1442,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1444,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1448,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1450,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 2
    argNames:
    - pSelect
    - pList
    argTypes:
    - SSelectStmt*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1396
    functionDepth: 7
    functionLinenumber: 1396
    functionLinenumberEnd: 1454
    functionName: addWinJoinPrimKeyToAggFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - tstrncpy
    - createGroupKeyAggFunc
    - nodesDestroyList
    - nodesMakeList
    - nodesMakeNode
    - 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:1462,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1467,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1473,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1474,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1480,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1485,1
    - Dst: nodesListDeduplicate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1489,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1492,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1499,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1504,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1509,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1514,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1516,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1519,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1521,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1522,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1528,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1456
    functionDepth: 8
    functionLinenumber: 1456
    functionLinenumberEnd: 1532
    functionName: createAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - createColumnByRewriteExprs
    - getGroupAction
    - getRequireDataOrder
    - rewriteExprsForSelect
    - nodesDestroyNode
    - isWindowJoinStmt
    - nodesDestroyList
    - keysHasTbname
    - nodesMakeNode
    - nodesListDeduplicate
    - 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:1541,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1549,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1550,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1554,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1556,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1561,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1567,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1534
    functionDepth: 8
    functionLinenumber: 1534
    functionLinenumberEnd: 1571
    functionName: createIndefRowsFuncLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - createColumnByRewriteExprs
    - getGroupAction
    - getRequireDataOrder
    - nodesMakeNode
    - 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:1574,1
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1574,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1574,1
    - Dst: fmisSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1576
    functionName: isInterpFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 2
    functionsReached:
    - fmisSelectGroupConstValueFunc
    - fmIsInterpFunc
    - fmIsGroupKeyFunc
    - fmIsInterpPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: bool isInterpFunc(int32_t funcId)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1584,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1589,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1590,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1594,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1596,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1604,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1606,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1618,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1628,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1634,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1578
    functionDepth: 8
    functionLinenumber: 1578
    functionLinenumberEnd: 1638
    functionName: createInterpFuncLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - createColumnByRewriteExprs
    - getGroupAction
    - getRequireDataOrder
    - nodeType
    - nodesMakeNode
    - rewriteExprsForSelect
    - 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:1641,1
    - Dst: fmIsAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1641,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1641,1
    - Dst: fmisSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1643
    functionName: isForecastFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - fmIsForecastFunc
    - fmisSelectGroupConstValueFunc
    - fmIsGroupKeyFunc
    - fmIsAnalysisPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: bool isForecastFunc(int32_t funcId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1651,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1656,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1657,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1661,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1663,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1668,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1645
    functionDepth: 8
    functionLinenumber: 1645
    functionLinenumberEnd: 1678
    functionName: createForecastFuncLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - createColumnByRewriteExprs
    - getGroupAction
    - getRequireDataOrder
    - nodesMakeNode
    - rewriteExprsForSelect
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createForecastFuncLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsImputationFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1681,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1681,1
    - Dst: fmisSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1681,1
    - Dst: fmIsAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1680
    functionDepth: 1
    functionLinenumber: 1680
    functionLinenumberEnd: 1683
    functionName: isImputationFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - fmIsImputationFunc
    - fmisSelectGroupConstValueFunc
    - fmIsGroupKeyFunc
    - fmIsAnalysisPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: bool isImputationFunc(int32_t funcId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1691,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1696,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1697,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1701,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1703,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1708,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1714,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1685
    functionDepth: 8
    functionLinenumber: 1685
    functionLinenumberEnd: 1718
    functionName: createImputationFuncLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - createColumnByRewriteExprs
    - getGroupAction
    - getRequireDataOrder
    - nodesMakeNode
    - rewriteExprsForSelect
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createImputationFuncLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1725,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1727,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1731,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1735,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pWindow
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SWindowLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1720
    functionDepth: 8
    functionLinenumber: 1720
    functionLinenumberEnd: 1747
    functionName: createWindowLogicNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - rewriteExprsForSelect
    - createColumnByRewriteExprs
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeFinalize(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SWindowLogicNode* pWindow,\n                                             SLogicNode**
      pLogicNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1758,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1760,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1762,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1762,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1763,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1763,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1764,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1764,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1770,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1770,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1771,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1771,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1772,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1772,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1776,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1778,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1780,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1780,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1781,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1781,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1782,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pWindow
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SWindowLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1749
    functionDepth: 8
    functionLinenumber: 1749
    functionLinenumberEnd: 1791
    functionName: createExternalWindowLogicNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - createColumnByRewriteExprs
    - getRequireDataOrder
    - nodesDestroyList
    - rewriteExprsForSelect
    - PLAN_ERR_RET
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createExternalWindowLogicNodeFinalize(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect, SWindowLogicNode* pWindow,\n                                                     SLogicNode**
      pLogicNode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1796,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1802,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1803,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1806,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1808,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1811,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1813,1
    - Dst: rewriteExprForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1823,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1825,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - pCxt
    - pState
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SStateWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1793
    functionDepth: 9
    functionLinenumber: 1793
    functionLinenumberEnd: 1831
    functionName: createWindowLogicNodeByState
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - getGroupAction
    - getRequireDataOrder
    - rewriteExprForSelect
    - createWindowLogicNodeFinalize
    - nodesMakeNode
    - 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:1836,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1844,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1845,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1849,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1851,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1855,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1857,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pSession
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSessionWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1833
    functionDepth: 9
    functionLinenumber: 1833
    functionLinenumberEnd: 1862
    functionName: createWindowLogicNodeBySession
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - getGroupAction
    - getRequireDataOrder
    - createWindowLogicNodeFinalize
    - nodesMakeNode
    - 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:1867,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1880,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1881,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1882,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1884,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1886,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1889,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - pInterval
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SIntervalWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1864
    functionDepth: 9
    functionLinenumber: 1864
    functionLinenumberEnd: 1893
    functionName: createWindowLogicNodeByInterval
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - getGroupAction
    - getRequireDataOrder
    - createWindowLogicNodeFinalize
    - keysHasTbname
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeByInterval(SLogicPlanContext* pCxt, SIntervalWindowNode*
      pInterval,\n                                               SSelectStmt* pSelect,
      SLogicNode** pLogicNode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1898,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1904,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1905,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1908,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1910,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1913,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1915,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1918,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1920,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1924,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - pCxt
    - pEvent
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SEventWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1895
    functionDepth: 9
    functionLinenumber: 1895
    functionLinenumberEnd: 1931
    functionName: createWindowLogicNodeByEvent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - getGroupAction
    - getRequireDataOrder
    - createWindowLogicNodeFinalize
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    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:1938,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1938,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1941,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1942,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1947,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1947,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1949,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1949,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1952,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1952,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1956,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pCount
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SCountWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1933
    functionDepth: 9
    functionLinenumber: 1933
    functionLinenumberEnd: 1959
    functionName: createWindowLogicNodeByCount
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - getGroupAction
    - getRequireDataOrder
    - nodesDestroyNode
    - PLAN_ERR_JRET
    - createWindowLogicNodeFinalize
    - nodesMakeNode
    - nodesCloneList
    - nodesCloneNode
    - planError
    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:1964,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1970,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1971,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1975,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1977,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1981,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1984,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1986,1
    - Dst: rewriteExprForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1991,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1993,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1995,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - pCxt
    - pAnomaly
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SAnomalyWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1961
    functionDepth: 9
    functionLinenumber: 1961
    functionLinenumberEnd: 1999
    functionName: createWindowLogicNodeByAnomaly
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - getGroupAction
    - getRequireDataOrder
    - rewriteExprForSelect
    - createWindowLogicNodeFinalize
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeByAnomaly(SLogicPlanContext* pCxt, SAnomalyWindowNode*
      pAnomaly,\n                                              SSelectStmt* pSelect,
      SLogicNode** pLogicNode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2005,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2016,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2023,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2033,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2033,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2036,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2037,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2041,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2041,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2048,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2049,1
    - Dst: createExternalWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2054,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - pCxt
    - pExternal
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SExternalWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2002
    functionDepth: 9
    functionLinenumber: 2002
    functionLinenumberEnd: 2055
    functionName: createWindowLogicNodeByExternal
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createExternalWindowLogicNodeFinalize
    - nodeType
    - nodesDestroyNode
    - nodesMakeNode
    - PLAN_ERR_RET
    - nodesCloneNode
    - planError
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeByExternal(SLogicPlanContext* pCxt, SExternalWindowNode*
      pExternal,\n                                               SSelectStmt* pSelect,
      SLogicNode** pLogicNode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2061,1
    - Dst: createWindowLogicNodeByState
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2063,1
    - Dst: createWindowLogicNodeBySession
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2065,1
    - Dst: createWindowLogicNodeByInterval
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2067,1
    - Dst: createWindowLogicNodeByEvent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2069,1
    - Dst: createWindowLogicNodeByCount
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2071,1
    - Dst: createWindowLogicNodeByAnomaly
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2057
    functionDepth: 10
    functionLinenumber: 2057
    functionLinenumberEnd: 2081
    functionName: createWindowLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createWindowLogicNodeByCount
    - nodeType
    - createWindowLogicNodeByInterval
    - createWindowLogicNodeByEvent
    - createWindowLogicNodeByState
    - createWindowLogicNodeByAnomaly
    - createWindowLogicNodeBySession
    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:2094,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2099,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2101,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2118,1
    - Dst: nodesIsBasicArithmeticOp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2120,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2126,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2092
    functionDepth: 3
    functionLinenumber: 2092
    functionLinenumberEnd: 2132
    functionName: conditionOnlyPhAndConstImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - nodesIsBasicArithmeticOp
    - nodeType
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes conditionOnlyPhAndConstImpl(SNode* pNode, void* pContext)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - startType
    - endType
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2155
    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:2167,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2167,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2190,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2191,1
    - Dst: placeHolderCanMakeExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2194,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 17
    argCount: 2
    argNames:
    - pStart
    - pEnd
    argTypes:
    - SOperatorNode*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2157
    functionDepth: 3
    functionLinenumber: 2157
    functionLinenumberEnd: 2198
    functionName: filterHasPlaceHolderRange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - placeHolderCanMakeExternalWindow
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool filterHasPlaceHolderRange(SOperatorNode *pStart, SOperatorNode
      *pEnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2202,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2203,1
    - Dst: filterHasPlaceHolderRange
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pTimeRange
    argTypes:
    - STimeRangeNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2200
    functionDepth: 4
    functionLinenumber: 2200
    functionLinenumberEnd: 2211
    functionName: timeRangeSatisfyExternalWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - filterHasPlaceHolderRange
    - nodeType
    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:2223,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2223,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2225,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2225,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2228,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2231,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pHasPlaceHolder
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2213
    functionDepth: 4
    functionLinenumber: 2213
    functionLinenumberEnd: 2234
    functionName: conditionHasPlaceHolder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - PAR_ERR_JRET
    - filterPartitionCond
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t conditionHasPlaceHolder(SNode* pNode, bool* pHasPlaceHolder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2239,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2240,1
    - Dst: timeRangeSatisfyExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2243,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2249,1
    - Dst: conditionHasPlaceHolder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2249,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2255,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2255,1
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2257,1
    - Dst: createWindowLogicNodeByExternal
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2257,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2236
    functionDepth: 10
    functionLinenumber: 2236
    functionLinenumberEnd: 2258
    functionName: createExternalWindowLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - PLAN_RET
    - conditionHasPlaceHolder
    - PAR_ERR_RET
    - nodesMakeNode
    - PLAN_ERR_RET
    - createWindowLogicNodeByExternal
    - timeRangeSatisfyExternalWindow
    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:2279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2276
    functionDepth: 3
    functionLinenumber: 2276
    functionLinenumberEnd: 2284
    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:2279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2278
    functionDepth: 3
    functionLinenumber: 2278
    functionLinenumberEnd: 2282
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 128
    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:2289,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2295,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2300,1
    - Dst: nodeAlreadyContained
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2306,1
    - Dst: nodeAlreadyContained
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2307,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2308,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2286
    functionDepth: 6
    functionLinenumber: 2286
    functionLinenumberEnd: 2316
    functionName: needFillValueImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeAlreadyContained
    - nodesListMakeStrictAppend
    - nodeType
    - taosHashPut
    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:2318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SNode*
    - SWalkFillSubExprCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2318
    functionDepth: 3
    functionLinenumber: 2318
    functionLinenumberEnd: 2318
    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:2324,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2330,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2331,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2333,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pCollectFillCtx
    argTypes:
    - SNode*
    - SCollectFillExprsCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2320
    functionDepth: 6
    functionLinenumber: 2320
    functionLinenumberEnd: 2340
    functionName: collectFillExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesCloneNode
    - needFillValue
    - 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:2347,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2347,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2350,1
    - Dst: collectFillExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2351,1
    - Dst: collectFillExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2356,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2359,1
    - Dst: collectFillExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2360,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2365,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2368,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2370,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2373,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2375,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2380,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2381,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2382,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2386,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2387,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2388,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2390,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 4
    argNames:
    - pSelect
    - pFillExprs
    - pNotFillExprs
    - pPossibleFillNullCols
    argTypes:
    - SSelectStmt*
    - SNodeList**
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2342
    functionDepth: 7
    functionLinenumber: 2342
    functionLinenumberEnd: 2392
    functionName: collectFillExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - taosHashInit
    - taosHashCancelIterate
    - taosHashIterate
    - nodesDestroyList
    - taosGetDefaultHashFunction
    - TSWAP
    - taosHashCleanup
    - collectFillExpr
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t collectFillExprs(SSelectStmt* pSelect, SNodeList** pFillExprs,
      SNodeList** pNotFillExprs,\n                                SNodeList** pPossibleFillNullCols)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2395,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2406,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2411,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2412,1
    - Dst: collectFillExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2416,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2418,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2421,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2423,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2424,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2427,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2430,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2435,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2437,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2439,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2442,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2443,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2447,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2453,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2394
    functionDepth: 8
    functionLinenumber: 2394
    functionLinenumberEnd: 2457
    functionName: createFillLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createColumnByRewriteExprs
    - getGroupAction
    - collectFillExprs
    - getRequireDataOrder
    - nodeType
    - rewriteExprsForSelect
    - nodesMakeNode
    - createColumnByRewriteExpr
    - nodesDestroyNode
    - TSWAP
    - nodesCloneNode
    - LIST_LENGTH
    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:2460,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2461,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pOrderByList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2459
    functionDepth: 1
    functionLinenumber: 2459
    functionLinenumberEnd: 2465
    functionName: isPrimaryKeySort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - isPrimaryKeyImpl
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isPrimaryKeySort(SNodeList* pOrderByList)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2473,1
    - Dst: isPrimaryKeySort
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2481,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2485,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2490,1
    - Dst: rewriteTargetsWithResId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2492,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2496,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2496,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2498,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2504,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2507,1
    - Dst: isPrimaryKeySort
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2508,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2512,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2514,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2526,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2467
    functionDepth: 7
    functionLinenumber: 2467
    functionLinenumberEnd: 2530
    functionName: createSortLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodeType
    - nodesDestroyNode
    - rewriteTargetsWithResId
    - strcmp
    - isPrimaryKeySort
    - nodesMakeNode
    - nodesCloneList
    - nodesCloneNode
    - nodesCollectColumns
    - FOREACH
    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:2535,1
    - Dst: createColumnByExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2543,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2544,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pStmtName
    - pExprs
    - pCols
    argTypes:
    - SLogicPlanContext*
    - char*
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2532
    functionDepth: 6
    functionLinenumber: 2532
    functionLinenumberEnd: 2553
    functionName: createColumnByProjections
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createColumnByExpr
    - nodesMakeList
    - nodesListStrictAppend
    - nodesDestroyList
    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:2543,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2544,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2542
    functionDepth: 6
    functionLinenumber: 2542
    functionLinenumberEnd: 2549
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 130
    functionsReached:
    - createColumnByExpr
    - nodesListStrictAppend
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pExprs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2557,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2562,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2563,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2571,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2572,1
    - Dst: createColumnByProjections
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2575,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2555
    functionDepth: 7
    functionLinenumber: 2555
    functionLinenumberEnd: 2585
    functionName: createProjectLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createColumnByProjections
    - tstrncpy
    - nodesMakeNode
    - nodesCloneList
    - TSWAP
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createProjectLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2593,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2602,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2605,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2605,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2607,1
    - Dst: rewriteTargetsWithResId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2611,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2616,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2621,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2624,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2625,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2636,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2642,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2587
    functionDepth: 7
    functionLinenumber: 2587
    functionLinenumberEnd: 2646
    functionName: createPartitionLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesCollectFuncs
    - nodesListMakeStrictAppend
    - nodeType
    - nodesDestroyNode
    - rewriteTargetsWithResId
    - keysHasCol
    - nodesMakeNode
    - nodesCloneList
    - nodesCloneNode
    - nodesCollectColumns
    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:2654,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2666,1
    - Dst: createGroupingSetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2668,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2670,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2673,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2683,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2688,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2694,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2648
    functionDepth: 8
    functionLinenumber: 2648
    functionLinenumberEnd: 2698
    functionName: createDistinctLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createColumnByRewriteExprs
    - nodesListMakeStrictAppend
    - rewriteExprsForSelect
    - createGroupingSetNode
    - nodesDestroyList
    - nodesMakeNode
    - nodesDestroyNode
    - FOREACH
    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:2702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2700
    functionDepth: 8
    functionLinenumber: 2700
    functionLinenumberEnd: 2703
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: createLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2707,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2709,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2712,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2715,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2718,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2721,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2724,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2727,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2730,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2733,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2736,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2739,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2742,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2748,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2705
    functionDepth: 14
    functionLinenumber: 2705
    functionLinenumberEnd: 2752
    functionName: createSelectFromLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createLogicNodeByTable
    - nodesDestroyNode
    - createSelectRootLogicNode
    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:2757,1
    - Dst: createSelectFromLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2759,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2754
    functionDepth: 15
    functionLinenumber: 2754
    functionLinenumberEnd: 2766
    functionName: createSelectLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createSelectFromLogicNode
    - createSelectWithoutFromLogicNode
    - 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:2770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSetOperator
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - FCreateSetOpLogicNode
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2768
    functionDepth: 6
    functionLinenumber: 2768
    functionLinenumberEnd: 2771
    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:2779,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2784,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2787,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2791,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2773
    functionDepth: 5
    functionLinenumber: 2773
    functionLinenumberEnd: 2801
    functionName: createSetOpSortLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - TSWAP
    - nodesDestroyNode
    - nodesMakeNode
    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:2806,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2812,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2818,1
    - Dst: createColumnByProjections
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2821,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2803
    functionDepth: 7
    functionLinenumber: 2803
    functionLinenumberEnd: 2832
    functionName: createSetOpProjectLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createColumnByProjections
    - nodesMakeNode
    - nodesCloneList
    - TSWAP
    - nodesDestroyNode
    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:2836,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2842,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2846,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2850,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2855,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2861,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2834
    functionDepth: 7
    functionLinenumber: 2834
    functionLinenumberEnd: 2865
    functionName: createSetOpAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - rewriteExprs
    - nodesMakeNode
    - createColumnByRewriteExprs
    - nodesCloneList
    - TSWAP
    - nodesDestroyNode
    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:2872,1
    - Dst: createSetOpAggLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2875,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2884,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2887,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2891,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2894,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2901,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2867
    functionDepth: 8
    functionLinenumber: 2867
    functionLinenumberEnd: 2905
    functionName: createSetOpLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesListMakeStrictAppend
    - createSetOpAggLogicNode
    - createSetOpProjectLogicNode
    - createQueryLogicNode
    - nodesDestroyNode
    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:2910,1
    - Dst: createSetOpRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2912,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2907
    functionDepth: 9
    functionLinenumber: 2907
    functionLinenumberEnd: 2922
    functionName: createSetOperatorLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createSetOpLogicNode
    - nodesDestroyNode
    - createSetOpRootLogicNode
    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: 2944
      start: 2924
    functionDepth: 0
    functionLinenumber: 2924
    functionLinenumberEnd: 2944
    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:2948,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2953,1
    - Dst: getMsgType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SVnodeModifyOpStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2946
    functionDepth: 5
    functionLinenumber: 2946
    functionLinenumberEnd: 2957
    functionName: createVnodeModifLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - getMsgType
    - TSWAP
    - nodesMakeNode
    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:2961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pDelete
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - FCreateDeleteLogicNode
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2959
    functionDepth: 6
    functionLinenumber: 2959
    functionLinenumberEnd: 2962
    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:2966,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2973,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2977,1
    - Dst: addPrimaryKeyCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2978,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2982,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2987,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2993,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2964
    functionDepth: 7
    functionLinenumber: 2964
    functionLinenumberEnd: 2997
    functionName: createDeleteScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - addPrimaryKeyCol
    - nodesDestroyNode
    - hasPkInTable
    - createColumnByRewriteExprs
    - nodesCloneList
    - makeScanLogicNode
    - nodesCloneNode
    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:3001,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3007,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3009,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3013,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3015,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3020,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3022,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3026,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3029,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3032,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3036,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3042,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3046
      start: 2999
    functionDepth: 7
    functionLinenumber: 2999
    functionLinenumberEnd: 3046
    functionName: createDeleteAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - createColumnByRewriteExprs
    - nodesListMakeStrictAppend
    - rewriteExpr
    - nodesMakeNode
    - nodesDestroyNode
    - 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:3051,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3061,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3062,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3065,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3067,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3070,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3072,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3075,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3077,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3083
      start: 3048
    functionDepth: 5
    functionLinenumber: 3048
    functionLinenumberEnd: 3083
    functionName: createVnodeModifLogicNodeByDelete
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - snprintf
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    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:3087,1
    - Dst: createDeleteRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3089,1
    - Dst: createDeleteRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3092,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3098,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 3085
    functionDepth: 8
    functionLinenumber: 3085
    functionLinenumberEnd: 3102
    functionName: createDeleteLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - createDeleteRootLogicNode
    - createDeleteScanLogicNode
    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:3106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pInsert
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SInsertStmt*
    - FCreateInsertLogicNode
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3107
      start: 3104
    functionDepth: 6
    functionLinenumber: 3104
    functionLinenumberEnd: 3107
    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:3112,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3123,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3124,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3126,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pInsert
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SInsertStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3109
    functionDepth: 5
    functionLinenumber: 3109
    functionLinenumberEnd: 3134
    functionName: createVnodeModifLogicNodeByInsert
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - nodesMakeNode
    - nodesCloneList
    - TSWAP
    - nodesDestroyNode
    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:3138,1
    - Dst: creatInsertRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3140,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pInsert
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SInsertStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3150
      start: 3136
    functionDepth: 7
    functionLinenumber: 3136
    functionLinenumberEnd: 3150
    functionName: createInsertLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createQueryLogicNode
    - creatInsertRootLogicNode
    - nodesDestroyNode
    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:3153,1
    - Dst: createSelectLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3155,1
    - Dst: createVnodeModifLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3157,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3159,1
    - Dst: createSetOperatorLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3161,1
    - Dst: createDeleteLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3163,1
    - Dst: createInsertLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3170
      start: 3152
    functionDepth: 16
    functionLinenumber: 3152
    functionLinenumberEnd: 3170
    functionName: createQueryLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 4
    functionsReached:
    - createDeleteLogicNode
    - nodeType
    - createQueryLogicNode
    - createVnodeModifLogicNode
    - createSelectLogicNode
    - createInsertLogicNode
    - createSetOperatorLogicNode
    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:3175,1
    - Dst: doSetLogicNodeParent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pParent
    argTypes:
    - SLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3176
      start: 3172
    functionDepth: 1
    functionLinenumber: 3172
    functionLinenumberEnd: 3176
    functionName: doSetLogicNodeParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - doSetLogicNodeParent
    - FOREACH
    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:3178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3178
      start: 3178
    functionDepth: 2
    functionLinenumber: 3178
    functionLinenumberEnd: 3178
    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:3181,1
    - Dst: IS_HSYS_SCAN
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3180
    functionDepth: 1
    functionLinenumber: 3180
    functionLinenumberEnd: 3193
    functionName: setLogicSubplanType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - IS_HSYS_SCAN
    - nodeType
    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:3199,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3207,1
    - Dst: setLogicNodeParent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3209,1
    - Dst: setLogicSubplanType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3210,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3211,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3221
      start: 3195
    functionDepth: 17
    functionLinenumber: 3195
    functionLinenumberEnd: 3221
    functionName: createLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - adjustLogicNodeDataRequirement
    - setLogicNodeParent
    - createQueryLogicNode
    - setLogicSubplanType
    - nodesMakeNode
    - nodesDestroyNode
    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
    - memcpy
    - VGROUPS_INFO_SIZE
    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:67,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:68,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:69,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:71,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:72,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:74,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:75,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pSubplan
    - pNode
    argTypes:
    - SLogicSubplan*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: splSetSubplanVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - splSetSubplanVgroups
    - nodesListGetNode
    - nodeType
    - TSWAP
    - LIST_LENGTH
    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:82,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:89,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:92,1
    - Dst: SPLIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - flag
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: splCreateScanSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - SPLIT_FLAG_SET_MASK
    - splSetSubplanVgroups
    - nodeType
    - nodesMakeNode
    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:98,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:103,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:104,1
    - Dst: splHasScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: splHasScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - splHasScan
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool splHasScan(SLogicNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splHasScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSubplan
    argTypes:
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 115
    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:119,1
    - Dst: splSetSubplanType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - ppSubplan
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - SLogicSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: splCreateSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splSetSubplanType
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t splCreateSubplan(SSplitContext* pCxt, SLogicNode* pNode, SLogicSubplan**
      ppSubplan)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:134,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:144,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:146,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:151,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - pCxt
    - pChild
    - pOutput
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - SExchangeLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 166
    functionName: splCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesCloneList
    - nodesDestroyNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t splCreateExchangeNode(SSplitContext* pCxt, SLogicNode* pChild,
      SExchangeLogicNode** pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - 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: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:179,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pSplitNode
    - subplanType
    - seqScan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - ESubplanType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 168
    functionDepth: 6
    functionLinenumber: 168
    functionLinenumberEnd: 187
    functionName: splCreateExchangeNodeForSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodeType
    - replaceLogicNode
    - splCreateExchangeNode
    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:190,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:195,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:201,1
    - Dst: splIsChildSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pLogicNode
    - groupId
    argTypes:
    - SLogicNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 208
    functionName: splIsChildSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - splIsChildSubplan
    - nodeType
    - FOREACH
    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:213,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:214,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:216,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pParent
    - pChildren
    argTypes:
    - SLogicSubplan*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 226
    functionName: splMountSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - ERASE_NODE
    - REPLACE_NODE
    - splIsChildSubplan
    - nodesListMakeAppend
    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:213,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:214,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:216,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 5
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 8
    functionsReached:
    - ERASE_NODE
    - REPLACE_NODE
    - splIsChildSubplan
    - nodesListMakeAppend
    linkageType: ''
    returnType: void
    signature: void WHERE_EACH(pChild, pChildren)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:230,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:234,1
    - Dst: splMatchByNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:235,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: 240
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: splMatchByNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - func
    - splMatchByNode
    - FOREACH
    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:243,1
    - Dst: splMatchByNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:244,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:249,1
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:250,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: 255
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: splMatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - SPLIT_FLAG_TEST_MASK
    - splMatch
    - splMatchByNode
    - FOREACH
    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:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    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:270,1
    - Dst: fmIsDistExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: stbSplHasGatherExecFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - fmIsDistExecFunc
    - fmIsWindowPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: bool stbSplHasGatherExecFunc(const SNodeList* pFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:270,1
    - Dst: fmIsDistExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 137
    functionsReached:
    - fmIsDistExecFunc
    - fmIsWindowPseudoColumnFunc
    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: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: stbSplIsMultiTbScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stbSplIsMultiTbScan(SScanLogicNode* pScan)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:286,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:289,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:290,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:291,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:294,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:296,1
    - Dst: stbSplIsMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:296,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:300,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:301,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:301,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 307
    functionName: stbSplHasMultiTbScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbSplIsMultiTbScan
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool stbSplHasMultiTbScan(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:310,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:313,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:314,1
    - Dst: stbSplIsMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: stbSplIsMultiTbScanChild
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbSplIsMultiTbScan
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool stbSplIsMultiTbScanChild(SLogicNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stbSplHasGatherExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:320,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:320,1
    - Dst: stbSplHasGatherExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:324,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:324,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 332
    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:339,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:340,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 345
    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:348,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:351,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:352,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:353,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:356,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 359
    functionName: stbSplIsTableCountQuery
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool stbSplIsTableCountQuery(SLogicNode* pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:362,1
    - Dst: stbSplIsMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:364,1
    - Dst: stbSplNeedSplitJoin
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:366,1
    - Dst: stbSplIsMultiTbScanChild
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:368,1
    - Dst: stbSplHasGatherExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:370,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:371,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:372,1
    - Dst: stbSplIsTableCountQuery
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:372,1
    - Dst: stbSplNeedSplitWindow
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:374,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCtx
    - pNode
    argTypes:
    - SFindSplitNodeCtx*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 382
    functionName: stbSplNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplHasMultiTbScan
    - stbSplHasGatherExecFunc
    - stbSplIsMultiTbScan
    - stbSplNeedSplitWindow
    - isPartTableAgg
    - nodeType
    - stbSplIsMultiTbScanChild
    - stbSplNeedSplitJoin
    - stbSplIsTableCountQuery
    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:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 393
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:403,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:403,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:404,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:406,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:409,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:411,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:415,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:418,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:422,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:424,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:428,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:431,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:432,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - pFuncs
    - pPartialFuncs
    - pMidFuncs
    - pMergeFuncs
    argTypes:
    - SNodeList*
    - SNodeList**
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 395
    functionDepth: 6
    functionLinenumber: 395
    functionLinenumberEnd: 438
    functionName: stbSplRewriteFuns
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - fmIsPlaceHolderFunc
    - fmIsWindowPseudoColumnFunc
    - nodesDestroyNode
    - fmGetDistMethod
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplRewriteFuns(const SNodeList* pFuncs, SNodeList** pPartialFuncs,
      SNodeList** pMidFuncs, SNodeList** pMergeFuncs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:403,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:403,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:404,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:406,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:409,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:411,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:415,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:418,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:422,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:424,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:428,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:431,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:432,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 397
    functionDepth: 6
    functionLinenumber: 397
    functionLinenumberEnd: 436
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 138
    functionsReached:
    - nodesListMakeStrictAppend
    - fmIsPlaceHolderFunc
    - fmIsWindowPseudoColumnFunc
    - nodesDestroyNode
    - fmGetDistMethod
    - nodesCloneNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:452,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:456,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:459,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:460,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:461,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:464,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pFuncs
    - pIndex
    - precision
    argTypes:
    - SNodeList*
    - int32_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 440
    functionDepth: 5
    functionLinenumber: 440
    functionLinenumberEnd: 470
    functionName: stbSplAppendWStart
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - tstrncpy
    - taosHashBinary
    - tsnprintf
    - nodesMakeNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplAppendWStart(SNodeList* pFuncs, int32_t* pIndex, uint8_t
      precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 138
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFunc, pFuncs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:475,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:484,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:488,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:491,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:492,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:493,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:495,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:497,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:501,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pWin
    - pIndex
    argTypes:
    - SWindowLogicNode*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 472
    functionDepth: 7
    functionLinenumber: 472
    functionLinenumberEnd: 504
    functionName: stbSplAppendWEnd
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - tstrncpy
    - nodesListGetNode
    - taosHashBinary
    - tsnprintf
    - nodesMakeNode
    - createColumnByRewriteExpr
    - fmGetFuncInfo
    - FOREACH
    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:524,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:524,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:528,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:535,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:538,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:546,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:547,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:548,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:551,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:551,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:552,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:552,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:555,1
    - Dst: nodesListMakePushFront
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:555,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:557,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:557,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:561,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:563,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 4
    argNames:
    - pFuncs
    - pIndex
    - precision
    - winType
    argTypes:
    - SNodeList*
    - int32_t*
    - uint8_t
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 506
    functionDepth: 6
    functionLinenumber: 506
    functionLinenumberEnd: 566
    functionName: stbSplAppendPlaceHolder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - tstrncpy
    - taosHashBinary
    - PLAN_ERR_JRET
    - nodesListMakePushFront
    - tsnprintf
    - nodesMakeValueNodeFromTimestamp
    - nodesMakeNode
    - PLAN_ERR_RET
    - 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: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 517
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFunc, pFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:580,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:580,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:586,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:589,1
    - Dst: stbSplRewriteFuns
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:589,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:591,1
    - Dst: stbSplAppendPlaceHolder
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:591,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:593,1
    - Dst: stbSplAppendWStart
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:593,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:595,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:595,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:596,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:598,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:598,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:598,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:600,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - pCxt
    - pMergeWindow
    - pPartWindow
    argTypes:
    - SSplitContext*
    - SWindowLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 568
    functionDepth: 7
    functionLinenumber: 568
    functionLinenumberEnd: 607
    functionName: stbSplCreatePartWindowNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbSplRewriteFuns
    - createColumnByRewriteExprs
    - stbSplAppendWStart
    - stbSplAppendPlaceHolder
    - nodesDestroyList
    - splSetParent
    - PLAN_ERR_JRET
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplCreatePartWindowNode(SSplitContext* pCxt, SWindowLogicNode*
      pMergeWindow, SLogicNode** pPartWindow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:610,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:613,1
    - Dst: stbSplGetNumOfVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:614,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 618
    functionName: stbSplGetNumOfVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - stbSplGetNumOfVgroups
    - LIST_LENGTH
    - nodeType
    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:625,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:637,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:641,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - pMerge
    - pNode
    argTypes:
    - SMergeLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 656
    functionName: stbSplRewriteFromMergeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplRewriteFromMergeNode(SMergeLogicNode* pMerge, SLogicNode*
      pNode)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:661,1
    - Dst: stbSplGetNumOfVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:666,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:675,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:679,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:681,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:686,1
    - Dst: stbSplRewriteFromMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:695,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:699,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:701,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:705,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 7
    argNames:
    - pCxt
    - pSubplan
    - pSplitNode
    - pMergeKeys
    - pPartChild
    - groupSort
    - needSort
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SNodeList*
    - SLogicNode*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 658
    functionDepth: 5
    functionLinenumber: 658
    functionLinenumberEnd: 708
    functionName: stbSplCreateMergeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplGetNumOfVgroups
    - nodesDestroyNode
    - replaceLogicNode
    - nodesListMakeAppend
    - nodesMakeNode
    - nodesCloneList
    - nodesCloneNode
    - stbSplRewriteFromMergeNode
    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:712,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pParent
    - pPartChild
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 710
    functionDepth: 6
    functionLinenumber: 710
    functionLinenumberEnd: 718
    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:722,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:727,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:729,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pExpr
    - order
    - pMergeKeys
    argTypes:
    - SNode*
    - EOrder
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 720
    functionDepth: 6
    functionLinenumber: 720
    functionLinenumberEnd: 735
    functionName: stbSplCreateMergeKeysByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - nodesMakeNode
    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:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pPrimaryKey
    - order
    - pMergeKeys
    argTypes:
    - SNode*
    - EOrder
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 7
    functionLinenumber: 737
    functionLinenumberEnd: 739
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:749,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:754,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:757,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:760,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:765,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:772,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:773,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:779,1
    - Dst: stbSplCreatePartWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:780,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:782,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:786,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:787,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 741
    functionDepth: 8
    functionLinenumber: 741
    functionLinenumberEnd: 790
    functionName: stbSplSplitIntervalForBatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplCreateMergeNode
    - splSetSubplanVgroups
    - stbSplCreateMergeKeysByPrimaryKey
    - splCreateScanSubplan
    - nodesDestroyList
    - nodesListMakeStrictAppendList
    - LIST_LENGTH
    - nodesDestroyNode
    - stbSplCreatePartWindowNode
    - FOREACH
    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:800,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:808,1
    - Dst: stbSplSetTableMergeScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:809,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: stbSplSetTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - stbSplSetTableMergeScan
    - LIST_LENGTH
    - nodeType
    linkageType: ''
    returnType: void
    signature: void stbSplSetTableMergeScan(SLogicNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:816,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:819,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:823,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:827,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:828,1
    - Dst: stbSplSetTableMergeScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:832,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 814
    functionDepth: 8
    functionLinenumber: 814
    functionLinenumberEnd: 841
    functionName: stbSplSplitSessionOrStateForBatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbSplCreateMergeNode
    - nodesListMakeStrictAppend
    - stbSplCreateMergeKeysByPrimaryKey
    - splCreateScanSubplan
    - nodesDestroyList
    - stbSplSetTableMergeScan
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitSessionOrStateForBatch(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitIntervalForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:847,1
    - Dst: stbSplSplitSessionOrStateForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 843
    functionDepth: 9
    functionLinenumber: 843
    functionLinenumberEnd: 858
    functionName: stbSplSplitWindowForCrossTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitIntervalForBatch
    - 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:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 869
    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:872,1
    - Dst: splCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:876,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:878,1
    - Dst: stbSplNeedSeqRecvData
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:881,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:883,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 871
    functionDepth: 6
    functionLinenumber: 871
    functionLinenumberEnd: 889
    functionName: stbSplSplitWindowForPartTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateExchangeNode
    - nodeType
    - splCreateScanSubplan
    - replaceLogicNode
    - 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:892,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:893,1
    - Dst: stbSplSplitWindowForPartTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:894,1
    - Dst: stbSplSplitWindowForCrossTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 891
    functionDepth: 10
    functionLinenumber: 891
    functionLinenumberEnd: 898
    functionName: stbSplSplitWindowNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitWindowForPartTable
    - stbSplSplitWindowForCrossTable
    - LIST_LENGTH
    - isPartTableWinodw
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitWindowNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:913,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:922,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:926,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:932,1
    - Dst: stbSplRewriteFuns
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:934,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:937,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:940,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:944,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - pMergeAgg
    - pOutput
    argTypes:
    - SAggLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 900
    functionDepth: 7
    functionLinenumber: 900
    functionLinenumberEnd: 948
    functionName: stbSplCreatePartAggNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplRewriteFuns
    - nodesDestroyNode
    - nodesDestroyList
    - splSetParent
    - createColumnByRewriteExprs
    - nodesCloneList
    - nodesCloneNode
    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:951,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:953,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 950
    functionDepth: 7
    functionLinenumber: 950
    functionLinenumberEnd: 958
    functionName: stbSplSplitAggNodeForPartTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateExchangeNodeForSubplan
    - splCreateScanSubplan
    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:975,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:976,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:983,1
    - Dst: stbSplCreateMergeKeys
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:984,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:989,1
    - Dst: createGroupKeyAggFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:991,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:996,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:998,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1004,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1007,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1015,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1017,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1018,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1019,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1022,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1023,1
    - Dst: memset
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1024,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1030,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1031,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1036,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1040,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1040,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 3
    argNames:
    - pCtx
    - pInfo
    - pChildAgg
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 967
    functionDepth: 7
    functionLinenumber: 967
    functionLinenumberEnd: 1044
    functionName: stbSplAggNodeCreateMerge
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplCreateMergeKeys
    - nodesListAppendList
    - nodesListGetNode
    - tstrncpy
    - stbSplCreateMergeNode
    - nodesListMakeStrictAppend
    - nodeType
    - memset
    - strcmp
    - nodesDestroyList
    - createColumnByRewriteExprs
    - nodesDestroyNode
    - nodesEqualNode
    - createGroupKeyAggFunc
    - LIST_LENGTH
    - FOREACH
    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:1015,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1017,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1018,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1019,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1022,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1023,1
    - Dst: memset
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1024,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1012
    functionDepth: 3
    functionLinenumber: 1012
    functionLinenumberEnd: 1027
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 142
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - memset
    - FOREACH
    - nodesEqualNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pMergeKeys)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1051,1
    - Dst: stbSplAggNodeCreateMerge
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1055,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1058,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1061,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1061,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1063,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1067,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1074,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1075,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1081,1
    - Dst: stbSplCreatePartAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1082,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1084,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1087,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1088,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1046
    functionDepth: 8
    functionLinenumber: 1046
    functionLinenumberEnd: 1091
    functionName: stbSplSplitAggNodeForCrossTableMulSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbSplCreateMergeNode
    - splSetSubplanVgroups
    - splCreateScanSubplan
    - stbSplAggNodeCreateMerge
    - nodesListMakeStrictAppendList
    - stbSplCreatePartAggNode
    - nodesDestroyNode
    - LIST_LENGTH
    - FOREACH
    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:1108,1
    - Dst: stbSplAggNodeCreateMerge
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1112,1
    - Dst: stbSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1114,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1117,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1122,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1106
    functionDepth: 8
    functionLinenumber: 1106
    functionLinenumberEnd: 1133
    functionName: stbSplSplitAggNodeForCrossTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    - stbSplCreateExchangeNode
    - stbSplAggNodeCreateMerge
    - stbSplCreatePartAggNode
    - nodesDestroyNode
    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:1136,1
    - Dst: stbSplSplitAggNodeForCrossTableMulSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1137,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1139,1
    - Dst: stbSplSplitAggNodeForPartTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1140,1
    - Dst: stbSplSplitAggNodeForCrossTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1135
    functionDepth: 9
    functionLinenumber: 1135
    functionLinenumberEnd: 1143
    functionName: stbSplSplitAggNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitAggNodeForCrossTable
    - isPartTableAgg
    - stbSplSplitAggNodeForCrossTableMulSubplan
    - stbSplSplitAggNodeForPartTable
    - LIST_LENGTH
    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:1147,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1151,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1152,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1153,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1154,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1155,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1157,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1159,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pExpr
    - ppNode
    argTypes:
    - SExprNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1145
    functionDepth: 5
    functionLinenumber: 1145
    functionLinenumberEnd: 1164
    functionName: stbSplCreateColumnNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodeType
    - nodesMakeNode
    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:1168,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1173,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pSortKey
    - pCol
    - ppNode
    argTypes:
    - SOrderByExprNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1166
    functionDepth: 5
    functionLinenumber: 1166
    functionLinenumberEnd: 1182
    functionName: stbSplCreateOrderByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - nodesMakeNode
    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:1194,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1194,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1195,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1197,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1199,1
    - Dst: stbSplCreateColumnNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1209,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1212,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1214,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1218,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1220,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - pSortKeys
    - pTargets
    - pOutput
    argTypes:
    - SNodeList*
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1184
    functionDepth: 6
    functionLinenumber: 1184
    functionLinenumberEnd: 1233
    functionName: stbSplCreateMergeKeys
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - stbSplCreateColumnNode
    - nodesListStrictAppend
    - nodesListMakeStrictAppend
    - nodeType
    - stbSplCreateOrderByExpr
    - nodesDestroyList
    - nodesDestroyNode
    - nodesEqualNode
    - 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:1194,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1194,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1195,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1197,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1199,1
    - Dst: stbSplCreateColumnNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1209,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1212,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1214,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1218,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1188
    functionDepth: 6
    functionLinenumber: 1188
    functionLinenumberEnd: 1226
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 143
    functionsReached:
    - stbSplCreateColumnNode
    - nodesListStrictAppend
    - nodesListMakeStrictAppend
    - nodeType
    - stbSplCreateOrderByExpr
    - nodesDestroyNode
    - nodesEqualNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pSortKeys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1194,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1194,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1195,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1197,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1193
    functionDepth: 6
    functionLinenumber: 1193
    functionLinenumberEnd: 1206
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 143
    functionsReached:
    - nodesListMakeStrictAppend
    - nodeType
    - stbSplCreateOrderByExpr
    - 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:1244,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1249,1
    - Dst: stbSplCreateMergeKeys
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1252,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1259,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pSort
    - pOutputPartSort
    - pOutputMergeKeys
    argTypes:
    - SSortLogicNode*
    - SLogicNode**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1235
    functionDepth: 7
    functionLinenumber: 1235
    functionLinenumberEnd: 1264
    functionName: stbSplCreatePartSortNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplCreateMergeKeys
    - nodesDestroyList
    - splSetParent
    - nodesDestroyNode
    - nodesCloneNode
    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:1267,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1273,1
    - Dst: stbSplSetScanPartSort
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1274,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1277
    functionName: stbSplSetScanPartSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - stbSplSetScanPartSort
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    linkageType: ''
    returnType: void
    signature: void stbSplSetScanPartSort(SLogicNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartSortNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1283,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1285,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1288,1
    - Dst: stbSplSetScanPartSort
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1291,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1293,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1279
    functionDepth: 8
    functionLinenumber: 1279
    functionLinenumberEnd: 1299
    functionName: stbSplSplitSortNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplCreateMergeNode
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    - stbSplSetScanPartSort
    - stbSplCreatePartSortNode
    - nodesDestroyNode
    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:1304,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - pInfo
    - pSplitNode
    argTypes:
    - SStableSplitInfo*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1301
    functionDepth: 3
    functionLinenumber: 1301
    functionLinenumberEnd: 1323
    functionName: stbSplGetSplitNodeForScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodeType
    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:1327,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1329,1
    - Dst: splSetSubplanType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1332,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1333,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1325
    functionDepth: 7
    functionLinenumber: 1325
    functionLinenumberEnd: 1338
    functionName: stbSplSplitScanNodeWithoutPartTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - stbSplGetSplitNodeForScan
    - splCreateScanSubplan
    - splSetSubplanType
    - splCreateExchangeNodeForSubplan
    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:1342,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1345,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1348,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1351,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1340
    functionDepth: 6
    functionLinenumber: 1340
    functionLinenumberEnd: 1357
    functionName: stbSplSplitScanNodeWithPartTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplCreateMergeNode
    - nodesListMakeStrictAppend
    - stbSplGetSplitNodeForScan
    - 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:1362,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1373,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1374,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1380,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pScan
    - ppNode
    argTypes:
    - SScanLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1359
    functionDepth: 5
    functionLinenumber: 1359
    functionLinenumberEnd: 1388
    functionName: stbSplFindPrimaryKeyFromScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - nodesCloneNode
    - nodesListStrictAppend
    - FOREACH
    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:1394,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1405,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1406,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1412,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pScan
    - ppNode
    argTypes:
    - SScanLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1390
    functionDepth: 5
    functionLinenumber: 1390
    functionLinenumberEnd: 1420
    functionName: stbSplFindPkFromScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - nodesCloneNode
    - nodesListStrictAppend
    - FOREACH
    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:1429,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1436,1
    - Dst: stbSplFindPrimaryKeyFromScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1439,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1441,1
    - Dst: stbSplFindPkFromScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1445,1
    - Dst: stbSplCreateMergeKeysByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1448,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1456,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - pScan
    - pOutputMergeScan
    - pOutputMergeKeys
    argTypes:
    - SScanLogicNode*
    - SLogicNode**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1422
    functionDepth: 8
    functionLinenumber: 1422
    functionLinenumberEnd: 1461
    functionName: stbSplCreateMergeScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplCreateMergeKeysByPrimaryKey
    - stbSplFindPkFromScan
    - nodesDestroyList
    - splSetParent
    - stbSplFindPrimaryKeyFromScan
    - stbSplCreateMergeKeysByExpr
    - nodesDestroyNode
    - nodesCloneNode
    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:1467,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1477,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1483,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1484,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1485,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: 1489
      start: 1463
    functionDepth: 9
    functionLinenumber: 1463
    functionLinenumberEnd: 1489
    functionName: stbSplSplitMergeScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplCreateMergeNode
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    - stbSplCreateMergeScanNode
    - nodesDestroyNode
    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:1495,1
    - Dst: stbSplSplitScanNodeWithPartTags
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1498,1
    - Dst: stbSplSplitScanNodeWithoutPartTags
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1491
    functionDepth: 10
    functionLinenumber: 1491
    functionLinenumberEnd: 1501
    functionName: stbSplSplitScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitScanNodeWithoutPartTags
    - stbSplSplitScanNodeWithPartTags
    - stbSplSplitMergeScanNode
    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:1506,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1507,1
    - Dst: stbSplSplitMergeScanNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1511,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1513,1
    - Dst: stbSplSplitJoinNodeImpl
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pJoin
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SJoinLogicNode*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1503
    functionDepth: 10
    functionLinenumber: 1503
    functionLinenumberEnd: 1523
    functionName: stbSplSplitJoinNodeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - stbSplSplitMergeScanNode
    - stbSplSplitJoinNodeImpl
    - nodeType
    - FOREACH
    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:1526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1525
    functionDepth: 11
    functionLinenumber: 1525
    functionLinenumberEnd: 1535
    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:1538,1
    - Dst: stbSplFindPrimaryKeyFromScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1541,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1543,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1548,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pPart
    - pMergeKeys
    argTypes:
    - SLogicNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1537
    functionDepth: 8
    functionLinenumber: 1537
    functionLinenumberEnd: 1553
    functionName: stbSplCreateMergeKeysForPartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesListGetNode
    - stbSplCreateMergeKeysByPrimaryKey
    - 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:1559,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1562,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1565,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1555
    functionDepth: 9
    functionLinenumber: 1555
    functionLinenumberEnd: 1571
    functionName: stbSplSplitPartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplCreateMergeKeysForPartitionNode
    - stbSplCreateMergeNode
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    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:1579,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1584,1
    - Dst: stbSplSplitScanNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1586,1
    - Dst: stbSplSplitJoinNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1589,1
    - Dst: stbSplSplitPartitionNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1592,1
    - Dst: stbSplSplitAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1595,1
    - Dst: stbSplSplitWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1598,1
    - Dst: stbSplSplitSortNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1601,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1573
    functionDepth: 12
    functionLinenumber: 1573
    functionLinenumberEnd: 1612
    functionName: stableSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitJoinNode
    - nodeType
    - stbSplSplitSortNode
    - stbSplSplitWindowNode
    - stbSplSplitScanNode
    - stbSplSplitAggNode
    - stbSplSplitPartitionNode
    - splMatch
    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:1621,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1629,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1629,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1630,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1631
    functionName: sigTbJoinSplNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool sigTbJoinSplNeedSplit(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigTbJoinSplNeedSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1635,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SSigTbJoinSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1633
    functionDepth: 2
    functionLinenumber: 1633
    functionLinenumberEnd: 1642
    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:1646,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1649,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1651,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1644
    functionDepth: 7
    functionLinenumber: 1644
    functionLinenumberEnd: 1656
    functionName: singleTableJoinSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    - splCreateExchangeNodeForSubplan
    - splMatch
    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:1665,1
    - Dst: splCreateSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1667,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1669,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1672,1
    - Dst: splMountSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1673,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1683,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1685,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1688,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pUnionSubplan
    - pSplitNode
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1658
    functionDepth: 6
    functionLinenumber: 1658
    functionLinenumberEnd: 1691
    functionName: unionSplitSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - REPLACE_NODE
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - splMountSubplan
    - splCreateSubplan
    - nodesListMakeStrictAppendList
    - NODES_DESTORY_LIST
    - FOREACH
    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:1700,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SUnionAllSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1706
    functionName: unAllSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - nodeType
    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:1711,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1719,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1721,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1725,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1727,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1730,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1736,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1741,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1742,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1743,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1744,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1748,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: 1750
      start: 1708
    functionDepth: 5
    functionLinenumber: 1708
    functionLinenumberEnd: 1750
    functionName: unAllSplCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - REPLACE_NODE
    - nodesDestroyNode
    - nodesEqualNode
    - nodesMakeNode
    - nodesCloneList
    - TSWAP
    - nodesCloneNode
    - FOREACH
    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:1754,1
    - Dst: unionSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1759,1
    - Dst: unAllSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1752
    functionDepth: 7
    functionLinenumber: 1752
    functionLinenumberEnd: 1765
    functionName: unionAllSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - unAllSplCreateExchangeNode
    - unionSplitSubplan
    - splMatch
    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:1775,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1783,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1785,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1791,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: 1792
      start: 1772
    functionDepth: 6
    functionLinenumber: 1772
    functionLinenumberEnd: 1792
    functionName: unDistSplCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - nodesDestroyNode
    - nodesListMakeStrictAppend
    - nodesMakeNode
    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:1796,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SUnionDistinctSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1803
    functionName: unDistSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - nodeType
    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:1807,1
    - Dst: unionSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1812,1
    - Dst: unDistSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1805
    functionDepth: 7
    functionLinenumber: 1805
    functionLinenumberEnd: 1818
    functionName: unionDistinctSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - unDistSplCreateExchangeNode
    - unionSplitSubplan
    - splMatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t unionDistinctSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1827,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1827,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1828,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SSmaIndexSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1836
    functionName: smaIdxSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    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:1840,1
    - Dst: unionSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1838
    functionDepth: 7
    functionLinenumber: 1838
    functionLinenumberEnd: 1851
    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:1860,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1860,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1862,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SInsertSelectSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1858
    functionDepth: 1
    functionLinenumber: 1858
    functionLinenumberEnd: 1867
    functionName: insSelSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    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:1871,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1877,1
    - Dst: splCreateSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1879,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1882,1
    - Dst: splMountSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1885,1
    - Dst: SPLIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1869
    functionDepth: 7
    functionLinenumber: 1869
    functionLinenumberEnd: 1892
    functionName: insertSelectSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - SPLIT_FLAG_SET_MASK
    - splCreateSubplan
    - splMountSubplan
    - splCreateExchangeNodeForSubplan
    - splMatch
    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:1901,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1901,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1902,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SVirtualTableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1908
    functionName: virtualTableFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    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:1911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pVirtual
    argTypes:
    - SVirtualScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1910
    functionDepth: 1
    functionLinenumber: 1910
    functionLinenumberEnd: 1915
    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:1920,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1925,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1926,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1926,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1927,1
    - Dst: needProcessOneBlockEachTime
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1928,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1929,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1917
    functionDepth: 7
    functionLinenumber: 1917
    functionLinenumberEnd: 1936
    functionName: virtualTableSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    - needProcessOneBlockEachTime
    - PLAN_ERR_JRET
    - splMatch
    - splCreateExchangeNodeForSubplan
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualTableSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1945,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1945,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1947,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1949,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1949,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1944
    functionDepth: 1
    functionLinenumber: 1944
    functionLinenumberEnd: 1953
    functionName: mergeAggColsNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool mergeAggColsNeedSplit(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mergeAggColsNeedSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1958,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SMergeAggColsSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1956
    functionDepth: 2
    functionLinenumber: 1956
    functionLinenumberEnd: 1965
    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:1970,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1974,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1974,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1975,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1975,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1967
    functionDepth: 7
    functionLinenumber: 1967
    functionLinenumberEnd: 1980
    functionName: mergeAggColsSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    - PLAN_ERR_RET
    - splCreateExchangeNodeForSubplan
    - splMatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAggColsSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1989,1
    - Dst: nodeType
      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: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1992,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SQnodeSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1987
    functionDepth: 1
    functionLinenumber: 1987
    functionLinenumberEnd: 1999
    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:2007,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2011,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2013,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2017,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2021,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2001
    functionDepth: 7
    functionLinenumber: 2001
    functionLinenumberEnd: 2030
    functionName: qnodeSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    - TSWAP
    - splCreateExchangeNodeForSubplan
    - splMatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qnodeSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2039,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SDynVirtualScanSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2047
    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:2052,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2056,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2056,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2057,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2057,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2049
    functionDepth: 7
    functionLinenumber: 2049
    functionLinenumberEnd: 2064
    functionName: dynVirtualScanSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    - PLAN_ERR_RET
    - splCreateExchangeNodeForSubplan
    - splMatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t dynVirtualScanSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SStreamScanSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2079
    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: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2087,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2088,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2088,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2089,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2097,1
    - Dst: cloneVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2097,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2100,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2100,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2081
    functionDepth: 7
    functionLinenumber: 2081
    functionLinenumberEnd: 2111
    functionName: streamScanSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    - cloneVgroups
    - PLAN_ERR_RET
    - splCreateExchangeNodeForSubplan
    - splMatch
    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:2135,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2138,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pRuleName
    - pSubplan
    argTypes:
    - char*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2129
    functionDepth: 4
    functionLinenumber: 2129
    functionLinenumberEnd: 2145
    functionName: dumpLogicSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    - nodesNodeToString
    - qDebugL
    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:2152,1
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2152,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2157,1
    - Dst: splitFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2157,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2160,1
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2160,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2165,1
    - Dst: streamScanSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2165,1
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2166,1
    - Dst: qnodeSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2147
    functionDepth: 8
    functionLinenumber: 2147
    functionLinenumberEnd: 2167
    functionName: applySplitRule
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - streamScanSplit
    - dumpLogicSubplan
    - PLAN_RET
    - splitFunc
    - qnodeSplit
    - PLAN_ERR_RET
    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:2170,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2171,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2173,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2179,1
    - Dst: setVgroupsInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pSubplan
    argTypes:
    - SLogicNode*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2169
    functionDepth: 1
    functionLinenumber: 2169
    functionLinenumberEnd: 2180
    functionName: setVgroupsInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - TSWAP
    - setVgroupsInfo
    - nodeType
    - FOREACH
    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:2183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pLogicSubplan
    argTypes:
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2182
    functionDepth: 1
    functionLinenumber: 2182
    functionLinenumberEnd: 2188
    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:2191,1
    - Dst: setVgroupsInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2192,1
    - Dst: applySplitRule
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2190
    functionDepth: 9
    functionLinenumber: 2190
    functionLinenumberEnd: 2196
    functionName: splitLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - needSplitSubplan
    - setVgroupsInfo
    - applySplitRule
    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:
    - doValidatePhysiNode
    - nodeType
    - 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:
    - validateQueryPlanNode
    - validateMergePhysiNode
    - nodeType
    - validateSubplanNode
    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:
    - validateQueryPlanNode
    - destoryValidatePlanContext
    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:
    - taosMemoryFreeClear
    - printf
    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:
    - taosMemoryFreeClear
    - printf
    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:
    - taosAsyncExec
    - taosMemoryCalloc
    - taosMsleep
    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:
    - taosAsyncExec
    - taosMemoryCalloc
    - taosMsleep
    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:
    - taosAsyncExec
    - taosMemoryCalloc
    - taosMsleep
    - printf
    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: 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: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    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: 2
    functionsReached:
    - taosArrayGet
    - memcpy
    - qDebug
    - taosHashPut
    - QUERY_PARAM_CHECK
    - taosGetDefaultHashFunction
    - taosHashInit
    - 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:
    - tstrncpy
    - tSerializeSTableInfoReq
    - 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:
    - tSerializeSDbCfgReq
    - tstrncpy
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetDBCfgMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t), \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
    - strlen
    - taosArrayDestroy
    - taosArrayInit
    - QUERY_PARAM_CHECK
    - tSerializeSRetrieveFuncReq
    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
    - tSerializeSGetUserAuthReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetUserAuthMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen, void *(*mallcFp)(int64_t),\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:
    - tSerializeSTableIndexReq
    - tstrncpy
    - 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:
    - tSerializeSTableCfgReq
    - tstrncpy
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetTbCfgMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t),\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
    - tSerializeTableTSMAInfoReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetTableTSMAMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen, void *(*mallcFp)(int64_t),\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
    - tSerializeTableTSMAInfoReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetTSMAMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t),\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:
    - snprintf
    - tSerializeRsmaInfoReq
    - 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: 4
    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: tSerializeStreamProgressReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:497,1
    - Dst: tSerializeStreamProgressReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:503,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: 512
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 512
    functionName: queryBuildGetStreamProgressMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tSerializeStreamProgressReq
    - QUERY_PARAM_CHECK
    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:516,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:517,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:518,1
    - Dst: tSerializeSVSubTablesReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:523,1
    - Dst: tSerializeSVSubTablesReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:528,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: 537
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 537
    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:541,1
    - 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: tSerializeSVStbRefDbsReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:548,1
    - Dst: tSerializeSVStbRefDbsReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:553,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: 562
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 562
    functionName: queryBuildVStbRefDBsMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tSerializeSVStbRefDbsReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildVStbRefDBsMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t),\n                                void
      (*freeFp)(void *))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:571,1
    - Dst: tDeserializeSUseDbRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:575,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:576,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:582,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:587,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:589,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:590,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:592,1
    - Dst: queryBuildUseDbOutput
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:596,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:602,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:603,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:605,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:605,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:608,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 610
    functionName: queryProcessUseDBRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qTrace
    - taosArrayGet
    - taosMemoryFreeClear
    - terrstr
    - queryBuildUseDbOutput
    - tDeserializeSUseDbRsp
    - qError
    - 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:613,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:615,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:620,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:627,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:632,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:637,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:642,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:647,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - pMetaMsg
    argTypes:
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 652
    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:655,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:656,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - pMeta
    argTypes:
    - STableMetaRsp*
    - SCTableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 666
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:669,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:670,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:671,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:675,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:677,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:689,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - msg
    - pMeta
    argTypes:
    - STableMetaRsp*
    - SVCTableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 696
    functionName: queryCreateVCTableMetaFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - qDebug
    - QUERY_PARAM_CHECK
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryCreateVCTableMetaFromMsg(STableMetaRsp *msg, SVCTableMeta
      **pMeta)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:699,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:700,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:703,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:704,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:706,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:708,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:738,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:739,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:741,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:746,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:748,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:765,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 3
    argNames:
    - msg
    - isStb
    - pMeta
    argTypes:
    - STableMetaRsp*
    - bool
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 774
    functionName: queryCreateTableMetaFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 1
    functionsReached:
    - hasRefCol
    - taosMemoryCalloc
    - withExtSchema
    - memcpy
    - qDebug
    - QUERY_PARAM_CHECK
    - qError
    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:777,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:778,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:781,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:782,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:783,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:785,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:787,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:807,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:808,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:810,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:815,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:817,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:835,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:837,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - msg
    - isStb
    - pMeta
    argTypes:
    - STableMetaRsp*
    - bool
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 846
    functionName: queryCreateTableMetaExFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - hasRefCol
    - strlen
    - tstrncpy
    - withExtSchema
    - TAOS_MEMCPY
    - memcpy
    - qDebug
    - QUERY_PARAM_CHECK
    - qError
    - 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:853,1
    - Dst: tDeserializeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:858,1
    - Dst: queryConvertTableMetaMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:863,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:868,1
    - Dst: tIsValidSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:869,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:875,1
    - Dst: SET_META_TYPE_BOTH_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:879,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:881,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:882,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:889,1
    - Dst: SET_META_TYPE_BOTH_VTABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:891,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:893,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:894,1
    - Dst: queryCreateVCTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:896,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:900,1
    - Dst: SET_META_TYPE_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:902,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:903,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:904,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:909,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:909,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:912,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 914
    functionName: queryProcessTableMetaRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - tstrncpy
    - tstrerror
    - tIsValidSchema
    - queryConvertTableMetaMsg
    - queryCreateTableMetaFromMsg
    - SET_META_TYPE_BOTH_VTABLE
    - SET_META_TYPE_BOTH_TABLE
    - tDeserializeSTableMetaRsp
    - tFreeSTableMetaRsp
    - SET_META_TYPE_TABLE
    - qError
    - queryCreateVCTableMetaFromMsg
    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:921,1
    - Dst: tDeserializeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:926,1
    - Dst: queryConvertTableMetaMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:931,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:936,1
    - Dst: tIsValidSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:937,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:943,1
    - Dst: SET_META_TYPE_BOTH_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:947,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:949,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:950,1
    - Dst: queryCreateTableMetaExFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:957,1
    - Dst: SET_META_TYPE_BOTH_VTABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:959,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:961,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:962,1
    - Dst: queryCreateVCTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:964,1
    - Dst: queryCreateTableMetaExFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:969,1
    - Dst: SET_META_TYPE_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:971,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:972,1
    - Dst: queryCreateTableMetaExFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:973,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:978,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:978,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:981,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 916
    functionDepth: 2
    functionLinenumber: 916
    functionLinenumberEnd: 983
    functionName: queryProcessTableNameRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - tstrncpy
    - tstrerror
    - tIsValidSchema
    - queryCreateTableMetaExFromMsg
    - queryConvertTableMetaMsg
    - SET_META_TYPE_BOTH_VTABLE
    - SET_META_TYPE_BOTH_TABLE
    - tDeserializeSTableMetaRsp
    - tFreeSTableMetaRsp
    - SET_META_TYPE_TABLE
    - qError
    - queryCreateVCTableMetaFromMsg
    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:990,1
    - Dst: tDeserializeSQnodeListRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:996,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 1003
    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:1010,1
    - Dst: tDeserializeSDnodeListRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1015,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1024
    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:1031,1
    - Dst: tDeserializeSServerVerRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1036,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1037,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1048
    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:1054,1
    - Dst: tDeserializeSDbCfgRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1058,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1059,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1066
    functionName: queryProcessGetDbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeSDbCfgRsp
    - memcpy
    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:1072,1
    - Dst: tDeserializeSUserIndexRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1076,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1077,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1084
    functionName: queryProcessGetIndexRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeSUserIndexRsp
    - memcpy
    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:1090,1
    - Dst: tDeserializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1094,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1095,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1100,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1104,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1106,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1107,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1111
    functionName: queryProcessRetrieveFuncRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - tDeserializeSRetrieveFuncRsp
    - memcpy
    - qError
    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:1115,1
    - Dst: tDeserializeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1119,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1125
    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:1129,1
    - Dst: tDeserializeSTableIndexRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1134,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1140
    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:1144,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1148,1
    - Dst: tDeserializeSTableCfgRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1152,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1153,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1154,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1162
    functionName: queryProcessGetTbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tDeserializeSTableCfgRsp
    - tFreeSTableCfgRsp
    - qError
    - taosMemoryFree
    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:1166,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1170,1
    - Dst: tDeserializeSViewMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1174,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1175,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1176,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1177,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1186
    functionName: queryProcessGetViewMetaRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tDeserializeSViewMetaRsp
    - qDebugL
    - tFreeSViewMetaRsp
    - qError
    - taosMemoryFree
    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:1190,1
    - Dst: tDeserializeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1194,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1200
    functionName: queryProcessGetTbTSMARsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeTableTSMAInfoRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessGetTbTSMARsp(void* output, char* msg, int32_t msgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1204,1
    - Dst: tDeserializeRsmaInfoRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1208,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1214
    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:1218,1
    - Dst: tDeserializeSStreamProgressRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1222,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1216
    functionDepth: 1
    functionLinenumber: 1216
    functionLinenumberEnd: 1227
    functionName: queryProcessStreamProgressRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeSStreamProgressRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessStreamProgressRsp(void* output, char* msg, int32_t
      msgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1231,1
    - Dst: tDeserializeSVSubTablesRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1236,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1243
    functionName: queryProcessVSubTablesRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeSVSubTablesRsp
    - qError
    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:1247,1
    - Dst: tDeserializeSVStbRefDbsRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1252,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1259
    functionName: queryProcessVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeSVStbRefDbsRsp
    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:1262,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1263,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1264,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1265,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1266,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1267,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1268,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1269,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1270,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1271,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1272,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1273,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1274,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1275,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1276,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1277,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1278,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1279,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1280,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1281,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1282,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1284,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1285,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1286,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1287,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1288,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1289,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1290,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1291,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1292,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1293,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1294,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1295,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1296,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1297,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1298,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1299,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1300,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1301,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1302,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1303,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1305
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: isValidDataType
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:69,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:70,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:77,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:82,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:87,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:90,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:92,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:98,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:106,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - pSchema
    - numOfCols
    - maxLen
    argTypes:
    - SSchema*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 115
    functionName: doValidateSchema
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - qError
    - isValidDataType
    - IS_STR_DATA_BLOB
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool doValidateSchema(SSchema* pSchema, int32_t numOfCols, int32_t
      maxLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VALIDNUMOFCOLS
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:118,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:119,1
    - Dst: VALIDNUMOFTAGS
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:124,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:130,1
    - Dst: doValidateSchema
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:134,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:135,1
    - Dst: doValidateSchema
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:139,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - pSchema
    - numOfCols
    - numOfTags
    argTypes:
    - struct SSchema*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 145
    functionName: tIsValidSchema
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 2
    functionsReached:
    - doValidateSchema
    - qError
    - VALIDNUMOFTAGS
    - VALIDNUMOFCOLS
    linkageType: ''
    returnType: bool
    signature: bool tIsValidSchema(struct SSchema* pSchema, int32_t numOfCols, int32_t
      numOfTags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execFn
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:152,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pInfo
    - pSchedMsg
    argTypes:
    - SQueueInfo*
    - SSchedMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: processTaskQueue
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - taosFreeQitem
    - execFn
    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:157,1
    - Dst: tQueryAutoQWorkerInit
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:162,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:164,1
    - Dst: tQueryAutoQWorkerAllocQueue
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:168,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:170,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 176
    functionName: initTaskQueue
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 2
    functionsReached:
    - tQueryAutoQWorkerAllocQueue
    - memset
    - qInfo
    - tQueryAutoQWorkerInit
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t initTaskQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tQueryAutoQWorkerCleanup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: cleanupTaskQueue
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 2
    functionsReached:
    - tQueryAutoQWorkerCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t cleanupTaskQueue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:185,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - execFn
    - execParam
    - code
    argTypes:
    - __async_exec_fn_t
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: taosAsyncExec
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 6
    functionsReached:
    - taosWriteQitem
    - taosAllocateQitem
    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:197,1
    - Dst: wrokrerPool::pCb::beforeBlocking
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: taosAsyncWait
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - wrokrerPool::pCb::beforeBlocking
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAsyncWait()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:205,1
    - Dst: wrokrerPool::pCb::afterRecoverFromBlocking
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 209
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:213,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bindFn
    - bindParam
    argTypes:
    - __async_exec_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: taosStmt2AsyncBind
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - taosWriteQitem
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosStmt2AsyncBind(__async_exec_fn_t bindFn, void* bindParam)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:229,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:231,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:232,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pMsgBody
    argTypes:
    - SMsgSendInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: destroySendMsgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 6
    functionsReached:
    - taosMemoryFreeClear
    - qDebug
    linkageType: ''
    returnType: void
    signature: void destroySendMsgInfo(SMsgSendInfo* pMsgBody)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:243,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ahandle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: destroyAhandle
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 10
    functionsReached:
    - qDebug
    - destroySendMsgInfo
    linkageType: ''
    returnType: void
    signature: void destroyAhandle(void *ahandle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:252,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:256,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:258,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:258,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:259,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:263,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:273,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:274,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:274,1
    - Dst: rpcSendRequestWithCtx
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:277,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:279,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:281,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:281,1
    - Dst: TRACE_GET_ROOTID
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:281,1
    - Dst: TRACE_GET_MSGID
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - pTransporter
    - epSet
    - pTransporterId
    - pInfo
    - persistHandle
    - rpcCtx
    argTypes:
    - void*
    - SEpSet*
    - int64_t*
    - SMsgSendInfo*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 249
    functionDepth: 6
    functionLinenumber: 249
    functionLinenumberEnd: 284
    functionName: asyncSendMsgToServerExt
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 1
    functionsReached:
    - TRACE_SET_MSGID
    - TRACE_GET_MSGID
    - TRACE_SET_ROOTID
    - memcpy
    - qDebug
    - TMSG_INFO
    - tGenIdPI64
    - TRACE_GET_ROOTID
    - rpcMallocCont
    - destroySendMsgInfo
    - qError
    - rpcSendRequestWithCtx
    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:287,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: 288
      start: 286
    functionDepth: 7
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: asyncSendMsgToServer
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 7
    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:291,1
    - Dst: rpcFreeConnById
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pTransporter
    - pid
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: asyncFreeConnById
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 2
    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: 318
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 318
    functionName: jobTaskStatusStr
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 11
    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:327,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:327,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: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    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:333,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: freeSTableMetaRspPointer
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tFreeSTableMetaRsp
    linkageType: ''
    returnType: void
    signature: void freeSTableMetaRspPointer(void *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:344,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:350,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:351,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:355,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:356,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:361,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - SExecResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 367
    functionName: destroyQueryExecRes
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 1
    functionsReached:
    - tDestroySSubmitRsp2
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - tFreeSTableMetaRsp
    - qError
    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:370,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:371,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:376,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:380,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:384,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:388,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:392,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:397,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:401,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:401,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:405,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:405,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:415,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:419,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:422,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:433,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:444,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:452,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:456,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:460,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:464,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: 475
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 475
    functionName: dataConverToStr
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - taosAscii2Hex
    - GET_DOUBLE_VAL
    - memcpy
    - taosUcs4ToMbs
    - tsnprintf
    - QUERY_PARAM_CHECK
    - taosMemoryFree
    - 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:479,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:485,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:489,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:499,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:504,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:508,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:512,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:518,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:522,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:524,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:526,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:529,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:530,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:535,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:543,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:548,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:552,1
    - Dst: cJSON_CreateBool
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:557,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:561,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:568,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:570,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:571,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:573,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:575,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 103
    argCount: 3
    argNames:
    - p
    - jsonStr
    - charsetCxt
    argTypes:
    - void*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 579
    functionName: parseTagDatatoJson
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 3
    functionsReached:
    - tTagToValArray
    - taosStrdup
    - cJSON_Delete
    - tstrncpy
    - taosMemoryCalloc
    - cJSON_CreateString
    - taosArrayDestroy
    - taosArrayGet
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_CreateNull
    - taosUcs4ToMbs
    - taosArrayGetSize
    - cJSON_PrintUnformatted
    - cJSON_CreateNumber
    - cJSON_CreateBool
    - qError
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void parseTagDatatoJson(void* p, char** jsonStr, void* charsetCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:584,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:585,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - colRef
    - colId
    - refColName
    - refTableName
    - refDbName
    argTypes:
    - SColRef*
    - col_id_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 588
    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, char* refColName,
      char* refTableName, char* refDbName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:591,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:600,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:607,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:610,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:613,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:617,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:618,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:620,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:624,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:626,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STableMeta*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 632
    functionName: cloneTableMeta
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - hasRefCol
    - withExtSchema
    - memcpy
    - QUERY_PARAM_CHECK
    - qError
    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:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pMeta
    - pName
    - pType
    argTypes:
    - STableMeta*
    - char*
    - ETableColumnType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 645
    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:652,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:653,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vgInfo
    argTypes:
    - SDBVgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 656
    functionName: freeVgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 15
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - 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:659,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:665,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:669,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:673,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:673,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:673,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:676,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:681,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:684,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:686,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:687,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:688,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:689,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDBVgInfo*
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 698
    functionName: cloneDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 3
    functionsReached:
    - taosMemoryMalloc
    - taosHashGetKey
    - taosMemoryFreeClear
    - memcpy
    - taosHashPut
    - taosHashCancelIterate
    - taosHashIterate
    - freeVgInfo
    - QUERY_PARAM_CHECK
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    - taosHashGetSize
    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:701,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:707,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:714,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:722,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:729,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:735,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:740,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:742,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:748,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:750,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:757,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:758,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVCreateTbReq*
    - SVCreateTbReq**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 761
    functionName: cloneSVreateTbReq
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tdDestroySVCreateTbReq
    - taosMemoryFree
    - taosArrayDup
    - memcpy
    - QUERY_PARAM_CHECK
    - 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:765,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 768
    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: 770
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: getTaskPoolWorkerCb
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * getTaskPoolWorkerCb()
  - 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:
    - clearPool
    - taosMemoryFree
    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:
    - ASSERT
    - memcmp
    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:
    - strlen
    - taosRemoveDir
    - generateBigVal
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - tdbCommit
    - tdbTbClose
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbBegin
    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:
    - tdbTbGet
    - strlen
    - ASSERT
    - generateBigVal
    - memcmp
    - tdbFree
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbTbOpen
    - tdbClose
    - openEnv
    - tdbTbClose
    - insertOfp
    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:
    - ASSERT
    - tdbClose
    - tdbTbGet
    - GTEST_ASSERT_EQ
    - tdbPostCommit
    - openEnv
    - strlen
    - generateBigVal
    - memcmp
    - tdbFree
    - GTEST_ASSERT_NE
    - closePool
    - tdbTbClose
    - tdbTbDelete
    - tdbBegin
    - taosRemoveDir
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - tdbTbUpsert
    - openPool
    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:
    - ASSERT
    - tdbTbcOpen
    - tdbTbcClose
    - tdbTbDrop
    - sprintf
    - tdbClose
    - tdbTbGet
    - GTEST_ASSERT_EQ
    - tdbPostCommit
    - strlen
    - memcmp
    - tdbFree
    - tdbOpen
    - clearPool
    - closePool
    - tdbTbcNext
    - tdbTbClose
    - tdbBegin
    - taosRemoveDir
    - tdbTbcMoveToFirst
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - openPool
    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:
    - clearPool
    - taosMemoryFree
    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:
    - ASSERT
    - memcmp
    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:
    - taosRemoveDir
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbPagerFetchPage
    - tdbPagerWrite
    - tdbTbInsert
    - tdbCommit
    - tdbBtreeToStack
    - tdbTbClose
    - tdbPagerReturnPage
    - tdbTbOpen
    - tdbBtreePopFreePage
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbBegin
    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:
    - tdbPagerWrite
    - tdbClose
    - tdbBtreePushFreePage
    - GTEST_ASSERT_EQ
    - tdbPagerReturnPage
    - tdbPostCommit
    - openEnv
    - GTEST_ASSERT_NE
    - tdbTbClose
    - closePool
    - tdbBegin
    - taosRemoveDir
    - tdbTbInsert
    - tdbPagerFetchPage
    - tdbCommit
    - tdbBtreePopFreePage
    - tdbTbOpen
    - openPool
    - tdbBtreeToStack
    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:
    - tdbPagerWrite
    - tdbClose
    - tdbBtreePushFreePage
    - GTEST_ASSERT_EQ
    - tdbPagerReturnPage
    - tdbPostCommit
    - openEnv
    - GTEST_ASSERT_NE
    - tdbTbClose
    - closePool
    - tdbBegin
    - taosRemoveDir
    - tdbTbInsert
    - tdbPagerFetchPage
    - tdbCommit
    - tdbBtreePopFreePage
    - tdbTbOpen
    - openPool
    - tdbBtreeToStack
    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:
    - clearPool
    - taosMemoryFree
    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:
    - ASSERT
    - memcmp
    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:
    - strlen
    - generateBigVal
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - tdbCommit
    - tdbTbClose
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbBegin
    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:
    - strlen
    - generateBigVal
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - sprintf
    - tdbCommit
    - tdbTbClose
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbBegin
    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:
    - clearDb
    - insertMultipleOfp
    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:
    - strlen
    - generateBigVal
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - clearDb
    - sprintf
    - tdbTbInsert
    - tdbCommit
    - tdbTbClose
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbBegin
    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:
    - strlen
    - generateBigVal
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - clearDb
    - sprintf
    - tdbTbInsert
    - tdbCommit
    - tdbTbClose
    - tdbAbort
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbBegin
    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:
    - strlen
    - generateBigVal
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - clearDb
    - sprintf
    - tdbTbInsert
    - tdbTbClose
    - tdbCommit
    - tdbAbort
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbBegin
    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:
    - strlen
    - generateBigVal
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - clearDb
    - sprintf
    - tdbTbInsert
    - tdbCommit
    - tdbTbClose
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbBegin
    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:
    - clearPool
    - taosMemoryFree
    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:
    - ASSERT
    - memcmp
    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:
    - strlen
    - generateBigVal
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - tdbCommit
    - tdbTbClose
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbBegin
    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:
    - clearDb
    - insertOfp
    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:
    - tdbTbGet
    - strlen
    - ASSERT
    - generateBigVal
    - memcmp
    - tdbFree
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - clearDb
    - tdbTbOpen
    - openEnv
    - insertOfp
    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:
    - tdbTbGet
    - strlen
    - ASSERT
    - taosRemoveDir
    - generateBigVal
    - memcmp
    - tdbFree
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - tdbTbUpsert
    - openEnv
    - tdbPostCommit
    - openPool
    - tdbTbDelete
    - tdbBegin
    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:
    - ASSERT
    - tdbTbcOpen
    - tdbTbcClose
    - tdbTbDrop
    - sprintf
    - tdbClose
    - tdbTbGet
    - GTEST_ASSERT_EQ
    - tdbPostCommit
    - strlen
    - memcmp
    - tdbFree
    - tdbOpen
    - clearPool
    - tdbTbcNext
    - tdbTbClose
    - tdbBegin
    - taosRemoveDir
    - tdbTbcMoveToFirst
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - openPool
    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:
    - strlen
    - clearPool
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - system
    - sprintf
    - tdbCommit
    - tdbTbClose
    - tdbTbOpen
    - tdbOpen
    - tdbClose
    - tdbPostCommit
    - closePool
    - openPool
    - tdbBegin
    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:
    - strlen
    - clearPool
    - GTEST_ASSERT_EQ
    - system
    - sprintf
    - tdbCommit
    - tdbTbClose
    - tdbTbOpen
    - tdbOpen
    - tdbClose
    - tdbPostCommit
    - closePool
    - openPool
    - tdbTbDelete
    - tdbBegin
    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:
    - system
    - clearDb
    - insertOfp
    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:
    - strlen
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbTbDrop
    - tdbCommit
    - tdbTbClose
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbTbDelete
    - tdbBegin
    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:
    - system
    - deleteOfp
    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:
    - system
    - insertOfp
    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:
    - clearDb
    - sprintf
    - tdbClose
    - GTEST_ASSERT_EQ
    - tdbPostCommit
    - openEnv
    - strlen
    - system
    - GTEST_ASSERT_NE
    - clearPool
    - tdbTbClose
    - closePool
    - insertOfp
    - tdbTbDelete
    - tdbBegin
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - openPool
    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:
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - clearDb
    - tdbTbInsert
    - system
    - tdbCommit
    - tdbTbClose
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - openEnv
    - closePool
    - openPool
    - tdbBegin
    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:
    - clearPool
    - taosMemoryFree
    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:
    - ASSERT
    - memcmp
    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:
    - ASSERT
    - tdbTbcOpen
    - tdbTbcClose
    - tdbTbDrop
    - sprintf
    - tdbClose
    - tdbTbGet
    - GTEST_ASSERT_EQ
    - tdbPostCommit
    - strlen
    - memcmp
    - tdbFree
    - tdbOpen
    - clearPool
    - tdbTbcNext
    - tdbTbClose
    - tdbBegin
    - taosRemoveDir
    - tdbTbcMoveToFirst
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - openPool
    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:
    - tdbTbcOpen
    - tdbTbcClose
    - tdbTbDrop
    - sprintf
    - tdbClose
    - GTEST_ASSERT_EQ
    - tdbPostCommit
    - strlen
    - tdbFree
    - tdbOpen
    - tdbTbClose
    - tdbTbcNext
    - tdbBegin
    - taosRemoveDir
    - tdbTbcMoveToFirst
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - openPool
    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:
    - tdbTbcOpen
    - tdbTbcClose
    - sprintf
    - tdbClose
    - write
    - tdbTbGet
    - GTEST_ASSERT_EQ
    - tdbPostCommit
    - strlen
    - memcmp
    - tdbOpen
    - tdbTbcNext
    - closePool
    - tdbTbDelete
    - tdbBegin
    - tdbTbClose
    - taosRemoveDir
    - tdbTbcMoveToFirst
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - openPool
    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:
    - tdbTbGet
    - strlen
    - taosRemoveDir
    - memcmp
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - sprintf
    - tdbCommit
    - tdbTbClose
    - tdbOpen
    - tdbTbOpen
    - tdbClose
    - tdbTbUpsert
    - tdbPostCommit
    - openPool
    - tdbBegin
    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
    - strlen
    - taosRemoveDir
    - GTEST_ASSERT_EQ
    - memset
    - tdbCommit
    - tdbTbClose
    - tdbOpen
    - tdbTbOpen
    - tdbClose
    - tdbTbUpsert
    - tdbPostCommit
    - openPool
    - tdbBegin
    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:
    - tdbTbcOpen
    - tdbTbcClose
    - sprintf
    - tdbClose
    - GTEST_ASSERT_EQ
    - tdbPostCommit
    - std::thread
    - std::vector::push_back
    - strlen
    - tdbFree
    - tdbOpen
    - tdbTbcNext
    - tdbTbClose
    - tdbBegin
    - taosRemoveDir
    - tdbTbcMoveToFirst
    - tdbTbInsert
    - tdbCommit
    - join
    - tdbTbOpen
    - openPool
    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:
    - tdbTbcOpen
    - tdbTbcClose
    - sprintf
    - tdbClose
    - GTEST_ASSERT_EQ
    - tdbPostCommit
    - std::thread
    - std::vector::push_back
    - strlen
    - tdbFree
    - tdbOpen
    - clearPool
    - tdbTbcNext
    - closePool
    - tdbTbClose
    - tdbBegin
    - usleep
    - taosRemoveDir
    - tdbTbcMoveToFirst
    - tdbTbInsert
    - tdbCommit
    - join
    - tdbTbOpen
    - openPool
    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:
    - clearPool
    - taosMemoryFree
    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:
    - ASSERT
    - memcmp
    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:
    - strlen
    - taosRemoveDir
    - generateBigVal
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - tdbPostCommit
    - openEnv
    - openPool
    - tdbBegin
    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:
    - tdbTbGet
    - strlen
    - ASSERT
    - generateBigVal
    - memcmp
    - tdbFree
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbTbOpen
    - openEnv
    - insertOfp
    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:
    - tdbTbGet
    - strlen
    - ASSERT
    - taosRemoveDir
    - generateBigVal
    - memcmp
    - tdbFree
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - tdbTbUpsert
    - openEnv
    - tdbPostCommit
    - openPool
    - tdbTbDelete
    - tdbBegin
    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:
    - ASSERT
    - tdbTbcOpen
    - tdbTbcClose
    - tdbTbDrop
    - sprintf
    - tdbClose
    - tdbTbGet
    - GTEST_ASSERT_EQ
    - tdbPostCommit
    - strlen
    - memcmp
    - tdbFree
    - tdbOpen
    - clearPool
    - tdbTbcNext
    - tdbTbClose
    - tdbBegin
    - taosRemoveDir
    - tdbTbcMoveToFirst
    - tdbTbInsert
    - tdbCommit
    - tdbTbOpen
    - openPool
    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:
    - strlen
    - taosRemoveDir
    - clearPool
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - sprintf
    - tdbCommit
    - tdbOpen
    - tdbTbOpen
    - tdbClose
    - tdbPostCommit
    - tdbTbClose
    - openPool
    - tdbBegin
    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:
    - strlen
    - clearPool
    - GTEST_ASSERT_EQ
    - sprintf
    - tdbCommit
    - tdbTbOpen
    - tdbOpen
    - tdbClose
    - tdbPostCommit
    - tdbTbClose
    - openPool
    - tdbTbDelete
    - tdbBegin
    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:
    - strlen
    - clearPool
    - GTEST_ASSERT_EQ
    - tdbTbInsert
    - sprintf
    - tdbCommit
    - tdbTbOpen
    - tdbOpen
    - tdbClose
    - tdbPostCommit
    - tdbTbClose
    - openPool
    - tdbBegin
    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
    - tdbOsFree
    - tdbOsClose
    - tdbError
    linkageType: ''
    returnType: void
    signature: void tdbTxnCloseImpl(TXN *pTxn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:33,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:41,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 53
    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:57,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - set
    argTypes:
    - hashset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 79
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: hashset_add_member
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:82,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:91,1
    - Dst: hashset_add_member
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:98,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 104
    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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: hashset_remove
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached: []
    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: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    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: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    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:143,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - SRBTreeNode*
    - SRBTreeNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:164,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:168,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:177,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:182,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:183,1
    - Dst: tdbOsOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:188,1
    - Dst: TDB_FD_INVALID
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:189,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:191,1
    - Dst: tdbGnrtFileID
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:194,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:196,1
    - Dst: tdbPCacheGetPageSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:200,1
    - Dst: tdbGetFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:202,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:205,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 3
    argNames:
    - pCache
    - fileName
    - ppPager
    argTypes:
    - SPCache*
    - char*
    - SPager**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 210
    functionName: tdbPagerOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - TDB_FD_INVALID
    - strlen
    - TAOS_SYSTEM_ERROR
    - tdbOsCalloc
    - tRBTreeCreate
    - memcpy
    - tdbPCacheGetPageSize
    - tdbTrace
    - tdbOsOpen
    - tdbGnrtFileID
    - 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:214,1
    - Dst: tdbWarn
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:216,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:216,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pPager
    argTypes:
    - SPager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: tdbPagerClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbOsFree
    - tdbOsClose
    - tstrerror
    - tdbWarn
    linkageType: ''
    returnType: void
    signature: void tdbPagerClose(SPager *pPager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbRefPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:230,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:231,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:231,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:236,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:236,1
    - Dst: tRBTreePut
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:237,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:240,1
    - Dst: hashset_contains
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:242,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:242,1
    - Dst: tdbPagerWritePageToJournal
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:243,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:245,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:245,1
    - Dst: hashset_add
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:250,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pPager
    - pPage
    argTypes:
    - SPager*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 255
    functionName: tdbPagerWrite
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 3
    functionsReached:
    - TDB_PAGE_PGNO
    - tdbPagerWritePageToJournal
    - tdbError
    - tdbRefPage
    - tstrerror
    - tdbTrace
    - hashset_contains
    - hashset_add
    - tRBTreePut
    linkageType: ''
    returnType: int
    signature: int tdbPagerWrite(SPager *pPager, SPage *pPage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:265,1
    - Dst: tdbOsOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:266,1
    - Dst: TDB_FD_INVALID
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:267,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:268,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:268,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:269,1
    - Dst: hashset_create
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:272,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 286
    functionName: tdbPagerBegin
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - TDB_FD_INVALID
    - TAOS_SYSTEM_ERROR
    - tdbError
    - hashset_create
    - tsnprintf
    - strerror
    - tdbOsOpen
    - tdbDebug
    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:309,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:311,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:311,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:312,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:316,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:318,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:322,1
    - Dst: tdbPagerPWritePageToDB
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:326,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:328,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:328,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:333,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:338,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:339,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:344,1
    - Dst: hashset_remove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:346,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:346,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:349,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:349,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:351,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:354,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:355,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:358,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:359,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:359,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 364
    functionName: tdbPagerCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tRBTreeIterNext
    - TAOS_SYSTEM_ERROR
    - tdbPagerPWritePageToDB
    - tRBTreeDrop
    - tdbError
    - tstrerror
    - hashset_remove
    - TDB_PAGE_PGNO
    - tRBTreeCreate
    - tdbPCacheRelease
    - tRBTreeIterCreate
    - tdbTrace
    - strerror
    - tdbOsFSync
    - tdbDebug
    linkageType: ''
    returnType: int
    signature: int tdbPagerCommit(SPager *pPager, TXN *pTxn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:368,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:371,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:372,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:372,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:373,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:376,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:377,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:377,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:378,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 386
    functionName: tdbPagerPostCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tdbError
    - tdbOsClose
    - tsnprintf
    - strerror
    - tdbDebug
    - tdbOsRemove
    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:394,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:396,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:396,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:397,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:401,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:403,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:407,1
    - Dst: tdbPagerPWritePageToDB
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:411,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:413,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:413,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:418,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:423,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:424,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:429,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:430,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 434
    functionName: tdbPagerPrepareAsyncCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tRBTreeIterNext
    - TAOS_SYSTEM_ERROR
    - tdbPagerPWritePageToDB
    - tRBTreeDrop
    - tdbError
    - TDB_PAGE_PGNO
    - tstrerror
    - tdbPCacheRelease
    - tRBTreeIterCreate
    - tdbTrace
    - strerror
    - tdbOsFSync
    linkageType: ''
    returnType: int
    signature: int tdbPagerPrepareAsyncCommit(SPager *pPager, TXN *pTxn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:447,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:462,1
    - Dst: CBC_Encrypt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:464,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - pPager
    - pPageData
    - pageSize
    - function
    - offset
    argTypes:
    - SPager*
    - char*
    - int32_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 475
    functionName: tdbEncryptPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - tstrncpy
    - CBC_Encrypt
    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:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pPager
    - buf
    argTypes:
    - SPager*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 480
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:494,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:496,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:496,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:497,1
    - Dst: tdbGetFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:502,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:507,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:508,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:508,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:509,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:512,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:517,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:523,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:525,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:526,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:529,1
    - Dst: tdbPCacheInvalidatePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:531,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:533,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:535,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:536,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:540,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:541,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:541,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:542,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:543,1
    - Dst: tdbEncryptPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:546,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:551,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:553,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:553,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:555,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:556,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:557,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:560,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:563,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:564,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:564,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:565,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:566,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:569,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:572,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:574,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:576,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:578,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:582,1
    - Dst: hashset_remove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:583,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:583,1
    - Dst: tdbPCacheMarkFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:584,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:585,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:588,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:589,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:592,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:593,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:593,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:594,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:598,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:600,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:601,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:601,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:602,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 608
    functionName: tdbPagerAbort
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbOsRead
    - tdbOsLSeek
    - tdbPCacheMarkFree
    - tdbDebug
    - TAOS_SYSTEM_ERROR
    - TDB_PAGE_PGNO
    - hashset_remove
    - tdbPCacheRelease
    - tdbOsClose
    - tdbPCacheInvalidatePage
    - strerror
    - tdbFreeEncryptBuf
    - tdbError
    - tdbTrace
    - tRBTreeIterCreate
    - tsnprintf
    - tdbOsWrite
    - tdbGetFileSize
    - tRBTreeIterNext
    - tRBTreeDrop
    - tdbEncryptPage
    - tdbOsCalloc
    - tRBTreeCreate
    - tdbOsFree
    - tdbOsFSync
    - tdbOsRemove
    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:617,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:619,1
    - Dst: tdbGetPageRef
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:621,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:628,1
    - Dst: tdbPagerPWritePageToDB
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:632,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:634,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:634,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:638,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:643,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:643,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:644,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:645,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - pPager
    - pTxn
    - flushed
    argTypes:
    - SPager*
    - TXN*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 673
    functionName: tdbPagerFlushPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbPagerPWritePageToDB
    - tRBTreeIterNext
    - tRBTreeDrop
    - TDB_PAGE_PGNO
    - tdbError
    - tstrerror
    - tdbPCacheRelease
    - tRBTreeIterCreate
    - tdbTrace
    - tdbDebug
    - tdbGetPageRef
    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:692,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:694,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:700,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:705,1
    - Dst: tdbPCacheFetch
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:707,1
    - Dst: tdbPagerFlushPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:709,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:711,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:716,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:718,1
    - Dst: tdbPagerInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:719,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:721,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:729,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:730,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:734,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 5
    argNames:
    - pPager
    - ppgno
    - ppPage
    - arg
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - SPage**
    - void*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 741
    functionName: tdbPagerFetchPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 3
    functionsReached:
    - tdbPagerFlushPage
    - tdbError
    - TDB_PAGE_INITIALIZED
    - memcpy
    - tdbPagerInitPage
    - tdbTrace
    - tdbPCacheFetch
    - tdbPagerAllocPage
    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:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pPager
    - pPage
    - pTxn
    argTypes:
    - SPager*
    - SPage*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 747
    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: 752
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 752
    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:767,1
    - Dst: tdbPCacheFetch
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:770,1
    - Dst: tdbPagerFlushPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:772,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:774,1
    - Dst: tdbPagerInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:780,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - pPager
    - pgno
    - ppPage
    - pTxn
    argTypes:
    - SPager*
    - SPgno
    - SPage**
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 790
    functionName: tdbPagerFetchFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbPagerFlushPage
    - tdbError
    - memcpy
    - tdbPagerInitPage
    - tdbPCacheFetch
    linkageType: ''
    returnType: int
    signature: int tdbPagerFetchFreePage(SPager *pPager, SPgno pgno, SPage **ppPage,
      TXN *pTxn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:795,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:795,1
    - Dst: tdbTbPushFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:796,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pPager
    - pPage
    - pTxn
    argTypes:
    - SPager*
    - SPage*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 804
    functionName: tdbPagerInsertFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbTrace
    - tdbError
    - TDB_PAGE_PGNO
    - tdbTbPushFreePage
    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:814,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pPager
    - pPgno
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 820
    functionName: tdbPagerRemoveFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbTbPopFreePage
    - tdbError
    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:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pPager
    - ppgno
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 825
    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: 831
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 831
    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:839,1
    - Dst: tdbPagerAllocNewPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:847,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pPager
    - ppgno
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 833
    functionDepth: 3
    functionLinenumber: 833
    functionLinenumberEnd: 857
    functionName: tdbPagerAllocPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 1
    functionsReached:
    - tdbPagerAllocNewPage
    - tdbError
    - tdbPagerAllocFreePage
    linkageType: ''
    returnType: int
    signature: int tdbPagerAllocPage(SPager *pPager, SPgno *ppgno, TXN *pTxn)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TDB_TRY_LOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:868,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:870,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:871,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:872,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:877,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:879,1
    - Dst: tdbOsPRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:883,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:884,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:886,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:887,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:888,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:891,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:912,1
    - Dst: CBC_Decrypt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:914,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:916,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:934,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:936,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:937,1
    - Dst: tmemory_barrier
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:943,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:947,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:948,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:954,1
    - Dst: sched_yield
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:957,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:962,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - pPager
    - pPage
    - arg
    - loadPage
    argTypes:
    - SPager*
    - SPage*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 968
    functionName: tdbPagerInitPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 2
    functionsReached:
    - tmemory_barrier
    - tdbOsPRead
    - TAOS_SYSTEM_ERROR
    - tstrncpy
    - tdbError
    - TDB_PAGE_PGNO
    - TDB_PAGE_INITIALIZED
    - memcpy
    - TDB_UNLOCK_PAGE
    - tdbTrace
    - CBC_Decrypt
    - sched_yield
    - TDB_TRY_LOCK_PAGE
    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:975,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:977,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:979,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:979,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:981,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:984,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:986,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:986,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pPager
    - pPage
    argTypes:
    - SPager*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 992
    functionName: tdbPagerWritePageToJournal
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tdbError
    - TDB_PAGE_PGNO
    - strerror
    - tdbOsWrite
    linkageType: ''
    returnType: int
    signature: int tdbPagerWritePageToJournal(SPager *pPager, SPage *pPage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1020,1
    - Dst: tdbEncryptPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1022,1
    - Dst: tdbOsPWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1024,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1026,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1027,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1027,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1029,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pPager
    - pPage
    argTypes:
    - SPager*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1016
    functionDepth: 3
    functionLinenumber: 1016
    functionLinenumberEnd: 1035
    functionName: tdbPagerPWritePageToDB
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 3
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tdbEncryptPage
    - tdbFreeEncryptBuf
    - TDB_PAGE_PGNO
    - tdbError
    - tdbOsPWrite
    - strerror
    linkageType: ''
    returnType: int
    signature: int tdbPagerPWritePageToDB(SPager *pPager, SPage *pPage)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1042,1
    - Dst: tdbGetFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1047,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1049,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1052,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1053,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1053,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1054,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1057,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1062,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1068,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1070,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1071,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1074,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1076,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1078,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1079,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1083,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1084,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1084,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1085,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1086,1
    - Dst: tdbEncryptPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1089,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1094,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1096,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1096,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1098,1
    - Dst: tdbOsFree
      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:1100,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1103,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1106,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1107,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1107,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1108,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1109,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1112,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1114,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1115,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1115,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1116,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1119,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1120,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1120,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1121,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 2
    argNames:
    - pPager
    - jFileName
    argTypes:
    - SPager*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1037
    functionDepth: 3
    functionLinenumber: 1037
    functionLinenumberEnd: 1125
    functionName: tdbPagerRestore
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbOsRead
    - TAOS_SYSTEM_ERROR
    - tdbEncryptPage
    - tdbOsCalloc
    - tdbError
    - tdbFreeEncryptBuf
    - tdbOsFree
    - tdbOsClose
    - tdbOsLSeek
    - tdbTrace
    - strerror
    - tdbOsFSync
    - tdbOsOpen
    - tdbDebug
    - tdbOsRemove
    - tdbOsWrite
    - 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: 1131
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1131
    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:1136,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1138,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1138,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1142,1
    - Dst: tdbReadDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1147,1
    - Dst: tdbDirEntryBaseName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1148,1
    - Dst: tdbGetDirEntryName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1148,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1149,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1151,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1152,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1157,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1158,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1159,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1161,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1162,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1164,1
    - Dst: tdbPagerRestore
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1165,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1167,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1168,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1169,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1174,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - pPager
    argTypes:
    - SPager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1133
    functionDepth: 4
    functionLinenumber: 1133
    functionLinenumberEnd: 1178
    functionName: tdbPagerRestoreJournals
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - sscanf
    - tstrerror
    - taosOpenDir
    - strncmp
    - tdbPagerRestore
    - taosArrayGet
    - strerror
    - tdbGetDirEntryName
    - strlen
    - tdbError
    - tsnprintf
    - taosArraySort
    - TARRAY_SIZE
    - tdbReadDir
    - memcpy
    - tdbCloseDir
    - tdbDirEntryBaseName
    linkageType: ''
    returnType: int
    signature: int tdbPagerRestoreJournals(SPager *pPager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1182,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1184,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1184,1
    - Dst: tdbReadDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1188,1
    - Dst: tdbDirEntryBaseName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1189,1
    - Dst: tdbGetDirEntryName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1189,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1191,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1193,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1194,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1196,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1196,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1197,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1198,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1200,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1200,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1201,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pPager
    argTypes:
    - SPager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1209
    functionName: tdbPagerRollback
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - strlen
    - TAOS_SYSTEM_ERROR
    - tdbError
    - tdbReadDir
    - memcpy
    - tdbCloseDir
    - strncmp
    - strerror
    - tdbGetDirEntryName
    - taosOpenDir
    - tdbOsRemove
    - tdbDirEntryBaseName
    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:
    - tdbMutexInit
    - tdbError
    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:
    - tdbMutexLock
    - tdbError
    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:
    - tdbOsCalloc
    - tstrerror
    - tdbError
    - tdbPCacheClose
    - tdbPCacheOpenImpl
    - TSDB_CHECK_CODE
    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:
    - tdbPCacheCloseImpl
    - tdbOsFree
    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: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:133,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:161,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - pCache
    - nPage
    argTypes:
    - SPCache*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 181
    functionName: tdbPCacheAlterImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached:
    - tdbPageCreate
    - tdbOsCalloc
    - tdbPageDestroy
    - tdbOsFree
    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:185,1
    - Dst: tdbPCacheAlterImpl
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:186,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCache
    - nPage
    argTypes:
    - SPCache*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 189
    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:195,1
    - Dst: tdbPCacheFetchImpl
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:197,1
    - Dst: tdbRefPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:199,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:202,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:205,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:205,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:207,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: 211
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: tdbPCacheFetch
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 2
    functionsReached:
    - tdbPCacheLock
    - TDB_PAGE_PGNO
    - tdbRefPage
    - tdbTrace
    - tdbPCacheUnlock
    - tdbPCacheFetchImpl
    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:214,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:215,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 218
    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:226,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:226,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:228,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:228,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:230,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: tdbPCacheFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached:
    - tdbTrace
    - tdbPageDestroy
    - tdbPCacheRemovePageFromHash
    - TDB_PAGE_PGNO
    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:240,1
    - Dst: tdbPCachePageHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:243,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:245,1
    - Dst: tdbPCachePinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:252,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:255,1
    - Dst: tdbPCacheFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - pCache
    - pPager
    - pgno
    argTypes:
    - SPCache*
    - SPager*
    - SPgno
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 260
    functionName: tdbPCacheInvalidatePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbPCacheFreePage
    - memcmp
    - memcpy
    - tdbPCachePageHash
    - tdbPCacheRemovePageFromHash
    - tdbPCachePinPage
    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:266,1
    - Dst: tdbPCacheLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:270,1
    - Dst: tdbUnrefPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:271,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:272,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:272,1
    - Dst: tdbPCacheUnpinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:280,1
    - Dst: tdbPCacheFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:282,1
    - Dst: TDB_TXN_IS_WRITE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:285,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:287,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:290,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCache
    - pPage
    - pTxn
    argTypes:
    - SPCache*
    - SPage*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 295
    functionName: tdbPCacheRelease
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 5
    functionsReached:
    - tdbPCacheLock
    - tdbPCacheUnpinPage
    - TDB_PAGE_PGNO
    - tdbError
    - tdbPCacheFreePage
    - TDB_TXN_IS_WRITE
    - tdbUnrefPage
    - tdbTrace
    - tdbPCacheRemovePageFromHash
    - tdbPCacheUnlock
    - tdbPageDestroy
    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: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    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:305,1
    - Dst: tdbPCachePageHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:315,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:317,1
    - Dst: TDB_TXN_IS_WRITE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:322,1
    - Dst: tdbPCachePinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:323,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:347,1
    - Dst: tdbPCachePinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:348,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:354,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:356,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:379,1
    - Dst: sched_yield
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:384,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:392,1
    - Dst: tdbPageInit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:395,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:401,1
    - Dst: TDB_TXN_IS_WRITE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:405,1
    - Dst: tdbPCacheAddPageToHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:406,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: 412
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 412
    functionName: tdbPCacheFetchImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbPageCreate
    - tdbError
    - TDB_TXN_IS_WRITE
    - memcmp
    - tdbPCacheAddPageToHash
    - memcpy
    - tdbPageInit
    - tdbPCachePageHash
    - tdbPCacheRemovePageFromHash
    - sched_yield
    - tdbPCachePinPage
    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:416,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:418,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:428,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 430
    functionName: tdbPCachePinPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 2
    functionsReached:
    - tdbTrace
    - TDB_PAGE_PGNO
    - tdbError
    - tdbGetPageRef
    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:433,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:435,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:439,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:443,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:447,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:451,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:452,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:462,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:462,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:464,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:464,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:466,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 469
    functionName: tdbPCacheUnpinPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - TDB_PAGE_PGNO
    - tdbError
    - tdbTrace
    - tdbPCacheRemovePageFromHash
    - tdbPageDestroy
    - tdbGetPageRef
    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:472,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:484,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: tdbPCacheRemovePageFromHash
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 6
    functionsReached:
    - tdbTrace
    - tdbPCachePageHash
    - TDB_PAGE_PGNO
    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:488,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:495,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 496
    functionName: tdbPCacheAddPageToHash
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbTrace
    - tdbPCachePageHash
    - TDB_PAGE_PGNO
    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:504,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:510,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 547
    functionName: tdbPCacheOpenImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbPCacheInitLock
    - tdbOsCalloc
    - 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:553,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:560,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:565,1
    - Dst: tdbPCacheDestroyLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 567
    functionName: tdbPCacheCloseImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbPCacheDestroyLock
    - tdbOsFree
    - tdbPageDestroy
    linkageType: ''
    returnType: void
    signature: void tdbPCacheCloseImpl(SPCache *pCache)
  - BBCount: 9
    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: tstrncpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:55,1
    - Dst: tdbPCacheOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:58,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:65,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:69,1
    - Dst: taosMulModeMkDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:71,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:78,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:83,1
    - Dst: tdbTbBtreeToStack
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 7
    argNames:
    - dbname
    - szPage
    - pages
    - ppDb
    - rollback
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - char*
    - int32_t
    - int32_t
    - TDB**
    - int8_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 102
    functionName: tdbOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 20
    functionsReached:
    - strlen
    - tstrncpy
    - tdbOsCalloc
    - taosMulModeMkDir
    - memcpy
    - tdbOsMalloc
    - memset
    - tdbPCacheOpen
    - tdbTbOpen
    - tdbTbBtreeToStack
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tdbOpen(const char *dbname, int32_t szPage, int32_t pages,
      TDB **ppDb, int8_t rollback,\n                int32_t encryptAlgorithm, char
      *encryptKey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:109,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:110,1
    - Dst: tdbPagerClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:115,1
    - Dst: tdbPCacheClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:118,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:119,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pDb
    argTypes:
    - TDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: tdbClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 31
    functionsReached:
    - tdbPCacheClose
    - tdbTbClose
    - tdbPagerClose
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: void tdbClose(TDB *pDb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheAlter
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDb
    - pages
    argTypes:
    - TDB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 126
    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:137,1
    - Dst: tdbTxnOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:142,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:144,1
    - Dst: tdbPagerBegin
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:149,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:151,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:151,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:153,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: 161
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 161
    functionName: tdbBegin
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 33
    functionsReached:
    - tdbPagerBegin
    - tdbOsCalloc
    - tdbError
    - tdbTxnOpen
    - tstrerror
    - tdbOsFree
    - tdbTxnClose
    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:168,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: tdbCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 33
    functionsReached:
    - tstrerror
    - tdbError
    - tdbPagerCommit
    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:184,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:186,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:186,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: tdbPostCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 33
    functionsReached:
    - tstrerror
    - tdbError
    - tdbTxnClose
    - tdbPagerPostCommit
    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:202,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:204,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: tdbPrepareAsyncCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - tdbError
    - tdbPagerPrepareAsyncCommit
    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:218,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:220,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:220,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: tdbAbort
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 2
    functionsReached:
    - tdbTxnClose
    - tstrerror
    - tdbError
    - 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:234,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:236,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:237,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pDb
    - fname
    argTypes:
    - TDB*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: tdbEnvGetPager
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 0
    functionsReached:
    - tdbTrace
    - tdbCstringHash
    - strcmp
    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:257,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:259,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pDb
    - pPager
    argTypes:
    - TDB*
    - SPager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 267
    functionName: tdbEnvAddPager
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 0
    functionsReached:
    - tdbTrace
    - tdbCstringHash
    linkageType: ''
    returnType: void
    signature: void tdbEnvAddPager(TDB *pDb, SPager *pPager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:277,1
    - Dst: tdbCstringHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:283,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pDb
    - pPager
    argTypes:
    - TDB*
    - SPager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 300
    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:69,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - pageSize
    - ppPage
    - (*xMalloc)(void *, size_t)
    - arg
    argTypes:
    - int
    - SPage**
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: tdbPageCreate
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 3
    functionsReached:
    - tdbError
    - memset
    - tdbTrace
    - TDB_INIT_PAGE_LOCK
    - TDB_IS_PGSIZE_VLD
    - xMalloc
    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:88,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:91,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:96,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:101,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:102,1
    - Dst: TDB_DESTROY_PAGE_LOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:105,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:106,1
    - Dst: xFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pPage
    - arg
    argTypes:
    - SPage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 113
    functionName: tdbPageDestroy
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 5
    functionsReached:
    - tdbError
    - xFree
    - tdbOsFree
    - tdbTrace
    - TDB_DESTROY_PAGE_LOCK
    linkageType: ''
    returnType: void
    signature: void tdbPageDestroy(SPage *pPage, void (*xFree)(void *arg, void *ptr),
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:116,1
    - Dst: TDB_PAGE_NCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:118,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:119,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:120,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:121,1
    - Dst: TDB_PAGE_MAX_FREE_BLOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:121,1
    - Dst: TDB_PAGE_HDR_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:122,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:124,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - pPage
    - szAmHdr
    argTypes:
    - SPage*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: tdbPageZero
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PAGE_CCELLS
    - tdbError
    - TDB_PAGE_FCELL_SET
    - TDB_PAGE_MAX_FREE_BLOCK
    - tdbTrace
    - TDB_PAGE_NCELLS_SET
    - TDB_PAGE_HDR_SIZE
    - TDB_PAGE_NFREE_SET
    - TDB_PAGE_CCELLS_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:136,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:138,1
    - Dst: tdbPageZero
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:139,1
    - Dst: TDB_PAGE_HDR_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:142,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:143,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:143,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:144,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:150,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:153,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:154,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - pPage
    - szAmHdr
    argTypes:
    - SPage*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: tdbPageInit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 1
    functionsReached:
    - TDB_PAGE_CCELLS
    - TDB_PAGE_NFREE
    - tdbError
    - TDB_PAGE_NCELLS
    - TDB_PAGE_OFFSET_SIZE
    - tdbTrace
    - tdbPageZero
    - TDB_PAGE_HDR_SIZE
    linkageType: ''
    returnType: void
    signature: void tdbPageInit(SPage *pPage, u8 szAmHdr, int (*xCellSize)(const SPage
      *, SCell *, int *))
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_MAX_FREE_BLOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:168,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:169,1
    - Dst: TDB_PAGE_MAX_FREE_BLOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:170,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:174,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:175,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:185,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:194,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:196,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:199,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:201,1
    - Dst: tdbPageAllocate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:209,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:211,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:215,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:218,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:219,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:220,1
    - Dst: TDB_PAGE_CELL_OFFSET_AT_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:221,1
    - Dst: TDB_PAGE_NCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:222,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:224,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:225,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 5
    argNames:
    - pPage
    - idx
    - pCell
    - szCell
    - asOvfl
    argTypes:
    - SPage*
    - int
    - SCell*
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 236
    functionName: tdbPageInsertCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PAGE_NFREE
    - tdbError
    - tdbOsMalloc
    - memcpy
    - TDB_PAGE_NCELLS
    - TDB_PAGE_MAX_FREE_BLOCK
    - tdbPageAllocate
    - TDB_PAGE_OFFSET_SIZE
    - tdbTrace
    - TDB_PAGE_CELL_OFFSET_AT_SET
    - memmove
    - 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:239,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:242,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: 243
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 243
    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:253,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:256,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:264,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:265,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:279,1
    - Dst: tdbFreeOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:285,1
    - Dst: tdbPageFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:288,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:290,1
    - Dst: TDB_PAGE_NCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:293,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:297,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - pPage
    - idx
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - int
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 303
    functionName: tdbPageDropCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 1
    functionsReached:
    - tdbError
    - tdbFreeOvflPage
    - tdbOsFree
    - TDB_PAGE_NCELLS
    - TDB_PAGE_CELL_AT
    - tdbTrace
    - tdbPageFree
    - 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:312,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:316,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:317,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:319,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:320,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:320,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:327,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:328,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:336,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:338,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:341,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pFromPage
    - pToPage
    - deepCopyOvfl
    argTypes:
    - SPage*
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 350
    functionName: tdbPageCopy
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PAGE_CCELLS
    - TDB_PAGE_NFREE
    - tdbError
    - memcpy
    - tdbOsMalloc
    - tdbTrace
    - TDB_PAGE_NFREE_SET
    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: 365
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 365
    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:376,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:378,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:379,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:380,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:383,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:384,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:384,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:390,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:393,1
    - Dst: TDB_PAGE_FCELL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:398,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:400,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:403,1
    - Dst: SPage*::pPageMethods::getFreeCellInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:414,1
    - Dst: TDB_PAGE_FREE_CELL_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:421,1
    - Dst: SPage*::pPageMethods::setFreeCellInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:422,1
    - Dst: SPage*::pPageMethods::setFreeCellInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:424,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:426,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: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:446,1
    - Dst: tdbPageDefragment
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:446,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:448,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:451,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:452,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:452,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:455,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:456,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:456,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:463,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:467,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:471,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:472,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:472,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 82
    argCount: 3
    argNames:
    - pPage
    - szCell
    - ppCell
    argTypes:
    - SPage*
    - int
    - SCell**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 475
    functionName: tdbPageAllocate
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 1
    functionsReached:
    - TDB_PAGE_CCELLS
    - SPage*::pPageMethods::getFreeCellInfo
    - TDB_PAGE_NFREE
    - tdbError
    - TDB_PAGE_FREE_CELL_SIZE
    - tdbPageDefragment
    - TDB_PAGE_FCELL_SET
    - SPage*::pPageMethods::setFreeCellInfo
    - TDB_PAGE_OFFSET_SIZE
    - TDB_PAGE_FCELL
    - TDB_PAGE_NFREE_SET
    - TDB_PAGE_CCELLS_SET
    - TAOS_CHECK_RETURN
    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:484,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:488,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:491,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:492,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:492,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:496,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:500,1
    - Dst: TDB_PAGE_FREE_CELL_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:501,1
    - Dst: TDB_PAGE_FCELL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:502,1
    - Dst: SPage*::pPageMethods::setFreeCellInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:503,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:504,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:506,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:510,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:511,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:512,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:514,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:515,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 4
    argNames:
    - pPage
    - idx
    - pCell
    - szCell
    argTypes:
    - SPage*
    - int
    - SCell*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 518
    functionName: tdbPageFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 1
    functionsReached:
    - TDB_PAGE_FREE_CELL_SIZE
    - TDB_PAGE_NFREE
    - tdbError
    - TDB_PAGE_FCELL_SET
    - TDB_PAGE_CELL_AT
    - SPage*::pPageMethods::setFreeCellInfo
    - TDB_PAGE_OFFSET_SIZE
    - TDB_PAGE_FCELL
    - memmove
    - TDB_PAGE_NFREE_SET
    - TDB_PAGE_CCELLS_SET
    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: 532
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 532
    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:534,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:535,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:537,1
    - Dst: TDB_PAGE_CELL_OFFSET_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:543,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:545,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:549,1
    - Dst: SPage*::xCellSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:550,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:558,1
    - Dst: TDB_PAGE_CELL_OFFSET_AT_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:559,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:563,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:564,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:565,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 574
    functionName: tdbPageDefragment
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 1
    functionsReached:
    - TDB_PAGE_NFREE
    - tdbError
    - SPage*::xCellSize
    - TDB_PAGE_CELL_OFFSET_AT
    - tdbOsMalloc
    - tdbOsFree
    - TDB_PAGE_NCELLS
    - taosSort
    - TDB_PAGE_CELL_AT
    - TDB_PAGE_FCELL_SET
    - TDB_PAGE_CELL_OFFSET_AT_SET
    - memmove
    - TDB_PAGE_CCELLS_SET
    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: 593
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 593
    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:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - cellNum
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 600
    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: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    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:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - cellBody
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 610
    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: 613
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 613
    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:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - cellFree
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 620
    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: 623
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 623
    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:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - nFree
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 630
    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:634,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 641
    functionName: getPageCellOffset
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - tdbError
    - getPageCellNum
    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:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pPage
    - idx
    - offset
    argTypes:
    - SPage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 649
    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: 656
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 656
    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: 662
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 662
    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:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 697
    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:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - cellNum
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 700
    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:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 703
    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:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - cellBody
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 706
    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:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 709
    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:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - cellFree
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 712
    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:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 715
    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:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - nFree
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 718
    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:722,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:724,1
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 729
    functionName: getLPageCellOffset
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - getLPageCellNum
    - TDB_GET_U24
    - tdbError
    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:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pPage
    - idx
    - offset
    argTypes:
    - SPage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 733
    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:738,1
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pCell
    - szCell
    - nxOffset
    argTypes:
    - SCell*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 740
    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:744,1
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pCell
    - szCell
    - nxOffset
    argTypes:
    - SCell*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 746
    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:42,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:51,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:53,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:54,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:56,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:60,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:60,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:67,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:68,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:72,1
    - Dst: tdbPagerOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:74,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:76,1
    - Dst: tdbEnvAddPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:80,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:94,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:96,1
    - Dst: tdbPagerOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:97,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:99,1
    - Dst: tdbEnvAddPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:103,1
    - Dst: tdbPagerRestoreJournals
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:123,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:125,1
    - Dst: tdbBtreeOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:130,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    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: 138
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 138
    functionName: tdbTbOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 37
    functionsReached:
    - tdbPagerRestoreJournals
    - tdbTbGet
    - strlen
    - tdbOsCalloc
    - tdbFree
    - tdbEnvAddPager
    - tdbOsFree
    - snprintf
    - tdbBtreeOpen
    - tdbPagerOpen
    - tdbEnvGetPager
    - 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:142,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pTb
    argTypes:
    - TTB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: tdbTbClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 32
    functionsReached:
    - tdbOsFree
    - tdbBtreeClose
    linkageType: ''
    returnType: void
    signature: void tdbTbClose(TTB *pTb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:155,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:157,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:158,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:160,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:160,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:162,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:167,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tbname
    - pEnv
    argTypes:
    - char*
    - TDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 174
    functionName: tdbTbExist
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbTbGet
    - strlen
    - taosCheckExistFile
    - snprintf
    - tdbEnvGetPager
    - 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: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    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:188,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:190,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:191,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:193,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:193,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:195,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:200,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - tbname
    - pEnv
    - pTxn
    argTypes:
    - char*
    - TDB*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 207
    functionName: tdbTbDropByName
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - tdbEnvGetPager
    - tdbTbDelete
    - taosRemoveFile
    - 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:210,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: 211
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 211
    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:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pTb
    - pKey
    - kLen
    - pTxn
    argTypes:
    - TTB*
    - void*
    - int
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 213
    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:216,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:216,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:217,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: 218
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: tdbTbUpsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 5
    functionsReached:
    - tdbTbInsert
    - tdbTbDelete
    - TAOS_UNUSED
    linkageType: ''
    returnType: int
    signature: int tdbTbUpsert(TTB *pTb, const void *pKey, int kLen, const void *pVal,
      int vLen, TXN *pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:221,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: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    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:225,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: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTb
    argTypes:
    - TTB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 232
    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:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pTb
    - pPage
    - pTxn
    argTypes:
    - TTB*
    - SPage*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 236
    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:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pTb
    - pgno
    - pTxn
    argTypes:
    - TTB*
    - SPgno*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 240
    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:247,1
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:252,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pTb
    - ppTbc
    - pTxn
    argTypes:
    - TTB*
    - TBC**
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 259
    functionName: tdbTbcOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 8
    functionsReached:
    - tdbOsMalloc
    - tdbBtcOpen
    - taosMemoryFree
    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:264,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:269,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:271,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:281,1
    - Dst: func
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:287,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:290,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:291,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pTb
    - data
    argTypes:
    - TTB*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 295
    functionName: tdbTbTraversal
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbTbcMoveToFirst
    - tdbFree
    - tdbTbcClose
    - tdbTbcOpen
    - func
    - tdbTbcNext
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pTbc
    - pKey
    - kLen
    - c
    argTypes:
    - TBC*
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 297
    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: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: 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: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: 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:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 303
    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:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 305
    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:308,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: 309
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 309
    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:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 311
    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: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: 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:318,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: 319
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 319
    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:322,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: 323
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 323
    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:327,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 330
    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:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 332
    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:
    - strlen
    - tdbOsCalloc
    - tdbError
    - tdbTbInsert
    - tdbPagerFetchPage
    - tdbOsFree
    - tdbPagerWrite
    - terrstr
    - tdbPCacheRelease
    - tdbCommit
    - tdbAbort
    - tdbPageCapacity
    - tdbPostCommit
    - tdbBegin
    - 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:
    - tdbOsFree
    - tdbFree
    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
    - tdbBtcMoveTo
    - tdbTrace
    - tdbBtcUpsert
    - tdbBtcOpen
    - tdbBtcClose
    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
    - tdbBtcDelete
    - tdbBtcMoveTo
    - tdbTrace
    - tdbBtcOpen
    - tdbBtcClose
    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
    - tdbFree
    - tdbBtcMoveTo
    - TDB_CELLDECODER_FREE_KEY
    - tdbTrace
    - tdbBtcUpsert
    - tdbBtcOpen
    - tdbBtcClose
    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
    - tdbFree
    - tdbBtcMoveTo
    - tdbRealloc
    - memcpy
    - TDB_CELLDECODER_FREE_KEY
    - tdbTrace
    - tdbBtcOpen
    - tdbBtreeDecodeCell
    - TDB_CELLDECODER_FREE_VAL
    - tdbPageGetCell
    - tdbBtcClose
    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:
    - tdbError
    - tdbBtreeInitPage
    - TDB_BTREE_PAGE_IS_STACK
    - tdbPagerFetchPage
    - tdbPagerWrite
    - terrstr
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_BTREE_PAGE_SET_FLAGS
    - TDB_PAGE_OFFSET_SIZE
    - tdbPagerReturnPage
    - TDB_PAGE_FREE_SIZE
    - tdbWarn
    - tdbInfo
    - 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:
    - btreeToStack
    - tdbCommit
    - tdbAbort
    - tdbPostCommit
    - tdbBegin
    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:
    - tdbPageDropCell
    - tdbError
    - TDB_PAGE_PGNO
    - tdbPagerFetchPage
    - tdbPagerWrite
    - terrstr
    - TDB_PAGE_OFFSET_SIZE
    - tdbPageInsertCell
    - tdbPagerReturnPage
    - TDB_PAGE_FREE_SIZE
    - 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:
    - tdbPageDropCell
    - tdbError
    - tdbPagerFetchFreePage
    - TDB_PAGE_TOTAL_CELLS
    - tdbPagerFetchPage
    - tdbPagerWrite
    - terrstr
    - TDB_PAGE_OFFSET_SIZE
    - tdbPageInsertCell
    - tdbPagerReturnPage
    - TDB_PAGE_FREE_SIZE
    - 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_OVFL
    - tdbPageInit
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbPageZero
    - tdbPageCapacity
    - TDB_BTREE_PAGE_GET_FLAGS
    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:
    - tdbError
    - tdbBtreeInitPage
    - TDB_FLAG_REMOVE
    - tdbPagerFetchPage
    - tdbPagerWrite
    - terrstr
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbPageCopy
    - TDB_BTREE_PAGE_GET_FLAGS
    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:
    - tdbPageCreate
    - tdbPagerInsertFreePage
    - TDB_PAGE_TOTAL_CELLS
    - tdbPagerWrite
    - TDB_CELLDECODER_FREE_KEY
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbPageInsertCell
    - tdbBtreeDecodeCell
    - TDB_CELLDECODER_FREE_VAL
    - TDB_BTREE_PAGE_GET_FLAGS
    - tdbPageDestroy
    - TDB_PAGE_PGNO
    - tdbBtreeInitPage
    - tdbBtreeEncodeCell
    - tdbRealloc
    - tdbBtreeCellSize
    - tdbPageCopy
    - tdbPagerReturnPage
    - tdbPageDropCell
    - tdbError
    - tdbFree
    - TDB_PAGE_USABLE_SIZE
    - tdbPageGetCell
    - TDB_BYTES_CELL_TAKEN
    - tdbPagerFetchPage
    - terrstr
    - memcpy
    - tdbOsMalloc
    - tdbOsFree
    - TDB_BTREE_PAGE_IS_ROOT
    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:
    - tdbBtreeBalanceDeeper
    - tdbBtreeBalanceNonRoot
    - TDB_PAGE_USABLE_SIZE
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbPagerReturnPage
    - TDB_PAGE_FREE_SIZE
    - TDB_BTREE_PAGE_IS_ROOT
    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:
    - tdbError
    - tdbPagerFetchPage
    - tdbPagerWrite
    - terrstr
    - TDB_FLAG_ADD
    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:
    - TDB_FLAG_ADD
    - tdbPagerFetchPage
    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: 24
    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:
    - tdbLoadOvflPage
    - tdbError
    - tdbPagerInsertFreePage
    - tdbPagerWrite
    - memcpy
    - terrstr
    - tdbPagerReturnPage
    - tdbPageGetCell
    linkageType: ''
    returnType: int
    signature: int tdbFreeOvflPage(SPgno pgno, int nSize, TXN *pTxn, SBTree *pBt)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1407,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1409,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1426,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1432,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1434,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1442,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1447,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1448,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1451,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1456,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1462,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1466,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:1488,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1493,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1497,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1499,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1500,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1506,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1508,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1509,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1514,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1516,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1517,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1543,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1545,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1546,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1553,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1554,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1556,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1557,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1559,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1568,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1571,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    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: 1575
      start: 1399
    functionDepth: 4
    functionLinenumber: 1399
    functionLinenumberEnd: 1575
    functionName: tdbBtreeEncodePayload
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbFree
    - tdbFetchOvflPage
    - memcpy
    - tdbRealloc
    - tdbPCacheRelease
    - tdbPageInsertCell
    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:1596,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1602,1
    - Dst: tdbPutVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1612,1
    - Dst: tdbPutVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1617,1
    - Dst: tdbBtreeEncodePayload
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1626,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1629,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    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: 1635
      start: 1577
    functionDepth: 5
    functionLinenumber: 1577
    functionLinenumberEnd: 1635
    functionName: tdbBtreeEncodeCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbBtreeEncodePayload
    - tdbError
    - tdbPutVarInt
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1645,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1646,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1681,1
    - Dst: TDB_CELLDECODER_SET_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1685,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1687,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1689,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1694,1
    - Dst: tdbLoadOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1698,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1702,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1714,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1717,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1719,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1724,1
    - Dst: TDB_CELLDECODER_SET_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1728,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1730,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1734,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1739,1
    - Dst: tdbLoadOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1740,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1744,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1756,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1768,1
    - Dst: TDB_CELLDECODER_SET_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1772,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1774,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1779,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1781,1
    - Dst: tdbLoadOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1788,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1793,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1809,1
    - Dst: TDB_CELLDECODER_SET_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1813,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1816,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1819,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1821,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 124
    argCount: 6
    argNames:
    - pPage
    - pCell
    - nHeader
    - pDecoder
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - SCell*
    - int
    - SCellDecoder*
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1637
    functionDepth: 4
    functionLinenumber: 1637
    functionLinenumberEnd: 1828
    functionName: tdbBtreeDecodePayload
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbLoadOvflPage
    - tdbError
    - tdbRealloc
    - TDB_CELLDECODER_SET_FREE_VAL
    - memcpy
    - tdbPCacheRelease
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbTrace
    - TDB_CELLDECODER_SET_FREE_KEY
    - tdbPageGetCell
    - tdbDebug
    linkageType: ''
    returnType: int
    signature: "int tdbBtreeDecodePayload(SPage *pPage, const SCell *pCell, int nHeader,
      SCellDecoder *pDecoder, TXN *pTxn,\n                                 SBTree
      *pBt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1836,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1839,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1840,1
    - Dst: TDB_CELLDECODER_CLZ_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1841,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1844,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1845,1
    - Dst: TDB_CELLDECODER_CLZ_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1846,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1858,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1868,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1875,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1878,1
    - Dst: tdbBtreeDecodePayload
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1884,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: 1890
      start: 1830
    functionDepth: 5
    functionLinenumber: 1830
    functionLinenumberEnd: 1890
    functionName: tdbBtreeDecodeCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 2
    functionsReached:
    - tdbError
    - tdbFree
    - TDB_CELLDECODER_CLZ_FREE_VAL
    - TDB_CELLDECODER_FREE_KEY
    - TDB_CELLDECODER_CLZ_FREE_KEY
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbGetVarInt
    - TDB_CELLDECODER_FREE_VAL
    - tdbBtreeDecodePayload
    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:1900,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1907,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1914,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1914,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1917,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - pPage
    - pCell
    - pFullSize
    argTypes:
    - SPage*
    - SCell*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1896
    functionDepth: 1
    functionLinenumber: 1896
    functionLinenumberEnd: 1948
    functionName: tdbBtreeCellSize
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_PAGE_PGNO
    - tdbGetVarInt
    - tdbError
    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:1957,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1960,1
    - Dst: tdbTxnOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1966,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - pBtc
    - pBt
    - pTxn
    argTypes:
    - SBTC*
    - SBTree*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1952
    functionDepth: 2
    functionLinenumber: 1952
    functionLinenumberEnd: 1981
    functionName: tdbBtcOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 5
    functionsReached:
    - tdbOsFree
    - memset
    - tdbOsCalloc
    - tdbTxnOpen
    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:1995,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1998,1
    - Dst: TDB_BTREE_PAGE_IS_ROOT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2002,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2003,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2008,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2012,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2013,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2022,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2030,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2044,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2051,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2053,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2055,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 1983
    functionDepth: 3
    functionLinenumber: 1983
    functionLinenumberEnd: 2063
    functionName: tdbBtcMoveToFirst
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - tdbPagerFetchPage
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbBtcMoveDownward
    - TDB_BTREE_PAGE_IS_ROOT
    - tdbBtcMoveUpward
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveToFirst(SBTC *pBtc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2077,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2080,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2084,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2087,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2090,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2091,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2100,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2107,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2108,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2112,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2119,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2120,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2122,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2127,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2134,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2136,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2138,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2142,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2143,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2065
    functionDepth: 3
    functionLinenumber: 2065
    functionLinenumberEnd: 2151
    functionName: tdbBtcMoveToLast
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - tdbPagerFetchPage
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbBtcMoveDownward
    - tdbBtcMoveUpward
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveToLast(SBTC *pBtc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2164,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2166,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2168,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2172,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2179,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2183,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2188,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2189,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2190,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2191,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2200,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2201,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2202,1
    - Dst: tdbBtcMoveToNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2206,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 5
    argNames:
    - pBtc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTC*
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2153
    functionDepth: 6
    functionLinenumber: 2153
    functionLinenumberEnd: 2213
    functionName: tdbBtreeNext
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbError
    - tdbFree
    - tdbRealloc
    - memcpy
    - tdbTrace
    - tdbBtreeDecodeCell
    - TDB_CELLDECODER_FREE_VAL
    - tdbPageGetCell
    - tdbBtcMoveToNext
    linkageType: ''
    returnType: int
    signature: int tdbBtreeNext(SBTC *pBtc, void **ppKey, int *kLen, void **ppVal,
      int *vLen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2226,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2228,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2230,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2234,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2241,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2245,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2247,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2251,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2252,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2253,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2254,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2263,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2264,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2265,1
    - Dst: tdbBtcMoveToPrev
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2269,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 5
    argNames:
    - pBtc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTC*
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2215
    functionDepth: 6
    functionLinenumber: 2215
    functionLinenumberEnd: 2276
    functionName: tdbBtreePrev
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbError
    - tdbFree
    - tdbRealloc
    - memcpy
    - tdbTrace
    - tdbBtcMoveToPrev
    - tdbBtreeDecodeCell
    - TDB_CELLDECODER_FREE_VAL
    - tdbPageGetCell
    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:2283,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2284,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2291,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2302,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2304,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2309,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2310,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2313,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2320,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2322,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2278
    functionDepth: 1
    functionLinenumber: 2278
    functionLinenumberEnd: 2332
    functionName: tdbBtcMoveToNext
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 2
    functionsReached:
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbBtcMoveDownward
    - tdbBtcMoveUpward
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveToNext(SBTC *pBtc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2350,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2352,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2363,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2365,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2367,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2370,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2371,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2373,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2334
    functionDepth: 1
    functionLinenumber: 2334
    functionLinenumberEnd: 2378
    functionName: tdbBtcMoveToPrev
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 2
    functionsReached:
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbBtcMoveDownward
    - tdbBtcMoveUpward
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveToPrev(SBTC *pBtc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2386,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2390,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2391,1
    - Dst: TDB_BTREE_PAGE_IS_OVFL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2395,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2396,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2400,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2401,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2408,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2418,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2380
    functionDepth: 3
    functionLinenumber: 2380
    functionLinenumberEnd: 2426
    functionName: tdbBtcMoveDownward
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 4
    functionsReached:
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - tdbPagerFetchPage
    - TDB_BTREE_PAGE_IS_OVFL
    - TDB_BTREE_PAGE_IS_LEAF
    - 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:2431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2428
    functionDepth: 2
    functionLinenumber: 2428
    functionLinenumberEnd: 2438
    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:2443,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2447,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2448,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2450,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: 2465
      start: 2440
    functionDepth: 6
    functionLinenumber: 2440
    functionLinenumberEnd: 2465
    functionName: tdbBtcGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbPageGetCell
    - tdbBtreeDecodeCell
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    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:2469,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2481,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2486,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2488,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2488,1
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2492,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2494,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2501,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2503,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2508,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2512,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2515,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2517,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2517,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2522,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2523,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2526,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2528,1
    - Dst: tdbPageUpdateCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2531,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2533,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2534,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2537,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2540,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2541,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2543,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2545,1
    - Dst: tdbBtreeBalance
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2550,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2552,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2559,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2564,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2565,1
    - Dst: tdbBtreeBalance
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2571,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2573,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2467
    functionDepth: 7
    functionLinenumber: 2467
    functionLinenumberEnd: 2580
    functionName: tdbBtcDelete
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 2
    functionsReached:
    - tdbPageDropCell
    - tdbError
    - TDB_PAGE_PGNO
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtreeEncodeCell
    - tdbPagerWrite
    - terrstr
    - tdbOsMalloc
    - tdbOsFree
    - tdbBtreeBalance
    - tdbBtcGet
    - tdbPagerReturnPage
    - tdbDebug
    - tdbPageUpdateCell
    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:2585,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2591,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2597,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2599,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2606,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2608,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2613,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2615,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2615,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2622,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2626,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2629,1
    - Dst: tdbPageUpdateCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2633,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2636,1
    - Dst: tdbBtreeBalance
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2642,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2644,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: 2650
      start: 2582
    functionDepth: 6
    functionLinenumber: 2582
    functionLinenumberEnd: 2650
    functionName: tdbBtcUpsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 3
    functionsReached:
    - tdbError
    - tdbBtreeEncodeCell
    - TDB_PAGE_TOTAL_CELLS
    - tdbRealloc
    - tdbPagerWrite
    - terrstr
    - tdbBtreeBalance
    - tdbPageInsertCell
    - tdbPageUpdateCell
    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:2662,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2665,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2669,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2676,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2679,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2690,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2692,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2693,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2699,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2700,1
    - Dst: SBTree*::kcmpr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2701,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2707,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2708,1
    - Dst: SBTree*::kcmpr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2709,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2717,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2723,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2729,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2734,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2740,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2742,1
    - Dst: SBTree*::kcmpr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2745,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2754,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2756,1
    - Dst: SBTree*::kcmpr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2759,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2768,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2773,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2775,1
    - Dst: SBTree*::kcmpr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2778,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2792,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2799,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2800,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2806,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 115
    argCount: 4
    argNames:
    - pBtc
    - pKey
    - kLen
    - pCRst
    argTypes:
    - SBTC*
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2652
    functionDepth: 7
    functionLinenumber: 2652
    functionLinenumberEnd: 2809
    functionName: tdbBtcMoveTo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 5
    functionsReached:
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - tdbPagerFetchPage
    - SBTree*::kcmpr
    - tdbBtcGet
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbTrace
    - tdbBtcMoveDownward
    - tdbBtreeDecodeCell
    - tdbPageGetCell
    - tdbBtcMoveUpward
    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:2814,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2821,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2825,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2834,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2835,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2838,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2839,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2841,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2845,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2811
    functionDepth: 2
    functionLinenumber: 2811
    functionLinenumberEnd: 2849
    functionName: tdbBtcClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 5
    functionsReached:
    - tdbError
    - tdbFree
    - TDB_CELLDECODER_FREE_KEY
    - tdbPagerReturnPage
    - TDB_CELLDECODER_FREE_VAL
    - tdbDebug
    - tdbTxnClose
    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: 2857
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2857
    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:2878,1
    - Dst: TDB_BTREE_PAGE_IS_ROOT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2880,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2881,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2873
    functionDepth: 1
    functionLinenumber: 2873
    functionLinenumberEnd: 2890
    functionName: tdbBtPageInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_BTREE_PAGE_IS_ROOT
    - TDB_PAGE_PGNO
    - TDB_PAGE_TOTAL_CELLS
    linkageType: ''
    returnType: void
    signature: void tdbBtPageInfo(SPage *pPage, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:15,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:16,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: WalCleanEnv::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walInit
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 19
    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:22,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:23,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:24,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:30,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:31,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: WalCleanEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - taosRemoveDir
    - memset
    - walOpen
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    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:47,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: WalCleanDeleteEnv::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walInit
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    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:54,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:55,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:56,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:60,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:61,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: WalCleanDeleteEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - taosRemoveDir
    - memset
    - walOpen
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    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:77,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: WalKeepEnv::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walInit
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 81
    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:84,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:85,1
    - Dst: WalKeepEnv::SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: WalKeepEnv::walResetEnv
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - WalKeepEnv::TearDown
    - taosRemoveDir
    - WalKeepEnv::SetUp
    linkageType: ''
    returnType: void
    signature: void walResetEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:90,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:91,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:97,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:98,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: WalKeepEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - memset
    - walOpen
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    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:114,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: WalRetentionEnv::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walInit
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.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: 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:121,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:122,1
    - Dst: WalRetentionEnv::SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    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:136,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: WalRetentionEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - ASSERT
    - walOpen
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    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:152,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: WalSkipLevel::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walInit
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 156
    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:159,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:160,1
    - Dst: WalSkipLevel::SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    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:174,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: WalSkipLevel::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - ASSERT
    - walOpen
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    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:190,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: WalEncrypted::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walInit
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.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: 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:197,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:198,1
    - Dst: WalEncrypted::SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: WalEncrypted::walResetEnv
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosRemoveDir
    - WalEncrypted::SetUp
    - WalEncrypted::TearDown
    linkageType: ''
    returnType: void
    signature: void walResetEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:213,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: WalEncrypted::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - ASSERT
    - walOpen
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 220
    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:227,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:228,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:229,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:230,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:231,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:232,1
    - Dst: ASSERT_EQ
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT
    - walRollFileInfo
    - taosArrayGetLast
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, createNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:238,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:239,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:240,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:242,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:243,1
    - Dst: walRollFileInfo
      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:246,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:247,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:248,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:249,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:250,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:251,1
    - Dst: walMetaSerialize
      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: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:255,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:256,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:257,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT
    - walMetaSerialize
    - printf
    - walRollFileInfo
    - walSaveMeta
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, serialize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:262,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:263,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:264,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:265,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:266,1
    - 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: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:269,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walSaveMeta
    - ASSERT
    - walRollFileInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, removeOldMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:274,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:282,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:283,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:284,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:285,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:286,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:287,1
    - Dst: walMetaSerialize
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:290,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:291,1
    - Dst: TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:293,1
    - Dst: SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:294,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:296,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:297,1
    - Dst: walMetaSerialize
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:300,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:301,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:303,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:304,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:306,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:308,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 310
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - ASSERT
    - strlen
    - walMetaSerialize
    - walAppendLog
    - EXPECT_EQ
    - SetUp
    - ASSERT_EQ
    - taosMemoryFree
    - TearDown
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, readOldMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:315,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:316,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:317,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:318,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:319,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:320,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:322,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walSaveMeta
    - walAppendLog
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, write)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:329,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:330,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:331,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:333,1
    - Dst: ASSERT_NE
      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: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:336,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:337,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:338,1
    - Dst: walRollback
      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: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:341,1
    - Dst: walRollback
      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: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:344,1
    - Dst: walSaveMeta
      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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 347
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walAppendLog
    - ASSERT_NE
    - ASSERT_EQ
    - walSaveMeta
    - walRollback
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, rollback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:352,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:353,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:354,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:356,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:357,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:360,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:361,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:362,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:363,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:364,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:365,1
    - Dst: walRollback
      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: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:368,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:369,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:370,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:372,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:374,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:375,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:376,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:378,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walEndSnapshot
    - walAppendLog
    - ASSERT_NE
    - ASSERT_EQ
    - walSaveMeta
    - walBeginSnapshot
    - walRollback
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, rollbackMultiFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:386,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:387,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:388,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:389,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:390,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:393,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:394,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:395,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:396,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:397,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:399,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:400,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:403,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:404,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:405,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:406,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:409,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:410,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:411,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 413
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walCommit
    - walEndSnapshot
    - walAppendLog
    - ASSERT_NE
    - ASSERT_EQ
    - walBeginSnapshot
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanDeleteEnv, roll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:416,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:418,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:419,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:424,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:425,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:426,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:427,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:430,1
    - Dst: walReadVer
      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: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:440,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:441,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:443,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:444,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:445,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:447,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 451
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - ASSERT
    - strlen
    - walCloseReader
    - walAppendLog
    - sprintf
    - walReadVer
    - EXPECT_EQ
    - walOpenReader
    - ASSERT_EQ
    - taosRand
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, readHandleRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:454,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:456,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:457,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:462,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:463,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:464,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:465,1
    - Dst: walLogExist
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:468,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 470
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - ASSERT
    - strlen
    - walCloseReader
    - walAppendLog
    - sprintf
    - walLogExist
    - walOpenReader
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walLogExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:473,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:477,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:478,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:479,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:480,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:485,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:486,1
    - Dst: walGetCurFileOffset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:487,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:488,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:493,1
    - Dst: walCalcBodyCksum
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:498,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:499,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:500,1
    - Dst: walScanLogGetLastVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:503,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 505
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - strlen
    - taosWriteFile
    - walCalcBodyCksum
    - walScanLogGetLastVer
    - walAppendLog
    - sprintf
    - walGetCurFileInfo
    - walGetCurFileOffset
    - ASSERT_EQ
    - taosGetTimestampUs
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walScanLogGetLastVerHeadMissMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:508,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:512,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:513,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:514,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:515,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:520,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:521,1
    - Dst: walGetCurFileOffset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:522,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:523,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:528,1
    - Dst: walCalcHeadCksum
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:532,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:534,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:535,1
    - Dst: walScanLogGetLastVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 540
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - strlen
    - taosWriteFile
    - walScanLogGetLastVer
    - walAppendLog
    - sprintf
    - walGetCurFileInfo
    - walGetCurFileOffset
    - walCalcHeadCksum
    - ASSERT_EQ
    - taosGetTimestampUs
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walScanLogGetLastVerBodyMissMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:543,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:547,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:548,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:549,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:550,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:552,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:555,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:556,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:560,1
    - Dst: walCalcHeadCksum
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:562,1
    - Dst: walCalcBodyCksum
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:563,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:564,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:565,1
    - Dst: walCheckAndRepairIdx
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:569,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 571
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - strlen
    - taosWriteFile
    - walCalcBodyCksum
    - walCheckAndRepairIdx
    - walAppendLog
    - sprintf
    - walGetCurFileInfo
    - walCalcHeadCksum
    - ASSERT_EQ
    - taosGetTimestampUs
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walCheckAndRepairIdxFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:574,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:580,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:581,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:582,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:583,1
    - Dst: walRestoreFromSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:585,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - strlen
    - walRestoreFromSnapshot
    - walAppendLog
    - sprintf
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walRestoreFromSnapshot1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:590,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:596,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:597,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:598,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:599,1
    - Dst: walOpenRef
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:601,1
    - Dst: walRestoreFromSnapshot
      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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 605
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - strlen
    - walRestoreFromSnapshot
    - walAppendLog
    - sprintf
    - walOpenRef
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walRestoreFromSnapshot2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:608,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:614,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:615,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:616,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:617,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:619,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:620,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:624,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:626,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 628
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - strlen
    - walAppendLog
    - sprintf
    - walGetCurFileInfo
    - ASSERT_EQ
    - walRollback
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walRollback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:631,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:637,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:638,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:639,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:640,1
    - Dst: walChangeWrite
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:643,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 645
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - strlen
    - walAppendLog
    - sprintf
    - ASSERT_EQ
    - walChangeWrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walChangeWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:653,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:654,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:655,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:656,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:659,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:660,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:664,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:665,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:666,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:667,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:670,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:671,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:675,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:676,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:677,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:678,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:681,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:682,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:685,1
    - Dst: walCheckAndRepairMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:688,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 690
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walCheckAndRepairMeta
    - strlen
    - walAppendLog
    - taosArrayGet
    - sprintf
    - walRollImpl
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, walRepairLogFileTs2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:693,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:699,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:700,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:701,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:702,1
    - Dst: TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:705,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:709,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:710,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:711,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:712,1
    - Dst: SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:713,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:716,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:718,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:719,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:722,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:723,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:724,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:732,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:733,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:735,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:736,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:737,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:739,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:745,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:746,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:748,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:752,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:753,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:754,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:762,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:763,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:765,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:766,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:767,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:769,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 773
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - walResetEnv
    - strlen
    - ASSERT
    - walCloseReader
    - walAppendLog
    - sprintf
    - walReadVer
    - EXPECT_EQ
    - walOpenReader
    - SetUp
    - ASSERT_EQ
    - taosRemoveFile
    - TearDown
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalRetentionEnv, repairMeta1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:776,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:782,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:783,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:784,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:785,1
    - Dst: TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:788,1
    - Dst: SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 791
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - strlen
    - walAppendLog
    - sprintf
    - SetUp
    - ASSERT_EQ
    - TearDown
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalSkipLevel, restart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:797,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:798,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:799,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:801,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:802,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:803,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:804,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:806,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:807,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:808,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:810,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:811,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:812,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 814
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walCommit
    - walEndSnapshot
    - walAppendLog
    - ASSERT_NE
    - ASSERT_EQ
    - walBeginSnapshot
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalSkipLevel, roll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:819,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:820,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:821,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:823,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 825
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walSaveMeta
    - walAppendLog
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalEncrypted, write)
  - 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: 36
    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: 4
    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: sprintf
      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:
    - sprintf
    - 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: sprintf
      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:
    - sprintf
    - 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:
    - walValidHeadCksum
    - walValidBodyCksum
    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: 3
    functionsReached:
    - taosMemoryMalloc
    - taosThreadMutexInit
    - tGenIdPI64
    - taosMemoryCalloc
    - taosMemoryFree
    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: 3
    functionsReached:
    - taosMemoryFreeClear
    - taosCloseFile
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void walCloseReader(SWalReader *pReader)
  - BBCount: 3
    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_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:75,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:79,1
    - Dst: walFetchHead
      Src: /src/tdengine/source/libs/wal/src/walRead.c:79,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:83,1
    - Dst: walFetchBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:83,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:85,1
    - Dst: walSkipFetchBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:85,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pReader
    - scanMeta
    argTypes:
    - SWalReader*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 92
    functionName: walNextValidMsg
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - walGetCommittedVer
    - wDebug
    - walGetLastVer
    - walFetchHead
    - walFetchBody
    - walGetAppliedVer
    - walSkipFetchBody
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    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:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    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:98,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pReader
    - sver
    - ever
    argTypes:
    - SWalReader*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: walReaderValidVersionRange
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - walGetCommittedVer
    - walGetFirstVer
    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:104,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:104,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:105,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:106,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pWalReader
    - pOffset
    argTypes:
    - SWalReader*
    - STqOffsetVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: walReaderVerifyOffset
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 1
    functionsReached:
    - taosThreadRwlockRdlock
    - walGetFirstVer
    - 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:121,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:123,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:124,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:126,1
    - Dst: taosReadFile
      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: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:131,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:132,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:134,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:136,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:140,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:142,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:143,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:144,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pReader
    - fileFirstVer
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 148
    functionName: walReadSeekFilePos
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - taosLSeekFile
    - taosReadFile
    - 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:153,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:153,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:154,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:154,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walRead.c:156,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:157,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:159,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:159,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:160,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walRead.c:165,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:166,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:168,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:168,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:169,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pReader
    - fileFirstVer
    argTypes:
    - SWalReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: walReadChangeFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - walBuildLogName
    - terrstr
    - walBuildIdxName
    - TAOS_RETURN
    - TAOS_UNUSED
    - taosOpenFile
    - wError
    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:185,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:185,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/wal/src/walRead.c:186,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:188,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:189,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:189,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:190,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/wal/src/walRead.c:193,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:194,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:194,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:197,1
    - Dst: walReadChangeFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:197,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:201,1
    - Dst: walReadSeekFilePos
      Src: /src/tdengine/source/libs/wal/src/walRead.c:201,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:202,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pReader
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: walReadSeekVerImpl
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockUnlock
    - wDebug
    - taosThreadRwlockRdlock
    - walReadSeekFilePos
    - walReadChangeFile
    - TAOS_MEMCPY
    - TAOS_RETURN
    - TAOS_UNUSED
    - taosArraySearch
    - wError
    - TAOS_CHECK_RETURN
    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:212,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:214,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:218,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:221,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:224,1
    - Dst: walReadSeekVerImpl
      Src: /src/tdengine/source/libs/wal/src/walRead.c:224,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pReader
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: walReaderSeekVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - wDebug
    - walReadSeekVerImpl
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:236,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:240,1
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:240,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:246,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:250,1
    - Dst: walReadSeekVerImpl
      Src: /src/tdengine/source/libs/wal/src/walRead.c:250,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:256,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:258,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:272,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pRead
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 273
    functionName: walFetchHead
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 1
    functionsReached:
    - taosReadFile
    - walReadSeekVerImpl
    - walReaderSeekVer
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:276,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:285,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:287,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:289,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:293,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pRead
    argTypes:
    - SWalReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 296
    functionName: walSkipFetchBody
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 1
    functionsReached:
    - taosLSeekFile
    - wDebug
    - TAOS_RETURN
    - ENCRYPTED_LEN
    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:305,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:314,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:318,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:320,1
    - Dst: taosReadFile
      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: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRead.c:330,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:331,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:333,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:336,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:341,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:343,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:346,1
    - Dst: decryptBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:346,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:356,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - pRead
    argTypes:
    - SWalReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 358
    functionName: walFetchBody
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 1
    functionsReached:
    - taosReadFile
    - wDebug
    - tstrerror
    - ENCRYPTED_LEN
    - wError
    - taosMemoryRealloc
    - decryptBody
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:361,1
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/wal/src/walRead.c:366,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:367,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:371,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:374,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:377,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:378,1
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:382,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:384,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:384,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:385,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:385,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:387,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:394,1
    - Dst: walReadSeekVerImpl
      Src: /src/tdengine/source/libs/wal/src/walRead.c:398,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:400,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:400,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:402,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:409,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRead.c:410,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:413,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:418,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:418,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:419,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:423,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:425,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:427,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:427,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:429,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:437,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:441,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:443,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:443,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:445,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:451,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:457,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRead.c:458,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:459,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:459,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:460,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:464,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:467,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:467,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:469,1
    - Dst: decryptBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:472,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:474,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:474,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:476,1
    - Dst: walValidBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:479,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:481,1
    - Dst: walCalcBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:483,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:485,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:488,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:488,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:490,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:494,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:494,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:496,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 93
    argCount: 2
    argNames:
    - pReader
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 497
    functionName: walReadVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 2
    functionsReached:
    - taosReadFile
    - wDebug
    - taosThreadMutexUnlock
    - walReadSeekVerImpl
    - tstrerror
    - ENCRYPTED_LEN
    - walCalcBodyCksum
    - terrstr
    - walValidHeadCksum
    - taosMemoryRealloc
    - walIsEmpty
    - decryptBody
    - TAOS_RETURN
    - walValidBodyCksum
    - TAOS_UNUSED
    - walReaderSeekVer
    - taosThreadMutexLock
    - wError
    linkageType: ''
    returnType: int32_t
    signature: int32_t walReadVer(SWalReader *pReader, int64_t ver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:502,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:503,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:505,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/wal/src/walRead.c:513,1
    - Dst: CBC_Decrypt
      Src: /src/tdengine/source/libs/wal/src/walRead.c:515,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/wal/src/walRead.c:519,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRead.c:521,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - cfg
    - pHead
    - plainBodyLen
    - func
    argTypes:
    - SWalCfg*
    - SWalCkHead*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 525
    functionName: decryptBody
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - tstrncpy
    - ENCRYPTED_LEN
    - memcpy
    - CBC_Decrypt
    - 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:528,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:529,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:532,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:532,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:533,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:533,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:536,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 537
    functionName: walReadReset
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - TAOS_UNUSED
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - wError
    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:
    - atomic_store_8
    - tstrerror
    - wInfo
    - atomic_val_compare_exchange_8
    - wWarn
    - TAOS_RETURN
    - walCreateThread
    - taosOpenRef
    - wError
    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_store_8
    - wInfo
    - walStopThread
    - atomic_val_compare_exchange_8
    - taosCloseRef
    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:
    - taosThreadRwlockAttrSetKindNP
    - taosThreadRwlockInit
    - taosThreadRwlockAttrDestroy
    - taosThreadRwlockAttrInit
    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
    - tstrerror
    - walBuildLogName
    - memset
    - walBuildIdxName
    - TAOS_RETURN
    - taosOpenFile
    - wError
    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:178,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:180,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:180,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:186,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:188,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:188,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:198,1
    - Dst: walLoadMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:203,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:205,1
    - Dst: walCheckAndRepairMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:208,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:210,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:210,1
    - Dst: walCheckAndRepairIdx
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:214,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:216,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:216,1
    - Dst: walInitWriteFileForSkip
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:220,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:223,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:229,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:231,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:231,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:237,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:242,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:243,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:244,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:245,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:245,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:246,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 95
    argCount: 2
    argNames:
    - path
    - pCfg
    argTypes:
    - char*
    - SWalCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 249
    functionName: walOpen
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 6
    functionsReached:
    - taosArrayDestroy
    - tstrerror
    - walResetVer
    - taosArrayInit
    - walLoadMeta
    - taosAddRef
    - TAOS_SYSTEM_ERROR
    - walCheckAndRepairIdx
    - taosMkDir
    - taosThreadRwlockDestroy
    - wWarn
    - strerror
    - taosMemoryCalloc
    - wError
    - walCheckAndRepairMeta
    - tstrncpy
    - walInitLock
    - taosMemoryFreeClear
    - memset
    - walInitWriteFileForSkip
    - taosGetDefaultHashFunction
    - wDebug
    - memcpy
    - TAOS_UNUSED
    - taosHashInit
    - taosHashCleanup
    - taosMemoryFree
    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:252,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:256,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:259,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:262,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:268,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:269,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:270,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:271,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pWal
    - pCfg
    argTypes:
    - SWal*
    - SWalCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 284
    functionName: walAlter
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - wDebug
    - taosRemoveDir
    - tstrerror
    - taosMkDir
    - wError
    - wInfo
    - TAOS_RETURN
    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:289,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:289,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:290,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:291,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:291,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: walPersist
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockUnlock
    - TAOS_UNUSED
    - walSaveMeta
    - taosThreadRwlockWrlock
    - TAOS_RETURN
    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:297,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:297,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:298,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:299,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:299,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:301,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:301,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:303,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:305,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:307,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:312,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:315,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:317,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:319,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:322,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:323,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:324,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:325,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:325,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:329,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:330,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 332
    functionName: walClose
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 6
    functionsReached:
    - taosThreadRwlockUnlock
    - taosArrayDestroy
    - taosCloseFile
    - tstrerror
    - taosRemoveDir
    - taosMkDir
    - taosRemoveRef
    - wInfo
    - taosHashIterate
    - TAOS_UNUSED
    - walSaveMeta
    - taosHashCleanup
    - taosThreadRwlockWrlock
    - taosMemoryFree
    - wError
    linkageType: ''
    returnType: void
    signature: void walClose(SWal *pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:336,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:338,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wal
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: walFreeObj
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - wDebug
    - taosThreadRwlockDestroy
    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:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 352
    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:355,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:356,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:357,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: walUpdateSeq
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_32
    - taosMsleep
    - strerror
    - wError
    linkageType: ''
    returnType: void
    signature: void walUpdateSeq()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:362,1
    - Dst: walNeedFsync
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:364,1
    - Dst: wTrace
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:365,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:366,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:367,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:369,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:369,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:370,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: walFsyncAll
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - wTrace
    - walNeedFsync
    - taosFsyncFile
    - strerror
    - atomic_load_32
    - taosIterateRef
    - wError
    - walGetLastFileFirstVer
    linkageType: ''
    returnType: void
    signature: void walFsyncAll()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:378,1
    - Dst: walUpdateSeq
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:380,1
    - Dst: walFsyncAll
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:381,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: walThreadFunc
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - walUpdateSeq
    - atomic_load_8
    - setThreadName
    - walFsyncAll
    linkageType: ''
    returnType: void
    signature: void *walThreadFunc(void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:391,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:392,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:394,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:396,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:397,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:397,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:399,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:399,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:402,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:403,1
    - Dst: taosGetPthreadId
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:403,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 406
    functionName: walCreateThread
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 1
    functionsReached:
    - wDebug
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - taosThreadAttrDestroy
    - taosThreadAttrSetDetachState
    - taosGetPthreadId
    - strerror
    - taosThreadAttrSetStackSize
    - TAOS_RETURN
    - wError
    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:409,1
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:411,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:412,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:413,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: walStopThread
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 1
    functionsReached:
    - taosThreadClear
    - wDebug
    - atomic_store_8
    - taosCheckPthreadValid
    - taosThreadJoin
    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:
    - taosMemoryCalloc
    - taosMemoryFree
    - tGenIdPI64
    - taosHashPut
    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:
    - wDebug
    - taosHashGet
    - tstrerror
    - taosHashRemove
    - taosMemoryFree
    - wError
    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
    - wDebug
    - taosThreadRwlockUnlock
    - TAOS_UNUSED
    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
    - wDebug
    - taosThreadRwlockUnlock
    - TAOS_UNUSED
    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:24,1
    - Dst: FORCE_INLINE::walGetFirstVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:24,1
    - Dst: FORCE_INLINE::walGetLastVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: FORCE_INLINE::walLogExist
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - FORCE_INLINE::walIsEmpty
    - FORCE_INLINE::walGetLastVer
    - FORCE_INLINE::walGetFirstVer
    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: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    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: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    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: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    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: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    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: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    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: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pWal
    - metaVer
    - buf
    argTypes:
    - SWal*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    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:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWal
    - buf
    argTypes:
    - SWal*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:51,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:54,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:57,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:60,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:60,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:62,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:63,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:66,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:75,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:83,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:90,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:91,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:96,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:97,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:100,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:102,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:102,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:103,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:106,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:107,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:107,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:109,1
    - Dst: tmemmem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:123,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:136,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:138,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:151,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:158,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:159,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:162,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:164,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:165,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:169,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:170,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:171,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:178,1
    - Dst: decryptBody
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:178,1
    - Dst: walValidBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:180,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:182,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:193,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:212,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:215,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:216,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:216,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:217,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:221,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:225,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:226,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:226,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:227,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:235,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:235,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:237,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:237,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:238,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:241,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 119
    argCount: 3
    argNames:
    - pWal
    - fileIdx
    - lastVer
    argTypes:
    - SWal*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 242
    functionName: walScanLogGetLastVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 2
    functionsReached:
    - taosReadFile
    - taosFtruncateFile
    - tstrerror
    - taosMemoryRealloc
    - taosOpenFile
    - TMIN
    - taosCloseFile
    - ENCRYPTED_LEN
    - taosArrayGet
    - taosGetInt64Aligned
    - wWarn
    - strerror
    - wError
    - TAOS_RETURN
    - tmemmem
    - walBuildLogName
    - walValidHeadCksum
    - taosFsyncFile
    - decryptBody
    - taosArrayGetSize
    - TAOS_CHECK_GOTO
    - taosLSeekFile
    - taosStatFile
    - TMAX
    - walValidBodyCksum
    - TAOS_UNUSED
    - TSDB_CHECK_NULL
    - taosMemoryFree
    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:245,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:251,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:253,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:266,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:269,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:270,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - metaLogList
    - actualLogList
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 276
    functionName: walRebuildFileInfoSet
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArrayClear
    - taosArrayGetSize
    - TAOS_RETURN
    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:280,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:286,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:291,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:296,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 307
    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:310,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:316,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:322,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:324,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:325,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:325,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:327,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pWal
    - updateMeta
    argTypes:
    - SWal*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 337
    functionName: walRepairLogFileTs
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - walBuildLogName
    - taosStatFile
    - strerror
    - taosArrayGetSize
    - TAOS_RETURN
    - wError
    linkageType: ''
    returnType: int32_t
    signature: int32_t walRepairLogFileTs(SWal* pWal, bool* updateMeta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:340,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:346,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:358,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:361,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 365
    functionName: walLogEntriesComplete
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - wError
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t walLogEntriesComplete(const SWal* pWal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:372,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:373,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:376,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:379,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:379,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:381,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:384,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:386,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:387,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:389,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:392,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:392,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:396,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:396,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:399,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pWal
    - fileIdx
    argTypes:
    - SWal*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 401
    functionName: walTrimIdxFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosFtruncateFile
    - TAOS_CHECK_EXIT
    - tstrerror
    - wError
    - taosArrayGet
    - wInfo
    - taosStatFile
    - walBuildIdxName
    - TMAX
    - taosOpenFile
    - TSDB_CHECK_NULL
    - TAOS_RETURN
    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:404,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:406,1
    - Dst: wTrace
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vgId
    - fileSet
    - str
    argTypes:
    - int32_t
    - SArray*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: printFileSet
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - wTrace
    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:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - regex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 419
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:431,1
    - Dst: TAOS_CHECK_EXIT_SET_CODE
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:435,1
    - Dst: regcomp
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:435,1
    - Dst: TAOS_CHECK_EXIT_SET_CODE
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:437,1
    - Dst: regcomp
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:437,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:439,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:440,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:442,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:446,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:447,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:447,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:448,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:451,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:452,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:453,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:453,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:457,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:459,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:460,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:461,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:463,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:464,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:471,1
    - Dst: walRebuildFileInfoSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:471,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:473,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:474,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:475,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:477,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:485,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:487,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:489,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:489,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:493,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:504,1
    - Dst: walTrimIdxFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:504,1
    - Dst: walScanLogGetLastVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:507,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:510,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:510,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:518,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:527,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:532,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:533,1
    - Dst: walAlignVersions
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:535,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:538,1
    - Dst: walRepairLogFileTs
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:538,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:541,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:542,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:545,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:548,1
    - Dst: walLogEntriesComplete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:548,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:550,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:555,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:555,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:557,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:558,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:558,1
    - Dst: walRegfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:559,1
    - Dst: walRegfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:560,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 563
    functionName: walCheckAndRepairMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosReadDir
    - sscanf
    - tstrerror
    - walLogEntriesComplete
    - printFileSet
    - walSaveMeta
    - taosOpenDir
    - walTrimIdxFile
    - walRegfree
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - TAOS_CHECK_EXIT_SET_CODE
    - wWarn
    - taosGetDirEntryName
    - taosArrayGetLast
    - taosCloseDir
    - wError
    - walAlignVersions
    - regexec
    - memset
    - walBuildLogName
    - taosDirEntryBaseName
    - taosArrayGetSize
    - taosArraySort
    - walRebuildFileInfoSet
    - regcomp
    - walRepairLogFileTs
    - walScanLogGetLastVer
    - terrstr
    - wInfo
    - taosStatFile
    - TAOS_UNUSED
    - TSDB_CHECK_NULL
    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:566,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:568,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pLogFile
    - offset
    - pCkHead
    argTypes:
    - TdFilePtr
    - int64_t
    - SWalCkHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 573
    functionName: walReadLogHead
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosLSeekFile
    - walValidHeadCksum
    - taosReadFile
    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:577,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:578,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:580,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:582,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:585,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:586,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:586,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:588,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:592,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:601,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:604,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:606,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:606,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:607,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:610,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:612,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:612,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:613,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:618,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:619,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:619,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:621,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:624,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:625,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:625,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:628,1
    - Dst: walReadLogHead
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:639,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:640,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:641,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:655,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:656,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:656,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:658,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:663,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:664,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:664,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:665,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:677,1
    - Dst: walReadLogHead
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:681,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:683,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:684,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:685,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:687,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:688,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:688,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:689,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:694,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:695,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:695,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:696,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:696,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:700,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:706,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:706,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:709,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:710,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:712,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 2
    argNames:
    - pWal
    - fileIdx
    argTypes:
    - SWal*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 713
    functionName: walCheckAndRepairIdxFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosReadFile
    - taosFtruncateFile
    - tstrerror
    - walBuildIdxName
    - taosOpenFile
    - TAOS_SYSTEM_ERROR
    - taosWriteFile
    - taosCloseFile
    - ENCRYPTED_LEN
    - taosArrayGet
    - wWarn
    - strerror
    - TAOS_RETURN
    - wError
    - walBuildLogName
    - memset
    - taosFsyncFile
    - taosArrayGetSize
    - TAOS_CHECK_GOTO
    - taosLSeekFile
    - terrstr
    - wInfo
    - taosStatFile
    - walReadLogHead
    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:718,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:719,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:721,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:723,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:730,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pWal
    - bytes
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 734
    functionName: walGetVerRetention
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockUnlock
    - taosThreadRwlockRdlock
    - taosArrayGet
    - taosArrayGetSize
    - wError
    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:738,1
    - Dst: walCheckAndRepairIdxFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:742,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:744,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:744,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:746,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 751
    functionName: walCheckAndRepairIdx
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 2
    functionsReached:
    - terrstr
    - taosArrayGetSize
    - TAOS_RETURN
    - walCheckAndRepairIdxFile
    - wError
    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:754,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:757,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:758,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:764,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:766,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:774,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:775,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:776,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:779,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 781
    functionName: walRollFileInfo
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 3
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosGetTimestampSec
    - taosArrayGetSize
    - taosArrayGetLast
    - taosMemoryFree
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t walRollFileInfo(SWal* pWal)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:785,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:786,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:787,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:788,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:792,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:795,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:798,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:801,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:803,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:804,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:805,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:806,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:807,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:808,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:809,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:810,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:811,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:813,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:817,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:817,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:818,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:821,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:822,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:826,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:827,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:828,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:829,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:830,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:831,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:832,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:833,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:834,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:835,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:837,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:838,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:842,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:844,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 71
    argCount: 2
    argNames:
    - pWal
    - serialized
    argTypes:
    - SWal*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 846
    functionName: walMetaSerialize
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 2
    functionsReached:
    - cJSON_Delete
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - cJSON_CreateArray
    - wInfo
    - cJSON_Print
    - snprintf
    - taosArrayGetSize
    - cJSON_AddItemToArray
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t walMetaSerialize(SWal* pWal, char** serialized)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:851,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:853,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:855,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:857,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:857,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:858,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:860,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:860,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:861,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:863,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:863,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:864,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:866,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:866,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:868,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:869,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:872,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:873,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:878,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:883,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:885,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:885,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:886,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:888,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:888,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:889,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:891,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:891,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:892,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:894,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:894,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:895,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:897,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:897,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:898,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:899,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:905,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:909,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 2
    argNames:
    - pWal
    - bytes
    argTypes:
    - SWal*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 911
    functionName: walMetaDeserialize
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - cJSON_GetStringValue
    - cJSON_Delete
    - taosArrayPush
    - cJSON_Parse
    - taosArrayEnsureCap
    - cJSON_GetArrayItem
    - cJSON_GetArraySize
    - atoll
    - cJSON_GetObjectItem
    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:919,1
    - Dst: regerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:921,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:921,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:922,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:926,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:928,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:928,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:929,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:937,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:938,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:938,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:939,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:941,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:942,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:945,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:947,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:948,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:948,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:949,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:952,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pWal
    - pMetaVer
    argTypes:
    - SWal*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 955
    functionName: walFindCurMetaVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - regcomp
    - wDebug
    - tstrerror
    - taosReadDir
    - regexec
    - regerror
    - sscanf
    - regfree
    - taosDirEntryBaseName
    - taosGetDirEntryName
    - taosCloseDir
    - tListLen
    - taosOpenDir
    - wError
    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:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 961
    functionName: walUpdateSyncedOffset
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - walGetCurFileInfo
    linkageType: ''
    returnType: void
    signature: void walUpdateSyncedOffset(SWal* pWal)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:972,1
    - Dst: walFindCurMetaVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:972,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:974,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:975,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:975,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:976,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:976,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:979,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:980,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:980,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:981,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:981,1
    - Dst: walUpdateSyncedOffset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:985,1
    - Dst: walBuildTmpMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:988,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:990,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:990,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:993,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:995,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:995,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:997,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1000,1
    - Dst: walMetaSerialize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1000,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1001,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1002,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1003,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1003,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1004,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1005,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1008,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1009,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1009,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1010,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1011,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1011,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1014,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1015,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1015,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1016,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1016,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1018,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1022,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1024,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1027,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1028,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1028,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1029,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1029,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1034,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1036,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1036,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1038,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1040,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1040,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1042,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1046,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1050,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1050,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1051,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 963
    functionDepth: 3
    functionLinenumber: 963
    functionLinenumberEnd: 1053
    functionName: walSaveMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 9
    functionsReached:
    - walUpdateSyncedOffset
    - tstrerror
    - taosOpenFile
    - TAOS_SYSTEM_ERROR
    - taosWriteFile
    - taosCloseFile
    - walBuildMetaName
    - strerror
    - TAOS_RETURN
    - wError
    - strlen
    - walFindCurMetaVer
    - taosFsyncFile
    - taosRenameFile
    - TAOS_CHECK_GOTO
    - walMetaSerialize
    - taosMemoryFree
    - wInfo
    - walBuildTmpMetaName
    - taosRemoveFile
    - TAOS_CHECK_RETURN
    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:1063,1
    - Dst: walFindCurMetaVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1063,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1066,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1068,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1072,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1072,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1074,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1076,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1076,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1078,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1080,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1082,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1085,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1086,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1088,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1089,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1090,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1092,1
    - Dst: walMetaDeserialize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1098,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1100,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1104,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1106,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1107,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1111,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1114,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1115,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1117
    functionName: walLoadMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - taosReadFile
    - tstrerror
    - printFileSet
    - taosOpenFile
    - TAOS_SYSTEM_ERROR
    - taosCloseFile
    - walBuildMetaName
    - TAOS_CHECK_EXIT
    - strerror
    - wError
    - TAOS_RETURN
    - memset
    - walFindCurMetaVer
    - taosArrayGetSize
    - wDebug
    - walMetaDeserialize
    - taosMemoryFree
    - wInfo
    - taosStatFile
    - TSDB_CHECK_NULL
    - taosRemoveFile
    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:1123,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1124,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1124,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1125,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1131,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1131,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1119
    functionDepth: 2
    functionLinenumber: 1119
    functionLinenumberEnd: 1134
    functionName: walRemoveMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - walBuildMetaName
    - tstrerror
    - walFindCurMetaVer
    - TAOS_RETURN
    - taosRemoveFile
    - wError
    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:
    - taosThreadRwlockUnlock
    - taosCloseFile
    - walRemoveMeta
    - wError
    - taosArrayGet
    - walBuildLogName
    - taosHashCancelIterate
    - wInfo
    - taosHashIterate
    - terrstr
    - walBuildIdxName
    - taosArrayClear
    - taosArrayGetSize
    - TAOS_UNUSED
    - taosThreadRwlockWrlock
    - taosRemoveFile
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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: 2
    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
    - taosArrayGet
    - walBuildLogName
    - taosFsyncFile
    - walBuildIdxName
    - taosArraySearchIdx
    - TAOS_UNUSED
    - taosOpenFile
    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:
    - taosReadFile
    - taosFtruncateFile
    - tstrerror
    - walBuildIdxName
    - walSaveMeta
    - taosOpenFile
    - taosThreadRwlockWrlock
    - taosCloseFile
    - TAOS_CHECK_EXIT
    - TAOS_CHECK_EXIT_SET_CODE
    - wWarn
    - taosArrayGetLast
    - walChangeWrite
    - taosArrayPop
    - walGetCurFileFirstVer
    - wError
    - TAOS_RETURN
    - taosThreadRwlockUnlock
    - walBuildLogName
    - walValidHeadCksum
    - taosArrayGetSize
    - walGetVerIdxOffset
    - walGetLastFileFirstVer
    - taosLSeekFile
    - wDebug
    - terrstr
    - wInfo
    - TAOS_UNUSED
    - TSDB_CHECK_NULL
    - taosRemoveFile
    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: 1
    functionsReached:
    - wDebug
    - walGetSeq
    - taosCloseFile
    - tstrerror
    - wError
    - walBuildLogName
    - taosFsyncFile
    - walBuildIdxName
    - walRollFileInfo
    - taosArrayGetSize
    - walSaveMeta
    - taosOpenFile
    - TSDB_CHECK_NULL
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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
    - walGetSeq
    - walGetLastFileSize
    - taosArrayGetSize
    - walRollImpl
    - walSaveMeta
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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: 3
    functionsReached:
    - taosThreadRwlockUnlock
    - wDebug
    - tstrerror
    - wError
    - walGetLastFileSize
    - walRollImpl
    - TAOS_UNUSED
    - taosThreadRwlockWrlock
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t walBeginSnapshot(SWal *pWal, int64_t ver, int64_t logRetention)
  - BBCount: 16
    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: taosArraySearch
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:409,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:412,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:415,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:435,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:436,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:441,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:446,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:451,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:455,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:455,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:458,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:463,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:465,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:466,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:467,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:467,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:470,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:471,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:472,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:472,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:477,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:480,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:483,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:486,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:486,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 85
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 490
    functionName: walEndSnapshot
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 3
    functionsReached:
    - taosArrayPush
    - tstrerror
    - taosHashIterate
    - walBuildIdxName
    - taosArrayClear
    - walSaveMeta
    - TMIN
    - taosArrayGet
    - strerror
    - taosArraySearch
    - wError
    - TAOS_RETURN
    - taosThreadRwlockUnlock
    - walBuildLogName
    - taosGetTimestampSec
    - taosArrayGetSize
    - TAOS_CHECK_GOTO
    - wDebug
    - taosArrayPopFrontBatch
    - wInfo
    - TMAX
    - TAOS_UNUSED
    - taosThreadRwlockWrlock
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t walEndSnapshot(SWal *pWal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:494,1
    - Dst: SWal*::stopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: walStopDnode
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - SWal*::stopDnode
    - wWarn
    linkageType: ''
    returnType: void
    signature: void walStopDnode(SWal *pWal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:503,1
    - Dst: wGTrace
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:506,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:509,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:511,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:511,1
    - Dst: walStopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:512,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:513,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:517,1
    - Dst: wGFatal
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:519,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:520,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:521,1
    - Dst: exit
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:522,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:525,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: 526
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 526
    functionName: walWriteIndex
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - taosLSeekFile
    - taosWriteFile
    - wGTrace
    - tstrerror
    - walStopDnode
    - walGetCurFileInfo
    - taosMsleep
    - strerror
    - wGError
    - wGFatal
    - TAOS_RETURN
    - exit
    linkageType: ''
    returnType: int32_t
    signature: int32_t walWriteIndex(SWal *pWal, int64_t ver, int64_t offset, const
      STraceId *trace)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: walGetCurFileOffset
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:533,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:534,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:539,1
    - Dst: walCalcHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:544,1
    - Dst: walCalcBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:545,1
    - Dst: wGDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:546,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:547,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:550,1
    - Dst: walWriteIndex
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:550,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:554,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:556,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:557,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:557,1
    - Dst: walStopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:558,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:559,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:568,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:570,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:571,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:573,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:574,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:576,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:578,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:579,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:579,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:581,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:583,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:591,1
    - Dst: CBC_Encrypt
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:593,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:601,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:603,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:604,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:604,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:607,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:608,1
    - Dst: walStopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:611,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:613,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:617,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:618,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:634,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:634,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:638,1
    - Dst: wGFatal
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:639,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:640,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:641,1
    - Dst: exit
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:642,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:646,1
    - Dst: wGFatal
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:647,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:648,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:649,1
    - Dst: exit
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:650,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:653,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 76
    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: 654
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 654
    functionName: walWriteImpl
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - CBC_Encrypt
    - tstrerror
    - taosFtruncateFile
    - wGDebug
    - taosGetTimestampUs
    - exit
    - taosWriteFile
    - ENCRYPTED_LEN
    - walGetCurFileInfo
    - TMSG_INFO
    - strerror
    - wGError
    - walWriteIndex
    - TAOS_RETURN
    - tstrncpy
    - walCalcBodyCksum
    - walStopDnode
    - memset
    - taosMemoryFreeClear
    - walGetCurFileOffset
    - taosMsleep
    - walCalcHeadCksum
    - wGFatal
    - walGetLastFileFirstVer
    - TAOS_CHECK_GOTO
    - memcpy
    - terrstr
    - TSDB_CHECK_NULL
    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:660,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:667,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:668,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:670,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:672,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:673,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:675,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:675,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:676,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:681,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:682,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:684,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:684,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:685,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:688,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 691
    functionName: walInitWriteFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - wError
    - walBuildLogName
    - terrstr
    - walBuildIdxName
    - walRollFileInfo
    - taosArrayGetSize
    - taosArrayGetLast
    - TAOS_UNUSED
    - taosOpenFile
    - TAOS_RETURN
    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:697,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:697,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:700,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:703,1
    - Dst: walCheckAndRoll
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:703,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:706,1
    - Dst: walInitWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:706,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:709,1
    - Dst: walWriteImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:709,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:713,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:713,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:716,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:716,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: 718
      start: 693
    functionDepth: 6
    functionLinenumber: 693
    functionLinenumberEnd: 718
    functionName: walAppendLog
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 19
    functionsReached:
    - taosThreadRwlockUnlock
    - walWriteImpl
    - walInitWriteFile
    - tstrerror
    - walCheckAndRoll
    - TAOS_UNUSED
    - taosThreadRwlockWrlock
    - wError
    - TAOS_CHECK_GOTO
    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:727,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:727,1
    - Dst: wTrace
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:729,1
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:729,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:730,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:731,1
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:731,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:732,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:736,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pWal
    - forceFsync
    argTypes:
    - SWal*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 739
    functionName: walFsync
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockUnlock
    - wTrace
    - taosThreadRwlockWrlock
    - taosFsyncFile
    - strerror
    - TAOS_UNUSED
    - walGetCurFileFirstVer
    - wError
    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: 1
    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: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    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: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    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: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    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: 9
    argNames:
    - (
    - _t
    - ','
    - _u
    - ','
    - _p
    - ','
    - _r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    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: 5
    argNames:
    - (
    - level
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    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: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    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: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    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: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    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: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    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: 216
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 216
    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: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    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: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - EDynQueryType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: qExplainGetDynQryCtrlType
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *qExplainGetDynQryCtrlType(EDynQueryType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - opType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    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: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: qExplainGetTimerangeTargetStr
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * qExplainGetTimerangeTargetStr(int32_t target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:78,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:81,1
    - Dst: qExplainFreeResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:81,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/command/src/explain.c:82,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/command/src/explain.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - resNode
    argTypes:
    - SExplainResNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: qExplainFreeResNode
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - FOREACH
    - nodesClearList
    - qExplainFreeResNode
    linkageType: ''
    returnType: void
    signature: void qExplainFreeResNode(SExplainResNode *resNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:92,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:94,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/command/src/explain.c:95,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/command/src/explain.c:99,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:103,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:105,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:106,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:108,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/command/src/explain.c:111,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/command/src/explain.c:115,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:116,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/command/src/explain.c:117,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SExplainCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 119
    functionName: qExplainFreeCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - tFreeSExplainRsp
    - taosMemoryFreeClear
    - taosArrayGet
    - taosHashIterate
    - taosArrayGetSize
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void qExplainFreeCtx(SExplainCtx *pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:125,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:126,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/explain.c:129,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:131,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:132,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:135,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:137,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:138,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:154,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/command/src/explain.c:155,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:156,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 5
    argNames:
    - pCtx
    - groupHash
    - verbose
    - ratio
    - mode
    argTypes:
    - SExplainCtx**
    - SHashObj*
    - bool
    - double
    - EExplainMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 159
    functionName: qExplainInitCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosArrayInit
    - QRY_RET
    - QRY_ERR_JRET
    - qError
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainInitCtx(SExplainCtx **pCtx, SHashObj *groupHash, bool
      verbose, double ratio, EExplainMode mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/command/src/explain.c:166,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:168,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:169,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:176,1
    - Dst: qExplainGenerateResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:176,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:177,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/command/src/explain.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pNode
    - group
    - pChildren
    argTypes:
    - SPhysiNode*
    - SExplainGroup*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 181
    functionName: qExplainGenerateResChildren
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - nodesListAppend
    - nodesMakeList
    - qExplainGenerateResNode
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainGenerateResChildren(SPhysiNode *pNode, SExplainGroup
      *group, SNodeList **pChildren)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:176,1
    - Dst: qExplainGenerateResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:176,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:177,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/command/src/explain.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 152
    functionsReached:
    - nodesListAppend
    - QRY_ERR_RET
    - qExplainGenerateResNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pPhysiChildren)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/explain.c:184,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:186,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:196,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:198,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:202,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:205,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:207,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pNode
    - pExecInfo
    - group
    argTypes:
    - SPhysiNode*
    - SArray**
    - SExplainGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 218
    functionName: qExplainGenerateResNodeExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - taosArrayInit
    - taosArrayPush
    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:223,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:227,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:229,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:237,1
    - Dst: qExplainGenerateResNodeExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:237,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:240,1
    - Dst: qExplainGenerateResChildren
      Src: /src/tdengine/source/libs/command/src/explain.c:240,1
    - Dst: qExplainFreeResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:248,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pNode
    - group
    - pResNode
    argTypes:
    - SPhysiNode*
    - SExplainGroup*
    - SExplainResNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 251
    functionName: qExplainGenerateResNode
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 2
    functionsReached:
    - taosMemoryCalloc
    - qExplainGenerateResChildren
    - QRY_RET
    - QRY_ERR_JRET
    - qError
    - qExplainGenerateResNodeExecInfo
    - qExplainFreeResNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainGenerateResNode(SPhysiNode *pNode, SExplainGroup *group,
      SExplainResNode **pResNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:255,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:259,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pExecInfo
    - tbuf
    - len
    argTypes:
    - SArray*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 276
    functionName: qExplainBufAppendExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - EXPLAIN_ROW_APPEND
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainBufAppendExecInfo(SArray *pExecInfo, char *tbuf, int32_t
      *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:281,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:285,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pExecInfo
    - tbuf
    - len
    argTypes:
    - SArray*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: qExplainBufAppendVerboseExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - EXPLAIN_ROW_APPEND
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainBufAppendVerboseExecInfo(SArray *pExecInfo, char *tbuf,
      int32_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:302,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:304,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:305,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/command/src/explain.c:308,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:313,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:314,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:315,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:316,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: 320
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 320
    functionName: qExplainResAppendRow
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - QRY_ERR_RET
    - memcpy
    - qError
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainResAppendRow(SExplainCtx *ctx, char *tbuf, int32_t
      len, int32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pIntNode
    argTypes:
    - SIntervalPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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:331,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:332,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/explain.c:333,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/command/src/explain.c:333,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 14
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - STableScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 348
    functionName: qExplainGetScanMode
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - LIST_LENGTH
    - 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: 363
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: qExplainGetScanDataLoad
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * qExplainGetScanDataLoad(STableScanPhysiNode* pScan)
  - BBCount: 172
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:372,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:379,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:380,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:382,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:382,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:383,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:386,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:387,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:391,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:392,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:392,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:395,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:396,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:397,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:398,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:399,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:400,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:401,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:402,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:403,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:403,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:406,1
    - Dst: qExplainBufAppendVerboseExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:406,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:408,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:409,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:409,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:414,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:415,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:415,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:417,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:418,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:418,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:425,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:426,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:428,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:428,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:429,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:432,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:433,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:435,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:436,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:437,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:438,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:438,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:441,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:442,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:443,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:444,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:445,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:446,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:447,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:448,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:449,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:449,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:452,1
    - Dst: qExplainBufAppendVerboseExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:452,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:454,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:455,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:455,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:460,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:461,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:461,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:463,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:464,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:464,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:473,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:477,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:479,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:479,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:480,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:483,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:484,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:486,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:487,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:489,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:490,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:491,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:492,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:493,1
    - Dst: qExplainGetScanMode
      Src: /src/tdengine/source/libs/command/src/explain.c:493,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:494,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:495,1
    - Dst: qExplainGetScanDataLoad
      Src: /src/tdengine/source/libs/command/src/explain.c:495,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:496,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:497,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:498,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:498,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:502,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:504,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:510,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:528,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:529,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:531,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:532,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:534,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:535,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:537,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:538,1
    - Dst: EXPLAIN_ROW_APPEND
      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_END
      Src: /src/tdengine/source/libs/command/src/explain.c:542,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:544,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:544,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:548,1
    - Dst: EXPLAIN_ROW_NEW
      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_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:554,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:555,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:557,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:557,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:561,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:562,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:563,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:564,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:565,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:566,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:567,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:568,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:569,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:569,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:571,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:573,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:574,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:574,1
    - Dst: EXPLAIN_ROW_NEW
      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_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:579,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:580,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:580,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:584,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:585,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:585,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:587,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:588,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:588,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:595,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:596,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:598,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:598,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:599,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:601,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:602,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:604,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:605,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:607,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:608,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:609,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:610,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:611,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:611,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:614,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:615,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:616,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:617,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:618,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:619,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:620,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:621,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:622,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:622,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:625,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:626,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:626,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:628,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:629,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:629,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:636,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:637,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:639,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:639,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:640,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:642,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:643,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:644,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:645,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:646,1
    - Dst: EXPLAIN_ORDER_STRING
      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_END
      Src: /src/tdengine/source/libs/command/src/explain.c:649,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:650,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:650,1
    - Dst: EXPLAIN_ROW_NEW
      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: nodesGetOutputNumFromSlotList
      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_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:657,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:658,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:659,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:660,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:661,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:661,1
    - Dst: EXPLAIN_ROW_NEW
      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_END
      Src: /src/tdengine/source/libs/command/src/explain.c:665,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:666,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:666,1
    - Dst: EXPLAIN_ROW_NEW
      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:673,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:674,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:674,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:676,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:677,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:677,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:684,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:685,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:687,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:687,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:690,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:691,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:692,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:693,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:694,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:694,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:695,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:696,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:697,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:698,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:699,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:699,1
    - Dst: EXPLAIN_ROW_NEW
      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: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:704,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_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:707,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:708,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:709,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:710,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:710,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:712,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:712,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:713,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:714,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:715,1
    - Dst: qExplainGetAsofOpStr
      Src: /src/tdengine/source/libs/command/src/explain.c:715,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:716,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:722,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:723,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:727,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:728,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:730,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:731,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:732,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:735,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:736,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:737,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:739,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:739,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:743,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:744,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:744,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:746,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:747,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:747,1
    - Dst: EXPLAIN_ROW_NEW
      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: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:752,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:753,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:754,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:754,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:758,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:760,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:761,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:763,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:764,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:764,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:768,1
    - Dst: FOREACH
      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_END
      Src: /src/tdengine/source/libs/command/src/explain.c:773,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:774,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:774,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:778,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:779,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:780,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:781,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:782,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:782,1
    - Dst: EXPLAIN_ROW_NEW
      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: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:788,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:789,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:790,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:790,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:797,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:798,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:800,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:800,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:801,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:804,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:805,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:807,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:809,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:810,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:812,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:813,1
    - Dst: EXPLAIN_ORDER_STRING
      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:815,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:816,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:817,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:817,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:820,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:821,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:822,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:823,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:824,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:825,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:826,1
    - Dst: EXPLAIN_ROW_APPEND
      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_END
      Src: /src/tdengine/source/libs/command/src/explain.c:829,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:830,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:830,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:833,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:834,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:834,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:836,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:837,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:837,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:840,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:841,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:842,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:842,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:848,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:849,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:851,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:851,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:852,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:855,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:858,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:859,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:860,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:861,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:861,1
    - Dst: EXPLAIN_ROW_NEW
      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: nodesGetOutputNumFromSlotList
      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: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:869,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:870,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:871,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:872,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:872,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:875,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:876,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:876,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:878,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:879,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:879,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:888,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:890,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:891,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:897,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:898,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:900,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:900,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:901,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:903,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:904,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:905,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:906,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:906,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:909,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:910,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:911,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:912,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:913,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:914,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:915,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:916,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:917,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:917,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:920,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:921,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:921,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:923,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:924,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:924,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:929,1
    - Dst: qExplainAppendGroupResRows
      Src: /src/tdengine/source/libs/command/src/explain.c:929,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:935,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_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:937,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:938,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:939,1
    - Dst: EXPLAIN_ORDER_STRING
      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_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:941,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:943,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:943,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:944,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:948,1
    - Dst: nodesGetOutputNumFromSlotList
      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
      Src: /src/tdengine/source/libs/command/src/explain.c:950,1
    - Dst: EXPLAIN_ROW_APPEND
      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: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:957,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:959,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:960,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:961,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:961,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:965,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:966,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:966,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:969,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:971,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:972,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:974,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:976,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:978,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:980,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:983,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:984,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:985,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:985,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:989,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:990,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:991,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:992,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:993,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:994,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      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: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1000,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1001,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1001,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1003,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1004,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1004,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1011,1
    - Dst: nodesGetNameFromColumnNode
      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: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1014,1
    - Dst: qExplainBufAppendExecInfo
      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:1017,1
    - Dst: EXPLAIN_ROW_APPEND
      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_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1021,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1022,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1023,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1023,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1024,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1025,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1026,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1027,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1027,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1030,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1031,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1032,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1033,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1034,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1035,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1036,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1037,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1038,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1038,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1039,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1040,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1041,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1041,1
    - Dst: qExplainGetIntervalPrecision
      Src: /src/tdengine/source/libs/command/src/explain.c:1042,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1046,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1047,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1048,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1049,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1050,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/command/src/explain.c:1052,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1055,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1056,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1056,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1059,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1060,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1060,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1062,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: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1066,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1067,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1068,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1068,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1074,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1074,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1075,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1077,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1077,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1078,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1080,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1081,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1082,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1083,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1084,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1084,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1085,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1086,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1086,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1087,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1088,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1089,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1089,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1092,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1093,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1094,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1095,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1096,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1097,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1098,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1099,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1100,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1100,1
    - Dst: qExplainGetIntervalPrecision
      Src: /src/tdengine/source/libs/command/src/explain.c:1101,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      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: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1107,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1108,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1109,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/command/src/explain.c:1111,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1114,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1115,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1115,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1118,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1119,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1119,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1121,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1122,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1122,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1125,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1126,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1127,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1127,1
    - Dst: EXPLAIN_ROW_NEW
      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: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1136,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1136,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1137,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1139,1
    - Dst: nodesGetFillModeString
      Src: /src/tdengine/source/libs/command/src/explain.c:1139,1
    - Dst: EXPLAIN_ROW_APPEND
      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: EXPLAIN_ROW_APPEND
      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_ORDER_STRING
      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
      Src: /src/tdengine/source/libs/command/src/explain.c:1145,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1146,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1147,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1147,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1150,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1151,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1152,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1153,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1154,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1155,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1156,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1157,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1158,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1158,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1161,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:1164,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1166,1
    - Dst: nodesGetStrValueFromNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1169,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:1171,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1175,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1176,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1176,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1179,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1180,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1181,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1181,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1184,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1185,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1185,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1187,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1188,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1188,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1195,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1196,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1198,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1198,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1199,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1201,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1202,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1203,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1204,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1205,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1206,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1206,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1209,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1210,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1211,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1212,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1213,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1214,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1215,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1216,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1217,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1217,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1219,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1220,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1221,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1221,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1224,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1225,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1225,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1227,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1228,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1228,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1236,1
    - Dst: nodesGetNameFromColumnNode
      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: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1240,1
    - Dst: qExplainBufAppendExecInfo
      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
      Src: /src/tdengine/source/libs/command/src/explain.c:1244,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1245,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1246,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1247,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1248,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1249,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1249,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1252,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1253,1
    - Dst: nodesGetOutputNumFromSlotList
      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:1256,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1257,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1258,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1259,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1260,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1260,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1262,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1263,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1263,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1266,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1267,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1267,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1269,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1270,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1270,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1278,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1279,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1279,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1280,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1282,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1282,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1283,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1285,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1287,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1288,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1289,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1289,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1292,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1293,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1294,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1295,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1296,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1297,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1298,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1299,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1300,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1300,1
    - Dst: EXPLAIN_ROW_NEW
      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_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1304,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1305,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1305,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1308,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1309,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1309,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1311,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1312,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1312,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1319,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1320,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1322,1
    - Dst: qExplainBufAppendExecInfo
      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: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1327,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1327,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1328,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1329,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1330,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1331,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1331,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1332,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1333,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1333,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1334,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1335,1
    - Dst: EXPLAIN_MERGE_MODE_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1335,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1336,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1337,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1338,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1338,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1343,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:1345,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1346,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1348,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1350,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1352,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1354,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1357,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1358,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1359,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1359,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1364,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1365,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1366,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1367,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1368,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1369,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1370,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1371,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1372,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1372,1
    - Dst: EXPLAIN_ROW_NEW
      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_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1377,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1378,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1378,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1380,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1382,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1383,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1384,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1387,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1388,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1389,1
    - Dst: nodesGetNameFromColumnNode
      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_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1391,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1392,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1393,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1396,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1397,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1397,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1401,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1402,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1402,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1404,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1405,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1405,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1412,1
    - Dst: EXPLAIN_ROW_APPEND
      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: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1415,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1416,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1418,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1419,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1421,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1422,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1424,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1425,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1426,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1427,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1428,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1428,1
    - Dst: EXPLAIN_ROW_NEW
      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: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1433,1
    - Dst: EXPLAIN_ROW_APPEND
      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_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1436,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1437,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1438,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1439,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1439,1
    - Dst: EXPLAIN_ROW_NEW
      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: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1443,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1445,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1446,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1446,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1453,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1454,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1456,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1456,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1457,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1459,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1460,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1462,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1463,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1465,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1466,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1467,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: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1472,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1473,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1474,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1475,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1476,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1477,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1478,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1479,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1480,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1480,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1483,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1484,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1484,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1486,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1487,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1487,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1494,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1496,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1498,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1498,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1499,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1501,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1501,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1502,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1504,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1505,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1507,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1508,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1509,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1510,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1511,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1511,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1514,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1515,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1516,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1517,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1518,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1519,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1520,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1521,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1522,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1522,1
    - Dst: EXPLAIN_ROW_NEW
      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: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1526,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1528,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1529,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1529,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1536,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1537,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1539,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1539,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1540,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1544,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1544,1
    - Dst: EXPLAIN_ROW_APPEND
      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:1547,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1548,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1549,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1549,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1553,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1555,1
    - Dst: nodesListGetNode
      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: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1557,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1561,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1562,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1562,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1565,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:1567,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1568,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1570,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1572,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1574,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1576,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1579,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1580,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1581,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1581,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1585,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1586,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1587,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1588,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1589,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1590,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      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: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1597,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1597,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1599,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1600,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1600,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1607,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1607,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1608,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1610,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1610,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1611,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1613,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1614,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1615,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1616,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1616,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1619,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1620,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1621,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1622,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1623,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1624,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1625,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1626,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1627,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1627,1
    - Dst: qExplainGetIntervalPrecision
      Src: /src/tdengine/source/libs/command/src/explain.c:1628,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1632,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1633,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1634,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1635,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1636,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/command/src/explain.c:1638,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1641,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1642,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1642,1
    - Dst: EXPLAIN_ROW_NEW
      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: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1646,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1648,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1649,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1649,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1656,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1657,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1659,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1659,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1660,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1663,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1664,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1667,1
    - Dst: nodesGetFillModeString
      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:1670,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1671,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1672,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1672,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1675,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1676,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1677,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1678,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1679,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1680,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1681,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1682,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1683,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1683,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1686,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:1689,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1691,1
    - Dst: nodesGetStrValueFromNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1694,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1695,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:1696,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1700,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1701,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1701,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1704,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1705,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1707,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1708,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1709,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1709,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1712,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1713,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1713,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:1723,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1724,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1726,1
    - Dst: qExplainBufAppendExecInfo
      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: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1729,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1730,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1731,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1732,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1733,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1734,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1734,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1737,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1738,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1738,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1740,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1741,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1741,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1743,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1744,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1744,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1746,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1747,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1747,1
    - Dst: EXPLAIN_ROW_NEW
      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: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1756,1
    - Dst: qExplainBufAppendExecInfo
      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_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1761,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1762,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1763,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1763,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1764,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1765,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1766,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1767,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1768,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1768,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1771,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1772,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1773,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1774,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1775,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1776,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1777,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1778,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1779,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1779,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1782,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1783,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1783,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1786,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1787,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1787,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1791,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1793,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1794,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1799,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1801,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1802,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1807,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1809,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1810,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1815,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1817,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1817,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: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1824,1
    - Dst: qExplainGetTimerangeTargetStr
      Src: /src/tdengine/source/libs/command/src/explain.c:1824,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1825,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1826,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1826,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1833,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1834,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1836,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1836,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1837,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1839,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1840,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1841,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1842,1
    - Dst: EXPLAIN_ROW_APPEND
      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:1845,1
    - Dst: EXPLAIN_ROW_APPEND
      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_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1847,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1848,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1849,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1850,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1851,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1851,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1854,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1855,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1856,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1857,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1858,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1859,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1860,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1861,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1862,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1862,1
    - Dst: EXPLAIN_ROW_NEW
      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: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1866,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1868,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1869,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1869,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1876,1
    - Dst: qExplainGetDynQryCtrlType
      Src: /src/tdengine/source/libs/command/src/explain.c:1876,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1877,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1879,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1879,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1880,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1882,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1883,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1884,1
    - Dst: EXPLAIN_ROW_APPEND
      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_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1889,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1890,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1891,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1892,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1892,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1893,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1894,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1895,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1896,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1896,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1899,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1900,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1901,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1902,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1903,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1904,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1905,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1906,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1907,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1907,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1910,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1911,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1911,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1913,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1914,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1914,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1921,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1922,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1924,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1924,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1925,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1927,1
    - Dst: EXPLAIN_ROW_APPEND
      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_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1931,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1932,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1932,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1935,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1936,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1937,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1937,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1938,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1939,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1940,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1940,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:1945,1
    CyclomaticComplexity: 179
    EdgeCount: 179
    ICount: 1286
    argCount: 3
    argNames:
    - pResNode
    - ctx
    - level
    argTypes:
    - SExplainResNode*
    - SExplainCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 1950
    functionName: qExplainResNodeToRowsImpl
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - EXPLAIN_ROW_END
    - qExplainAppendGroupResRows
    - EXPLAIN_ORDER_STRING
    - EXPLAIN_ROW_APPEND_LIMIT
    - qExplainGetIntervalPrecision
    - nodesGetStrValueFromNode
    - nodesListGetNode
    - taosArrayGet
    - nodesGetOutputNumFromSlotList
    - IS_ASOF_JOIN
    - qExplainGetScanDataLoad
    - EXPLAIN_ROW_APPEND
    - INVERAL_TIME_FROM_PRECISION_TO_UNIT
    - qError
    - nodesGetFillModeString
    - taosHashGet
    - IS_WINDOW_JOIN
    - EXPLAIN_MERGE_MODE_STRING
    - qExplainResAppendRow
    - nodesGetNameFromColumnNode
    - taosArrayGetSize
    - LIST_LENGTH
    - getPrecisionUnit
    - qExplainGetDynQryCtrlType
    - qExplainBufAppendExecInfo
    - nodesNodeToSQL
    - qExplainGetAsofOpStr
    - qExplainGetScanMode
    - qExplainGetTimerangeTargetStr
    - EXPLAIN_ROW_NEW
    - qExplainBufAppendVerboseExecInfo
    - taosMemoryFree
    - EXPLAIN_ROW_APPEND_SLIMIT
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainResNodeToRowsImpl(SExplainResNode *pResNode, SExplainCtx
      *ctx, int32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:1954,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1955,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1959,1
    - Dst: qExplainResNodeToRowsImpl
      Src: /src/tdengine/source/libs/command/src/explain.c:1959,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:1962,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1962,1
    - Dst: qExplainResNodeToRows
      Src: /src/tdengine/source/libs/command/src/explain.c:1962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pResNode
    - ctx
    - level
    argTypes:
    - SExplainResNode*
    - SExplainCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1952
    functionDepth: 3
    functionLinenumber: 1952
    functionLinenumberEnd: 1965
    functionName: qExplainResNodeToRows
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - QRY_ERR_RET
    - qExplainResNodeToRowsImpl
    - qExplainResNodeToRows
    - qError
    - FOREACH
    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:1972,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:1974,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1975,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1981,1
    - Dst: qExplainGenerateResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1981,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:1983,1
    - Dst: qExplainResNodeToRows
      Src: /src/tdengine/source/libs/command/src/explain.c:1983,1
    - Dst: qExplainFreeResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1987,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - pCtx
    - groupId
    - level
    - singleChannel
    argTypes:
    - void*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1967
    functionDepth: 6
    functionLinenumber: 1967
    functionLinenumberEnd: 1990
    functionName: qExplainAppendGroupResRows
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - QRY_ERR_RET
    - QRY_RET
    - QRY_ERR_JRET
    - qExplainGenerateResNode
    - qExplainResNodeToRows
    - qError
    - qExplainFreeResNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainAppendGroupResRows(void *pCtx, int32_t groupId, int32_t
      level, bool singleChannel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:1996,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:1998,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1999,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/explain.c:2002,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2003,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/explain.c:2005,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2006,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2006,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2007,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/explain.c:2007,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2009,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2012,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2013,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/explain.c:2013,1
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2018,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:2021,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2023,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2024,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/command/src/explain.c:2028,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/command/src/explain.c:2030,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2030,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2032,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2033,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/explain.c:2036,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/explain.c:2037,1
    - Dst: SET_PAYLOAD_LEN
      Src: /src/tdengine/source/libs/command/src/explain.c:2040,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:2043,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - pRsp
    argTypes:
    - void*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 1992
    functionDepth: 1
    functionLinenumber: 1992
    functionLinenumberEnd: 2047
    functionName: qExplainGetRspFromCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - blockDataEnsureCapacity
    - taosMemoryCalloc
    - htobe64
    - taosArrayGet
    - QRY_RET
    - QRY_ERR_JRET
    - blockGetEncodeSize
    - colDataSetVal
    - taosArrayGetSize
    - createColumnInfoData
    - blockDataAppendColInfo
    - qError
    - createDataBlock
    - blockEncode
    - SET_PAYLOAD_LEN
    - htonl
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainGetRspFromCtx(void *ctx, SRetrieveTableRsp **pRsp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2057,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2058,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2061,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2063,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2064,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/command/src/explain.c:2068,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/command/src/explain.c:2068,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2070,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2071,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2074,1
    - Dst: qExplainInitCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2075,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2078,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2080,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2081,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2084,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2086,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2087,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2092,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2093,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/command/src/explain.c:2103,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2104,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2111,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2112,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/command/src/explain.c:2118,1
    - Dst: qExplainFreeCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2127,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2129,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 2
    argNames:
    - pDag
    - pCtx
    argTypes:
    - SQueryPlan*
    - SExplainCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2049
    functionDepth: 2
    functionLinenumber: 2049
    functionLinenumberEnd: 2130
    functionName: qExplainPrepareCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - nodesListGetNode
    - taosHashGet
    - taosHashInit
    - qDebug
    - QRY_RET
    - QRY_ERR_JRET
    - qExplainInitCtx
    - qExplainFreeCtx
    - taosHashPut
    - taosGetDefaultHashFunction
    - qError
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainPrepareCtx(SQueryPlan *pDag, SExplainCtx **pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPLAIN_SUM_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2140,1
    - Dst: EXPLAIN_SUM_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2141,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2142,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2142,1
    - Dst: EXPLAIN_SUM_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2144,1
    - Dst: EXPLAIN_SUM_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2145,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2146,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2146,1
    - Dst: EXPLAIN_SUM_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2148,1
    - Dst: EXPLAIN_SUM_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2149,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2150,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SExplainCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2132
    functionDepth: 2
    functionLinenumber: 2132
    functionLinenumberEnd: 2153
    functionName: qExplainAppendPlanRows
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - EXPLAIN_SUM_ROW_NEW
    - qExplainResAppendRow
    - EXPLAIN_SUM_ROW_END
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainAppendPlanRows(SExplainCtx *pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2156,1
    - Dst: qExplainAppendGroupResRows
      Src: /src/tdengine/source/libs/command/src/explain.c:2156,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2157,1
    - Dst: qExplainAppendPlanRows
      Src: /src/tdengine/source/libs/command/src/explain.c:2157,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2158,1
    - Dst: qExplainGetRspFromCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCtx
    - pRsp
    argTypes:
    - SExplainCtx*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2155
    functionDepth: 7
    functionLinenumber: 2155
    functionLinenumberEnd: 2161
    functionName: qExplainGenerateRsp
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - qExplainAppendPlanRows
    - QRY_ERR_RET
    - qExplainAppendGroupResRows
    - qExplainGetRspFromCtx
    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:2170,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2172,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2173,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2174,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2177,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/explain.c:2179,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2181,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2183,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2187,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2188,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2188,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2191,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2195,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2198,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:2201,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2204,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2207,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2209,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2211,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/command/src/explain.c:2211,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/command/src/explain.c:2212,1
    - Dst: taosWTryLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2213,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2214,1
    - Dst: qExplainGenerateRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2214,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2223,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2224,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 4
    argNames:
    - pCtx
    - pRspMsg
    - groupId
    - pRsp
    argTypes:
    - SExplainCtx*
    - SExplainRsp*
    - int32_t
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2163
    functionDepth: 8
    functionLinenumber: 2163
    functionLinenumberEnd: 2226
    functionName: qExplainUpdateExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - QRY_ERR_RET
    - taosArrayPush
    - tFreeSExplainRsp
    - taosArrayInit
    - atomic_add_fetch_32
    - taosWTryLockLatch
    - TAOS_CHECK_ERRNO
    - taosWUnLockLatch
    - atomic_load_8
    - qExplainGenerateRsp
    - taosArrayGetSize
    - taosWLockLatch
    - taosHashGetSize
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainUpdateExecInfo(SExplainCtx *pCtx, SExplainRsp *pRspMsg,
      int32_t groupId, SRetrieveTableRsp **pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2233,1
    - Dst: qExplainPrepareCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2233,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2234,1
    - Dst: qExplainGenerateRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2234,1
    - Dst: qExplainFreeCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2237,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pDag
    - pRsp
    argTypes:
    - SQueryPlan*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2228
    functionDepth: 8
    functionLinenumber: 2228
    functionLinenumberEnd: 2239
    functionName: qExecStaticExplain
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - QRY_ERR_RET
    - qExplainPrepareCtx
    - QRY_RET
    - QRY_ERR_JRET
    - qExplainGenerateRsp
    - qExplainFreeCtx
    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:2243,1
    - Dst: qExplainPrepareCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2243,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/command/src/explain.c:2246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pDag
    - pCtx
    - startTs
    argTypes:
    - SQueryPlan*
    - SExplainCtx**
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2241
    functionDepth: 3
    functionLinenumber: 2241
    functionLinenumberEnd: 2249
    functionName: qExecExplainBegin
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 2
    functionsReached:
    - qExplainPrepareCtx
    - QRY_ERR_RET
    - taosGetTimestampUs
    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:2254,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/command/src/explain.c:2256,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2258,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/command/src/explain.c:2258,1
    - Dst: taosWTryLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2259,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2260,1
    - Dst: qExplainGenerateRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pRsp
    argTypes:
    - SExplainCtx*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2251
    functionDepth: 8
    functionLinenumber: 2251
    functionLinenumberEnd: 2266
    functionName: qExecExplainEnd
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 2
    functionsReached:
    - QRY_ERR_RET
    - atomic_store_8
    - taosWTryLockLatch
    - qExplainGenerateRsp
    - atomic_load_32
    - taosHashGetSize
    - taosGetTimestampUs
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExecExplainEnd(SExplainCtx *pCtx, SRetrieveTableRsp **pRsp)
  - 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: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    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:43,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/command.c:45,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/command/src/command.c:55,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/command.c:56,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/command/src/command.c:60,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:62,1
    - Dst: SET_PAYLOAD_LEN
      Src: /src/tdengine/source/libs/command/src/command.c:66,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/command.c:70,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/command.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - pBlock
    - numOfCols
    - pRsp
    argTypes:
    - SSDataBlock*
    - int32_t
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: buildRetrieveTableRsp
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - htobe64
    - blockGetEncodeSize
    - SET_PAYLOAD_LEN
    - taosMemoryCalloc
    - blockEncode
    - taosMemoryFree
    - htonl
    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: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    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: 112
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 112
    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:115,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:118,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:123,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:124,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:126,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:127,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:130,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:131,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:134,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:135,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:138,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:139,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:142,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:143,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:146,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:147,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:150,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:151,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 159
    functionName: buildDescResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - createColumnInfoData
    - blockDataAppendColInfo
    - createDataBlock
    - 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:164,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:164,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:168,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: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:183,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:184,1
    - Dst: taosArrayGet
      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: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:189,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:190,1
    - Dst: invisibleColumn
      Src: /src/tdengine/source/libs/command/src/command.c:196,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:199,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:200,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/command/src/command.c:202,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:202,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/command/src/command.c:204,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:205,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/command/src/command.c:207,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:209,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:211,1
    - Dst: getSchemaBytes
      Src: /src/tdengine/source/libs/command/src/command.c:212,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:213,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:216,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:219,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:224,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:226,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:227,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:229,1
    - Dst: columnEncodeStr
      Src: /src/tdengine/source/libs/command/src/command.c:229,1
    - Dst: COMPRESS_L1_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:229,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:230,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:231,1
    - Dst: columnCompressStr
      Src: /src/tdengine/source/libs/command/src/command.c:231,1
    - Dst: COMPRESS_L2_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: columnLevelStr
      Src: /src/tdengine/source/libs/command/src/command.c:233,1
    - Dst: COMPRESS_L2_TYPE_LEVEL_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:236,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:237,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: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:243,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/command/src/command.c:247,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/command/src/command.c:248,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/command/src/command.c:249,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/command/src/command.c:250,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/command/src/command.c:251,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:252,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:254,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:256,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:258,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:259,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:268,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:269,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:270,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:271,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:273,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: qError
      Src: /src/tdengine/source/libs/command/src/command.c:279,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 92
    argCount: 5
    argNames:
    - sysInfoUser
    - pBlock
    - numOfRows
    - pMeta
    - biMode
    argTypes:
    - bool
    - SSDataBlock*
    - int32_t
    - STableMeta*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 283
    functionName: setDescResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - decimalFromTypeMod
    - QRY_ERR_RET
    - withExtSchema
    - IS_DECIMAL_TYPE
    - snprintf
    - columnEncodeStr
    - invisibleColumn
    - taosArrayGet
    - strcat
    - COL_DATA_SET_VAL_AND_CHECK
    - qError
    - varDataSetLen
    - COMPRESS_L2_TYPE_LEVEL_U32
    - hasRefCol
    - columnLevelStr
    - getSchemaBytes
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - COMPRESS_L2_TYPE_U32
    - COMPRESS_L1_TYPE_U32
    - columnCompressStr
    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:290,1
    - Dst: buildDescResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:293,1
    - Dst: setDescResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:295,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:299,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:300,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:301,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:302,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:304,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:307,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - sysInfoUser
    - pStmt
    - pRsp
    - biMode
    argTypes:
    - bool
    - SNode*
    - SRetrieveTableRsp**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 312
    functionName: execDescribe
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - hasRefCol
    - TABLE_TOTAL_COL_NUM
    - withExtSchema
    - setDescResultIntoDataBlock
    - buildRetrieveTableRsp
    - buildDescResultDataBlock
    - 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:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 314
    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:317,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:320,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:325,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:326,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:328,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:329,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: buildCreateDBResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - createColumnInfoData
    - blockDataAppendColInfo
    - createDataBlock
    - 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: 363
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 363
    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:366,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/command.c:373,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/command/src/command.c:380,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/libs/command/src/command.c:381,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/libs/command/src/command.c:382,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:384,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:386,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pRetension
    - ppRetentions
    argTypes:
    - SArray*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 396
    functionName: buildRetension
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - getValOfDiffPrecision
    - tsnprintf
    - taosArrayGetSize
    - taosMemoryCalloc
    - TARRAY_GET_ELEM
    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: 412
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 412
    functionName: cacheModelStr
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * cacheModelStr(int8_t cacheModel)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - encryptAlgorithm
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: encryptAlgorithmStr
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * encryptAlgorithmStr(int8_t encryptAlgorithm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:433,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:436,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - bufSize
    - timeInMinutes
    argTypes:
    - char*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 441
    functionName: formatDurationOrKeep
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    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:444,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:444,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:447,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:449,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:450,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:452,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:472,1
    - Dst: buildRetension
      Src: /src/tdengine/source/libs/command/src/command.c:472,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:473,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:488,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:489,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:490,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:491,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/command/src/command.c:492,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:492,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/command/src/command.c:493,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:493,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/command/src/command.c:494,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:494,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/command/src/command.c:496,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:497,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:501,1
    - Dst: cacheModelStr
      Src: /src/tdengine/source/libs/command/src/command.c:509,1
    - Dst: encryptAlgorithmStr
      Src: /src/tdengine/source/libs/command/src/command.c:513,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:518,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:523,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:525,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:527,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - pBlock
    - dbName
    - dbFName
    - pCfg
    argTypes:
    - SSDataBlock*
    - char*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 530
    functionName: setCreateDBResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - formatDurationOrKeep
    - QRY_ERR_RET
    - buildRetension
    - strlen
    - IS_SYS_DBNAME
    - varDataLen
    - encryptAlgorithmStr
    - taosArrayGet
    - cacheModelStr
    - UNUSED
    - tsnprintf
    - COL_DATA_SET_VAL_AND_CHECK
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - taosMemoryFree
    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:534,1
    - Dst: setCreateDBResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:536,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:539,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowCreateDatabaseStmt*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 543
    functionName: execShowCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - buildRetrieveTableRsp
    - setCreateDBResultIntoDataBlock
    - 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:546,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:549,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:554,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:555,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:557,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:558,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 567
    functionName: buildCreateTbResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - createColumnInfoData
    - blockDataAppendColInfo
    - createDataBlock
    - 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:570,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:573,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:578,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:579,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:581,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:582,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 591
    functionName: buildCreateViewResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - createColumnInfoData
    - blockDataAppendColInfo
    - createDataBlock
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateViewResultDataBlock(SSDataBlock** pOutput)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:602,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:603,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:606,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:608,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/command/src/command.c:610,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/command/src/command.c:612,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:613,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:616,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:617,1
    - Dst: columnEncodeStr
      Src: /src/tdengine/source/libs/command/src/command.c:618,1
    - Dst: COMPRESS_L1_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:618,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:619,1
    - Dst: columnCompressStr
      Src: /src/tdengine/source/libs/command/src/command.c:620,1
    - Dst: COMPRESS_L2_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:620,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:621,1
    - Dst: columnLevelStr
      Src: /src/tdengine/source/libs/command/src/command.c:622,1
    - Dst: COMPRESS_L2_TYPE_LEVEL_U32
      Src: /src/tdengine/source/libs/command/src/command.c:622,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:625,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:626,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:627,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:629,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:629,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:630,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:631,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:631,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:635,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:636,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:639,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:640,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 643
    functionName: appendColumnFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - decimalFromTypeMod
    - COMPRESS_L1_TYPE_U32
    - strlen
    - hasRefCol
    - columnLevelStr
    - withExtSchema
    - columnCompressStr
    - expandIdentifier
    - IS_DECIMAL_TYPE
    - snprintf
    - columnEncodeStr
    - tsnprintf
    - COMPRESS_L2_TYPE_LEVEL_U32
    - COMPRESS_L2_TYPE_U32
    linkageType: ''
    returnType: void
    signature: void appendColumnFields(char* buf, int32_t* len, STableCfg* pCfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:653,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:654,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:655,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:656,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:656,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:657,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:658,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:658,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:663,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 667
    functionName: appendColRefFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - hasRefCol
    - tsnprintf
    - expandIdentifier
    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:674,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:677,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:677,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:677,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:680,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:680,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:680,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:684,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 687
    functionName: appendTagFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strlen
    - tsnprintf
    - expandIdentifier
    linkageType: ''
    returnType: void
    signature: void appendTagFields(char* buf, int32_t* len, STableCfg* pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:693,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: appendTagNameFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    - expandIdentifier
    linkageType: ''
    returnType: void
    signature: void appendTagNameFields(char* buf, int32_t* len, STableCfg* pCfg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:704,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/command/src/command.c:708,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/command/src/command.c:710,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:712,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:715,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:717,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:722,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/command/src/command.c:722,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/command.c:723,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:729,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:734,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:739,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:741,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:743,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:750,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:752,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/command/src/command.c:754,1
    - Dst: dataConverToStr
      Src: /src/tdengine/source/libs/command/src/command.c:755,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:756,1
    - Dst: dataConverToStr
      Src: /src/tdengine/source/libs/command/src/command.c:758,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:760,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:765,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:770,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 4
    argNames:
    - buf
    - len
    - pCfg
    - charsetCxt
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 773
    functionName: appendTagValues
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - tTagToValArray
    - QRY_ERR_RET
    - dataConverToStr
    - taosArrayDestroy
    - taosArrayGet
    - TAOS_CHECK_ERRNO
    - IS_VAR_DATA_TYPE
    - tsnprintf
    - taosArrayGetSize
    - tTagIsJson
    - qError
    - taosMemoryFree
    - parseTagDatatoJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendTagValues(char* buf, int32_t* len, STableCfg* pCfg, void*
      charsetCxt)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:777,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:780,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:785,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:788,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:794,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:797,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/command.c:802,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:804,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:807,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:808,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:812,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:816,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:821,1
    - Dst: IS_BSMA_ON
      Src: /src/tdengine/source/libs/command/src/command.c:828,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:835,1
    - Dst: IS_BSMA_ON
      Src: /src/tdengine/source/libs/command/src/command.c:838,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:840,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:845,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:851,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:856,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - buf
    - len
    - pDbCfg
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - SDbCfgInfo*
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 859
    functionName: appendTableOptions
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - snprintf
    - IS_BSMA_ON
    - tsnprintf
    - taosArrayGetSize
    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:864,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:864,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:867,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:869,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:870,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:870,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:872,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/command.c:873,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:875,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:881,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:882,1
    - Dst: appendColumnFields
      Src: /src/tdengine/source/libs/command/src/command.c:883,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:884,1
    - Dst: appendTagFields
      Src: /src/tdengine/source/libs/command/src/command.c:886,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:888,1
    - Dst: appendTableOptions
      Src: /src/tdengine/source/libs/command/src/command.c:889,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:891,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:892,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:893,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:894,1
    - Dst: appendTagNameFields
      Src: /src/tdengine/source/libs/command/src/command.c:895,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:896,1
    - Dst: appendTagValues
      Src: /src/tdengine/source/libs/command/src/command.c:898,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:899,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:901,1
    - Dst: appendTableOptions
      Src: /src/tdengine/source/libs/command/src/command.c:902,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:904,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:905,1
    - Dst: appendColumnFields
      Src: /src/tdengine/source/libs/command/src/command.c:906,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:908,1
    - Dst: appendTableOptions
      Src: /src/tdengine/source/libs/command/src/command.c:909,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:911,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:912,1
    - Dst: appendColumnFields
      Src: /src/tdengine/source/libs/command/src/command.c:913,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:915,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:917,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:918,1
    - Dst: appendColRefFields
      Src: /src/tdengine/source/libs/command/src/command.c:919,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:920,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:921,1
    - Dst: appendTagNameFields
      Src: /src/tdengine/source/libs/command/src/command.c:922,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:923,1
    - Dst: appendTagValues
      Src: /src/tdengine/source/libs/command/src/command.c:925,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:926,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:928,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:931,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:933,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:934,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:937,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: 940
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 940
    functionName: setCreateTBResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - appendColumnFields
    - QRY_ERR_RET
    - appendTagNameFields
    - varDataLen
    - appendColRefFields
    - taosArrayGet
    - TAOS_CHECK_ERRNO
    - expandIdentifier
    - appendTableOptions
    - colDataSetVal
    - snprintf
    - tsnprintf
    - appendTagValues
    - appendTagFields
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - 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:944,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:944,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:947,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:949,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:949,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/command/src/command.c:950,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:950,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:950,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:951,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:951,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:953,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/command.c:954,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:961,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:962,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:965,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:965,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:967,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:967,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:968,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:969,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - pBlock
    - pStmt
    argTypes:
    - SSDataBlock*
    - SShowCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 973
    functionName: setCreateViewResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - QRY_ERR_RET
    - strlen
    - varDataLen
    - taosArrayGet
    - snprintf
    - colDataSetVal
    - qError
    - varDataVal
    - blockDataEnsureCapacity
    - taosMemoryFree
    - 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:982,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/command/src/command.c:986,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:986,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:989,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:991,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:991,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:991,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/command/src/command.c:992,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:992,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:992,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/command/src/command.c:993,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:993,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:995,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/command.c:996,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/command/src/command.c:1001,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/command/src/command.c:1001,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1004,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1004,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:1005,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:1006,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:1006,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1008,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1008,1
    - Dst: fmGetFuncName
      Src: /src/tdengine/source/libs/command/src/command.c:1009,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:1010,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/command/src/command.c:1010,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1012,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1012,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1015,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1015,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1018,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1018,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:1019,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1020,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - pBlock
    - pStmt
    argTypes:
    - SSDataBlock*
    - SShowCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 1024
    functionName: setCreateRsmaResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - strlen
    - varDataLen
    - varDataVal
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - taosMemoryFree
    - tNameFromString
    - expandIdentifier
    - snprintf
    - colDataSetVal
    - tsnprintf
    - qError
    - blockDataEnsureCapacity
    - fmGetFuncName
    - TARRAY_GET_ELEM
    - 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:1028,1
    - Dst: setCreateTBResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1030,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1033,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pStmt
    - pRsp
    - charsetCxt
    argTypes:
    - SShowCreateTableStmt*
    - SRetrieveTableRsp**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1026
    functionDepth: 4
    functionLinenumber: 1026
    functionLinenumberEnd: 1037
    functionName: execShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - setCreateTBResultIntoDataBlock
    - buildCreateTbResultDataBlock
    - 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:1041,1
    - Dst: setCreateTBResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1043,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1046,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pStmt
    - pRsp
    - charsetCxt
    argTypes:
    - SShowCreateTableStmt*
    - SRetrieveTableRsp**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1039
    functionDepth: 4
    functionLinenumber: 1039
    functionLinenumberEnd: 1050
    functionName: execShowCreateVTable
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - setCreateTBResultIntoDataBlock
    - buildCreateTbResultDataBlock
    - 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:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pStmt
    - pRsp
    - charsetCxt
    argTypes:
    - SShowCreateTableStmt*
    - SRetrieveTableRsp**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1052
    functionDepth: 5
    functionLinenumber: 1052
    functionLinenumberEnd: 1060
    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:1065,1
    - Dst: taosResetLog
      Src: /src/tdengine/source/libs/command/src/command.c:1066,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/source/libs/command/src/command.c:1067,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1068,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/command/src/command.c:1070,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1072,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1072,1
    - Dst: schedulerUpdatePolicy
      Src: /src/tdengine/source/libs/command/src/command.c:1075,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1076,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/command/src/command.c:1078,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1080,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1080,1
    - Dst: schedulerEnableReSchedule
      Src: /src/tdengine/source/libs/command/src/command.c:1083,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1084,1
    - Dst: ctgdHandleDbgCommand
      Src: /src/tdengine/source/libs/command/src/command.c:1085,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1086,1
    - Dst: taosMemoryDbgInit
      Src: /src/tdengine/source/libs/command/src/command.c:1087,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1089,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1089,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1093,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1094,1
    - Dst: taosMemoryDbgInitRestore
      Src: /src/tdengine/source/libs/command/src/command.c:1095,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1097,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1097,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - cmd
    - value
    - processed
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1114
    functionName: execAlterCmd
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosStr2int32
    - tstrerror
    - schedulerUpdatePolicy
    - schedulerEnableReSchedule
    - strcasecmp
    - taosMemoryDbgInit
    - taosMemoryDbgInitRestore
    - ctgdHandleDbgCommand
    - qInfo
    - cfgDumpCfg
    - qError
    - taosResetLog
    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:1119,1
    - Dst: cfgCheckRangeForDynUpdate
      Src: /src/tdengine/source/libs/command/src/command.c:1127,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/libs/command/src/command.c:1131,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/command/src/command.c:1135,1
    - Dst: taosCfgDynamicOptions
      Src: /src/tdengine/source/libs/command/src/command.c:1135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SAlterLocalStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1116
    functionDepth: 4
    functionLinenumber: 1116
    functionLinenumberEnd: 1140
    functionName: execAlterLocal
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - cfgSetItem
    - execAlterCmd
    - taosCfgDynamicOptions
    - cfgCheckRangeForDynUpdate
    - TAOS_CHECK_RETURN
    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:1143,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/command.c:1150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1152,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1160,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1166,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1172,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1178,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1184,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1192,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1193,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1196
    functionName: buildLocalVariablesResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - taosMemoryCalloc
    - taosMemoryFree
    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:1201,1
    - Dst: dumpConfToDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1208,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1211,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowStmt*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1198
    functionDepth: 2
    functionLinenumber: 1198
    functionLinenumberEnd: 1215
    functionName: execShowLocalVariables
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    - dumpConfToDataBlock
    - buildRetrieveTableRsp
    - buildLocalVariablesResultDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t execShowLocalVariables(SShowStmt* pStmt, SRetrieveTableRsp**
      pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:1218,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1221,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1239,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pProjects
    - pOutput
    argTypes:
    - SNodeList*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1244
    functionName: createSelectResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - createDataBlock
    - QRY_ERR_RET
    - QRY_PARAM_CHECK
    - blockDataAppendColInfo
    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:1239,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1240
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 154
    functionsReached:
    - QRY_ERR_RET
    - blockDataAppendColInfo
    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:1247,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:1247,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/command.c:1252,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1256,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1256,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1256,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1258,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1258,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1258,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/command/src/command.c:1259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pProjects
    - pBlock
    argTypes:
    - SNodeList*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1266
    functionName: buildSelectResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - nodesGetValueFromNode
    - QRY_ERR_RET
    - nodeType
    - taosArrayGet
    - colDataSetVal
    - blockDataEnsureCapacity
    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:1252,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1256,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1256,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1256,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1258,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1258,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1258,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/command/src/command.c:1259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1262
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 154
    functionsReached:
    - nodesGetValueFromNode
    - QRY_ERR_RET
    - nodeType
    - taosArrayGet
    - colDataSetVal
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProj, pProjects)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSelectResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1270,1
    - Dst: buildSelectResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1272,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1275,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/command.c:1275,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - pRsp
    argTypes:
    - SSelectStmt*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1279
    functionName: execSelectWithoutFrom
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - createSelectResultDataBlock
    - buildRetrieveTableRsp
    - buildSelectResultDataBlock
    - LIST_LENGTH
    - 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:1283,1
    - Dst: setCreateViewResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1285,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1288,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowCreateViewStmt*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1281
    functionDepth: 2
    functionLinenumber: 1281
    functionLinenumberEnd: 1292
    functionName: execShowCreateView
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - setCreateViewResultIntoDataBlock
    - buildCreateViewResultDataBlock
    - buildRetrieveTableRsp
    - 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:1296,1
    - Dst: setCreateRsmaResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1298,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1301,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowCreateRsmaStmt*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1294
    functionDepth: 2
    functionLinenumber: 1294
    functionLinenumberEnd: 1305
    functionName: execShowCreateRsma
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - setCreateRsmaResultIntoDataBlock
    - buildCreateTbResultDataBlock
    - buildRetrieveTableRsp
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t execShowCreateRsma(SShowCreateRsmaStmt* pStmt, SRetrieveTableRsp**
      pRsp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/command.c:1309,1
    - Dst: execDescribe
      Src: /src/tdengine/source/libs/command/src/command.c:1311,1
    - Dst: execResetQueryCache
      Src: /src/tdengine/source/libs/command/src/command.c:1313,1
    - Dst: execShowCreateDatabase
      Src: /src/tdengine/source/libs/command/src/command.c:1315,1
    - Dst: execShowCreateTable
      Src: /src/tdengine/source/libs/command/src/command.c:1317,1
    - Dst: execShowCreateVTable
      Src: /src/tdengine/source/libs/command/src/command.c:1319,1
    - Dst: execShowCreateSTable
      Src: /src/tdengine/source/libs/command/src/command.c:1321,1
    - Dst: execShowCreateView
      Src: /src/tdengine/source/libs/command/src/command.c:1323,1
    - Dst: execShowCreateRsma
      Src: /src/tdengine/source/libs/command/src/command.c:1325,1
    - Dst: execAlterLocal
      Src: /src/tdengine/source/libs/command/src/command.c:1327,1
    - Dst: execShowLocalVariables
      Src: /src/tdengine/source/libs/command/src/command.c:1329,1
    - Dst: execSelectWithoutFrom
      Src: /src/tdengine/source/libs/command/src/command.c:1331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 6
    argNames:
    - pConnId
    - sysInfoUser
    - pStmt
    - pRsp
    - biMode
    - charsetCxt
    argTypes:
    - int64_t*
    - bool
    - SNode*
    - SRetrieveTableRsp**
    - int8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1307
    functionDepth: 6
    functionLinenumber: 1307
    functionLinenumberEnd: 1336
    functionName: qExecCommand
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - execShowCreateDatabase
    - execSelectWithoutFrom
    - nodeType
    - execShowLocalVariables
    - execShowCreateRsma
    - execResetQueryCache
    - execShowCreateVTable
    - execAlterLocal
    - execDescribe
    - execShowCreateSTable
    - execShowCreateView
    - execShowCreateTable
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qExecCommand(int64_t* pConnId, bool sysInfoUser, SNode* pStmt,
      SRetrieveTableRsp** pRsp, int8_t biMode,\n                     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:
    - useDb
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    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:
    - useDb
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - ASSERT_TRUE
    - ASSERT_NE
    - ASSERT_EQ
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - ASSERT_TRUE
    - ASSERT_NE
    - ASSERT_EQ
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - ASSERT_TRUE
    - ASSERT_NE
    - ASSERT_EQ
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - tDeserializeSSplitVgroupReq
    - nodeType
    - setSplitVgroupReqFunc
    - ASSERT_EQ
    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:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - setTrimDbReq
    - run
    - snprintf
    - ASSERT_EQ
    - 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:
    - useDb
    - run
    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:
    - useDb
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    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:
    - useDb
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - ASSERT_TRUE
    - ASSERT_NE
    - ASSERT_EQ
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - ASSERT_TRUE
    - ASSERT_NE
    - ASSERT_EQ
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - ASSERT_TRUE
    - ASSERT_NE
    - ASSERT_EQ
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - tDeserializeSSplitVgroupReq
    - nodeType
    - setSplitVgroupReqFunc
    - ASSERT_EQ
    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:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - setTrimDbReq
    - run
    - snprintf
    - ASSERT_EQ
    - 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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tDeserializeSAlterUserReq
    - setAlterUserReq
    - snprintf
    - string
    - ASSERT_EQ
    - c_str
    - tFreeSAlterUserReq
    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:
    - useDb
    - run
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - setMergeVgroupReqFunc
    - ASSERT_EQ
    - tDeserializeSMergeVgroupReq
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tFreeSRedistributeVgroupReq
    - ASSERT_EQ
    - tDeserializeSRedistributeVgroupReq
    - setRedistributeVgroupReqFunc
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - memset
    - tDeserializeSRestoreDnodeReq
    - ASSERT_EQ
    - clearRestoreDnodeReq
    - tFreeSRestoreDnodeReq
    - setRestoreDnodeReq
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tDeserializeSAlterUserReq
    - setAlterUserReq
    - snprintf
    - string
    - ASSERT_EQ
    - c_str
    - tFreeSAlterUserReq
    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:
    - useDb
    - run
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tDeserializeSAlterUserReq
    - setAlterUserReq
    - snprintf
    - string
    - ASSERT_EQ
    - c_str
    - tFreeSAlterUserReq
    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:
    - useDb
    - run
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - setMergeVgroupReqFunc
    - ASSERT_EQ
    - tDeserializeSMergeVgroupReq
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tFreeSRedistributeVgroupReq
    - ASSERT_EQ
    - tDeserializeSRedistributeVgroupReq
    - setRedistributeVgroupReqFunc
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - memset
    - tDeserializeSRestoreDnodeReq
    - ASSERT_EQ
    - clearRestoreDnodeReq
    - tFreeSRestoreDnodeReq
    - setRestoreDnodeReq
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tDeserializeSAlterUserReq
    - setAlterUserReq
    - snprintf
    - string
    - ASSERT_EQ
    - c_str
    - tFreeSAlterUserReq
    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:
    - ParserTest::ParserEnv::initLog
    - fmFuncMgtInit
    - initMetaDataEnv
    - generateMetaData
    - ASSERT_EQ
    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:
    - taosCleanupKeywordsTable
    - destroyMetaDataEnv
    - taosCloseLog
    - 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:
    - tstrncpy
    - taosRemoveDir
    - taosMkDir
    - getLogLevel
    - taosInitLog
    - ASSERT_EQ
    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: 1
    functionLinenumber: 81
    functionLinenumberEnd: 115
    functionName: ParserTest::parseArg
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setLimitSqlNum
    - getopt_long
    - ParserTest::setSkipSqlNum
    - ParserTest::setLogLevel
    - ParserTest::setAsyncFlag
    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:
    - ParserTest::ParserEnv::initLog
    - fmFuncMgtInit
    - initMetaDataEnv
    - generateMetaData
    - ASSERT_EQ
    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:
    - taosCleanupKeywordsTable
    - destroyMetaDataEnv
    - taosCloseLog
    - 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:
    - tstrncpy
    - taosRemoveDir
    - taosMkDir
    - getLogLevel
    - taosInitLog
    - ASSERT_EQ
    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: 1
    functionLinenumber: 81
    functionLinenumberEnd: 115
    functionName: ParserTest::parseArg
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setLimitSqlNum
    - getopt_long
    - ParserTest::setSkipSqlNum
    - ParserTest::setLogLevel
    - ParserTest::setAsyncFlag
    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
    - RUN_ALL_TESTS
    - ParserTest::ParserEnv::ParserEnv
    - 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:
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - snprintf
    - tFreeSCompactDbReq
    - setCompactDbReq
    - 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:
    - useDb
    - run
    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:
    - setDbWalLevel
    - taosArrayPush
    - taosArrayInit
    - setDbBuffer
    - setDbMaxRows
    - snprintf
    - setDbDays
    - tDeserializeSCreateDbReq
    - setDbPrecision
    - setDbHashPrefix
    - useDb
    - run
    - taosArrayGet
    - ASSERT_TRUE
    - clearCreateDbReq
    - setDbWalRetentionSize
    - tFreeSCreateDbReq
    - ASSERT_EQ
    - setDbSchemaless
    - setDbCachelast
    - addDbRetention
    - setCheckDdlFunc
    - std::string
    - setDbVgroups
    - setDbWalRollPeriod
    - setCreateDbReq
    - setDbCompression
    - memset
    - setDbCachelastSize
    - setDbWalSegmentSize
    - setDbFsync
    - taosArrayGetSize
    - setDbPages
    - setDbWalRetentionPeriod
    - setDbPageSize
    - nodeType
    - setDbSstTrigger
    - setDbReplica
    - setDbHashSuffix
    - setDbTsdbPageSize
    - setDbSingleStable
    - setDbMinRows
    - setDbKeep
    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:
    - useDb
    - run
    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:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - memset
    - strcpy
    - setCreateDnodeReq
    - tDeserializeSCreateDnodeReq
    - clearCreateDnodeReq
    - ASSERT_TRUE
    - ASSERT_EQ
    - tFreeSCreateDnodeReq
    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:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - tFreeSCreateFuncReq
    - remove
    - run
    - memset
    - strcpy
    - TD_ALWAYS_ASSERT
    - tDeserializeSCreateFuncReq
    - ASSERT_TRUE
    - setCreateFuncReq
    - ASSERT_EQ
    - std::ofstream::close
    - c_str
    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:
    - remove
    - TD_ALWAYS_ASSERT
    - c_str
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tDeserializeSCreateDropMQSNodeReq
    - ASSERT_TRUE
    - ASSERT_EQ
    - setCreateMnodeReq
    - tFreeSMCreateQnodeReq
    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:
    - useDb
    - setCreateQnodeReq
    - setCheckDdlFunc
    - run
    - nodeType
    - tDeserializeSCreateDropMQSNodeReq
    - ASSERT_TRUE
    - ASSERT_EQ
    - tFreeSMCreateQnodeReq
    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:
    - useDb
    - setCheckDdlFunc
    - setCreateSnodeReq
    - nodeType
    - run
    - tDeserializeSCreateDropMQSNodeReq
    - ASSERT_TRUE
    - ASSERT_EQ
    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
    - taosArrayInit
    - strcpy
    - snprintf
    - setCreateStbReq
    - useDb
    - tFreeSMCreateStbReq
    - run
    - taosArrayGet
    - ASSERT_TRUE
    - ASSERT_EQ
    - strlen
    - setCheckDdlFunc
    - std::string
    - clearCreateStbReq
    - memset
    - addFieldToCreateStbReq
    - taosArrayGetSize
    - taosStrdup
    - nodeType
    - tDeserializeSMCreateStbReq
    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:
    - useDb
    - run
    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
    - tDecoderInit
    - taosArrayInit
    - POINTER_SHIFT
    - useDb
    - run
    - taosArrayGet
    - ASSERT_TRUE
    - ASSERT_EQ
    - strlen
    - tDecoderClear
    - setCheckDdlFunc
    - std::string
    - taosArrayGetSize
    - taosStrdup
    - nodeType
    - taosArrayGetP
    - ASSERT_NE
    - tDecodeSVCreateTbBatchReq
    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:
    - useDb
    - run
    - to_string
    - 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:
    - useDb
    - clearCreateTopicReq
    - setCheckDdlFunc
    - tDeserializeSCMCreateTopicReq
    - nodeType
    - std::string
    - tFreeSCMCreateTopicReq
    - setCreateTopicReq
    - memset
    - run
    - snprintf
    - ASSERT_TRUE
    - ASSERT_NE
    - ASSERT_EQ
    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: taosEncryptPass_c
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1094,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1094,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1097,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1098,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1098,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1100,1
    - Dst: tDeserializeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1100,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: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1106,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1106,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1106,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1107,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1107,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1107,1
    - Dst: tFreeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1108,1
    - Dst: setCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1111,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1112,1
    - Dst: clearCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1113,1
    - Dst: setCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1115,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1116,1
    - Dst: clearCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1118
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - strlen
    - setCheckDdlFunc
    - std::string
    - nodeType
    - tFreeSCreateUserReq
    - run
    - ASSERT_EQ
    - memset
    - strcpy
    - setCreateUserReq
    - clearCreateUserReq
    - tDeserializeSCreateUserReq
    - ASSERT_TRUE
    - taosEncryptPass_c
    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:
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - snprintf
    - tFreeSCompactDbReq
    - setCompactDbReq
    - 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:
    - useDb
    - run
    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:
    - setDbWalLevel
    - taosArrayPush
    - taosArrayInit
    - setDbBuffer
    - setDbMaxRows
    - snprintf
    - setDbDays
    - tDeserializeSCreateDbReq
    - setDbPrecision
    - setDbHashPrefix
    - useDb
    - run
    - taosArrayGet
    - ASSERT_TRUE
    - clearCreateDbReq
    - setDbWalRetentionSize
    - tFreeSCreateDbReq
    - ASSERT_EQ
    - setDbSchemaless
    - setDbCachelast
    - addDbRetention
    - setCheckDdlFunc
    - std::string
    - setDbVgroups
    - setDbWalRollPeriod
    - setCreateDbReq
    - setDbCompression
    - memset
    - setDbCachelastSize
    - setDbWalSegmentSize
    - setDbFsync
    - taosArrayGetSize
    - setDbPages
    - setDbWalRetentionPeriod
    - setDbPageSize
    - nodeType
    - setDbSstTrigger
    - setDbReplica
    - setDbHashSuffix
    - setDbTsdbPageSize
    - setDbSingleStable
    - setDbMinRows
    - setDbKeep
    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:
    - useDb
    - run
    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:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - memset
    - strcpy
    - setCreateDnodeReq
    - tDeserializeSCreateDnodeReq
    - clearCreateDnodeReq
    - ASSERT_TRUE
    - ASSERT_EQ
    - tFreeSCreateDnodeReq
    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:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - tFreeSCreateFuncReq
    - remove
    - run
    - memset
    - strcpy
    - TD_ALWAYS_ASSERT
    - tDeserializeSCreateFuncReq
    - ASSERT_TRUE
    - setCreateFuncReq
    - ASSERT_EQ
    - std::ofstream::close
    - c_str
    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:
    - remove
    - TD_ALWAYS_ASSERT
    - c_str
    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:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tDeserializeSCreateDropMQSNodeReq
    - ASSERT_TRUE
    - ASSERT_EQ
    - setCreateMnodeReq
    - tFreeSMCreateQnodeReq
    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:
    - useDb
    - setCreateQnodeReq
    - setCheckDdlFunc
    - run
    - nodeType
    - tDeserializeSCreateDropMQSNodeReq
    - ASSERT_TRUE
    - ASSERT_EQ
    - tFreeSMCreateQnodeReq
    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:
    - useDb
    - setCheckDdlFunc
    - setCreateSnodeReq
    - nodeType
    - run
    - tDeserializeSCreateDropMQSNodeReq
    - ASSERT_TRUE
    - ASSERT_EQ
    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
    - taosArrayInit
    - strcpy
    - snprintf
    - setCreateStbReq
    - useDb
    - tFreeSMCreateStbReq
    - run
    - taosArrayGet
    - ASSERT_TRUE
    - ASSERT_EQ
    - strlen
    - setCheckDdlFunc
    - std::string
    - clearCreateStbReq
    - memset
    - addFieldToCreateStbReq
    - taosArrayGetSize
    - taosStrdup
    - nodeType
    - tDeserializeSMCreateStbReq
    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:
    - useDb
    - run
    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
    - tDecoderInit
    - taosArrayInit
    - POINTER_SHIFT
    - useDb
    - run
    - taosArrayGet
    - ASSERT_TRUE
    - ASSERT_EQ
    - strlen
    - tDecoderClear
    - setCheckDdlFunc
    - std::string
    - taosArrayGetSize
    - taosStrdup
    - nodeType
    - taosArrayGetP
    - ASSERT_NE
    - tDecodeSVCreateTbBatchReq
    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:
    - useDb
    - run
    - to_string
    - 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:
    - useDb
    - clearCreateTopicReq
    - setCheckDdlFunc
    - tDeserializeSCMCreateTopicReq
    - nodeType
    - std::string
    - tFreeSCMCreateTopicReq
    - setCreateTopicReq
    - memset
    - run
    - snprintf
    - ASSERT_TRUE
    - ASSERT_NE
    - ASSERT_EQ
    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: taosEncryptPass_c
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1094,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1094,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1097,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1098,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1098,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1100,1
    - Dst: tDeserializeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1100,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: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1106,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1106,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1106,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1107,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1107,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1107,1
    - Dst: tFreeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1108,1
    - Dst: setCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1111,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1112,1
    - Dst: clearCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1113,1
    - Dst: setCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1115,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1116,1
    - Dst: clearCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1118
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - strlen
    - setCheckDdlFunc
    - std::string
    - nodeType
    - tFreeSCreateUserReq
    - run
    - ASSERT_EQ
    - memset
    - strcpy
    - setCreateUserReq
    - clearCreateUserReq
    - tDeserializeSCreateUserReq
    - ASSERT_TRUE
    - taosEncryptPass_c
    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:
    - schema
    - c_str
    - strcpy
    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
    - schema
    - TD_ALWAYS_ASSERT
    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:
    - TableBuilder::TableBuilder
    - taosMemoryCalloc
    - std::unique_ptr<TableBuilder>
    - 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
    - tNameGetDbName
    - std::unique_ptr::release
    - MockCatalogServiceImpl::copyTableSchemaMeta
    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:
    - MockCatalogServiceImpl::copyTableVgroup
    - tNameGetDbName
    - tNameGetTableName
    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
    - string
    - MockCatalogServiceImpl::catalogGetDBVgListImpl
    - 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:
    - end
    - memcpy
    - find
    - string
    - string::substr
    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
    - end
    - tNameExtractFullName
    - taosArrayInit
    - auto::second::size
    - 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
    - taosArrayInit
    - size
    - taosArrayDestroy
    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::getAllTableVgroup
    - MockCatalogServiceImpl::getAllTableIndex
    - MockCatalogServiceImpl::getAllVstbRefDbs
    - MockCatalogServiceImpl::getAllDbVgroup
    - MockCatalogServiceImpl::getAllUserAuth
    - MockCatalogServiceImpl::getAllDbCfg
    - MockCatalogServiceImpl::getAllTableMeta
    - MockCatalogServiceImpl::getAllDnodeList
    - MockCatalogServiceImpl::getAllDbInfo
    - MockCatalogServiceImpl::getAllTableCfg
    - MockCatalogServiceImpl::getAllUdf
    - MockCatalogServiceImpl::getAllViewMeta
    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:
    - table
    - TableBuilder::createTableBuilder
    - get
    - getNextId
    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::getNextId
    - MockCatalogServiceImpl::genEpSet
    - vgs::emplace_back
    - MockCatalogServiceImpl::copyTableSchemaMeta
    - MockTableMeta::MockTableMeta
    - std::runtime_error
    - std::unique_ptr::release
    - reset
    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::dtToString
    - MockCatalogServiceImpl::ttToString
    - SL
    - string
    - MockCatalogServiceImpl::ftToString
    - MockCatalogServiceImpl::pToString
    - IH
    - SH
    - IF
    - 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:
    - strcpy
    - insert
    - std::make_pair
    - SFuncInfo::SFuncInfo
    - c_str
    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:
    - MockCatalogServiceImpl::genEpSet
    - MockCatalogServiceImpl::getNextId
    - end
    - auto::second::push_back
    - insert
    - find
    - string
    - std::make_pair
    - taosStrdup
    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:
    - addEpIntoEpSet
    - insert
    - TD_ALWAYS_ASSERT
    - std::make_pair
    - c_str
    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
    - taosArrayInit
    - insert
    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:
    - std::unique_ptr<STableMeta>*::reset
    - memcpy
    - std::unique_ptr<STableMeta>*::get
    - MockCatalogServiceImpl::getTableSchemaMeta
    - taosMemoryCalloc
    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
    - taosArrayDestroy
    - taosArrayInit
    - MockCatalogServiceImpl::getTableMeta
    - std::shared_ptr::vgs::empty
    - std::shared_ptr::vgs::size
    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:
    - end
    - find
    - DbMetaCache::const_iterator::second::find
    - DbMetaCache::const_iterator::second::end
    - std::shared_ptr<MockTableMeta>
    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
    - MockCatalogService::destoryMetaRes
    - taosArrayInit
    - MockCatalogServiceImpl::catalogGetTableMeta
    - taosArrayGet
    - taosArrayDestroyEx
    - taosArrayGetSize
    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
    - MockCatalogService::destoryMetaRes
    - taosArrayInit
    - taosArrayGet
    - taosArrayDestroyEx
    - taosArrayGetSize
    - taosMemoryCalloc
    - MockCatalogServiceImpl::catalogGetTableHashVgroup
    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
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroyEx
    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: 2
    functionLinenumber: 579
    functionLinenumberEnd: 601
    functionName: MockCatalogServiceImpl::catalogGetDBVgListImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - end
    - taosArrayInit
    - find
    - std::set::insert
    - DbMetaCache::const_iterator::second::size
    - std::set::count
    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: 2
    functionLinenumber: 603
    functionLinenumberEnd: 623
    functionName: MockCatalogServiceImpl::catalogGetAllDBVgList
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - std::set::insert
    - std::set::count
    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:
    - taosArrayPush
    - MockCatalogService::destoryMetaRes
    - taosArrayInit
    - taosArrayGet
    - taosArrayDestroyEx
    - taosArrayGetSize
    - taosMemoryCalloc
    - MockCatalogServiceImpl::catalogGetDBCfg
    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:
    - MockCatalogService::destoryMetaRes
    - taosArrayPush
    - taosArrayInit
    - taosArrayDestroyEx
    - taosArrayGetSize
    - 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
    - taosArrayDestroy
    - MockCatalogService::destoryMetaRes
    - taosArrayInit
    - taosArrayDestroyEx
    - taosArrayGetSize
    - 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:
    - MockCatalogServiceImpl::catalogGetUdfInfo
    - taosArrayPush
    - MockCatalogService::destoryMetaRes
    - taosArrayInit
    - taosArrayGet
    - taosArrayDestroyEx
    - taosArrayGetSize
    - 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
    - MockCatalogService::destoryMetaRes
    - taosArrayInit
    - taosArrayGet
    - taosArrayDestroyEx
    - MockCatalogServiceImpl::catalogGetTableIndex
    - taosArrayGetSize
    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
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGetSize
    - taosMemoryCalloc
    - taosMemoryFree
    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
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroyEx
    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
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroyEx
    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
    - taosArrayInit
    - MockCatalogServiceImpl::catalogGetDnodeList
    - taosArrayDestroyEx
    - MockCatalogService::destoryMetaArrayRes
    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:
    - taosMemoryFree
    - taosArrayDestroyEx
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    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: 47
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 47
    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:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    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: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::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: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::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: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    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:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogLevel
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    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: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    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: qInitKeywordsTable
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:69,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pBase
    argTypes:
    - ParserTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: ParserTest::ParserTestBaseImpl::ParserTestBaseImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - qInitKeywordsTable
    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: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    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: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    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:93,1
    - Dst: ParserTest::ParserTestBaseImpl::runApis
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:94,1
    - Dst: ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:97,1
    - Dst: ParserTest::ParserTestBaseImpl::runAsyncApis
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: ParserTest::ParserTestBaseImpl::run
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::ParserTestBaseImpl::runAsyncApis
    - ParserTest::ParserTestBaseImpl::runApis
    - ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
    - ParserTest::ParserTestBaseImpl::runInternalFuncs
    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: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    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:134,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    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:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pMetaCache
    - request
    argTypes:
    - SParseMetaCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: ParserTest::ParserTestBaseImpl::destroyQuery
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - qDestroyQuery
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyQuery(SQuery** pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFunc_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pFunc'
    - resultCode
    argTypes:
    - string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    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: 190
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 190
    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:193,1
    - Dst: msgBuf_::fill
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:194,1
    - Dst: ParserTest::ParserTestBaseImpl::stageFunc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:196,1
    - Dst: parsedAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:198,1
    - Dst: translatedAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:199,1
    - Dst: calcConstAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - expect
    - checkStage
    - type
    argTypes:
    - int32_t
    - ParserStage
    - TestInterfaceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: ParserTest::ParserTestBaseImpl::reset
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - calcConstAst_::clear
    - parsedAst_::clear
    - ParserTest::ParserTestBaseImpl::stageFunc
    - translatedAst_::clear
    - msgBuf_::fill
    - 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:205,1
    - Dst: translatedAst_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:209,1
    - Dst: calcConstAst_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: ParserTest::ParserTestBaseImpl::dump
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - translatedAst_::empty
    - calcConstAst_::empty
    - parsedAst_::empty
    linkageType: ''
    returnType: void
    signature: void dump()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtolower
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:221,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:221,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:221,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:223,1
    - Dst: acctId_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:223,1
    - Dst: db_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:224,1
    - Dst: user_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:225,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:228,1
    - Dst: sql_::length
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:229,1
    - Dst: msgBuf_::data
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:230,1
    - Dst: msgBuf_::max_size
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' sql'
    - pCxt
    argTypes:
    - string
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: ParserTest::ParserTestBaseImpl::setParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - acctId_::c_str
    - db_::c_str
    - msgBuf_::max_size
    - sql_::length
    - msgBuf_::data
    - sql_::c_str
    - strtolower
    - atoi
    - user_::c_str
    - c_str
    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:237,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:238,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 240
    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:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    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:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pMetaCache
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    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:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCatalogReq
    - pMetaData
    argTypes:
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    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:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCatalogReq
    - pMetaData
    - pMetaCache
    argTypes:
    - SCatalogReq*
    - SMetaData*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    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: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::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:263,1
    - Dst: ParserTest::ParserTestBaseImpl::checkQuery
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:264,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: ParserTest::ParserTestBaseImpl::doTranslate
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::ParserTestBaseImpl::checkQuery
    - DO_WITH_THROW
    - 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:269,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    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:274,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:275,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:280,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:281,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 285
    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:289,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    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:294,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:295,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    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:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    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:306,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:309,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:310,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: ParserTest::ParserTestBaseImpl::toString
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 7
    functionsReached:
    - taosMemoryFreeClear
    - nodesDestroyNode
    - DO_WITH_THROW
    linkageType: ''
    returnType: string
    signature: string toString(const SNode* pRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDdl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    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:319,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:322,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:324,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:325,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseInsertSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:326,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:326,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:328,1
    - Dst: ParserTest::ParserTestBaseImpl::doParse
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:329,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:329,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:330,1
    - Dst: ParserTest::ParserTestBaseImpl::doAuthenticate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:332,1
    - Dst: ParserTest::ParserTestBaseImpl::doTranslate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:334,1
    - Dst: ParserTest::ParserTestBaseImpl::doCalculateConstant
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:336,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:340,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 349
    functionName: ParserTest::ParserTestBaseImpl::runInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBaseImpl::doTranslate
    - qIsInsertValuesSql
    - ParserTest::ParserTestBaseImpl::doParseInsertSql
    - ParserTest::ParserTestBaseImpl::doCalculateConstant
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::setParseContext
    - unique_ptr::get
    - ParserTest::ParserTestBaseImpl::doParse
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::doAuthenticate
    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:352,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:355,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:357,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:358,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:358,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:361,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: ParserTest::ParserTestBaseImpl::runApis
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::setParseContext
    - unique_ptr::get
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::doParseSql
    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:373,1
    - Dst: SParseMetaCache::SParseMetaCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:376,1
    - Dst: bind
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:376,1
    - Dst: cref
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:376,1
    - Dst: ParserTest::ParserTestBaseImpl::doParse
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:377,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:377,1
    - Dst: ParserTest::ParserTestBaseImpl::doCollectMetaKey
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:378,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:378,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:378,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:380,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:382,1
    - Dst: ParserTest::ParserTestBaseImpl::doBuildCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:384,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:384,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:384,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:389,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:390,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:390,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:390,1
    - Dst: unique_ptr::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:392,1
    - Dst: SParseMetaCache::SParseMetaCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:392,1
    - Dst: ParserTest::ParserTestBaseImpl::doPutMetaDataToCache
      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:394,1
    - Dst: ParserTest::ParserTestBaseImpl::doAuthenticate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:396,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:396,1
    - Dst: ParserTest::ParserTestBaseImpl::doTranslate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:398,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:398,1
    - Dst: ParserTest::ParserTestBaseImpl::doCalculateConstant
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:400,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:404,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:410,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:411,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - pParCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 414
    functionName: ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::ParserTestBaseImpl::doTranslate
    - runtime_error
    - bind
    - string::empty
    - unique_ptr::get
    - ParserTest::ParserTestBaseImpl::doParse
    - thread::join
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    - ParserTest::ParserTestBaseImpl::doCollectMetaKey
    - ParserTest::ParserTestBaseImpl::doBuildCatalogReq
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::doCalculateConstant
    - SCatalogReq::SCatalogReq
    - what
    - unique_ptr::reset
    - ParserTest::ParserTestBaseImpl::doAuthenticate
    - SParseMetaCache::SParseMetaCache
    - SMetaData::SMetaData
    - ParserTest::ParserTestBaseImpl::doPutMetaDataToCache
    - cref
    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:418,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:427,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseInsertSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:429,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:432,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:437,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:443,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:444,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pParCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 447
    functionName: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBaseImpl::doParseInsertSql
    - what
    - runtime_error
    - string::empty
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    - thread::join
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    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:450,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:451,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:453,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:454,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:454,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:454,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - SMetaData::SMetaData
    - SCatalogReq::SCatalogReq
    - unique_ptr::get
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    - taosMemoryCalloc
    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:458,1
    - Dst: SParseContext::SParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:460,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:461,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:461,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:463,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:465,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:465,1
    - Dst: ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:467,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:467,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:471,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 457
    functionDepth: 4
    functionLinenumber: 457
    functionLinenumberEnd: 480
    functionName: ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
    - qIsInsertValuesSql
    - SParseContext::SParseContext
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::setParseContext
    - unique_ptr::get
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
    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:483,1
    - Dst: SParseContext::SParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:485,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:486,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:486,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:488,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:490,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseSqlSyntax
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:491,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:491,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:491,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:491,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:492,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:500,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      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: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:502,1
    - Dst: ParserTest::ParserTestBaseImpl::doContinueParseSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:504,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:504,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:504,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:504,1
    - Dst: ParserTest::ParserTestBaseImpl::doAnalyseSqlSemantic
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:506,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:506,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:506,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:506,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:511,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:517,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:518,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:519,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:530,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:536,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 539
    functionName: ParserTest::ParserTestBaseImpl::runAsyncApis
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - SParseContext::SParseContext
    - ParserTest::ParserTestBaseImpl::doParseSqlSyntax
    - SMetaData::SMetaData
    - what
    - SCatalogReq::SCatalogReq
    - runtime_error
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::setParseContext
    - ParserTest::ParserTestBaseImpl::doContinueParseSql
    - unique_ptr::get
    - string::empty
    - thread::join
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::doAnalyseSqlSemantic
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    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:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 549
    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: 551
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 551
    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:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' user'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 553
    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:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' acctId'
    - ' db'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 555
    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:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - std::string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 559
    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: 561
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 561
    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: 47
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 47
    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:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    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: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::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: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::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: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    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:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogLevel
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    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: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    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: qInitKeywordsTable
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:69,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pBase
    argTypes:
    - ParserTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: ParserTest::ParserTestBaseImpl::ParserTestBaseImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - qInitKeywordsTable
    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: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    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: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    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:93,1
    - Dst: ParserTest::ParserTestBaseImpl::runApis
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:94,1
    - Dst: ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:97,1
    - Dst: ParserTest::ParserTestBaseImpl::runAsyncApis
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: ParserTest::ParserTestBaseImpl::run
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::ParserTestBaseImpl::runAsyncApis
    - ParserTest::ParserTestBaseImpl::runApis
    - ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
    - ParserTest::ParserTestBaseImpl::runInternalFuncs
    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: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    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:134,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    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:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pMetaCache
    - request
    argTypes:
    - SParseMetaCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: ParserTest::ParserTestBaseImpl::destroyQuery
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - qDestroyQuery
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyQuery(SQuery** pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFunc_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pFunc'
    - resultCode
    argTypes:
    - string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    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: 190
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 190
    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:193,1
    - Dst: msgBuf_::fill
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:194,1
    - Dst: ParserTest::ParserTestBaseImpl::stageFunc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:196,1
    - Dst: parsedAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:198,1
    - Dst: translatedAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:199,1
    - Dst: calcConstAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - expect
    - checkStage
    - type
    argTypes:
    - int32_t
    - ParserStage
    - TestInterfaceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: ParserTest::ParserTestBaseImpl::reset
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 4
    functionsReached:
    - calcConstAst_::clear
    - parsedAst_::clear
    - ParserTest::ParserTestBaseImpl::stageFunc
    - translatedAst_::clear
    - msgBuf_::fill
    - 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:205,1
    - Dst: translatedAst_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:209,1
    - Dst: calcConstAst_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: ParserTest::ParserTestBaseImpl::dump
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 4
    functionsReached:
    - translatedAst_::empty
    - calcConstAst_::empty
    - parsedAst_::empty
    linkageType: ''
    returnType: void
    signature: void dump()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtolower
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:221,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:221,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:221,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:223,1
    - Dst: acctId_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:223,1
    - Dst: db_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:224,1
    - Dst: user_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:225,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:228,1
    - Dst: sql_::length
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:229,1
    - Dst: msgBuf_::data
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:230,1
    - Dst: msgBuf_::max_size
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' sql'
    - pCxt
    argTypes:
    - string
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: ParserTest::ParserTestBaseImpl::setParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 4
    functionsReached:
    - acctId_::c_str
    - db_::c_str
    - msgBuf_::max_size
    - sql_::length
    - msgBuf_::data
    - sql_::c_str
    - strtolower
    - atoi
    - user_::c_str
    - c_str
    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:237,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:238,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 240
    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:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    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:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pMetaCache
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    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:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCatalogReq
    - pMetaData
    argTypes:
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    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:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCatalogReq
    - pMetaData
    - pMetaCache
    argTypes:
    - SCatalogReq*
    - SMetaData*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    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: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::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:263,1
    - Dst: ParserTest::ParserTestBaseImpl::checkQuery
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:264,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: ParserTest::ParserTestBaseImpl::doTranslate
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::ParserTestBaseImpl::checkQuery
    - DO_WITH_THROW
    - 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:269,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 5
    functionLinenumber: 268
    functionLinenumberEnd: 271
    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:274,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:275,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:280,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:281,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 285
    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:289,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 5
    functionLinenumber: 287
    functionLinenumberEnd: 291
    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:294,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:295,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 5
    functionLinenumber: 293
    functionLinenumberEnd: 297
    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:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    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:306,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:309,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:310,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: ParserTest::ParserTestBaseImpl::toString
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 14
    functionsReached:
    - taosMemoryFreeClear
    - nodesDestroyNode
    - DO_WITH_THROW
    linkageType: ''
    returnType: string
    signature: string toString(const SNode* pRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDdl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    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:319,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:322,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:324,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:325,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseInsertSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:326,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:326,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:328,1
    - Dst: ParserTest::ParserTestBaseImpl::doParse
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:329,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:329,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:330,1
    - Dst: ParserTest::ParserTestBaseImpl::doAuthenticate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:332,1
    - Dst: ParserTest::ParserTestBaseImpl::doTranslate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:334,1
    - Dst: ParserTest::ParserTestBaseImpl::doCalculateConstant
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:336,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:340,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 349
    functionName: ParserTest::ParserTestBaseImpl::runInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::ParserTestBaseImpl::doTranslate
    - qIsInsertValuesSql
    - ParserTest::ParserTestBaseImpl::doParseInsertSql
    - ParserTest::ParserTestBaseImpl::doCalculateConstant
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::setParseContext
    - unique_ptr::get
    - ParserTest::ParserTestBaseImpl::doParse
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::doAuthenticate
    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:352,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:355,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:357,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:358,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:358,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:361,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: ParserTest::ParserTestBaseImpl::runApis
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::setParseContext
    - unique_ptr::get
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::doParseSql
    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:373,1
    - Dst: SParseMetaCache::SParseMetaCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:376,1
    - Dst: bind
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:376,1
    - Dst: cref
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:376,1
    - Dst: ParserTest::ParserTestBaseImpl::doParse
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:377,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:377,1
    - Dst: ParserTest::ParserTestBaseImpl::doCollectMetaKey
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:378,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:378,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:378,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:380,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:382,1
    - Dst: ParserTest::ParserTestBaseImpl::doBuildCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:384,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:384,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:384,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:389,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:390,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:390,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:390,1
    - Dst: unique_ptr::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:392,1
    - Dst: SParseMetaCache::SParseMetaCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:392,1
    - Dst: ParserTest::ParserTestBaseImpl::doPutMetaDataToCache
      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:394,1
    - Dst: ParserTest::ParserTestBaseImpl::doAuthenticate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:396,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:396,1
    - Dst: ParserTest::ParserTestBaseImpl::doTranslate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:398,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:398,1
    - Dst: ParserTest::ParserTestBaseImpl::doCalculateConstant
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:400,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:404,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:410,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:411,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - pParCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 414
    functionName: ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBaseImpl::doTranslate
    - runtime_error
    - bind
    - string::empty
    - unique_ptr::get
    - ParserTest::ParserTestBaseImpl::doParse
    - thread::join
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    - ParserTest::ParserTestBaseImpl::doCollectMetaKey
    - ParserTest::ParserTestBaseImpl::doBuildCatalogReq
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::doCalculateConstant
    - SCatalogReq::SCatalogReq
    - what
    - unique_ptr::reset
    - ParserTest::ParserTestBaseImpl::doAuthenticate
    - SParseMetaCache::SParseMetaCache
    - SMetaData::SMetaData
    - ParserTest::ParserTestBaseImpl::doPutMetaDataToCache
    - cref
    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:418,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:427,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseInsertSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:429,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:432,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:437,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:443,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:444,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pParCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 447
    functionName: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 3
    functionsReached:
    - ParserTest::ParserTestBaseImpl::doParseInsertSql
    - what
    - runtime_error
    - string::empty
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    - thread::join
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    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:450,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:451,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:453,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:454,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:454,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:454,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - SMetaData::SMetaData
    - SCatalogReq::SCatalogReq
    - unique_ptr::get
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    - taosMemoryCalloc
    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:458,1
    - Dst: SParseContext::SParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:460,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:461,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:461,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:463,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:465,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:465,1
    - Dst: ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:467,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:467,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:471,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 457
    functionDepth: 4
    functionLinenumber: 457
    functionLinenumberEnd: 480
    functionName: ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
    - qIsInsertValuesSql
    - SParseContext::SParseContext
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::setParseContext
    - unique_ptr::get
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
    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:483,1
    - Dst: SParseContext::SParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:485,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:486,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:486,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:488,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:490,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseSqlSyntax
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:491,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:491,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:491,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:491,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:492,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:500,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      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: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:502,1
    - Dst: ParserTest::ParserTestBaseImpl::doContinueParseSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:504,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:504,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:504,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:504,1
    - Dst: ParserTest::ParserTestBaseImpl::doAnalyseSqlSemantic
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:506,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:506,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:506,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:506,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:511,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:517,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:518,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:519,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:530,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:536,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 539
    functionName: ParserTest::ParserTestBaseImpl::runAsyncApis
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - SParseContext::SParseContext
    - ParserTest::ParserTestBaseImpl::doParseSqlSyntax
    - SMetaData::SMetaData
    - what
    - SCatalogReq::SCatalogReq
    - runtime_error
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::setParseContext
    - ParserTest::ParserTestBaseImpl::doContinueParseSql
    - unique_ptr::get
    - string::empty
    - thread::join
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::doAnalyseSqlSemantic
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    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:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 549
    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: 551
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 551
    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:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' user'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 553
    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:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' acctId'
    - ' db'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 555
    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:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - std::string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 559
    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: 561
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 561
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, deleteSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:45,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:47,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, describe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:57,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:61,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:64,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:65,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:69,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:70,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:70,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:72,1
    - Dst: tDeserializeSMDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:74,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:74,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:74,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:75,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:75,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:75,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:76,1
    - Dst: setDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:79,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:80,1
    - Dst: clearDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:81,1
    - Dst: setDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:83,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:84,1
    - Dst: clearDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 86
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - clearDropCgroupReq
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - memset
    - strcpy
    - snprintf
    - ASSERT_TRUE
    - tDeserializeSMDropCgroupReq
    - setDropCgroupReq
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropConsumerGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:91,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:95,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:104,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:110,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:111,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:111,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:113,1
    - Dst: tDeserializeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:115,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:116,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:116,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:116,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:117,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:118,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:119,1
    - Dst: tFreeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:120,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:123,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:124,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:125,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:127,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:128,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:129,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:131,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:132,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:133,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:135,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:136,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:137,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:139,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:140,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:141,1
    - Dst: setDropDnodeReqByEndpoint
      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: setDropDnodeReqByEndpoint
      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: setDropDnodeReqByEndpoint
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 158
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - setDropDnodeReqById
    - run
    - memset
    - strcpy
    - tDeserializeSDropDnodeReq
    - tFreeSDropDnodeReq
    - ASSERT_TRUE
    - setDropDnodeReqByEndpoint
    - ASSERT_EQ
    - clearDropDnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropDnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:163,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:167,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:170,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:174,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:175,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:175,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:177,1
    - Dst: tDeserializeSMDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:177,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:180,1
    - Dst: setDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:183,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:184,1
    - Dst: clearDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:185,1
    - Dst: setDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:187,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:188,1
    - Dst: clearDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 190
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - memset
    - sprintf
    - setDropSmaReq
    - tDeserializeSMDropSmaReq
    - ASSERT_TRUE
    - clearDropSmaReq
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:193,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropMnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:199,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:205,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:206,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:206,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:208,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:209,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:211,1
    - Dst: tFreeSDDropQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:212,1
    - Dst: setDropQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:215,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - setCheckDdlFunc
    - setDropQnodeReq
    - nodeType
    - run
    - tDeserializeSCreateDropMQSNodeReq
    - ASSERT_TRUE
    - ASSERT_EQ
    - tFreeSDDropQnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropQnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:220,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.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/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropSnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:226,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.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/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:232,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:234,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:239,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:241,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropTopic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: login
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:247,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:248,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:252,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:254,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:255,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:257,1
    - Dst: tDeserializeSDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:257,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:259,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:259,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:259,1
    - Dst: tFreeSDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:260,1
    - Dst: setDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:263,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 265
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - tDeserializeSDropUserReq
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - sprintf
    - ASSERT_TRUE
    - login
    - setDropUserReq
    - ASSERT_EQ
    - tFreeSDropUserReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropUser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: login
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:268,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:269,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    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:
    - useDb
    - run
    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:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, deleteSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:45,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:47,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, describe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:57,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:61,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:64,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:65,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:69,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:70,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:70,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:72,1
    - Dst: tDeserializeSMDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:74,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:74,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:74,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:75,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:75,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:75,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:76,1
    - Dst: setDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:79,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:80,1
    - Dst: clearDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:81,1
    - Dst: setDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:83,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:84,1
    - Dst: clearDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 86
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - clearDropCgroupReq
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - memset
    - strcpy
    - snprintf
    - ASSERT_TRUE
    - tDeserializeSMDropCgroupReq
    - setDropCgroupReq
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropConsumerGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:91,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:95,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:104,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:110,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:111,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:111,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:113,1
    - Dst: tDeserializeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:115,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:116,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:116,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:116,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:117,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:118,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:119,1
    - Dst: tFreeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:120,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:123,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:124,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:125,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:127,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:128,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:129,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:131,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:132,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:133,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:135,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:136,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:137,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:139,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:140,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:141,1
    - Dst: setDropDnodeReqByEndpoint
      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: setDropDnodeReqByEndpoint
      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: setDropDnodeReqByEndpoint
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 158
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - setDropDnodeReqById
    - run
    - memset
    - strcpy
    - tDeserializeSDropDnodeReq
    - tFreeSDropDnodeReq
    - ASSERT_TRUE
    - setDropDnodeReqByEndpoint
    - ASSERT_EQ
    - clearDropDnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropDnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:163,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:167,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:170,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:174,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:175,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:175,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:177,1
    - Dst: tDeserializeSMDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:177,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:180,1
    - Dst: setDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:183,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:184,1
    - Dst: clearDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:185,1
    - Dst: setDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:187,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:188,1
    - Dst: clearDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 190
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - memset
    - sprintf
    - setDropSmaReq
    - tDeserializeSMDropSmaReq
    - ASSERT_TRUE
    - clearDropSmaReq
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:193,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropMnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:199,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:205,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:206,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:206,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:208,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:209,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:211,1
    - Dst: tFreeSDDropQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:212,1
    - Dst: setDropQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:215,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - setCheckDdlFunc
    - setDropQnodeReq
    - nodeType
    - run
    - tDeserializeSCreateDropMQSNodeReq
    - ASSERT_TRUE
    - ASSERT_EQ
    - tFreeSDDropQnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropQnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:220,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.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/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropSnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:226,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.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/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:232,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:234,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:239,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:241,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropTopic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: login
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:247,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:248,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:252,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:254,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:255,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:255,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:257,1
    - Dst: tDeserializeSDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:257,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:259,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:259,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:259,1
    - Dst: tFreeSDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:260,1
    - Dst: setDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:263,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 265
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - tDeserializeSDropUserReq
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - sprintf
    - ASSERT_TRUE
    - login
    - setDropUserReq
    - ASSERT_EQ
    - tFreeSDropUserReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropUser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: login
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:268,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:269,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    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:
    - done
    - MockCatalogService*::createTableBuilder
    - MockCatalogService*::createSubTable
    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
    - MockCatalogService*::createDatabase
    - get
    - 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:
    - done
    - MockCatalogService*::createTableBuilder
    - MockCatalogService*::createSubTable
    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
    - MockCatalogService*::createDatabase
    - get
    - 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
    - exists
    argTypes:
    - SCatalog*
    - SUserAuthInfo*
    - SUserAuthRes*
    - bool*
    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, bool* exists)
  - 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: reset
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:384,1
    - Dst: MockCatalogService::MockCatalogService
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:384,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:387,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:388,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:389,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:390,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:391,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:392,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:393,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:394,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:395,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:396,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 409
    functionName: initMetaDataEnv
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 3
    functionsReached:
    - MockCatalogService::MockCatalogService
    - Stub::set
    - reset
    linkageType: ''
    returnType: void
    signature: void initMetaDataEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generateDatabases
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:412,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:412,1
    - Dst: generateInformationSchema
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:413,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:413,1
    - Dst: generatePerformanceSchema
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:414,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:414,1
    - Dst: generateFunctions
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:415,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:415,1
    - Dst: generateDnodes
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:416,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 411
    functionDepth: 5
    functionLinenumber: 411
    functionLinenumberEnd: 417
    functionName: generateMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 3
    functionsReached:
    - generateDatabases
    - generateFunctions
    - generateDnodes
    - get
    - generatePerformanceSchema
    - generateInformationSchema
    linkageType: ''
    returnType: void
    signature: void generateMetaData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 419
    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:
    - useDb
    - run
    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:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - tDeserializeSMCfgDnodeReq
    - setCfgDnodeReq
    - run
    - memset
    - strcpy
    - tFreeSMCfgDnodeReq
    - ASSERT_EQ
    - 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:
    - setAlterDbCacheSize
    - setAlterDbWalRetentionSize
    - setAlterDbPages
    - initAlterDb
    - snprintf
    - setAlterDbCacheModel
    - useDb
    - run
    - setAlterDbKeep
    - setAlterDbFsync
    - ASSERT_EQ
    - setCheckDdlFunc
    - std::string
    - setAlterDbBuffer
    - tFreeSAlterDbReq
    - memset
    - tDeserializeSAlterDbReq
    - nodeType
    - setAlterDbReplica
    - clearAlterDbReq
    - setAlterDbSttTrigger
    - setAlterDbWal
    - setAlterDbWalRetentionPeriod
    - setAlterDbMinRows
    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:
    - useDb
    - run
    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::assign
    - useDb
    - pair::second::clear
    - setCheckDdlFunc
    - nodeType
    - run
    - pair::first::clear
    - clearAlterLocal
    - string
    - ASSERT_EQ
    - pair::first::assign
    - setAlterLocal
    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
    - taosArrayInit
    - strcpy
    - snprintf
    - useDb
    - run
    - taosArrayGet
    - clearAlterStbReq
    - ASSERT_TRUE
    - ASSERT_EQ
    - strlen
    - setCheckDdlFunc
    - std::string
    - setAlterStbReq
    - memset
    - tFreeSMAltertbReq
    - taosStrdup
    - tDeserializeSMAlterStbReq
    - nodeType
    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:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterSTableSemanticCheck)
  - BBCount: 18
    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_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:631,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:631,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:631,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:634,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:634,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:634,1
    - Dst: ASSERT_EQ
      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: ASSERT_EQ
      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: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:641,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:641,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:641,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:644,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:644,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:644,1
    - Dst: ASSERT_EQ
      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: memcmp
      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:654,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:654,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:654,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:655,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:655,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:656,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:656,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:659,1
    - Dst: setAlterTableOptions
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:662,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:663,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:664,1
    - Dst: setAlterTableOptions
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:666,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:667,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:668,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:670,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:671,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:672,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:674,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:675,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:676,1
    - Dst: setAlterTableCol
      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: setAlterTableCol
      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: setAlterTableTag
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:687,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:688,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:689,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:697,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:698,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:704,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:708,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:709,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:714,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:715,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:717,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:717,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:718,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:718,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:721,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:723,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:724,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:726,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:731,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:733,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:734,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:736,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:742,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:743,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:743,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:746,1
    - Dst: tDeserializeSMAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:746,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:747,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:747,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:748,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:749,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:751,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:752,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:753,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:753,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:753,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:754,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:755,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:758,1
    - Dst: taosArrayGet
      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: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:760,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:760,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:761,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:762,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:764,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:767,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:768,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:769,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:771,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:772,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:773,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:775,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:777,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:778,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:780,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:781,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:782,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 784
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecoderInit
    - taosArrayInit
    - strcpy
    - strdup
    - snprintf
    - POINTER_SHIFT
    - setAlterTableCol
    - useDb
    - run
    - setAlterTableTag
    - taosArrayGet
    - clearAlterStbReq
    - ASSERT_TRUE
    - setAlterTableOptions
    - ASSERT_EQ
    - strlen
    - tDecoderClear
    - setCheckDdlFunc
    - std::string
    - memcmp
    - setAlterStbReq
    - memset
    - tFreeSMAltertbReq
    - taosArrayGetSize
    - free
    - tDeserializeSMAlterStbReq
    - nodeType
    - taosArrayGetP
    - clearAlterTbReq
    - ASSERT_NE
    - tDecodeSVAlterTbReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:787,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:789,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:790,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:791,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:792,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:793,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 795
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterTableSemanticCheck)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:807,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:811,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:815,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:821,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:821,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:823,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:826,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:827,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:827,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:828,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:830,1
    - Dst: tDeserializeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:830,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:832,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:833,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:834,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:835,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:836,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:836,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:836,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:837,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:837,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:837,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:838,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:838,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:838,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:839,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:842,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:843,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:844,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:846,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:847,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:848,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:850,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:851,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 853
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - clearAlterUserReq
    - useDb
    - strlen
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - tDeserializeSAlterUserReq
    - ASSERT_EQ
    - memset
    - strcpy
    - setAlterUserReq
    - ASSERT_TRUE
    - taosEncryptPass_c
    - tFreeSAlterUserReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterUser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:859,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:861,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:862,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:862,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:863,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:865,1
    - Dst: tDeserializeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:865,1
    - Dst: tFreeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:866,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 870
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tFreeSBalanceVgroupReq
    - tDeserializeSBalanceVgroupReq
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, balanceVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:876,1
    - Dst: setCheckDdlFunc
      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: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:879,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:880,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:882,1
    - Dst: tDeserializeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:882,1
    - Dst: tFreeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:884,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 888
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tDeserializeSBalanceVgroupLeaderReq
    - tFreeSBalanceVgroupLeaderReq
    - ASSERT_EQ
    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:
    - useDb
    - run
    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:
    - useDb
    - setCheckDdlFunc
    - std::string
    - nodeType
    - tDeserializeSMCfgDnodeReq
    - setCfgDnodeReq
    - run
    - memset
    - strcpy
    - tFreeSMCfgDnodeReq
    - ASSERT_EQ
    - 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:
    - setAlterDbCacheSize
    - setAlterDbWalRetentionSize
    - setAlterDbPages
    - initAlterDb
    - snprintf
    - setAlterDbCacheModel
    - useDb
    - run
    - setAlterDbKeep
    - setAlterDbFsync
    - ASSERT_EQ
    - setCheckDdlFunc
    - std::string
    - setAlterDbBuffer
    - tFreeSAlterDbReq
    - memset
    - tDeserializeSAlterDbReq
    - nodeType
    - setAlterDbReplica
    - clearAlterDbReq
    - setAlterDbSttTrigger
    - setAlterDbWal
    - setAlterDbWalRetentionPeriod
    - setAlterDbMinRows
    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:
    - useDb
    - run
    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::assign
    - useDb
    - pair::second::clear
    - setCheckDdlFunc
    - nodeType
    - run
    - pair::first::clear
    - clearAlterLocal
    - string
    - ASSERT_EQ
    - pair::first::assign
    - setAlterLocal
    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
    - taosArrayInit
    - strcpy
    - snprintf
    - useDb
    - run
    - taosArrayGet
    - clearAlterStbReq
    - ASSERT_TRUE
    - ASSERT_EQ
    - strlen
    - setCheckDdlFunc
    - std::string
    - setAlterStbReq
    - memset
    - tFreeSMAltertbReq
    - taosStrdup
    - tDeserializeSMAlterStbReq
    - nodeType
    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:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterSTableSemanticCheck)
  - BBCount: 18
    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_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:631,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:631,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:631,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:634,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:634,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:634,1
    - Dst: ASSERT_EQ
      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: ASSERT_EQ
      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: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:641,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:641,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:641,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:644,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:644,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:644,1
    - Dst: ASSERT_EQ
      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: memcmp
      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:654,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:654,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:654,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:655,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:655,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:656,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:656,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:659,1
    - Dst: setAlterTableOptions
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:662,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:663,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:664,1
    - Dst: setAlterTableOptions
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:666,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:667,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:668,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:670,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:671,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:672,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:674,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:675,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:676,1
    - Dst: setAlterTableCol
      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: setAlterTableCol
      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: setAlterTableTag
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:687,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:688,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:689,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:697,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:698,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:704,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:708,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:709,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:714,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:715,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:717,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:717,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:718,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:718,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:721,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:723,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:724,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:726,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:731,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:733,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:734,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:736,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:742,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:743,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:743,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:746,1
    - Dst: tDeserializeSMAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:746,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:747,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:747,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:748,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:749,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:751,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:752,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:753,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:753,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:753,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:754,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:755,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:758,1
    - Dst: taosArrayGet
      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: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:760,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:760,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:761,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:762,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:764,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:767,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:768,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:769,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:771,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:772,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:773,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:775,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:777,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:778,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:780,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:781,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:782,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 784
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecoderInit
    - taosArrayInit
    - strcpy
    - strdup
    - snprintf
    - POINTER_SHIFT
    - setAlterTableCol
    - useDb
    - run
    - setAlterTableTag
    - taosArrayGet
    - clearAlterStbReq
    - ASSERT_TRUE
    - setAlterTableOptions
    - ASSERT_EQ
    - strlen
    - tDecoderClear
    - setCheckDdlFunc
    - std::string
    - memcmp
    - setAlterStbReq
    - memset
    - tFreeSMAltertbReq
    - taosArrayGetSize
    - free
    - tDeserializeSMAlterStbReq
    - nodeType
    - taosArrayGetP
    - clearAlterTbReq
    - ASSERT_NE
    - tDecodeSVAlterTbReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:787,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:789,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:790,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:791,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:792,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:793,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 795
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterTableSemanticCheck)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:807,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:811,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:815,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:821,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:821,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:823,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:826,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:827,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:827,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:828,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:830,1
    - Dst: tDeserializeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:830,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:832,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:833,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:834,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:835,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:836,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:836,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:836,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:837,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:837,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:837,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:838,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:838,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:838,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:839,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:842,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:843,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:844,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:846,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:847,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:848,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:850,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:851,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 853
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - clearAlterUserReq
    - useDb
    - strlen
    - setCheckDdlFunc
    - std::string
    - nodeType
    - run
    - tDeserializeSAlterUserReq
    - ASSERT_EQ
    - memset
    - strcpy
    - setAlterUserReq
    - ASSERT_TRUE
    - taosEncryptPass_c
    - tFreeSAlterUserReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterUser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:859,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:861,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:862,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:862,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:863,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:865,1
    - Dst: tDeserializeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:865,1
    - Dst: tFreeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:866,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 870
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tFreeSBalanceVgroupReq
    - tDeserializeSBalanceVgroupReq
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, balanceVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:876,1
    - Dst: setCheckDdlFunc
      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: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:879,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:880,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:882,1
    - Dst: tDeserializeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:882,1
    - Dst: tFreeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:884,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 888
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    - setCheckDdlFunc
    - run
    - nodeType
    - tDeserializeSBalanceVgroupLeaderReq
    - tFreeSBalanceVgroupLeaderReq
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, balanceVgroupLeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:59,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pStream
    - pStreamDb
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    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: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    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: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    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: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    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: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    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: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    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:85,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pTriggerDb
    - pTriggerTblName
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    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:91,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:92,1
    - Dst: ParserTest::setCreateStreamTriggerTblUid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:93,1
    - Dst: ParserTest::setCreateStreamTriggerTableType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:94,1
    - Dst: ParserTest::setCreateStreamTriggerTableSuid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:95,1
    - Dst: ParserTest::setCreateStreamTriggerTblVgid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:96,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: 97
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: ParserTest::setCreateStreamTriggerTable
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerName
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::setCreateStreamTriggerTableType
    - ParserTest::setCreateStreamTriggerTblVgid
    - ParserTest::setCreateStreamTriggerTableSuid
    - 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:101,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pOutDb
    - pOutTbleName
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    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: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    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: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    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: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    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: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    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:127,1
    - Dst: ParserTest::setCreateStreamOutTblType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:128,1
    - Dst: ParserTest::setCreateStreamOutStbExists
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:129,1
    - Dst: ParserTest::setCreateStreamOutStbUid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:130,1
    - Dst: ParserTest::setCreateStreamOutStbSversion
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:131,1
    - Dst: ParserTest::setCreateStreamOutTbleVgid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:132,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: 133
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: ParserTest::setCreateStreamOutTable
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamOutTblType
    - ParserTest::setCreateStreamOutStbExists
    - ParserTest::setCreateStreamOutStbSversion
    - ParserTest::setCreateStreamOutName
    - 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: taosArrayClearP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:138,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:139,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:141,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:142,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:143,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - expect
    - pCalcDb
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: ParserTest::setCreateStreamCalcDb
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosArrayClearP
    - taosMemoryFreeClear
    - ASSERT_TRUE
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamCalcDb(SCMCreateStreamReq *expect, const char*
      pCalcDb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pSql
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: ParserTest::setCreateStreamSql
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - 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: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    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:156,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:157,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:158,1
    - Dst: ParserTest::setCreateStreamIgExists
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:159,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: 160
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: ParserTest::setCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::setCreateStreamStreamName
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamIgExists
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pTriggerScanPlan
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: ParserTest::setCreateStreamTriggerScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerScanPlan(SCMCreateStreamReq *expect, const
      char* pTriggerScanPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pStreamQueryCalcPlan
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: ParserTest::setCreateStreamQueryCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - 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:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pSubTblNameExpr
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 172
    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: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: ParserTest::resetCreateStreamSubTblNameExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamSubTblNameExpr(SCMCreateStreamReq *expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pTagValueExpr
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: ParserTest::setCreateStreamTagValueExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - 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: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    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: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    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: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    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: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    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: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    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: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    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: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    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: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    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: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    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: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    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
    - flags
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    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: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    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: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    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: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    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:255,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:256,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:257,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:258,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:259,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:260,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:261,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:262,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:263,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:264,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:265,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:266,1
    - Dst: ParserTest::setCreateStreamFlags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:267,1
    - Dst: ParserTest::setCreateStreamTsmaId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:268,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:269,1
    - Dst: ParserTest::setCreateStreamCalcTsSlotId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:270,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: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: ParserTest::setCreateStreamOption
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamFlags
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - ParserTest::setCreateStreamIgDisorder
    - ParserTest::setCreateStreamDeleteOutTbl
    - ParserTest::setCreateStreamCalcTsSlotId
    - ParserTest::setCreateStreamFillHistory
    - ParserTest::setCreateStreamTsmaId
    - ParserTest::setCreateStreamLowLatencyCalc
    - ParserTest::setCreateStreamWatermark
    - ParserTest::setCreateStreamExpiredTime
    - ParserTest::setCreateStreamFillHistoryFirst
    - ParserTest::setCreateStreamDeleteReCalc
    - ParserTest::setCreateStreamEventTypes
    - ParserTest::setCreateStreamFillHistoryStartTime
    - ParserTest::setCreateStreamMaxDelay
    - ParserTest::setCreateStreamCalcNotifyOnly
    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:276,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:283,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:284,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:286,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:286,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: 287
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: ParserTest::addCreateStreamOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - strcpy
    - taosArrayInit
    - taosArrayPush
    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:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 294
    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:298,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:305,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:306,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:308,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:308,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: 309
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: ParserTest::addCreateStreamOutTags
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - strcpy
    - taosArrayInit
    - taosArrayPush
    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:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 316
    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:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pCols
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    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:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pCols
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: ParserTest::setCreateStreamPartitionCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamPartitionCols(SCMCreateStreamReq *expect, const
      char* pCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: ParserTest::resetCreateStreamPartitionCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamPartitionCols(SCMCreateStreamReq *expect)
  - 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: 360
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 360
    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: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    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: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    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:373,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:374,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: 376
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 376
    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: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    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: 389
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 389
    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:393,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:394,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:396,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:397,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - expect
    - pUrl
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: ParserTest::addCreateStreamNotifyUrl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosStrdup
    - ASSERT_TRUE
    - taosArrayPush
    - 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: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    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:412,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:414,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:415,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:417,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:417,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: 418
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 418
    functionName: ParserTest::setCreateStreamForceOutputCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - taosArrayPush
    - taosStrdup
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void setCreateStreamForceOutputCols(SCMCreateStreamReq *expect, uint8_t
      type, uint8_t precision, uint8_t scale, int32_t bytes, const char* expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: ParserTest::resetCreateStreamQueryScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamQueryScanPlan(SCMCreateStreamReq *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:428,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:430,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:431,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:433,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - expect
    - readFromCache
    - pStreamQueryScanPlan
    argTypes:
    - SCMCreateStreamReq*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 434
    functionName: ParserTest::addCreateStreamQueryScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - taosArrayPush
    - taosStrdup
    - taosArrayInit
    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:439,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:446,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:447,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:449,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:455,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:456,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:458,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - node
    - fieldName
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 461
    functionName: ParserTest::delete_all_specified_fields
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - cJSON_IsObject
    - cJSON_GetArrayItem
    - cJSON_GetArraySize
    - cJSON_DeleteItemFromObject
    - ParserTest::delete_all_specified_fields
    - cJSON_IsArray
    - 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:464,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:465,1
    - Dst: printf
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:468,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:469,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:473,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:474,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:476,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:477,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:479,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:480,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:482,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:483,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:485,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:486,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:488,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:489,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:491,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:491,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:491,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:493,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:494,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:495,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 497
    functionName: ParserTest::checkCreateStreamTriggerScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - std::string
    - ASSERT_TRUE
    - printf
    - ParserTest::delete_all_specified_fields
    - cJSON_PrintUnformatted
    - ASSERT_EQ
    - free
    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:500,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:501,1
    - Dst: printf
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:504,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:505,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:509,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:510,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:512,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:513,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:515,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:516,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:518,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:519,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:521,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:521,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:521,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:523,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:524,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:525,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 527
    functionName: ParserTest::checkCreateStreamCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - std::string
    - ASSERT_TRUE
    - printf
    - ParserTest::delete_all_specified_fields
    - cJSON_PrintUnformatted
    - ASSERT_EQ
    - free
    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:532,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:533,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:533,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:533,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:534,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:534,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:534,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:535,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:535,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:535,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:536,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:536,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:536,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:537,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:537,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:537,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:538,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:538,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:539,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:539,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:539,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:541,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:542,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:543,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:544,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:544,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:544,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:548,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:549,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:550,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:551,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:552,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:553,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:554,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:555,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:556,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:560,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:562,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:563,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:563,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:563,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:564,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:565,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:566,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:567,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:567,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:567,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:571,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:572,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:573,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:576,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:578,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:578,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:578,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:582,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:584,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:585,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:585,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:585,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:588,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:588,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:588,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:589,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:591,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:592,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:593,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:594,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:595,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:596,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:597,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:597,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:597,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:601,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:602,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:603,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:604,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:605,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:606,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:607,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:608,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:609,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:609,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:609,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:612,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:613,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:614,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:615,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:619,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:620,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:621,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:622,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:623,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:624,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:625,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:626,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:627,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:631,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:636,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:637,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:641,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:641,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:641,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:642,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:642,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:642,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:643,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:647,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:648,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:652,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:653,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:654,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:655,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:656,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:660,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:663,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:664,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:665,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:666,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:667,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:668,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:669,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:670,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:671,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:672,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:673,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:674,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:677,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:678,1
    - Dst: ParserTest::checkCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:680,1
    - Dst: ParserTest::checkCreateStreamCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:681,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:683,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:683,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:683,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:684,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:686,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:687,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:688,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:688,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:688,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:692,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:694,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:695,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:695,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:695,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:699,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:701,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: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:706,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:708,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:710,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:711,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:712,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:713,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:714,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:715,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:716,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:718,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:718,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:718,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 160
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 529
    functionDepth: 3
    functionLinenumber: 529
    functionLinenumberEnd: 722
    functionName: ParserTest::checkCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - ParserTest::checkCreateStreamTriggerScanPlan
    - taosArrayGet
    - ParserTest::checkCreateStreamCalcPlan
    - taosArrayGetP
    - BIT_FLAG_TEST_MASK
    - ASSERT_TRUE
    - taosArrayGetSize
    - ASSERT_NE
    - ASSERT_EQ
    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:725,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:729,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:730,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:733,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:734,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:734,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:736,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:737,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:738,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:739,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:742,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:744,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:746,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:748,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:749,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:750,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:751,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:752,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:753,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:754,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:755,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:757,1
    - Dst: ParserTest::setCreateStreamStreamName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:760,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:761,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:762,1
    - Dst: ParserTest::setCreateStreamStreamName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:765,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:766,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:767,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:770,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:771,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:772,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:773,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:774,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:777,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:778,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:778,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:779,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:780,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:781,1
    - Dst: ParserTest::setCreateStreamOutName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:784,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:785,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:786,1
    - Dst: ParserTest::setCreateStreamOutName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:789,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:790,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:791,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:794,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:795,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:796,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:797,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:798,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:799,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:802,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:803,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:804,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:805,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:806,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 809
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamOutName
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::setCreateStreamStreamName
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::addCreateStreamQueryScanPlan
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:812,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:816,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:817,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:820,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:821,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:821,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:823,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:824,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:825,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:826,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:829,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:831,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:833,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:835,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:836,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:837,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:838,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:839,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:840,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:841,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:842,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:844,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:847,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:848,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:849,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:851,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:852,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:853,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:854,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:857,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:858,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:859,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:861,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:862,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:863,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:864,1
    - Dst: ParserTest::setCreateStreamIgDisorder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:867,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:868,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:869,1
    - Dst: ParserTest::setCreateStreamIgDisorder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:870,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:873,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:874,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:875,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:876,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:879,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:880,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:881,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:882,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:885,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:886,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:887,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:888,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:889,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:890,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:893,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:894,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:895,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:896,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:897,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:898,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:901,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:902,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:903,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:904,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:907,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:908,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:909,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:910,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:920,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:921,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:922,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:924,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:925,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:926,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:927,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:930,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:931,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:932,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:934,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:935,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:936,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:938,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:939,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:940,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 811
    functionDepth: 4
    functionLinenumber: 811
    functionLinenumberEnd: 943
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamLowLatencyCalc
    - tFreeSCMCreateStreamReq
    - ParserTest::setCreateStreamFillHistoryFirst
    - clearCreateStreamReq
    - ParserTest::setCreateStreamMaxDelay
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamExpiredTime
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::setCreateStreamDeleteOutTbl
    - setCheckDdlFunc
    - ParserTest::setCreateStreamFillHistory
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamFillHistoryStartTime
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamIgDisorder
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamWatermark
    - ParserTest::setCreateStreamDeleteReCalc
    - ParserTest::setCreateStreamEventTypes
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamCalcNotifyOnly
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestTriggerOption)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:946,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:950,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:951,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:954,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:955,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:955,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:957,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:958,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:959,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:960,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:963,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:964,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:965,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:966,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:967,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:968,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:969,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:970,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:971,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:972,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:973,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:975,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:978,1
    - Dst: ParserTest::setCreateStreamTriggerSession
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:979,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:980,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:981,1
    - Dst: ParserTest::setCreateStreamTriggerSession
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:983,1
    - Dst: ParserTest::setCreateStreamSql
      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::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:989,1
    - Dst: ParserTest::setCreateStreamTriggerState
      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: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:992,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:993,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:994,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:996,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:997,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:998,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:999,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1000,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1002,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1003,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1004,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1006,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1007,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1008,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1011,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1012,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1013,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1014,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1015,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1016,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1018,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1019,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1020,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1022,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1023,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1024,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1026,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1027,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1028,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1031,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1032,1
    - Dst: ParserTest::setCreateStreamTriggerEvent
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1033,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1037,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1038,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1039,1
    - Dst: ParserTest::setCreateStreamTriggerEvent
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1041,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1045,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1046,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1050,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1051,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1052,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1053,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1054,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1055,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1057,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      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::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1062,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1063,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1064,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1065,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1066,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1068,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1069,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1070,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1071,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1072,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1075,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1076,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1077,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      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::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1082,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1083,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1084,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 945
    functionDepth: 4
    functionLinenumber: 945
    functionLinenumberEnd: 1087
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerPeriod
    - ParserTest::setCreateStreamTriggerEvent
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::setCreateStreamTriggerState
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::resetCreateStreamTriggerCols
    - ParserTest::addCreateStreamQueryScanPlan
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamTriggerSession
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamTriggerCount
    - ParserTest::setCreateStreamOutTable
    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:1090,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1091,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1095,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1096,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1099,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1100,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1100,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1102,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1103,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1104,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1105,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1108,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1109,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1110,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1111,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1112,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1113,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1114,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1115,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1116,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1117,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1118,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1119,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1120,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1121,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1122,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1123,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1126,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1127,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1128,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1129,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1130,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1131,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1132,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1133,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1134,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1135,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1089
    functionDepth: 4
    functionLinenumber: 1089
    functionLinenumberEnd: 1138
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::addCreateStreamOutTags
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setAsyncFlag
    - ParserTest::setCreateStreamSubTblNameExpr
    - ParserTest::addCreateStreamQueryScanPlan
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamTagValueExpr
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestTriggerPartition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1141,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1145,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1146,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1149,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1150,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1150,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1152,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1153,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1154,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1155,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1158,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1159,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1160,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1161,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1162,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1163,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1164,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1165,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1166,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1167,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1168,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1170,1
    - Dst: ParserTest::addCreateStreamNotifyUrl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1173,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1174,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1175,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1176,1
    - Dst: ParserTest::addCreateStreamNotifyUrl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1178,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1179,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1180,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1181,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1184,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1185,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1186,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1188,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1189,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1190,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1192,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1193,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1194,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1200,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1201,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1202,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1140
    functionDepth: 4
    functionLinenumber: 1140
    functionLinenumberEnd: 1205
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamNotify
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::addCreateStreamNotifyUrl
    - ParserTest::addCreateStreamQueryScanPlan
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    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:1208,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1209,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1213,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1214,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1217,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1218,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1218,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1220,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1221,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1222,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1223,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1226,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1227,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1228,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1229,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1230,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1231,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1232,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1233,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1234,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1235,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1236,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1238,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1241,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1242,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1243,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1244,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1245,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1246,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1247,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1248,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1249,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1250,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1251,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1253,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1254,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1255,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1256,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1257,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1258,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1259,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1260,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1261,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1262,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1263,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1264,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1265,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1266,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1267,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1268,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1269,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1270,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1271,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1273,1
    - Dst: ParserTest::resetCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1274,1
    - Dst: ParserTest::resetCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1275,1
    - Dst: ParserTest::resetCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1276,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1277,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1278,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::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1283,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1284,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1285,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1286,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1287,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1288,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1289,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1290,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1291,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1292,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1295,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1296,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1297,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1298,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1299,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1300,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1301,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1304,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1305,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1306,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1307,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1308,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1309,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1310,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1311,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      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: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1207
    functionDepth: 4
    functionLinenumber: 1207
    functionLinenumberEnd: 1317
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::resetCreateStreamOutCols
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::resetCreateStreamPartitionCols
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ParserTest::resetCreateStreamSubTblNameExpr
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::addCreateStreamOutTags
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setAsyncFlag
    - ParserTest::setCreateStreamSubTblNameExpr
    - ParserTest::resetCreateStreamTagValueExpr
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamTagValueExpr
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    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:1320,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1321,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1325,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1326,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1329,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1330,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1330,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1332,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1333,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1334,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1335,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1338,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1339,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1340,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1341,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1342,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1343,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1344,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1345,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1346,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1347,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1348,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1349,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1350,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1351,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1352,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1353,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1357,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1358,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1359,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1360,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1361,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1362,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1363,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1364,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1367,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1368,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1369,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1370,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1371,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1372,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1373,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1376,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1377,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1378,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1379,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1380,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1381,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1382,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1385,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1386,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1387,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1388,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1389,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1390,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1391,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1392,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1395,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1396,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1397,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1398,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1399,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1400,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1401,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1404,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1405,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1406,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1407,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1408,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1409,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1410,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1411,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1414,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1415,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1416,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1417,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1418,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1419,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1420,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1421,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1424,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1425,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1426,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1427,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1428,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1429,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1430,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1431,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      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::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1438,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1439,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1440,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1441,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1442,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1443,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1444,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1445,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1446,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1447,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1450,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1451,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1452,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1453,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1454,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1455,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1456,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1457,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1458,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1459,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1460,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1463,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1464,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1465,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1466,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1467,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1468,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1469,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1470,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1474,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1475,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1476,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1477,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1478,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1479,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1480,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1481,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1482,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1483,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1484,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1485,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1486,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1487,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1488,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1489,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1493,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1494,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1495,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1496,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1497,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1498,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1499,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1500,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1501,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1502,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1503,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1504,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1506,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1507,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1508,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1509,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1510,1
    - Dst: ParserTest::addCreateStreamOutCols
      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::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1513,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1514,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1515,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1515,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1516,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1517,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1521,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1522,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1523,1
    - Dst: ParserTest::setCreateStreamCalcTsSlotId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1524,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1525,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1526,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1527,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1528,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1529,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1531,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1532,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1533,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1534,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1535,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 177
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1319
    functionDepth: 4
    functionLinenumber: 1319
    functionLinenumberEnd: 1539
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerPeriod
    - ParserTest::resetCreateStreamOutCols
    - ParserTest::setCreateStreamCalcTsSlotId
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::addCreateStreamOutTags
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::resetCreateStreamTriggerCols
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::setAsyncFlag
    - ParserTest::setCreateStreamSubTblNameExpr
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamTagValueExpr
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    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:1542,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1546,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1547,1
    - Dst: run
      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: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1552,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1555
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1558,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1561,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1566,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1569,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1572,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1573,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1574,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1579,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1582,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1585,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1586,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1587,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1588,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1593,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1594,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1597,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1598,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1601,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1602,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1603,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1604,1
    - Dst: run
      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: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1609,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1612,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1615,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1618,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1621,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1626,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1629,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1630,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1631,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1634,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1637,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1638,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1639,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1640,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1645,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1646,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1651,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1652,1
    - Dst: run
      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: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1655,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1658,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1661
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1664,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1671
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1674,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1677,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1681
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1684,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1687,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1688,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1689,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1690,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1691,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1694,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1697,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1698,1
    - Dst: run
      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: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1701,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1704,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1705,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1709,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1712,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1715,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1718
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1721,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1724,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1727,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1730,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1733,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1734,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1737,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1741
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1744,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1747,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1750,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1751,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1754,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1757,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1760,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1763,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1768,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1771,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1774,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1775,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1778,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1781,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1786,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1787,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1788,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1791,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1793,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1795,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1743
    functionDepth: 1
    functionLinenumber: 1743
    functionLinenumberEnd: 1799
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1802,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1805,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1808,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1811,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1814,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1815,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1818,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1819,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1822,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1823,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1826,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1827,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1830,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1833,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1836,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1839,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1842,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1845,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1848
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorQueryPlaceHolder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:59,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pStream
    - pStreamDb
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    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: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    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: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    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: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    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: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    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: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    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:85,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pTriggerDb
    - pTriggerTblName
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    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:91,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:92,1
    - Dst: ParserTest::setCreateStreamTriggerTblUid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:93,1
    - Dst: ParserTest::setCreateStreamTriggerTableType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:94,1
    - Dst: ParserTest::setCreateStreamTriggerTableSuid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:95,1
    - Dst: ParserTest::setCreateStreamTriggerTblVgid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:96,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: 97
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: ParserTest::setCreateStreamTriggerTable
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ParserTest::setCreateStreamTriggerName
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::setCreateStreamTriggerTableType
    - ParserTest::setCreateStreamTriggerTblVgid
    - ParserTest::setCreateStreamTriggerTableSuid
    - 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:101,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pOutDb
    - pOutTbleName
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    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: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    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: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    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: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    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: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    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:127,1
    - Dst: ParserTest::setCreateStreamOutTblType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:128,1
    - Dst: ParserTest::setCreateStreamOutStbExists
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:129,1
    - Dst: ParserTest::setCreateStreamOutStbUid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:130,1
    - Dst: ParserTest::setCreateStreamOutStbSversion
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:131,1
    - Dst: ParserTest::setCreateStreamOutTbleVgid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:132,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: 133
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: ParserTest::setCreateStreamOutTable
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ParserTest::setCreateStreamOutTblType
    - ParserTest::setCreateStreamOutStbExists
    - ParserTest::setCreateStreamOutStbSversion
    - ParserTest::setCreateStreamOutName
    - 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: taosArrayClearP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:138,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:139,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:141,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:142,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:143,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - expect
    - pCalcDb
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: ParserTest::setCreateStreamCalcDb
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosArrayClearP
    - taosMemoryFreeClear
    - ASSERT_TRUE
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamCalcDb(SCMCreateStreamReq *expect, const char*
      pCalcDb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pSql
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: ParserTest::setCreateStreamSql
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 8
    functionsReached:
    - 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: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    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:156,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:157,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:158,1
    - Dst: ParserTest::setCreateStreamIgExists
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:159,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: 160
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: ParserTest::setCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::setCreateStreamStreamName
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamIgExists
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pTriggerScanPlan
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: ParserTest::setCreateStreamTriggerScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerScanPlan(SCMCreateStreamReq *expect, const
      char* pTriggerScanPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pStreamQueryCalcPlan
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: ParserTest::setCreateStreamQueryCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - 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:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pSubTblNameExpr
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 172
    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: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: ParserTest::resetCreateStreamSubTblNameExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamSubTblNameExpr(SCMCreateStreamReq *expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pTagValueExpr
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: ParserTest::setCreateStreamTagValueExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - 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: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    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: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    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: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    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: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    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: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    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: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    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: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    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: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    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: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    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: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    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
    - flags
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    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: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    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: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: ParserTest::setCreateStreamPlaceHolderBitmap
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    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: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    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:255,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:256,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:257,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:258,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:259,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:260,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:261,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:262,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:263,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:264,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:265,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:266,1
    - Dst: ParserTest::setCreateStreamFlags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:267,1
    - Dst: ParserTest::setCreateStreamTsmaId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:268,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:269,1
    - Dst: ParserTest::setCreateStreamCalcTsSlotId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:270,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: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: ParserTest::setCreateStreamOption
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ParserTest::setCreateStreamFlags
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - ParserTest::setCreateStreamIgDisorder
    - ParserTest::setCreateStreamDeleteOutTbl
    - ParserTest::setCreateStreamCalcTsSlotId
    - ParserTest::setCreateStreamFillHistory
    - ParserTest::setCreateStreamTsmaId
    - ParserTest::setCreateStreamLowLatencyCalc
    - ParserTest::setCreateStreamWatermark
    - ParserTest::setCreateStreamExpiredTime
    - ParserTest::setCreateStreamFillHistoryFirst
    - ParserTest::setCreateStreamDeleteReCalc
    - ParserTest::setCreateStreamEventTypes
    - ParserTest::setCreateStreamFillHistoryStartTime
    - ParserTest::setCreateStreamMaxDelay
    - ParserTest::setCreateStreamCalcNotifyOnly
    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:276,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:283,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:284,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:286,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:286,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: 287
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: ParserTest::addCreateStreamOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ASSERT_TRUE
    - strcpy
    - taosArrayInit
    - taosArrayPush
    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:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: ParserTest::resetCreateStreamOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    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:298,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:305,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:306,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:308,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:308,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: 309
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: ParserTest::addCreateStreamOutTags
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - ASSERT_TRUE
    - strcpy
    - taosArrayInit
    - taosArrayPush
    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:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 316
    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:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pCols
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    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:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pCols
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: ParserTest::setCreateStreamPartitionCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamPartitionCols(SCMCreateStreamReq *expect, const
      char* pCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: ParserTest::resetCreateStreamPartitionCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamPartitionCols(SCMCreateStreamReq *expect)
  - 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: 360
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 360
    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: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    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: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    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:373,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:374,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: 376
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 376
    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: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    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: 389
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 389
    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:393,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:394,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:396,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:397,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - expect
    - pUrl
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: ParserTest::addCreateStreamNotifyUrl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - taosStrdup
    - ASSERT_TRUE
    - taosArrayPush
    - 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: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    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:412,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:414,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:415,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:417,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:417,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: 418
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 418
    functionName: ParserTest::setCreateStreamForceOutputCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - taosArrayPush
    - taosStrdup
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void setCreateStreamForceOutputCols(SCMCreateStreamReq *expect, uint8_t
      type, uint8_t precision, uint8_t scale, int32_t bytes, const char* expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: ParserTest::resetCreateStreamQueryScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamQueryScanPlan(SCMCreateStreamReq *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:428,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:430,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:431,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:433,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - expect
    - readFromCache
    - pStreamQueryScanPlan
    argTypes:
    - SCMCreateStreamReq*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 434
    functionName: ParserTest::addCreateStreamQueryScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ASSERT_TRUE
    - taosArrayPush
    - taosStrdup
    - taosArrayInit
    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:439,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:446,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:447,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:449,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:455,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:456,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:458,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - node
    - fieldName
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 461
    functionName: ParserTest::delete_all_specified_fields
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 4
    functionsReached:
    - cJSON_IsObject
    - cJSON_GetArrayItem
    - cJSON_GetArraySize
    - cJSON_DeleteItemFromObject
    - ParserTest::delete_all_specified_fields
    - cJSON_IsArray
    - 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:464,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:465,1
    - Dst: printf
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:468,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:469,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:473,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:474,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:476,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:477,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:479,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:480,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:482,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:483,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:485,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:486,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:488,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:489,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:491,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:491,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:491,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:493,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:494,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:495,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 497
    functionName: ParserTest::checkCreateStreamTriggerScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - std::string
    - ASSERT_TRUE
    - printf
    - ParserTest::delete_all_specified_fields
    - cJSON_PrintUnformatted
    - ASSERT_EQ
    - free
    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:500,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:501,1
    - Dst: printf
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:504,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:505,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:509,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:510,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:512,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:513,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:515,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:516,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:518,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:519,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:521,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:521,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:521,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:523,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:524,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:525,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 527
    functionName: ParserTest::checkCreateStreamCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - std::string
    - ASSERT_TRUE
    - printf
    - ParserTest::delete_all_specified_fields
    - cJSON_PrintUnformatted
    - ASSERT_EQ
    - free
    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:532,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:533,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:533,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:533,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:534,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:534,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:534,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:535,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:535,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:535,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:536,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:536,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:536,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:537,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:537,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:537,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:538,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:538,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:539,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:539,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:539,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:541,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:542,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:543,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:544,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:544,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:544,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:548,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:549,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:550,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:551,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:552,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:553,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:554,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:555,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:556,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:560,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:562,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:563,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:563,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:563,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:564,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:565,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:566,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:567,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:567,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:567,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:571,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:572,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:573,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:576,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:578,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:578,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:578,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:582,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:584,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:585,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:585,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:585,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:588,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:588,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:588,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:589,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:591,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:592,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:593,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:594,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:595,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:596,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:597,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:597,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:597,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:601,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:602,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:603,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:604,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:605,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:606,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:607,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:608,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:609,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:609,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:609,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:612,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:613,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:614,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:615,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:619,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:620,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:621,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:622,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:623,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:624,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:625,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:626,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:627,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:631,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:636,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:637,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:641,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:641,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:641,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:642,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:642,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:642,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:643,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:647,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:648,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:652,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:653,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:654,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:655,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:656,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:660,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:663,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:664,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:665,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:666,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:667,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:668,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:669,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:670,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:671,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:672,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:673,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:674,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:677,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:678,1
    - Dst: ParserTest::checkCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:680,1
    - Dst: ParserTest::checkCreateStreamCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:681,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:683,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:683,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:683,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:684,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:686,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:687,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:688,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:688,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:688,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:692,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:694,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:695,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:695,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:695,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:699,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:701,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: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:706,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:708,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:710,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:711,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:712,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:713,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:714,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:715,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:716,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:718,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:718,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:718,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 160
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 529
    functionDepth: 3
    functionLinenumber: 529
    functionLinenumberEnd: 722
    functionName: ParserTest::checkCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - std::string
    - ParserTest::checkCreateStreamTriggerScanPlan
    - taosArrayGet
    - ParserTest::checkCreateStreamCalcPlan
    - taosArrayGetP
    - BIT_FLAG_TEST_MASK
    - ASSERT_TRUE
    - taosArrayGetSize
    - ASSERT_NE
    - ASSERT_EQ
    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:725,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:729,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:730,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:733,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:734,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:734,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:736,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:737,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:738,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:739,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:742,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:744,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:746,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:748,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:749,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:750,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:751,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:752,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:753,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:754,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:755,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:757,1
    - Dst: ParserTest::setCreateStreamStreamName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:760,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:761,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:762,1
    - Dst: ParserTest::setCreateStreamStreamName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:765,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:766,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:767,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:770,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:771,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:772,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:773,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:774,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:777,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:778,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:778,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:779,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:780,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:781,1
    - Dst: ParserTest::setCreateStreamOutName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:784,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:785,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:786,1
    - Dst: ParserTest::setCreateStreamOutName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:789,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:790,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:791,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:794,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:795,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:796,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:797,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:798,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:799,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:802,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:803,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:804,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:805,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:806,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 809
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamOutName
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::setCreateStreamStreamName
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::addCreateStreamQueryScanPlan
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:812,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:816,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:817,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:820,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:821,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:821,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:823,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:824,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:825,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:826,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:829,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:831,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:833,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:835,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:836,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:837,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:838,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:839,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:840,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:841,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:842,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:844,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:847,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:848,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:849,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:851,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:852,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:853,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:854,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:857,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:858,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:859,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:861,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:862,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:863,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:864,1
    - Dst: ParserTest::setCreateStreamIgDisorder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:867,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:868,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:869,1
    - Dst: ParserTest::setCreateStreamIgDisorder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:870,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:873,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:874,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:875,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:876,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:879,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:880,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:881,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:882,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:885,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:886,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:887,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:888,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:889,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:890,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:893,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:894,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:895,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:896,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:897,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:898,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:901,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:902,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:903,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:904,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:907,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:908,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:909,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:910,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:920,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:921,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:922,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:924,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:925,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:926,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:927,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:930,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:931,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:932,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:934,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:935,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:936,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:938,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:939,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:940,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 811
    functionDepth: 4
    functionLinenumber: 811
    functionLinenumberEnd: 943
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamLowLatencyCalc
    - tFreeSCMCreateStreamReq
    - ParserTest::setCreateStreamFillHistoryFirst
    - clearCreateStreamReq
    - ParserTest::setCreateStreamMaxDelay
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamExpiredTime
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::setCreateStreamDeleteOutTbl
    - setCheckDdlFunc
    - ParserTest::setCreateStreamFillHistory
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamFillHistoryStartTime
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamIgDisorder
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamWatermark
    - ParserTest::setCreateStreamDeleteReCalc
    - ParserTest::setCreateStreamEventTypes
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamCalcNotifyOnly
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestTriggerOption)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:946,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:950,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:951,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:954,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:955,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:955,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:957,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:958,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:959,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:960,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:963,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:964,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:965,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:966,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:967,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:968,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:969,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:970,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:971,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:972,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:973,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:975,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:978,1
    - Dst: ParserTest::setCreateStreamTriggerSession
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:979,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:980,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:981,1
    - Dst: ParserTest::setCreateStreamTriggerSession
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:983,1
    - Dst: ParserTest::setCreateStreamSql
      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::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:989,1
    - Dst: ParserTest::setCreateStreamTriggerState
      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: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:992,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:993,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:994,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:996,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:997,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:998,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:999,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1000,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1002,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1003,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1004,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1006,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1007,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1008,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1011,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1012,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1013,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1014,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1015,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1016,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1018,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1019,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1020,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1022,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1023,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1024,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1026,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1027,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1028,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1031,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1032,1
    - Dst: ParserTest::setCreateStreamTriggerEvent
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1033,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1037,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1038,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1039,1
    - Dst: ParserTest::setCreateStreamTriggerEvent
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1041,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1045,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1046,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1050,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1051,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1052,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1053,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1054,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1055,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1057,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      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::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1062,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1063,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1064,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1065,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1066,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1068,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1069,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1070,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1071,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1072,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1075,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1076,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1077,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      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::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1082,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1083,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1084,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 945
    functionDepth: 4
    functionLinenumber: 945
    functionLinenumberEnd: 1087
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerPeriod
    - ParserTest::setCreateStreamTriggerEvent
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::setCreateStreamTriggerState
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::resetCreateStreamTriggerCols
    - ParserTest::addCreateStreamQueryScanPlan
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamTriggerSession
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamTriggerCount
    - ParserTest::setCreateStreamOutTable
    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:1090,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1091,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1095,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1096,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1099,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1100,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1100,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1102,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1103,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1104,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1105,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1108,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1109,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1110,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1111,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1112,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1113,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1114,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1115,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1116,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1117,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1118,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1119,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1120,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1121,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1122,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1123,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1126,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1127,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1128,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1129,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1130,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1131,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1132,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1133,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1134,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1135,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1089
    functionDepth: 4
    functionLinenumber: 1089
    functionLinenumberEnd: 1138
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::addCreateStreamOutTags
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setAsyncFlag
    - ParserTest::setCreateStreamSubTblNameExpr
    - ParserTest::addCreateStreamQueryScanPlan
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamTagValueExpr
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestTriggerPartition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1141,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1145,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1146,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1149,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1150,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1150,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1152,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1153,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1154,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1155,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1158,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1159,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1160,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1161,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1162,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1163,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1164,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1165,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1166,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1167,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1168,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1170,1
    - Dst: ParserTest::addCreateStreamNotifyUrl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1173,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1174,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1175,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1176,1
    - Dst: ParserTest::addCreateStreamNotifyUrl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1178,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1179,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1180,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1181,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1184,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1185,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1186,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1188,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1189,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1190,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1192,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1193,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1194,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1200,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1201,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1202,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1140
    functionDepth: 4
    functionLinenumber: 1140
    functionLinenumberEnd: 1205
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamNotify
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::addCreateStreamNotifyUrl
    - ParserTest::addCreateStreamQueryScanPlan
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    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:1208,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1209,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1213,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1214,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1217,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1218,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1218,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1220,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1221,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1222,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1223,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1226,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1227,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1228,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1229,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1230,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1231,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1232,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1233,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1234,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1235,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1236,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1238,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1241,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1242,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1243,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1244,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1245,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1246,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1247,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1248,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1249,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1250,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1251,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1253,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1254,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1255,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1256,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1257,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1258,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1259,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1260,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1261,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1262,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1263,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1264,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1265,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1266,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1267,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1268,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1269,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1270,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1271,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1273,1
    - Dst: ParserTest::resetCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1274,1
    - Dst: ParserTest::resetCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1275,1
    - Dst: ParserTest::resetCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1276,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1277,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1278,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::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1283,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1284,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1285,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1286,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1287,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1288,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1289,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1290,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1291,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1292,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1295,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1296,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1297,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1298,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1299,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1300,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1301,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1304,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1305,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1306,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1307,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1308,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1309,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1310,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1311,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      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: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1207
    functionDepth: 4
    functionLinenumber: 1207
    functionLinenumberEnd: 1317
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::resetCreateStreamOutCols
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::resetCreateStreamPartitionCols
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ParserTest::resetCreateStreamSubTblNameExpr
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::addCreateStreamOutTags
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setAsyncFlag
    - ParserTest::setCreateStreamSubTblNameExpr
    - ParserTest::resetCreateStreamTagValueExpr
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamTagValueExpr
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    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:1320,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1321,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1325,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1326,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1329,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1330,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1330,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1332,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1333,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1334,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1335,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1338,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1339,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1340,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1341,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1342,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1343,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1344,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1345,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1346,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1347,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1348,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1349,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1350,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1351,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1352,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1353,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1357,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1358,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1359,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1360,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1361,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1362,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1363,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1364,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1367,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1368,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1369,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1370,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1371,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1372,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1373,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1376,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1377,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1378,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1379,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1380,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1381,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1382,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1385,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1386,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1387,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1388,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1389,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1390,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1391,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1392,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1395,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1396,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1397,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1398,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1399,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1400,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1401,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1404,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1405,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1406,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1407,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1408,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1409,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1410,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1411,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1414,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1415,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1416,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1417,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1418,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1419,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1420,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1421,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1424,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1425,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1426,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1427,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1428,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1429,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1430,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1431,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      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::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1438,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1439,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1440,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1441,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1442,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1443,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1444,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1445,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1446,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1447,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1450,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1451,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1452,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1453,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1454,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1455,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1456,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1457,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1458,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1459,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1460,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1463,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1464,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1465,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1466,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1467,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1468,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1469,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1470,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1474,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1475,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1476,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1477,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1478,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1479,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1480,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1481,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1482,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1483,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1484,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1485,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1486,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1487,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1488,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1489,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1493,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1494,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1495,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1496,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1497,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1498,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1499,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1500,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1501,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1502,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1503,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1504,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1506,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1507,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1508,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1509,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1510,1
    - Dst: ParserTest::addCreateStreamOutCols
      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::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1513,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1514,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1515,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1515,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1516,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1517,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1521,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1522,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1523,1
    - Dst: ParserTest::setCreateStreamCalcTsSlotId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1524,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1525,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1526,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1527,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1528,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1529,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1531,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1532,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1533,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1534,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1535,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 177
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1319
    functionDepth: 4
    functionLinenumber: 1319
    functionLinenumberEnd: 1539
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerPeriod
    - ParserTest::resetCreateStreamOutCols
    - ParserTest::setCreateStreamCalcTsSlotId
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - clearCreateStreamReq
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamTriggerSliding
    - useDb
    - run
    - ParserTest::setCreateStreamOption
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamSql
    - ASSERT_TRUE
    - ParserTest::setCreateStreamReq
    - ASSERT_EQ
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::addCreateStreamOutTags
    - setCheckDdlFunc
    - memset
    - ParserTest::setCreateStreamTriggerScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::resetCreateStreamTriggerCols
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::setAsyncFlag
    - ParserTest::setCreateStreamSubTblNameExpr
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - nodeType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamTagValueExpr
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    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:1542,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1546,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1547,1
    - Dst: run
      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: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1552,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1555
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1558,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1561,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1566,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1569,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1572,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1573,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1574,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1579,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1582,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1585,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1586,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1587,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1588,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1593,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1594,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1597,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1598,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1601,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1602,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1603,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1604,1
    - Dst: run
      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: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1609,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1612,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1615,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1618,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1621,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1626,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1629,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1630,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1631,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1634,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1637,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1638,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1639,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1640,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1645,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1646,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1651,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1652,1
    - Dst: run
      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: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1655,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1658,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1661
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1664,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1671
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1674,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1677,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1681
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1684,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1687,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1688,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1689,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1690,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1691,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1694,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1697,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1698,1
    - Dst: run
      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: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1701,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1704,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1705,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1709,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1712,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1715,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1718
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1721,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1724,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1727,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1730,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1733,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1734,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1737,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1741
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1744,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1747,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1750,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1751,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1754,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1757,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1760,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1763,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1768,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1771,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1774,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1775,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1778,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1781,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1786,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1787,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1788,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1791,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1793,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1795,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1743
    functionDepth: 1
    functionLinenumber: 1743
    functionLinenumberEnd: 1799
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    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:1802,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1805,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1808,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1811,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1814,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1815,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1818,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1819,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1822,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1823,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1826,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1827,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1830,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1833,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1836,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1839,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1842,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1845,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1848
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorQueryPlaceHolder)
  - 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: 343
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CODE(expr)
  - 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:476,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: isWindowJoinStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - IS_WINDOW_JOIN
    - nodeType
    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: 482
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 482
    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: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    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: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    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: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    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:491,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:494,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:495,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:496,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pTables
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 502
    functionName: hasSameTableAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    - taosArrayGetP
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool hasSameTableAlias(SArray* pTables)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:506,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:508,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:509,1
    - Dst: hasSameTableAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:512,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:513,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:518,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:523,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:524,1
    - Dst: hasSameTableAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:527,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:528,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:529,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:533,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:535,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - STranslateContext*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 542
    functionName: addNamespace
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGetP
    - taosArrayGetSize
    - generateSyntaxErrMsgExt
    - hasSameTableAlias
    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:546,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:547,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFullDbName
    - pDbs
    argTypes:
    - char*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 548
    functionName: collectUseDatabaseImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strlen
    - 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:552,1
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pName
    - pDbs
    argTypes:
    - SName*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: collectUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameGetFullDbName
    - collectUseDatabaseImpl
    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:558,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:562,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pName
    - pTable
    argTypes:
    - SName*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 563
    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:575,1
    - Dst: catalogGetViewMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:581,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:585,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pParCxt
    - pMetaCache
    - pName
    - pMeta
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 589
    functionName: getViewMetaImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getViewMetaFromCache
    - catalogGetViewMeta
    - parserError
    - 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:596,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:601,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pParCxt
    - pMetaCache
    - pName
    - pTbName
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SName*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 605
    functionName: getTargetNameImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - parserError
    - getTableNameFromCache
    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:609,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:611,1
    - Dst: getTargetNameImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:614,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:617,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pTbName
    argTypes:
    - STranslateContext*
    - SName*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 621
    functionName: getTargetName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - tstrerror
    - collectUseDatabase
    - getTargetNameImpl
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTargetName(STranslateContext* pCxt, const SName* pName,
      char* pTbName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:627,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:628,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:635,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:635,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:641,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:643,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:647,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:650,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:653,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:654,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:656,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:659,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:664,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:665,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:669,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:672,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:674,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:678,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:678,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:679,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 684
    functionName: rewriteDropTableWithMetaCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - hasRefCol
    - strlen
    - tstrncpy
    - tNameExtractFullName
    - taosHashGetKey
    - toName
    - withExtSchema
    - taosHashCancelIterate
    - taosHashIterate
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashGetSize
    - strstr
    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:691,1
    - Dst: getViewMetaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:695,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:706,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:710,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:711,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: 714
      start: 686
    functionDepth: 11
    functionLinenumber: 686
    functionLinenumberEnd: 714
    functionName: getTargetMetaImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - getViewMetaFromCache
    - getTableMetaFromCache
    - catalogGetTableMeta
    - parserError
    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:718,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:720,1
    - Dst: getTargetMetaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:723,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:726,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pName
    - pMeta
    - couldBeView
    argTypes:
    - STranslateContext*
    - SName*
    - STableMeta**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 716
    functionDepth: 12
    functionLinenumber: 716
    functionLinenumberEnd: 730
    functionName: getTargetMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - tstrerror
    - collectUseDatabase
    - parserError
    - 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:734,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pMeta
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 732
    functionDepth: 13
    functionLinenumber: 732
    functionLinenumberEnd: 736
    functionName: getTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 3
    functionsReached:
    - toName
    - getTargetMeta
    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:740,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:742,1
    - Dst: getTableCfgFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:746,1
    - Dst: catalogRefreshGetTableCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:752,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:756,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pCfg
    argTypes:
    - STranslateContext*
    - SName*
    - STableCfg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 738
    functionDepth: 13
    functionLinenumber: 738
    functionLinenumberEnd: 760
    functionName: getTableCfg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - tstrerror
    - catalogRefreshGetTableCfg
    - parserError
    - getTableCfgFromCache
    - collectUseDatabase
    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:766,1
    - Dst: getTableMetaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:769,1
    - Dst: catalogRefreshGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:776,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:779,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pMeta
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 762
    functionDepth: 11
    functionLinenumber: 762
    functionLinenumberEnd: 783
    functionName: refreshGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - toName
    - getTableMetaFromCache
    - catalogRefreshGetTableMeta
    - parserError
    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:788,1
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:789,1
    - Dst: getDbVgInfoFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:792,1
    - Dst: catalogGetDBVgList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:798,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:802,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pVgInfo
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 785
    functionDepth: 9
    functionLinenumber: 785
    functionLinenumberEnd: 806
    functionName: getDBVgInfoImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - getDbVgInfoFromCache
    - catalogGetDBVgList
    - tNameGetFullDbName
    - parserError
    - collectUseDatabaseImpl
    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:810,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:810,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:813,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pVgInfo
    argTypes:
    - STranslateContext*
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 808
    functionDepth: 10
    functionLinenumber: 808
    functionLinenumberEnd: 815
    functionName: getDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameGetFullDbName
    - strlen
    - getDBVgInfoImpl
    - tNameSetDbName
    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:819,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:821,1
    - Dst: getDbTableVgroupFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:826,1
    - Dst: getTableVgroupFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:828,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:835,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:839,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pInfo
    argTypes:
    - STranslateContext*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 817
    functionDepth: 10
    functionLinenumber: 817
    functionLinenumberEnd: 843
    functionName: getTableHashVgroupImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - tstrerror
    - getTableVgroupFromCache
    - parserError
    - getDbTableVgroupFromCache
    - catalogGetTableHashVgroup
    - collectUseDatabase
    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:848,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pInfo
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 845
    functionDepth: 11
    functionLinenumber: 845
    functionLinenumberEnd: 850
    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:855,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:855,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: 858
      start: 852
    functionDepth: 12
    functionLinenumber: 852
    functionLinenumberEnd: 858
    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:863,1
    - Dst: getDbVgVersionFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:866,1
    - Dst: catalogGetDBVgVersion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:868,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:872,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:873,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: 876
      start: 860
    functionDepth: 6
    functionLinenumber: 860
    functionLinenumberEnd: 876
    functionName: getDBVgVersion
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - catalogGetDBVgVersion
    - getDbVgVersionFromCache
    - parserError
    - collectUseDatabaseImpl
    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:879,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:885,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:885,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:888,1
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:889,1
    - Dst: getDbCfgFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:892,1
    - Dst: catalogGetDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:899,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:903,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pInfo
    argTypes:
    - STranslateContext*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 878
    functionDepth: 9
    functionLinenumber: 878
    functionLinenumberEnd: 907
    functionName: getDBCfg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - strlen
    - tstrerror
    - catalogGetDBCfg
    - tNameSetDbName
    - tNameGetFullDbName
    - getDbCfgFromCache
    - parserError
    - collectUseDatabaseImpl
    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:914,1
    - Dst: catalogGetUdfInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:921,1
    - Dst: tFreeSFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:929,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:932,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 909
    functionDepth: 8
    functionLinenumber: 909
    functionLinenumberEnd: 936
    functionName: getUdfInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - catalogGetUdfInfo
    - getUdfInfoFromCache
    - parserError
    - 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:941,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:943,1
    - Dst: getTableIndexFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:947,1
    - Dst: catalogGetTableIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:954,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:958,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pIndexes
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 939
    functionDepth: 9
    functionLinenumber: 939
    functionLinenumberEnd: 962
    functionName: getTableIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableIndexFromCache
    - collectUseTable
    - tstrerror
    - parserError
    - catalogGetTableIndex
    - collectUseDatabase
    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:969,1
    - Dst: catalogGetDnodeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:975,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:978,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDnodes
    argTypes:
    - STranslateContext*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 965
    functionDepth: 8
    functionLinenumber: 965
    functionLinenumberEnd: 981
    functionName: getDnodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - catalogGetDnodeList
    - parserError
    - tstrerror
    - getDnodeListFromCache
    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:987,1
    - Dst: catalogGetTableTsmas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:993,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:996,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pName
    - ppTsmas
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 983
    functionDepth: 9
    functionLinenumber: 983
    functionLinenumberEnd: 999
    functionName: getTableTsmas
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - tstrerror
    - getTableTsmasFromCache
    - catalogGetTableTsmas
    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:1005,1
    - Dst: catalogGetTsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1011,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1014,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pTsma
    argTypes:
    - STranslateContext*
    - SName*
    - STableTSMAInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1001
    functionDepth: 9
    functionLinenumber: 1001
    functionLinenumberEnd: 1017
    functionName: getTsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTsmaFromCache
    - parserError
    - tstrerror
    - catalogGetTsma
    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: 1028
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1028
    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:1035,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1040,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1040,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1041,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1041,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1042,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1042,1
    - Dst: initStreamInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1043,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pParseCxt
    - pMetaCache
    - pCxt
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1048
    functionName: initTranslateContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - initStreamInfo
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t initTranslateContext(SParseContext* pParseCxt, SParseMetaCache*
      pMetaCache, STranslateContext* pCxt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1052,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1059,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1059,1
    - Dst: taosArrayPopTailBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1061,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1070
    functionName: resetHighLevelTranslateNamespace
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGetP
    - taosArrayGetSize
    - taosArrayPopTailBatch
    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:1074,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1076,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1076,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1078,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1085
    functionName: resetTranslateNamespace
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayGetP
    - 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:1089,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1091,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1091,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1093,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1097,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1098,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1101,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1102,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1104
    functionName: destroyTranslateContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayGetP
    - taosArrayGetSize
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void destroyTranslateContext(STranslateContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1108
    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:1111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1112
    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:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1116
    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:1119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1120
    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:1123,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1122
    functionDepth: 2
    functionLinenumber: 1122
    functionLinenumberEnd: 1130
    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:1133,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1136,1
    - Dst: isDeleteStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1139,1
    - Dst: isCreateTSMAStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCurrStmt
    - defaultVal
    argTypes:
    - SNode*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1132
    functionDepth: 2
    functionLinenumber: 1132
    functionLinenumberEnd: 1146
    functionName: getPrecisionFromCurrStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - isSetOperator
    - isCreateTSMAStmt
    - isDeleteStmt
    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:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    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:1153,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1154
    functionName: isAggFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsAggFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isAggFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1158,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1159
    functionName: isSelectFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsSelectFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isSelectFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1163,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1164
    functionName: isWindowPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsWindowPseudoColumnFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isWindowPseudoColumnFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1167,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1168
    functionName: isInterpFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - fmIsInterpFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isInterpFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1171,1
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    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:1175,1
    - Dst: fmIsForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: isForecastFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsForecastFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isForecastFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1179,1
    - Dst: fmIsAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1180
    functionName: isForecastPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsAnalysisPseudoColumnFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isForecastPseudoColumnFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1183,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1184
    functionName: isColsFunctionResult
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isRelatedToOtherExpr
    - nodesIsExprNode
    linkageType: ''
    returnType: bool
    signature: bool isColsFunctionResult(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1187,1
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1187,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1189
    functionName: isInvalidColsBindFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsIndefiniteRowsFunc
    - fmIsSelectFunc
    - fmIsMultiRowsFunc
    linkageType: ''
    returnType: bool
    signature: bool isInvalidColsBindFunction(const SFunctionNode* pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1193,1
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1194
    functionName: isTimelineFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsTimelineFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isTimelineFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1198,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1199
    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:1202,1
    - Dst: fmIsPrimaryKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1203
    functionName: isPkFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsPrimaryKeyFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isPkFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1206,1
    - Dst: fmIsScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1207
    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:1210,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1211
    functionName: isIndefiniteRowsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsIndefiniteRowsFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isIndefiniteRowsFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1214,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1215
    functionName: isVectorFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsVectorFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isVectorFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1218,1
    - Dst: fmIsSelectColsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: isColsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsSelectColsFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isColsFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1221
    functionDepth: 2
    functionLinenumber: 1221
    functionLinenumberEnd: 1224
    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:1229,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCol
    - pTable
    argTypes:
    - SColumnNode*
    - STableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1235
    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:1238,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1244
    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:1247,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1256
    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:1259,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1268
    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:1271,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1278
    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:1281,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1288
    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:1292,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1295,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1303
    functionName: isBlockTimeLineAlignedQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMatch
    - nodeType
    - isBlockTimeLineQuery
    linkageType: ''
    returnType: bool
    signature: bool isBlockTimeLineAlignedQuery(SNode* pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1313,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1315,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1321,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1324,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1326,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pOrderList
    - nodesNum
    - ppOut
    argTypes:
    - SNodeList*
    - int32_t
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1305
    functionDepth: 6
    functionLinenumber: 1305
    functionLinenumberEnd: 1334
    functionName: buildPartitionListFromOrderList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesListGetNode
    - nodesCloneNode
    - 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:1339,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1343,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1346,1
    - Dst: buildPartitionListFromOrderList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1352,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1354,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1355,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1366,1
    - Dst: buildPartitionListFromOrderList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1370,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1372,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1373,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - pStmt
    - pRes
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1336
    functionDepth: 7
    functionLinenumber: 1336
    functionLinenumberEnd: 1385
    functionName: isTimeLineAlignedQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMatch
    - nodeType
    - nodesDestroyList
    - isTimeLineQuery
    - buildPartitionListFromOrderList
    linkageType: ''
    returnType: int32_t
    signature: int32_t isTimeLineAlignedQuery(SNode* pStmt, bool* pRes)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1388,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1390,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1395,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1395,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1401,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1406,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1409,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1415
    functionName: isPrimaryKeyImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 4
    functionsReached:
    - nodesListGetNode
    - isPrimaryKeyImpl
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isPrimaryKeyImpl(SNode* pExpr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1418,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTable
    - pExpr
    argTypes:
    - STempTableNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1422
    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:1427,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1432
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1436,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1437,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1438,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1439,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1441,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1444,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1462,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1463,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - pTable
    - pColSchema
    - tagFlag
    - pCol
    argTypes:
    - SVirtualTableNode*
    - SSchema*
    - int32_t
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1434
    functionDepth: 1
    functionLinenumber: 1434
    functionLinenumberEnd: 1467
    functionName: setVtbColumnInfoBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcpy
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: "void setVtbColumnInfoBySchema(const SVirtualTableNode* pTable, const
      SSchema* pColSchema, int32_t tagFlag,\n                                     SColumnNode*
      pCol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1471,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1472,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1473,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1474,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1476,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1479,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1485,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1491,1
    - Dst: fillTypeFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1495,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: 1496
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1496
    functionName: setColumnInfoBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - hasPkInTable
    - tstrncpy
    - fillTypeFromTypeMod
    - IS_IDX_ON
    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:1502,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1508,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1512,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1513,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1515,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1520,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1522,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1525,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - pTable
    - pExpr
    - pColRef
    - joinSrc
    argTypes:
    - STempTableNode*
    - SExprNode*
    - SColumnNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1530
    functionName: setColumnInfoByExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrncpy
    - taosArrayInit
    - nodeType
    - isPrimaryKeyImpl
    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:1539,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1540,1
    - Dst: IS_SEMI_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1556,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1557,1
    - Dst: IS_SEMI_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1562,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1563,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pTable
    argTypes:
    - STranslateContext*
    - SColumnNode*
    - STableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1571
    functionName: setColumnPrimTs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_SEMI_JOIN
    - nodeType
    - 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: 1575
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1575
    functionName: inStreamTriggerClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    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: 1579
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1579
    functionName: inStreamCalcClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    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: 1583
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1583
    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: 1587
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1587
    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: 1591
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1591
    functionName: getStreamTriggerTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SNode
    signature: SNode * getStreamTriggerTable(STranslateContext* pCxt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1596,1
    - Dst: inStreamTriggerClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1600,1
    - Dst: invisibleColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1604,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1609,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1611,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1615,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1617,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1618,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1620,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1622,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1626,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1628,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1630,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1632,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1632,1
    - Dst: setColumnInfoByExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1633,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1642,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1648,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1650,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1652,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1654,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1655,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 5
    argNames:
    - pCxt
    - pTable
    - igTags
    - pList
    - skipProjRef
    argTypes:
    - STranslateContext*
    - STableNode*
    - bool
    - SNodeList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1593
    functionDepth: 5
    functionLinenumber: 1593
    functionLinenumberEnd: 1659
    functionName: createColumnsByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setColumnPrimTs
    - nodesListStrictAppend
    - setColumnInfoBySchema
    - nodeType
    - nodesListGetCell
    - setVtbColumnInfoBySchema
    - inStreamTriggerClause
    - getProjectList
    - generateSyntaxErrMsg
    - invisibleColumn
    - setColumnInfoByExpr
    - nodesMakeNode
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createColumnsByTable(STranslateContext* pCxt, const STableNode*
      pTable, bool igTags, SNodeList* pList,\n                                    bool
      skipProjRef)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1626,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1628,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1630,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1632,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1632,1
    - Dst: setColumnInfoByExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1624
    functionDepth: 5
    functionLinenumber: 1624
    functionLinenumberEnd: 1641
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 154
    functionsReached:
    - nodesListStrictAppend
    - nodesListGetCell
    - generateSyntaxErrMsg
    - setColumnInfoByExpr
    - nodesMakeNode
    - LIST_LENGTH
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pProjectList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1663,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCol
    argTypes:
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1664
    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:1667,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1670,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1675,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1677,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCol
    - pFuncNode
    argTypes:
    - SColumnNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1666
    functionDepth: 5
    functionLinenumber: 1666
    functionLinenumberEnd: 1682
    functionName: createTbnameFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - tstrncpy
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTbnameFunctionNode(SColumnNode* pCol, SFunctionNode**
      pFuncNode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1690,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1692,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1695,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1701,1
    - Dst: createTbnameFunctionNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1703,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1706,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1715,1
    - Dst: invisibleColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1716,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1719,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1721,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1728,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1728,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1729,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1729,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1730,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1730,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 4
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1684
    functionDepth: 6
    functionLinenumber: 1684
    functionLinenumberEnd: 1738
    functionName: findAndSetRealTableColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setColumnPrimTs
    - strlen
    - setColumnInfoBySchema
    - createTbnameFunctionNode
    - generateSyntaxErrMsg
    - isInternalPrimaryKey
    - invisibleColumn
    - nodesDestroyNode
    - strncmp
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t findAndSetRealTableColumn(STranslateContext* pCxt, SColumnNode**
      pColRef, STableNode* pTable, bool* pFound)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1745,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1750,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1752,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1756,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1756,1
    - Dst: setColumnInfoByExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 1769
    functionName: findAndSetTempTableColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isPrimaryKeyImpl
    - getProjectList
    - generateSyntaxErrMsg
    - isInternalPrimaryKey
    - setColumnInfoByExpr
    - 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:1750,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1752,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1756,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1748
    functionDepth: 2
    functionLinenumber: 1748
    functionLinenumberEnd: 1761
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 154
    functionsReached:
    - generateSyntaxErrMsg
    - isInternalPrimaryKey
    - isPrimaryKeyImpl
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pProjectList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1777,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1778,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1786,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1787,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1771
    functionDepth: 2
    functionLinenumber: 1771
    functionLinenumberEnd: 1796
    functionName: findAndSetVirtualTableColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setColumnPrimTs
    - isInternalPrimaryKey
    - strcmp
    - setVtbColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: "int32_t findAndSetVirtualTableColumn(STranslateContext* pCxt, SColumnNode**
      pColRef, STableNode* pTable,\n                                            bool*
      pFound)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1805,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1806,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1809,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1809,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1824,1
    - Dst: findAndSetRealTableColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1826,1
    - Dst: findAndSetTempTableColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1829,1
    - Dst: findAndSetVirtualTableColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1832,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 5
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    - keepOriginTable
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1798
    functionDepth: 7
    functionLinenumber: 1798
    functionLinenumberEnd: 1840
    functionName: findAndSetColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_WINDOW_JOIN
    - nodeType
    - findAndSetVirtualTableColumn
    - isInternalPrimaryKey
    - findAndSetRealTableColumn
    - findAndSetTempTableColumn
    linkageType: ''
    returnType: int32_t
    signature: "int32_t findAndSetColumn(STranslateContext* pCxt, SColumnNode** pColRef,
      STableNode* pTable, bool* pFound,\n                                bool keepOriginTable)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1843,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1844,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1847,1
    - Dst: belongTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1848,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1851,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1858,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pCol
    argTypes:
    - STranslateContext*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1842
    functionDepth: 8
    functionLinenumber: 1842
    functionLinenumberEnd: 1865
    functionName: translateColumnWithPrefix
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateDealNodeErrMsg
    - taosArrayGetP
    - belongTable
    - findAndSetColumn
    - taosArrayGetSize
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateColumnWithPrefix(STranslateContext* pCxt, SColumnNode**
      pCol)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1868,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1869,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1871,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1873,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1875,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1881,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1891,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1892,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1894,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1896,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pCol
    argTypes:
    - STranslateContext*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1867
    functionDepth: 8
    functionLinenumber: 1867
    functionLinenumberEnd: 1900
    functionName: translateColumnWithoutPrefix
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - generateDealNodeErrMsg
    - findAndSetColumn
    - isInternalPrimaryKey
    - taosArrayGetSize
    - isSelectStmt
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateColumnWithoutPrefix(STranslateContext* pCxt, SColumnNode**
      pCol)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getProjectListFromCurrStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1905,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1911,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1913,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1916,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1924,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1924,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1926,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1932,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1937,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1904
    functionDepth: 4
    functionLinenumber: 1904
    functionLinenumberEnd: 1941
    functionName: translateColumnUseAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - getProjectListFromCurrStmt
    - nodeType
    - fmIsPlaceHolderFunc
    - generateSyntaxErrMsg
    - nodesDestroyNode
    - nodesEqualNode
    - generateSyntaxErrMsgExt
    - strcmp
    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:1911,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1913,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1909
    functionDepth: 3
    functionLinenumber: 1909
    functionLinenumberEnd: 1922
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 154
    functionsReached:
    - nodesEqualNode
    - generateSyntaxErrMsg
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pProjectionList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1945,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1946,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1947,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1949,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pExprStr
    - len
    - pAlias
    argTypes:
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1953
    functionName: biMakeAliasNameInMD5
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tMD5Init
    - snprintf
    - tMD5Final
    - tListLen
    - tMD5Update
    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:1960,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1962,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1964,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1968,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1974,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1976,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1980,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1982,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1987,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1989,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1995,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1998,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1999,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2005,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2007,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2009,1
    - Dst: biMakeAliasNameInMD5
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2011,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2011,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2016,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2020,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 3
    argNames:
    - funcName
    - tableAlias
    - pOutNode
    argTypes:
    - char*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1955
    functionDepth: 6
    functionLinenumber: 1955
    functionLinenumberEnd: 2022
    functionName: biMakeTbnameProjectAstNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - nodesListMakeStrictAppend
    - tstrdup
    - snprintf
    - biMakeAliasNameInMD5
    - nodesMakeNode
    - 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:2027,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2031,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2031,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2032,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2036,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2037,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2038,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2040,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2041,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2044,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2045,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2048,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2049,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2052,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2055,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2056,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2060,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2061,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2063,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2064,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2071,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pNode
    - pSelectListCell
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SNode*
    - SListCell*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2024
    functionDepth: 7
    functionLinenumber: 2024
    functionLinenumberEnd: 2073
    functionName: biRewriteSelectFuncParamStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodeType
    - biMakeTbnameProjectAstNode
    - strcasecmp
    - taosArrayGetP
    - nodesListInsertListAfterPos
    - nodesIsStar
    - nodesDestroyList
    - findTable
    - taosArrayGetSize
    - nodesMakeList
    - nodesIsTableStar
    - LIST_LENGTH
    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:2036,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2037,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2038,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2040,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2041,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2044,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2045,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2048,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2049,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2052,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2055,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2056,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2060,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2061,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2063,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2064,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2035
    functionDepth: 7
    functionLinenumber: 2035
    functionLinenumberEnd: 2069
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 154
    functionsReached:
    - nodesListStrictAppend
    - nodeType
    - biMakeTbnameProjectAstNode
    - taosArrayGetP
    - nodesListInsertListAfterPos
    - nodesIsStar
    - findTable
    - taosArrayGetSize
    - nodesIsTableStar
    - LIST_LENGTH
    linkageType: ''
    returnType: void
    signature: void FOREACH(pPara, pParams)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2081,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2083,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2084,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2085,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2086,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2088,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2089,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2092,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2093,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2096,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2097,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2100,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2103,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2104,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2107,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2108,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2110,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2111,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2114,1
    - Dst: biRewriteSelectFuncParamStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2115,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2120,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2077
    functionDepth: 8
    functionLinenumber: 2077
    functionLinenumberEnd: 2123
    functionName: biRewriteSelectStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodeType
    - biMakeTbnameProjectAstNode
    - taosArrayGetP
    - nodesListInsertListAfterPos
    - nodesIsStar
    - WHERE_EACH
    - findTable
    - nodesDestroyList
    - taosArrayGetSize
    - nodesMakeList
    - biRewriteSelectFuncParamStar
    - nodesIsTableStar
    - LIST_LENGTH
    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:2127,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2128,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2130,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2134,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2135,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRet
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2125
    functionDepth: 7
    functionLinenumber: 2125
    functionLinenumberEnd: 2145
    functionName: biRewriteToTbnameFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodeType
    - biMakeTbnameProjectAstNode
    - strcasecmp
    - 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:2152,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2153,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2163,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pTags
    - pCols
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2171
    functionName: biCheckCreateTableTbnameCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - generateSyntaxErrMsgExt
    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:2152,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2157
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 154
    functionsReached:
    - strcasecmp
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2163,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2161
    functionDepth: 1
    functionLinenumber: 2161
    functionLinenumberEnd: 2168
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 154
    functionsReached:
    - strcasecmp
    - generateSyntaxErrMsgExt
    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: 2175
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2175
    functionName: clauseSupportAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clauseSupportAlias(ESqlClause clause)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2180,1
    - Dst: biRewriteToTbnameFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2187,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2190,1
    - Dst: translateColumnWithPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2196,1
    - Dst: translateColumnWithoutPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2199,1
    - Dst: translateColumnUseAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - translateAsAlias
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2177
    functionDepth: 9
    functionLinenumber: 2177
    functionLinenumberEnd: 2207
    functionName: translateColumnInGroupByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - biRewriteToTbnameFunc
    - translateColumnWithoutPrefix
    - translateColumnUseAlias
    - translateColumnWithPrefix
    - translateFunction
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateColumnInGroupByClause(STranslateContext* pCxt, SColumnNode**
      pCol, bool* translateAsAlias)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2211,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2212,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2216,1
    - Dst: biRewriteToTbnameFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2223,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2226,1
    - Dst: translateColumnWithPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2232,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2236,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2237,1
    - Dst: translateColumnUseAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2240,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2244,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2245,1
    - Dst: translateColumnWithoutPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2248,1
    - Dst: clauseSupportAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2251,1
    - Dst: translateColumnUseAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2253,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pCol
    argTypes:
    - STranslateContext*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2209
    functionDepth: 9
    functionLinenumber: 2209
    functionLinenumberEnd: 2257
    functionName: translateColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - biRewriteToTbnameFunc
    - isSetOperator
    - translateColumnUseAlias
    - translateColumnWithoutPrefix
    - translateColumnWithPrefix
    - translateFunction
    - generateDealNodeErrMsg
    - clauseSupportAlias
    - isSelectStmt
    - 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:2260,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2261,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2265,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2267,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2276,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2277,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2277,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2259
    functionDepth: 1
    functionLinenumber: 2259
    functionLinenumberEnd: 2287
    functionName: parseTimeFromValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - translateValue
    - IS_FLOAT_TYPE
    - taosParseTime
    - IS_NUMERIC_TYPE
    - IS_VAR_DATA_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - taosStr2Int64
    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:2290,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2291,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2293,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2294,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2296,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2289
    functionDepth: 1
    functionLinenumber: 2289
    functionLinenumberEnd: 2302
    functionName: parseBoolFromValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_FLOAT_TYPE
    - strcasecmp
    - IS_VAR_DATA_TYPE
    - IS_INTEGER_TYPE
    - taosStr2Double
    - taosStr2Int64
    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:2305,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2305,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2307,1
    - Dst: parseNatualDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2308,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2308,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2304
    functionDepth: 1
    functionLinenumber: 2304
    functionLinenumberEnd: 2314
    functionName: translateDurationValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parseNatualDuration
    - strlen
    - generateDealNodeErrMsg
    - getPrecisionUnit
    - strncmp
    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:2317,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2317,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2316
    functionDepth: 1
    functionLinenumber: 2316
    functionLinenumberEnd: 2323
    functionName: translateTimeOffsetValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parseNatualDuration
    - strlen
    - generateDealNodeErrMsg
    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:2329,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2330,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2335,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2335,1
    - Dst: IS_VALID_TINYINT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2336,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2337,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2343,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2343,1
    - Dst: IS_VALID_SMALLINT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2344,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2345,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2351,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2351,1
    - Dst: IS_VALID_INT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2352,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2353,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2359,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2359,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2361,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2367,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2367,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2369,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2375,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2375,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2377,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2383,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2383,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2385,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2391,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2391,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2393,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2399,1
    - Dst: IS_VALID_FLOAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2400,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2401,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2407,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2409,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2409,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2410,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2417,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2422,1
    - Dst: isHex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2423,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2425,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2428,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2437,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2438,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2440,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2442,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2443,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2445,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2446,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2446,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2447,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2452,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2452,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2454,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2456,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2457,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2459,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2461,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2462,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2462,1
    - Dst: parseTimeFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2466,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2467,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2473,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2475,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2479,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2479,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2479,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2481,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2483,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2488,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 158
    argCount: 4
    argNames:
    - pCxt
    - pVal
    - targetDt
    - strict
    argTypes:
    - STranslateContext*
    - SValueNode*
    - SDataType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2325
    functionDepth: 2
    functionLinenumber: 2325
    functionLinenumberEnd: 2493
    functionName: translateNormalValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_VALID_TINYINT
    - isHex
    - isValidateHex
    - TMIN
    - parseTimeFromValueNode
    - toUInteger
    - isinf
    - IS_VALID_INT
    - IS_VAR_DATA_TYPE
    - taosStr2Double
    - taosMemoryCalloc
    - IS_VALID_FLOAT
    - varDataSetLen
    - strlen
    - IS_VALID_SMALLINT
    - generateDealNodeErrMsg
    - taosMbsToUcs4
    - varDataVal
    - isnan
    - memcpy
    - toInteger
    - taosHex2Ascii
    - parseBoolFromValueNode
    - taosMemoryFree
    - strncpy
    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:2506,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2509,1
    - Dst: translateDurationValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2510,1
    - Dst: IS_TIME_OFFSET_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2511,1
    - Dst: translateTimeOffsetValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2512,1
    - Dst: translateNormalValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - pVal
    - targetDt
    - strict
    argTypes:
    - STranslateContext*
    - SValueNode*
    - SDataType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2495
    functionDepth: 3
    functionLinenumber: 2495
    functionLinenumberEnd: 2524
    functionName: translateValueImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_TIME_OFFSET_VAL
    - IS_DURATION_VAL
    - translateTimeOffsetValue
    - translateDurationValue
    - translateNormalValue
    - getPrecisionFromCurrStmt
    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:2531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - dt
    argTypes:
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2536
    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:2544,1
    - Dst: translateValueImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2538
    functionDepth: 4
    functionLinenumber: 2538
    functionLinenumberEnd: 2546
    functionName: translateValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - translateValueImpl
    - calcTypeBytes
    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:2549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2548
    functionDepth: 5
    functionLinenumber: 2548
    functionLinenumberEnd: 2550
    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:2556,1
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2556,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2563,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2566,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2567,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2552
    functionDepth: 1
    functionLinenumber: 2552
    functionLinenumberEnd: 2568
    functionName: isMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - fmIsMultiResFunc
    - LIST_LENGTH
    - 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: 2572
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2572
    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: 2586
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2586
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2589,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2590,1
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2593,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2594,1
    - Dst: scalarGetOperatorResultType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pOp
    argTypes:
    - STranslateContext*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2588
    functionDepth: 4
    functionLinenumber: 2588
    functionLinenumberEnd: 2605
    functionName: translateOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - scalarGetOperatorResultType
    - isMultiResFunc
    - generateDealNodeErrMsg
    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:2608,1
    - Dst: isIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2608,1
    - Dst: isWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2608,1
    - Dst: isInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2609,1
    - Dst: isForecastPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2609,1
    - Dst: isColsFunctionResult
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2607
    functionDepth: 3
    functionLinenumber: 2607
    functionLinenumberEnd: 2614
    functionName: haveVectorFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isInterpPseudoColumnFunc
    - isForecastPseudoColumnFunc
    - isWindowPseudoColumnFunc
    - isColsFunctionResult
    - isAggFunc
    - isIndefiniteRowsFunc
    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:2617,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2618,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2620,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2621,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pTableAlias
    - pOutput
    argTypes:
    - STranslateContext*
    - char*
    - STableNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2616
    functionDepth: 1
    functionLinenumber: 2616
    functionLinenumberEnd: 2627
    functionName: findTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 3
    functionsReached:
    - generateSyntaxErrMsg
    - taosArrayGetSize
    - taosArrayGetP
    - strcmp
    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:2630,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2633,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2634,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2629
    functionDepth: 1
    functionLinenumber: 2629
    functionLinenumberEnd: 2635
    functionName: isCountStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - LIST_LENGTH
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isCountStar(SFunctionNode* pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2640,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2647,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2650,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2650,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2637
    functionDepth: 5
    functionLinenumber: 2637
    functionLinenumberEnd: 2654
    functionName: rewriteCountStarAsCount1
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetCell
    - nodesListErase
    - nodesSetValueNodeValue
    - nodesListAppend
    - nodesMakeNode
    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:2657,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2656
    functionDepth: 1
    functionLinenumber: 2656
    functionLinenumberEnd: 2677
    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:2681,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2683,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2684,1
    - Dst: getJoinProbeTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2687,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2689,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2693,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2694,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2695,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2696,1
    - Dst: rewriteCountStarAsCount1
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2699,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2680
    functionDepth: 6
    functionLinenumber: 2680
    functionLinenumberEnd: 2704
    functionName: rewriteCountStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteCountStarAsCount1
    - nodesListGetNode
    - setColumnInfoBySchema
    - nodeType
    - setVtbColumnInfoBySchema
    - taosArrayGetP
    - findTable
    - getJoinProbeTable
    - taosArrayGetSize
    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:2707,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2710,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2712
    functionName: isCountNotNullValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool isCountNotNullValue(SFunctionNode* pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2716,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2718,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2719,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2721,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2723,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2724,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2715
    functionDepth: 5
    functionLinenumber: 2715
    functionLinenumberEnd: 2729
    functionName: rewriteCountNotNullValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - setColumnInfoBySchema
    - nodeType
    - nodesListMakeAppend
    - findTable
    - NODES_DESTORY_LIST
    - nodesMakeNode
    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:2732,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2735,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2731
    functionDepth: 1
    functionLinenumber: 2731
    functionLinenumberEnd: 2737
    functionName: isCountTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool isCountTbname(SFunctionNode* pFunc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2741,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2743,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2744,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2747,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2750,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2752,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2753,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2740
    functionDepth: 5
    functionLinenumber: 2740
    functionLinenumberEnd: 2758
    functionName: rewriteCountTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - setColumnInfoBySchema
    - nodesListMakeAppend
    - findTable
    - NODES_DESTORY_LIST
    - nodesMakeNode
    - LIST_LENGTH
    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:2762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2760
    functionDepth: 4
    functionLinenumber: 2760
    functionLinenumberEnd: 2764
    functionName: hasInvalidFuncNesting
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: bool hasInvalidFuncNesting(SFunctionNode* pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2769,1
    - Dst: getPrecisionFromCurrStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2770,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2771,1
    - Dst: getUdfInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2766
    functionDepth: 9
    functionLinenumber: 2766
    functionLinenumberEnd: 2776
    functionName: getFuncInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getUdfInfo
    - getPrecisionFromCurrStmt
    - fmGetFuncInfo
    - IS_DECIMAL_TYPE
    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:2779,1
    - Dst: beforeHaving
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2782,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2783,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2785,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2786,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2789,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2791,1
    - Dst: isCountStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2794,1
    - Dst: rewriteCountStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2795,1
    - Dst: isCountNotNullValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2797,1
    - Dst: rewriteCountNotNullValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2798,1
    - Dst: isCountTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2800,1
    - Dst: rewriteCountTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2801,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2778
    functionDepth: 7
    functionLinenumber: 2778
    functionLinenumberEnd: 2804
    functionName: translateAggFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isCountStar
    - beforeHaving
    - isCountNotNullValue
    - fmIsAggFunc
    - generateSyntaxErrMsg
    - hasInvalidFuncNesting
    - isCountTbname
    - rewriteCountTbname
    - isSelectStmt
    - rewriteCountNotNullValue
    - rewriteCountStar
    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:2807,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2810,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2811,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2815,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2818,1
    - Dst: fmIsProcessByRowFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2819,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2820,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2823,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2826,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2829,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2830,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2806
    functionDepth: 5
    functionLinenumber: 2806
    functionLinenumberEnd: 2833
    functionName: translateIndefiniteRowsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsIndefiniteRowsFunc
    - fmIsProcessByRowFunc
    - generateSyntaxErrMsg
    - fmGetFuncReturnRows
    - hasInvalidFuncNesting
    - isSelectStmt
    - 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:2836,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2839,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2842,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2844,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2835
    functionDepth: 5
    functionLinenumber: 2835
    functionLinenumberEnd: 2848
    functionName: translateMultiRowsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - hasInvalidFuncNesting
    - generateSyntaxErrMsg
    - fmIsMultiRowsFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateMultiRowsFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2851,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2855,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2856,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2860,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2861,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2867,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2871,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2872,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2878,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2881,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2882,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2850
    functionDepth: 5
    functionLinenumber: 2850
    functionLinenumberEnd: 2885
    functionName: translateInterpFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsInterpFunc
    - generateSyntaxErrMsg
    - fmGetFuncReturnRows
    - hasInvalidFuncNesting
    - inStreamCalcClause
    - isSelectStmt
    - 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:2889,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2892,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2893,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2897,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2904,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2905,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2905,1
    - Dst: replacePsedudoColumnFuncWithColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2912,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2916,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2920
      start: 2887
    functionDepth: 10
    functionLinenumber: 2887
    functionLinenumberEnd: 2920
    functionName: translateInterpPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcasecmp
    - replacePsedudoColumnFuncWithColumn
    - fmIsInterpPseudoColumnFunc
    - translateColumn
    - isSelectStmt
    - generateSyntaxErrMsgExt
    - FOREACH
    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:2923,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2926,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2927,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2933,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2937,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2938,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2944,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2947,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2948,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2922
    functionDepth: 5
    functionLinenumber: 2922
    functionLinenumberEnd: 2951
    functionName: translateForecastFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsForecastFunc
    - generateSyntaxErrMsg
    - fmGetFuncReturnRows
    - hasInvalidFuncNesting
    - isSelectStmt
    - generateSyntaxErrMsgExt
    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:2960,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2964,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2965,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2970,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2974,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2975,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2980,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2986,1
    - Dst: replacePsedudoColumnFuncWithColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2999,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3004,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 2953
    functionDepth: 10
    functionLinenumber: 2953
    functionLinenumberEnd: 3009
    functionName: translateAnalysisPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcasecmp
    - replacePsedudoColumnFuncWithColumn
    - fmIsAnalysisPseudoColumnFunc
    - translateColumn
    - isSelectStmt
    - generateSyntaxErrMsgExt
    - FOREACH
    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:3012,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3015,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3016,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3021,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3022,1
    - Dst: isTimeLineAlignedQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3023,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3026,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3029,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3031,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3036
      start: 3011
    functionDepth: 8
    functionLinenumber: 3011
    functionLinenumberEnd: 3036
    functionName: translateTimelineFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isGlobalTimeLineQuery
    - nodeType
    - isTimeLineAlignedQuery
    - fmIsTimelineFunc
    - isSelectStmt
    - 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:3039,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3051
      start: 3038
    functionDepth: 2
    functionLinenumber: 3038
    functionLinenumberEnd: 3051
    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:3054,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3060
      start: 3053
    functionDepth: 2
    functionLinenumber: 3053
    functionLinenumberEnd: 3060
    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:3064,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3068,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3069,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ppFunc
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3075
      start: 3062
    functionDepth: 5
    functionLinenumber: 3062
    functionLinenumberEnd: 3075
    functionName: createTbnameFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTbnameFunction(SFunctionNode** ppFunc)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3082,1
    - Dst: inStreamOutTableClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3082,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3083,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3083,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3087,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3087,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3092,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3093,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3093,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3097,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3098,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3098,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3102,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3103,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3103,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3107,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3108,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3108,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3112,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3113,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3113,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3117,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3118,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3118,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3122,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3123,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3123,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3127,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3128,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3128,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3132,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3133,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3133,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3137,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3138,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3138,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3142,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3143,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3143,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3147,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3148,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3148,1
    - Dst: getStreamTriggerPartition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3153,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3155,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3155,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3157,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3158,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3160,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3160,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3162,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3164,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3164,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3166,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3168,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3168,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3171,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3171,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3179,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3179,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3183,1
    - Dst: nodesListMakePushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3183,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3187,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3188,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 101
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3077
    functionDepth: 6
    functionLinenumber: 3077
    functionLinenumberEnd: 3190
    functionName: translatePlaceHolderFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesGetValueFromNode
    - nodesListGetNode
    - BIT_FLAG_SET_MASK
    - inStreamOutTableClause
    - nodesListMakePushFront
    - getStreamTriggerPartition
    - nodesMakeValueNodeFromString
    - nodesMakeValueNodeFromTimestamp
    - PAR_ERR_JRET
    - nodesMakeNode
    - inStreamCalcClause
    - nodesDestroyNode
    - parserError
    - generateSyntaxErrMsgExt
    - nodesMakeValueNodeFromInt64
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translatePlaceHolderFunc(STranslateContext* pCxt, SNode**
      pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForbidFillFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3192,1
    - Dst: hasFillClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3195,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3191
    functionDepth: 3
    functionLinenumber: 3191
    functionLinenumberEnd: 3199
    functionName: translateForbidFillFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsForbidFillFunc
    - generateSyntaxErrMsg
    - hasFillClause
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateForbidFillFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForbidSysTableFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3202,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3208,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3213
      start: 3201
    functionDepth: 1
    functionLinenumber: 3201
    functionLinenumberEnd: 3213
    functionName: translateForbidSysTableFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - 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: 3227
      start: 3215
    functionDepth: 0
    functionLinenumber: 3215
    functionLinenumberEnd: 3227
    functionName: fromSingleTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fromSingleTable(SNode* table)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fmIsRepeatScanFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3230,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3233,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3234,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3237,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3238,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3244,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3247,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3251,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3256,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3257,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3258,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3229
    functionDepth: 2
    functionLinenumber: 3229
    functionLinenumberEnd: 3263
    functionName: translateRepeatScanFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsRepeatScanFunc
    - nodeType
    - inStreamCalcClause
    - isSelectStmt
    - generateSyntaxErrMsgExt
    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:3266,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3269,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3270,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3275,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3284
      start: 3265
    functionDepth: 2
    functionLinenumber: 3265
    functionLinenumberEnd: 3284
    functionName: translateBlockDistFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsBlockDistFunc
    - isSelectStmt
    - generateSyntaxErrMsgExt
    - 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:3286,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3289,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3304
      start: 3285
    functionDepth: 2
    functionLinenumber: 3285
    functionLinenumberEnd: 3304
    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:3306,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3306
      start: 3306
    functionDepth: 2
    functionLinenumber: 3306
    functionLinenumberEnd: 3306
    functionName: isStarParam
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesIsTableStar
    - nodesIsStar
    linkageType: ''
    returnType: bool
    signature: bool isStarParam(SNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3309,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3313,1
    - Dst: isStarParam
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3314,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3315,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3319,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3320,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3320,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3322,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3308
    functionDepth: 3
    functionLinenumber: 3308
    functionLinenumberEnd: 3326
    functionName: translateMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - isStarParam
    - fmIsMultiResFunc
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    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:3329,1
    - Dst: isStarParam
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3330,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3330,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pParameterList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3328
    functionDepth: 3
    functionLinenumber: 3328
    functionLinenumberEnd: 3333
    functionName: getMultiResFuncNum
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - isStarParam
    - LIST_LENGTH
    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:3336,1
    - Dst: fmIsSelectColsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3339,1
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3342,1
    - Dst: fmIsLastRowFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3342,1
    - Dst: getMultiResFuncNum
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pFunc
    - currSelectFuncNum
    argTypes:
    - SFunctionNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3335
    functionDepth: 4
    functionLinenumber: 3335
    functionLinenumberEnd: 3345
    functionName: calcSelectFuncNum
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsSelectColsFunc
    - getMultiResFuncNum
    - fmIsMultiResFunc
    - fmIsLastRowFunc
    - 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:3349,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3351,1
    - Dst: fmIsRepeatScanFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3353,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3355,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3357,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3358,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3359,1
    - Dst: fmIsForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3360,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3361,1
    - Dst: fmIsProcessByRowFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3363,1
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3367,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3368,1
    - Dst: calcSelectFuncNum
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3370,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3371,1
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3380,1
    - Dst: fmIsAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3384,1
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3387,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3388,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3388,1
    - Dst: fmIsKeepOrderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3390,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3347
    functionDepth: 5
    functionLinenumber: 3347
    functionLinenumberEnd: 3393
    functionName: setFuncClassification
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsRepeatScanFunc
    - fmIsIndefiniteRowsFunc
    - fmIsForecastFunc
    - calcSelectFuncNum
    - nodeType
    - fmIsProcessByRowFunc
    - fmIsMultiRowsFunc
    - fmIsSelectFunc
    - fmIsUserDefinedFunc
    - fmIsAnalysisPseudoColumnFunc
    - fmIsAggFunc
    - fmGetFuncReturnRows
    - fmIsVectorFunc
    - fmIsKeepOrderFunc
    - fmIsTimelineFunc
    - fmIsInterpFunc
    - fmIsInterpPseudoColumnFunc
    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:3397,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3401,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3402,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3408,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3409,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3413,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3414,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pLiteral
    - pNode
    argTypes:
    - STranslateContext*
    - char**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3395
    functionDepth: 5
    functionLinenumber: 3395
    functionLinenumberEnd: 3420
    functionName: rewriteFuncToValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - translateValue
    - tstrncpy
    - IS_VAR_DATA_TYPE
    - nodesMakeNode
    - nodesDestroyNode
    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:3425,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3430,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3422
    functionDepth: 6
    functionLinenumber: 3422
    functionLinenumberEnd: 3433
    functionName: rewriteDatabaseFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - rewriteFuncToValue
    - 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:3436,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3440,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3435
    functionDepth: 6
    functionLinenumber: 3435
    functionLinenumberEnd: 3443
    functionName: rewriteClentVersionFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - rewriteFuncToValue
    - 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:3446,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3453
      start: 3445
    functionDepth: 6
    functionLinenumber: 3445
    functionLinenumberEnd: 3453
    functionName: rewriteServerVersionFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - rewriteFuncToValue
    - 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:3459,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3463,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3455
    functionDepth: 6
    functionLinenumber: 3455
    functionLinenumberEnd: 3466
    functionName: rewriteServerStatusFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - rewriteFuncToValue
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteServerStatusFunc(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3470,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3471,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3474,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3478,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3468
    functionDepth: 6
    functionLinenumber: 3468
    functionLinenumberEnd: 3483
    functionName: rewriteUserFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosStrdup
    - rewriteFuncToValue
    - taosGetFqdn
    - tsnprintf
    - taosMemoryFree
    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:3488,1
    - Dst: rewriteClentVersionFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3490,1
    - Dst: rewriteServerVersionFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3492,1
    - Dst: rewriteServerStatusFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3494,1
    - Dst: rewriteUserFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3502
      start: 3485
    functionDepth: 7
    functionLinenumber: 3485
    functionLinenumberEnd: 3502
    functionName: rewriteSystemInfoFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteClentVersionFunc
    - rewriteServerVersionFunc
    - rewriteServerStatusFunc
    - rewriteDatabaseFunc
    - rewriteUserFunc
    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:3506,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3512,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3514,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3515,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3517,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3518,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3519,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3520,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3521,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3528,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3529,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3530,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3531,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3533,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - ppNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3504
    functionDepth: 5
    functionLinenumber: 3504
    functionLinenumberEnd: 3540
    functionName: replacePsedudoColumnFuncWithColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - nodeType
    - nodesMakeNode
    - nodesDestroyNode
    - LIST_LENGTH
    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:3543,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3547,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - errCode
    argTypes:
    - STranslateContext*
    - SNode**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3553
      start: 3542
    functionDepth: 10
    functionLinenumber: 3542
    functionLinenumberEnd: 3553
    functionName: rewriteToColumnAndRetranslate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateColumn
    - generateSyntaxErrMsg
    - replacePsedudoColumnFuncWithColumn
    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:3557,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3560,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3562,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3564,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3565,1
    - Dst: beforeWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3567,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3568,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3576
      start: 3555
    functionDepth: 11
    functionLinenumber: 3555
    functionLinenumberEnd: 3576
    functionName: translateWindowPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSetOperator
    - fmIsWindowPseudoColumnFunc
    - generateSyntaxErrMsg
    - beforeWindow
    - isSelectStmt
    - rewriteToColumnAndRetranslate
    - 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:3580,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3583,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3587,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3589,1
    - Dst: isSelectStmt
      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: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3594,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3595,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3597,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3600,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3602,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3604,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3606,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3608,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3612
      start: 3578
    functionDepth: 11
    functionLinenumber: 3578
    functionLinenumberEnd: 3612
    functionName: translateScanPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - isSetOperator
    - nodeType
    - fmIsScanPseudoColumnFunc
    - findTable
    - generateSyntaxErrMsg
    - isSelectStmt
    - rewriteToColumnAndRetranslate
    - LIST_LENGTH
    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:3616,1
    - Dst: translateScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3619,1
    - Dst: translateIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3625,1
    - Dst: translateForbidFillFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3628,1
    - Dst: translateWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3632,1
    - Dst: translateForbidSysTableFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3638,1
    - Dst: translateRepeatScanFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3641,1
    - Dst: translateMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3644,1
    - Dst: translateMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3647,1
    - Dst: translateInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3650,1
    - Dst: translateInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3654,1
    - Dst: translateForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3660,1
    - Dst: translateAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3664,1
    - Dst: translateTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3670,1
    - Dst: translateDateTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3673,1
    - Dst: translateBlockDistFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3676,1
    - Dst: translateDBUsageFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3680,1
    - Dst: setFuncClassification
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3683,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - pCxt
    - ppNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3686
      start: 3614
    functionDepth: 12
    functionLinenumber: 3614
    functionLinenumberEnd: 3686
    functionName: translateNormalFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateIndefiniteRowsFunc
    - translateInterpPseudoColumnFunc
    - translateForbidSysTableFunc
    - translateAggFunc
    - translateAnalysisPseudoColumnFunc
    - translateInterpFunc
    - translateBlockDistFunc
    - translateDBUsageFunc
    - translateRepeatScanFunc
    - translateForecastFunc
    - translateMultiResFunc
    - setFuncClassification
    - translateDateTimeFunc
    - translateTimelineFunc
    - translateScanPseudoColumnFunc
    - translateForbidFillFunc
    - translateWindowPseudoColumnFunc
    - 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:3690,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3693,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3697,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3698,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - val
    - pNode
    argTypes:
    - STranslateContext*
    - int64_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3701
      start: 3688
    functionDepth: 6
    functionLinenumber: 3688
    functionLinenumberEnd: 3701
    functionName: rewriteQueryTimeFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - rewriteFuncToValue
    - 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:3704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3705
      start: 3703
    functionDepth: 7
    functionLinenumber: 3703
    functionLinenumberEnd: 3705
    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:3708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3709
      start: 3707
    functionDepth: 7
    functionLinenumber: 3707
    functionLinenumberEnd: 3709
    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:3714,1
    - Dst: rewriteQueryTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3717
      start: 3711
    functionDepth: 7
    functionLinenumber: 3711
    functionLinenumberEnd: 3717
    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:3720,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3722,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3724,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3725,1
    - Dst: rewriteQstartFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3730,1
    - Dst: rewriteQendFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3732,1
    - Dst: rewriteQdurationFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3734,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3719
    functionDepth: 8
    functionLinenumber: 3719
    functionLinenumberEnd: 3739
    functionName: rewriteClientPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - rewriteQendFunc
    - rewriteQdurationFunc
    - rewriteQstartFunc
    - inStreamCalcClause
    - 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:3742,1
    - Dst: rewriteSystemInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3743,1
    - Dst: fmIsClientPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3745,1
    - Dst: rewriteClientPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3746,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3748,1
    - Dst: translatePlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3749,1
    - Dst: translateNormalFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3752
      start: 3741
    functionDepth: 13
    functionLinenumber: 3741
    functionLinenumberEnd: 3752
    functionName: translateFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsPlaceHolderFunc
    - translatePlaceHolderFunc
    - translateNormalFunction
    - rewriteSystemInfoFunc
    - fmIsSystemInfoFunc
    - fmIsClientPseudoColumnFunc
    - rewriteClientPseudoColumnFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateFunctionImpl(STranslateContext* pCxt, SFunctionNode**
      pFunc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3756,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3757,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3758,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3761,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3763,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3764,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3770,1
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3771,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3777,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3780,1
    - Dst: isInvalidColsBindFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3785,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3790,1
    - Dst: translatePlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3791,1
    - Dst: translateFunctionImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3795,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3798
      start: 3754
    functionDepth: 14
    functionLinenumber: 3754
    functionLinenumberEnd: 3798
    functionName: translateFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - getFuncInfo
    - nodesListGetNode
    - nodeType
    - fmIsPlaceHolderFunc
    - strcmp
    - translatePlaceHolderFunc
    - fmIsVectorFunc
    - translateFunctionImpl
    - NODES_DESTORY_LIST
    - isMultiResFunc
    - isInvalidColsBindFunction
    - FOREACH
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateFunction(STranslateContext* pCxt, SFunctionNode**
      pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3800
    functionDepth: 1
    functionLinenumber: 3800
    functionLinenumberEnd: 3802
    functionName: translateExprSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateSubquery
    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: 3808
      start: 3804
    functionDepth: 0
    functionLinenumber: 3804
    functionLinenumberEnd: 3808
    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:3812,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3816,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3818,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3819,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3822,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3825,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - dt
    - pCast
    argTypes:
    - STranslateContext*
    - SNode*
    - SDataType
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3810
    functionDepth: 5
    functionLinenumber: 3810
    functionLinenumberEnd: 3832
    functionName: createCastFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesListMakeAppend
    - nodesMakeNode
    - nodesDestroyNode
    - nodesClearList
    - getFuncInfo
    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: 3837
      start: 3834
    functionDepth: 0
    functionLinenumber: 3834
    functionLinenumberEnd: 3837
    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:3840,1
    - Dst: nodesIsComparisonOp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3841,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3844
      start: 3839
    functionDepth: 1
    functionLinenumber: 3839
    functionLinenumberEnd: 3844
    functionName: isCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesIsComparisonOp
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isCondition(const SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pIsTrue
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3858
      start: 3846
    functionDepth: 5
    functionLinenumber: 3846
    functionLinenumberEnd: 3858
    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:3880,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3886,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3891,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3891,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3892,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3892,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3894,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3894,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3895,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3895,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3896,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3901,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3902,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3902,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - commonType
    - newType
    argTypes:
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3861
    functionDepth: 1
    functionLinenumber: 3861
    functionLinenumberEnd: 3908
    functionName: selectCommonType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - TMAX
    - IS_MATHABLE_TYPE
    - IS_DECIMAL_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:3913,1
    - Dst: isCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3915,1
    - Dst: rewriteIsTrue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3917,1
    - Dst: selectCommonType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3929,1
    - Dst: selectCommonType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3937,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3953,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3955,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3957,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3966,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3968,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - pCxt
    - pCaseWhen
    argTypes:
    - STranslateContext*
    - SCaseWhenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3976
      start: 3910
    functionDepth: 6
    functionLinenumber: 3910
    functionLinenumberEnd: 3976
    functionName: translateCaseWhen
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - dataTypeEqual
    - isCondition
    - selectCommonType
    - rewriteIsTrue
    - createCastFunc
    - FOREACH
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateCaseWhen(STranslateContext* pCxt, SCaseWhenNode*
      pCaseWhen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3980,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3982,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3984,1
    - Dst: translateOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3986,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3988,1
    - Dst: translateLogicCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3990,1
    - Dst: translateExprSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3992,1
    - Dst: translateWhenThen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3994,1
    - Dst: translateCaseWhen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4001
      start: 3978
    functionDepth: 15
    functionLinenumber: 3978
    functionLinenumberEnd: 4001
    functionName: doTranslateExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateOperator
    - translateValue
    - translateCaseWhen
    - nodeType
    - translateFunction
    - translateExprSubquery
    - translateWhenThen
    - translateColumn
    - translateLogicCond
    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:4004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4006
      start: 4003
    functionDepth: 1
    functionLinenumber: 4003
    functionLinenumberEnd: 4006
    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:4009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pList
    argTypes:
    - STranslateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 4008
    functionDepth: 1
    functionLinenumber: 4008
    functionLinenumberEnd: 4011
    functionName: translateExprList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    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:4014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4018
      start: 4013
    functionDepth: 3
    functionLinenumber: 4013
    functionLinenumberEnd: 4018
    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:4021,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 4020
    functionDepth: 1
    functionLinenumber: 4020
    functionLinenumberEnd: 4025
    functionName: getGroupByNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    linkageType: ''
    returnType: SNode
    signature: SNode * getGroupByNode(SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4028,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4035
      start: 4027
    functionDepth: 3
    functionLinenumber: 4027
    functionLinenumberEnd: 4035
    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:4040,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4046,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4047,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4048,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4052,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4052,1
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4053,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4053,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4054,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4059,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4061,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4067,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4070
      start: 4037
    functionDepth: 5
    functionLinenumber: 4037
    functionLinenumberEnd: 4070
    functionName: rewriteColToSelectValFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - nodesListMakeAppend
    - snprintf
    - nodesMakeNode
    - tListLen
    - nodesDestroyNode
    - MurmurHash3_64
    - strncmp
    - getFuncInfo
    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:4074,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4080,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4081,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4082,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4083,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4090
      start: 4072
    functionDepth: 5
    functionLinenumber: 4072
    functionLinenumberEnd: 4090
    functionName: rewriteExprToGroupKeyFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesListMakeAppend
    - fmGetFuncInfo
    - nodesMakeNode
    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:4094,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4099,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4100,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4101,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4102,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4109
      start: 4092
    functionDepth: 5
    functionLinenumber: 4092
    functionLinenumberEnd: 4109
    functionName: rewriteExprToSelectTagFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesListMakeAppend
    - fmGetFuncInfo
    - nodesMakeNode
    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:4112,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4130,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 4111
    functionDepth: 1
    functionLinenumber: 4111
    functionLinenumberEnd: 4136
    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:4139,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4157,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4163
      start: 4138
    functionDepth: 1
    functionLinenumber: 4138
    functionLinenumberEnd: 4163
    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:4171,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4182
      start: 4170
    functionDepth: 3
    functionLinenumber: 4170
    functionLinenumberEnd: 4182
    functionName: checkColContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - nodeType
    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:4185,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4195
      start: 4184
    functionDepth: 3
    functionLinenumber: 4184
    functionLinenumberEnd: 4195
    functionName: isWindowJoinGroupCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - nodeType
    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:4198,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4232
      start: 4197
    functionDepth: 1
    functionLinenumber: 4197
    functionLinenumberEnd: 4232
    functionName: isWindowJoinSubTbTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosStrcasecmp
    - nodeType
    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:4235,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4262,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4274
      start: 4234
    functionDepth: 1
    functionLinenumber: 4234
    functionLinenumberEnd: 4274
    functionName: isWindowJoinSubTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosStrcasecmp
    - nodesListGetNode
    - nodeType
    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:4277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4278
      start: 4276
    functionDepth: 1
    functionLinenumber: 4276
    functionLinenumberEnd: 4278
    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:4283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pPartitionByList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4288
      start: 4280
    functionDepth: 2
    functionLinenumber: 4280
    functionLinenumberEnd: 4288
    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:4283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4286
      start: 4282
    functionDepth: 2
    functionLinenumber: 4282
    functionLinenumberEnd: 4286
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 158
    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:4291,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4291,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4292,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4293,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pSelect
    - pFunc1
    - pFunc2
    argTypes:
    - SSelectStmt*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4309
      start: 4290
    functionDepth: 2
    functionLinenumber: 4290
    functionLinenumberEnd: 4309
    functionName: IsEqualTbNameFuncNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isTbnameFuction
    - nodesListGetNode
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool IsEqualTbNameFuncNode(SSelectStmt* pSelect, SNode* pFunc1, SNode*
      pFunc2)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4314,1
    - Dst: isAliasColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4314,1
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4317,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4317,1
    - Dst: fromSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4320,1
    - Dst: getGroupByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4323,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4324,1
    - Dst: IsEqualTbNameFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4327,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4328,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4330,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4330,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4332,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4334,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4335,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4339,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4340,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4341,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4342,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4345,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4347,1
    - Dst: IsEqualTbNameFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4349,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4350,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4353,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4354,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4356,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4360,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4362,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4363,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4364,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4364,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4368,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4369,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4370,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4371,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4371,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4375,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4375,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4376,1
    - Dst: isWindowJoinProbeTableCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4377,1
    - Dst: isWindowJoinGroupCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4377,1
    - Dst: isWindowJoinSubTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4378,1
    - Dst: isWindowJoinSubTbTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4378,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4379,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4382,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4383,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4383,1
    - Dst: rewriteColToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4386,1
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4388,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4388,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4389,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4389,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 60
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4392
      start: 4311
    functionDepth: 6
    functionLinenumber: 4311
    functionLinenumberEnd: 4392
    functionName: doCheckExprForGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesIsExprNode
    - rewriteExprToGroupKeyFunc
    - hasTbnameFunction
    - isVectorFunc
    - isWindowJoinStmt
    - nodesEqualNode
    - isWindowJoinGroupCol
    - getGroupByNode
    - isAliasColumn
    - rewriteColToSelectValFunc
    - fromSingleTable
    - rewriteExprToSelectTagFunc
    - generateDealNodeErrMsg
    - isScanPseudoColumnFunc
    - isWindowJoinSubTbTag
    - isWindowJoinProbeTableCol
    - nodeType
    - isTbnameFuction
    - getGroupByErrorCode
    - isRelatedToOtherExpr
    - IsEqualTbNameFuncNode
    - isWindowJoinSubTbname
    - isDistinctOrderBy
    - FOREACH
    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:4323,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4324,1
    - Dst: IsEqualTbNameFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4327,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4328,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4330,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4330,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4332,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4334,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4337
      start: 4322
    functionDepth: 6
    functionLinenumber: 4322
    functionLinenumberEnd: 4337
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 159
    functionsReached:
    - getGroupByNode
    - nodeType
    - isTbnameFuction
    - rewriteExprToSelectTagFunc
    - rewriteExprToGroupKeyFunc
    - nodesEqualNode
    - 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:4395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4397
      start: 4394
    functionDepth: 1
    functionLinenumber: 4394
    functionLinenumberEnd: 4397
    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:4400,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4401,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pList
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4406
      start: 4399
    functionDepth: 4
    functionLinenumber: 4399
    functionLinenumberEnd: 4406
    functionName: checkExprListForGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getGroupByList
    - nodesRewriteExprs
    - isWindowJoinStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkExprListForGroupBy(STranslateContext* pCxt, SSelectStmt*
      pSelect, SNodeList* pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4409,1
    - Dst: isIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4409,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4412,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4412,1
    - Dst: rewriteColToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4416
      start: 4408
    functionDepth: 6
    functionLinenumber: 4408
    functionLinenumberEnd: 4416
    functionName: rewriteColsToSelectValFuncImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - rewriteColToSelectValFunc
    - isScanPseudoColumnFunc
    - isAggFunc
    - isIndefiniteRowsFunc
    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:4419,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4424
      start: 4418
    functionDepth: 1
    functionLinenumber: 4418
    functionLinenumberEnd: 4424
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4435,1
    - Dst: isColsFunctionResult
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4438,1
    - Dst: fromSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4444,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4445,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4448,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4449,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4450,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4454,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4455,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4458,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4459,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4461,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4461,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4462,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4462,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4466
      start: 4433
    functionDepth: 6
    functionLinenumber: 4433
    functionLinenumberEnd: 4466
    functionName: doCheckAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesIsExprNode
    - nodeType
    - isVectorFunc
    - fromSingleTable
    - rewriteExprToSelectTagFunc
    - rewriteExprToGroupKeyFunc
    - nodesEqualNode
    - isRelatedToOtherExpr
    - isScanPseudoColumnFunc
    - hasTbnameFunction
    - isColsFunctionResult
    - FOREACH
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doCheckAggColCoexist(SNode** pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4471,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4474,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4474,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4483
      start: 4468
    functionDepth: 6
    functionLinenumber: 4468
    functionLinenumberEnd: 4483
    functionName: doCheckGetAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isVectorFunc
    - nodesListMakeStrictAppend
    - nodeType
    - isScanPseudoColumnFunc
    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: 4490
      start: 4485
    functionDepth: 0
    functionLinenumber: 4485
    functionLinenumberEnd: 4490
    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:4497,1
    - Dst: nodesCollectSelectFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4499,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4501,1
    - Dst: calcSelectFuncNum
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4506,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4510
      start: 4492
    functionDepth: 7
    functionLinenumber: 4492
    functionLinenumberEnd: 4510
    functionName: resetSelectFuncNumWithoutDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesCollectSelectFuncs
    - calcSelectFuncNum
    - nodesMakeList
    - nodesDestroyList
    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:4506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4507
      start: 4505
    functionDepth: 5
    functionLinenumber: 4505
    functionLinenumberEnd: 4507
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 160
    functionsReached:
    - calcSelectFuncNum
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pNodeList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4513,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4522,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4524,1
    - Dst: rewriteColsToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4528,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4531,1
    - Dst: rewriteColsToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4534,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4537
      start: 4512
    functionDepth: 2
    functionLinenumber: 4512
    functionLinenumberEnd: 4537
    functionName: checkAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - nodesRewriteExprs
    - isWindowJoinStmt
    - rewriteColsToSelectValFunc
    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:4540,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4548,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4550,1
    - Dst: rewriteColsToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4554,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4560,1
    - Dst: isWindowJoinProbeTableCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4561,1
    - Dst: isWindowJoinGroupCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4561,1
    - Dst: isWindowJoinSubTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4562,1
    - Dst: isWindowJoinSubTbTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4562,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4571,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4575
      start: 4539
    functionDepth: 4
    functionLinenumber: 4539
    functionLinenumberEnd: 4575
    functionName: checkWinJoinAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isWindowJoinGroupCol
    - isWindowJoinStmt
    - rewriteColsToSelectValFunc
    - generateSyntaxErrMsg
    - isWindowJoinSubTbname
    - nodesRewriteExprs
    - isWindowJoinSubTbTag
    - isWindowJoinProbeTableCol
    - FOREACH
    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:4579,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4580,1
    - Dst: checkExprForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4596
      start: 4577
    functionDepth: 4
    functionLinenumber: 4577
    functionLinenumberEnd: 4596
    functionName: checkHavingGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkExprForGroupBy
    - getGroupByList
    - 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:4599,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4607
      start: 4598
    functionDepth: 1
    functionLinenumber: 4598
    functionLinenumberEnd: 4607
    functionName: searchAggFuncNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsAggFunc
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes searchAggFuncNode(SNode* pNode, void* pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4611,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4613,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4615,1
    - Dst: checkExprListForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4631
      start: 4609
    functionDepth: 5
    functionLinenumber: 4609
    functionLinenumberEnd: 4631
    functionName: checkWindowGrpFuncCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - checkExprListForGroupBy
    - isWindowJoinStmt
    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:4634,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4635,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pVgs
    - pVgsInfo
    argTypes:
    - SArray*
    - SVgroupsInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4645
      start: 4633
    functionDepth: 1
    functionLinenumber: 4633
    functionLinenumberEnd: 4645
    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:4649,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4655,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pEpSet
    - pVgroupList
    argTypes:
    - SEpSet*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4660
      start: 4647
    functionDepth: 1
    functionLinenumber: 4647
    functionLinenumberEnd: 4660
    functionName: addMnodeToVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayInit
    - taosArrayPush
    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:4663,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4664,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4670,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pDnodes
    - pVgsInfo
    argTypes:
    - SArray*
    - SVgroupsInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4675
      start: 4662
    functionDepth: 1
    functionLinenumber: 4662
    functionLinenumberEnd: 4675
    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:4678,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4678,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4679,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4679,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4680,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4681
      start: 4677
    functionDepth: 0
    functionLinenumber: 4677
    functionLinenumberEnd: 4681
    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:4683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4683
      start: 4683
    functionDepth: 0
    functionLinenumber: 4683
    functionLinenumberEnd: 4683
    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:4688,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4691,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4692,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4698,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4708,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4710,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4714,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - pCxt
    - pTargetName
    - pName
    - pVgroupList
    argTypes:
    - STranslateContext*
    - SName*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4724
      start: 4685
    functionDepth: 11
    functionLinenumber: 4685
    functionLinenumberEnd: 4724
    functionName: getVnodeSysTableVgroupListImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - getDBVgInfoImpl
    - getTableHashVgroupImpl
    - 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:4727,1
    - Dst: getVnodeSysTableTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4732,1
    - Dst: getVnodeSysTableVgroupListImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4734,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pName
    - pVgs
    - pHasUserDbCond
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4738
      start: 4726
    functionDepth: 12
    functionLinenumber: 4726
    functionLinenumberEnd: 4738
    functionName: getVnodeSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - taosArrayGetSize
    - getVnodeSysTableTargetName
    - getVnodeSysTableVgroupListImpl
    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:4743,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4745,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4746,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4746,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4751,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4752,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4753,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4754,1
    - Dst: addMnodeToVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4755,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4759,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4761,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4764
      start: 4740
    functionDepth: 13
    functionLinenumber: 4740
    functionLinenumberEnd: 4764
    functionName: setVnodeSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - toVgroupsInfo
    - addMnodeToVgroupList
    - getVnodeSysTableVgroupList
    - taosArrayGetSize
    - isSelectStmt
    - 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:4768,1
    - Dst: dnodeToVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4770,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4774
      start: 4766
    functionDepth: 9
    functionLinenumber: 4766
    functionLinenumberEnd: 4774
    functionName: setDnodeSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - getDnodeList
    - dnodeToVgroupsInfo
    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:4777,1
    - Dst: setVnodeSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4778,1
    - Dst: sysTableFromDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4779,1
    - Dst: setDnodeSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4784
      start: 4776
    functionDepth: 14
    functionLinenumber: 4776
    functionLinenumberEnd: 4784
    functionName: setSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - sysTableFromVnode
    - setDnodeSysTableVgroupList
    - sysTableFromDnode
    - setVnodeSysTableVgroupList
    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:4788,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4790,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4794
      start: 4786
    functionDepth: 10
    functionLinenumber: 4786
    functionLinenumberEnd: 4794
    functionName: setSuperTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - getDBVgInfoImpl
    - toVgroupsInfo
    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:4799,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4799,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4800,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4802,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4805,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4807,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4809,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4814
      start: 4796
    functionDepth: 10
    functionLinenumber: 4796
    functionLinenumberEnd: 4814
    functionName: setTrowsTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - memcpy
    - getDBVgInfoImpl
    - PAR_ERR_JRET
    - taosMemoryCalloc
    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:4818,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4820,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4821,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pVirtualTable
    argTypes:
    - STranslateContext*
    - SName*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4825
      start: 4816
    functionDepth: 10
    functionLinenumber: 4816
    functionLinenumberEnd: 4825
    functionName: setVSuperTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - getDBVgInfoImpl
    - toVgroupsInfo
    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:4836,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4837,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4841,1
    - Dst: getVStbRefDbsFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4841,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4842,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4842,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4842,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4843,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4848,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4849,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4850,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4853,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4854,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4855,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4858,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4858,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4859,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4859,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4859,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4860,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4860,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4860,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4861,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4861,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4862,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4862,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4863,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4870,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4871,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4871,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4875,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4877,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4878,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4879,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRefScanTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4881
      start: 4827
    functionDepth: 10
    functionLinenumber: 4827
    functionLinenumberEnd: 4881
    functionName: setVSuperTableRefScanVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayAddAll
    - taosArrayInit
    - getVStbRefDbsFromCache
    - taosArrayGet
    - PAR_ERR_JRET
    - qError
    - strlen
    - toVgroupsInfo
    - taosMemoryFreeClear
    - getDBVgInfoImpl
    - tSimpleHashInit
    - taosArrayGetSize
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - tSimpleHashCleanup
    - taosArrayGetP
    - tNameSetDbName
    - tSimpleHashGet
    - QUERY_CHECK_NULL
    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:4884,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pVirtualTable
    argTypes:
    - STranslateContext*
    - SName*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4890
      start: 4883
    functionDepth: 11
    functionLinenumber: 4883
    functionLinenumberEnd: 4890
    functionName: setVirtualTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableHashVgroupImpl
    - taosMemoryCalloc
    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:4893,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4899
      start: 4892
    functionDepth: 11
    functionLinenumber: 4892
    functionLinenumberEnd: 4899
    functionName: setNormalTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableHashVgroupImpl
    - taosMemoryCalloc
    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:4908,1
    - Dst: setSuperTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4910,1
    - Dst: setSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4915,1
    - Dst: setNormalTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4919
      start: 4901
    functionDepth: 15
    functionLinenumber: 4901
    functionLinenumberEnd: 4919
    functionName: setTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setSuperTableVgroupList
    - setNormalTableVgroupList
    - setTrowsTableVgroupList
    - setSysTableVgroupList
    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:4922,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4928
      start: 4921
    functionDepth: 1
    functionLinenumber: 4921
    functionLinenumberEnd: 4928
    functionName: getStmtPrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    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:4931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4936
      start: 4930
    functionDepth: 1
    functionLinenumber: 4930
    functionLinenumberEnd: 4936
    functionName: stmtIsSingleTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    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: 4938
      start: 4938
    functionDepth: 0
    functionLinenumber: 4938
    functionLinenumberEnd: 4938
    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:4941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pJoinTable
    argTypes:
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4942
      start: 4940
    functionDepth: 1
    functionLinenumber: 4940
    functionLinenumberEnd: 4942
    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: 4946
      start: 4944
    functionDepth: 0
    functionLinenumber: 4944
    functionLinenumberEnd: 4946
    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:4951,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4952,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4953,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4954,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4955,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - pRealTable
    argTypes:
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4960
      start: 4948
    functionDepth: 0
    functionLinenumber: 4948
    functionLinenumberEnd: 4960
    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:4967,1
    - Dst: getTableTsmas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4968,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4973,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4978,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4982,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4983,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4985,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4986,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4987,1
    - Dst: catalogGetCachedTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4989,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4992,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4998,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5005,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5019,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5023,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5030,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5032,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5037,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5045
      start: 4962
    functionDepth: 11
    functionLinenumber: 4962
    functionLinenumberEnd: 5045
    functionName: setTableTsmas
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrncpy
    - collectUseTable
    - taosArrayInit
    - taosMemoryCalloc
    - getTableTsmas
    - toName
    - taosArrayGetP
    - snprintf
    - tsnprintf
    - taosCreateMD5Hash
    - catalogGetCachedTableHashVgroup
    - catalogGetTableMeta
    - isSelectStmt
    - taosArrayDestroyP
    - taosMemoryFree
    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:5048,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5060
      start: 5047
    functionDepth: 10
    functionLinenumber: 5047
    functionLinenumberEnd: 5060
    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:5063,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5069,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5075,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5076,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5079,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5085,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5088,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5091,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5092,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5092,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: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5095,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5104
      start: 5062
    functionDepth: 5
    functionLinenumber: 5062
    functionLinenumberEnd: 5104
    functionName: doTranslateTbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - varDataVal
    - nodeType
    - nodesMakeNode
    - nodesDestroyNode
    - taosMemoryCalloc
    - taosStrdup
    - varDataSetLen
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doTranslateTbName(SNode** pNode, void* pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5107,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5124
      start: 5106
    functionDepth: 1
    functionLinenumber: 5106
    functionLinenumberEnd: 5124
    functionName: replaceTbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExprPostOrder
    - nodeType
    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:5132,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5140,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5149,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5151,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5159,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5160,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5161,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5166,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5168,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5176,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5177,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5178,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: 5183
      start: 5126
    functionDepth: 5
    functionLinenumber: 5126
    functionLinenumberEnd: 5183
    functionName: addPrimJoinEqCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - IS_WINDOW_JOIN
    - tstrncpy
    - nodesMakeNode
    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:5186,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5189,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5192,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5196,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5222
      start: 5185
    functionDepth: 1
    functionLinenumber: 5185
    functionLinenumberEnd: 5222
    functionName: getJoinContais
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    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:5228,1
    - Dst: getJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5236
      start: 5224
    functionDepth: 2
    functionLinenumber: 5224
    functionLinenumberEnd: 5236
    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:5239,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5240,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5243,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5243,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5244,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5244,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5245,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5252,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5259,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5263,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5265,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5274,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5277,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5282,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5285,1
    - Dst: addPrimJoinEqCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5294,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5300,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5303,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5308,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5309,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5310,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5310,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5311,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5317,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5318,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5319,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5319,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5320,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 61
    argCount: 2
    argNames:
    - pCxt
    - pJoinTable
    argTypes:
    - STranslateContext*
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5327
      start: 5238
    functionDepth: 6
    functionLinenumber: 5238
    functionLinenumberEnd: 5327
    functionName: checkJoinTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isGlobalTimeLineQuery
    - IS_WINDOW_JOIN
    - nodeType
    - IS_ASOF_JOIN
    - generateSyntaxErrMsg
    - getBothJoinContais
    - generateSyntaxErrMsgExt
    - addPrimJoinEqCond
    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:5339,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5345,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5357,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5359,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5364,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5367,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5370,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5375,1
    - Dst: buildInvalidOperationMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5380,1
    - Dst: getFullJoinTypeString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5381,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5384,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5389,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 53
    argCount: 2
    argNames:
    - pCxt
    - pJoinTable
    argTypes:
    - STranslateContext*
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5397
      start: 5329
    functionDepth: 2
    functionLinenumber: 5329
    functionLinenumberEnd: 5397
    functionName: translateJoinTableImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - getFullJoinTypeString
    - translateExpr
    - buildInvalidOperationMsgExt
    - generateSyntaxErrMsg
    - TSWAP
    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:5400,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5413,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5413,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5414,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5416,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5416,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5417,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5421,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5427,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5433,1
    - Dst: nodesListGetNode
      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:5445,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5448,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5449,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 48
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5465
      start: 5399
    functionDepth: 1
    functionLinenumber: 5399
    functionLinenumberEnd: 5465
    functionName: joinCondsValidater
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    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:5473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pJoinTable
    argTypes:
    - STranslateContext*
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5476
      start: 5467
    functionDepth: 3
    functionLinenumber: 5467
    functionLinenumberEnd: 5476
    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:5483,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5484,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SVgroupsInfo**
    - SVgroupsInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5490
      start: 5478
    functionDepth: 1
    functionLinenumber: 5478
    functionLinenumberEnd: 5490
    functionName: cloneVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - VGROUPS_INFO_SIZE
    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:5497,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5497,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5498,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5499,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5500,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5501,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5501,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pScan
    argTypes:
    - STranslateContext*
    - SRealTableNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5509
      start: 5492
    functionDepth: 5
    functionLinenumber: 5492
    functionLinenumberEnd: 5509
    functionName: makeVtableMetaScanTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - translateTable
    - PAR_ERR_JRET
    - nodesMakeNode
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeVtableMetaScanTable(STranslateContext* pCxt, SRealTableNode**
      pScan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5519,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5522,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5522,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5523,1
    - Dst: setVSuperTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5523,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5524,1
    - Dst: setVSuperTableRefScanVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5524,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5527,1
    - Dst: cloneVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5527,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5529,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5529,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5531,1
    - Dst: makeVtableMetaScanTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5531,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5532,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5532,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5539,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5539,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - pName
    - pVTable
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5543
      start: 5511
    functionDepth: 13
    functionLinenumber: 5511
    functionLinenumberEnd: 5543
    functionName: translateVirtualSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setVSuperTableRefScanVgroupList
    - tstrerror
    - cloneVgroups
    - makeVtableMetaScanTable
    - nodesListMakeAppend
    - getTargetMeta
    - PAR_ERR_JRET
    - nodesDestroyNode
    - qError
    - setVSuperTableVgroupList
    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:5546,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5547,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pTable
    - pRef
    argTypes:
    - SRealTableNode*
    - SColRef*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5549
      start: 5545
    functionDepth: 1
    functionLinenumber: 5545
    functionLinenumberEnd: 5549
    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:5561,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5561,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5562,1
    - Dst: setVirtualTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5562,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5564,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5564,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5565,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5567,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5568,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5576,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5577,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5577,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5578,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5579,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5579,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5580,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5581,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5587,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5588,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5588,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5591,1
    - Dst: cloneVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5591,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5593,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5593,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5595,1
    - Dst: makeVtableMetaScanTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5595,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5596,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5596,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5600,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5601,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5605,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5605,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5606,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5607,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - pName
    - pVTable
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5610
      start: 5551
    functionDepth: 13
    functionLinenumber: 5551
    functionLinenumberEnd: 5610
    functionName: translateVirtualNormalChildTableInStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - toName
    - cloneVgroups
    - makeVtableMetaScanTable
    - nodesListMakeAppend
    - getTableHashVgroupImpl
    - PAR_ERR_JRET
    - nodesDestroyNode
    - qError
    - setVirtualTableVgroupList
    - taosHashGet
    - toVgroupsInfo
    - taosMemoryFreeClear
    - taosGetDefaultHashFunction
    - getTargetMeta
    - taosHashPut
    - taosHashInit
    - taosHashCleanup
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateVirtualNormalChildTableInStream(STranslateContext*
      pCxt, SNode** pTable, SName* pName,\n                                                        SVirtualTableNode*
      pVTable)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5621,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5622,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5625,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5625,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5626,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5634,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5635,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5636,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5637,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5637,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5638,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5638,1
    - Dst: setTableNameByColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5639,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5640,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5640,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5641,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5641,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5642,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5642,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5642,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5648,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5651,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5655,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5655,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5656,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - pName
    - pVTable
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5659
      start: 5612
    functionDepth: 5
    functionLinenumber: 5612
    functionLinenumberEnd: 5659
    functionName: translateVirtualNormalChildTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - translateTable
    - tstrerror
    - taosHashInit
    - taosHashPut
    - setTableNameByColRef
    - strcat
    - nodesListMakeAppend
    - PAR_ERR_JRET
    - nodesMakeNode
    - qError
    - taosGetDefaultHashFunction
    - TSWAP
    - taosHashCleanup
    - nodesDestroyNode
    - QUERY_CHECK_NULL
    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:5667,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5669,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5672,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5675,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5678,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5678,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5679,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5680,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5681,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5688,1
    - Dst: translateVirtualSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5688,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5692,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5693,1
    - Dst: translateVirtualNormalChildTableInStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5693,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5695,1
    - Dst: translateVirtualNormalChildTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5695,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5700,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5705,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5705,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5708,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5708,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5709,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pName
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5711
      start: 5661
    functionDepth: 14
    functionLinenumber: 5661
    functionLinenumberEnd: 5711
    functionName: translateVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tstrerror
    - translateVirtualNormalChildTableInStream
    - qError
    - translateVirtualNormalChildTable
    - PAR_ERR_RET
    - PAR_ERR_JRET
    - addNamespace
    - nodesMakeNode
    - inStreamCalcClause
    - nodesDestroyNode
    - isSelectStmt
    - translateVirtualSuperTable
    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:5715,1
    - Dst: IS_AUDIT_STB_NAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5715,1
    - Dst: IS_AUDIT_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5719,1
    - Dst: IS_AUDIT_CTB_NAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pRealTable
    - pName
    argTypes:
    - STranslateContext*
    - SRealTableNode*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5724
      start: 5713
    functionDepth: 1
    functionLinenumber: 5713
    functionLinenumberEnd: 5724
    functionName: translateAudit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_AUDIT_CTB_NAME
    - IS_AUDIT_STB_NAME
    - IS_AUDIT_DBNAME
    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:5727,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5731,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5732,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5751,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5752,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5753,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - pCond
    - leftTableAlias
    - rightTableAlias
    argTypes:
    - SNode*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5758
      start: 5726
    functionDepth: 1
    functionLinenumber: 5726
    functionLinenumberEnd: 5758
    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:5761,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5767,1
    - Dst: isJoinTagEqualOnCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5768,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5776,1
    - Dst: isJoinTagEqualOnCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pCond
    - leftTableAlias
    - rightTableAlias
    argTypes:
    - SNode*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5781
      start: 5760
    functionDepth: 2
    functionLinenumber: 5760
    functionLinenumberEnd: 5781
    functionName: joinTagEqCondContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isJoinTagEqualOnCond
    - nodeType
    - FOREACH
    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:5790,1
    - Dst: joinTagEqCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pJoinTable
    - pWhere
    argTypes:
    - SJoinTableNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5797
      start: 5783
    functionDepth: 3
    functionLinenumber: 5783
    functionLinenumberEnd: 5797
    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:5804,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5811,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5812,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5819,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5820,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5823,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5823,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5832,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5837,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5838,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5841,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5841,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 1
    argNames:
    - pJoinTable
    argTypes:
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5849
      start: 5799
    functionDepth: 2
    functionLinenumber: 5799
    functionLinenumberEnd: 5849
    functionName: joinNonPrimColCondContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isPrimaryKeyImpl
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool joinNonPrimColCondContains(SJoinTableNode* pJoinTable)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5853,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5864,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5864,1
    - Dst: joinNonPrimColCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5865,1
    - Dst: innerJoinTagEqCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5878,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5886
      start: 5851
    functionDepth: 4
    functionLinenumber: 5851
    functionLinenumberEnd: 5886
    functionName: setJoinTimeLineResMode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_WINDOW_JOIN
    - nodeType
    - IS_ASOF_JOIN
    - innerJoinTagEqCondContains
    - joinNonPrimColCondContains
    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:5893,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5896,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5899,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5902,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5906,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5915,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5924,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5931,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - ppDst
    - ppSrc
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5945
      start: 5888
    functionDepth: 6
    functionLinenumber: 5888
    functionLinenumberEnd: 5945
    functionName: mergeInnerJoinConds
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodeType
    - nodesListMakeStrictAppendList
    - 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:5953,1
    - Dst: nodesContainsColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5959,1
    - Dst: nodesContainsColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5959,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5960,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5971,1
    - Dst: splitJoinColPrimaryCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5972,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5978,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5979,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5990,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - ppSrc
    - ppDst
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6000
      start: 5947
    functionDepth: 7
    functionLinenumber: 5947
    functionLinenumberEnd: 6000
    functionName: splitJoinColPrimaryCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodeType
    - nodesMergeNode
    - nodesContainsColumn
    - WHERE_EACH
    - ERASE_NODE
    - nodesDestroyNode
    - TSWAP
    - splitJoinColPrimaryCond
    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: 6008
      start: 6002
    functionDepth: 0
    functionLinenumber: 6002
    functionLinenumberEnd: 6008
    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: 6012
      start: 6010
    functionDepth: 0
    functionLinenumber: 6010
    functionLinenumberEnd: 6012
    functionName: isVirtualSTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVirtualSTable(STableMeta* meta)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6023,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6025,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6025,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6027,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6029,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6029,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6031,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6031,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6034,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6034,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6038,1
    - Dst: translateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6038,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6040,1
    - Dst: translateAudit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6040,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6042,1
    - Dst: setTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6042,1
    - Dst: inStreamTriggerClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6045,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6046,1
    - Dst: isVirtualSTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6046,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6047,1
    - Dst: translateVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6047,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6050,1
    - Dst: setTableTsmas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6050,1
    - Dst: isSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6054,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6060,1
    - Dst: isDeleteStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6063,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6064,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6067,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6067,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6071,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6071,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6073
      start: 6014
    functionDepth: 16
    functionLinenumber: 6014
    functionLinenumberEnd: 6073
    functionName: translateRealTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - toName
    - inStreamTriggerClause
    - addNamespace
    - setTableTsmas
    - translateView
    - isVirtualTable
    - translateAudit
    - isSingleTable
    - PAR_ERR_JRET
    - isDeleteStmt
    - setTableVgroupList
    - isVirtualSTable
    - PAR_RET
    - tNameGetFullDbName
    - inStreamCalcClause
    - isSelectStmt
    - collectUseTable
    - translateVirtualTable
    - getTargetMeta
    - taosHashPut
    - parserError
    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:6081,1
    - Dst: translateSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6081,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6083,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6083,1
    - Dst: getJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6093,1
    - Dst: getStmtPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6094,1
    - Dst: stmtIsSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6095,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6096,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6096,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6102
      start: 6075
    functionDepth: 3
    functionLinenumber: 6075
    functionLinenumberEnd: 6102
    functionName: translateTempTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - nodeType
    - getJoinContais
    - PAR_ERR_JRET
    - stmtIsSingleTable
    - addNamespace
    - getStmtPrecision
    - isSelectStmt
    - parserError
    - translateSubquery
    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:6110,1
    - Dst: translateJoinTableImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6110,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6111,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6111,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6112,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6112,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6113,1
    - Dst: checkJoinTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6113,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6116,1
    - Dst: splitJoinColPrimaryCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6116,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6119,1
    - Dst: mergeInnerJoinConds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6119,1
    - Dst: calcJoinTablePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6127,1
    - Dst: joinTableIsSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6128,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6130,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6130,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6131,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6132,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6133,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6136,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6139,1
    - Dst: validateJoinConds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6139,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6144,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6144,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6148
      start: 6104
    functionDepth: 8
    functionLinenumber: 6104
    functionLinenumberEnd: 6148
    functionName: translateJoinTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateTable
    - tstrerror
    - checkJoinTable
    - nodeType
    - validateJoinConds
    - parserError
    - translateJoinTableImpl
    - joinTableIsSingleTable
    - mergeInnerJoinConds
    - translateExpr
    - PAR_ERR_JRET
    - calcJoinTablePrecision
    - nodesDestroyNode
    - splitJoinColPrimaryCond
    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:6153,1
    - Dst: getStreamTriggerPartition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6154,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6157,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6158,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6158,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6163,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6163,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6166,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6166,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6169,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6170,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6172,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6174,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6177,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6177,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6181,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6189,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6190,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6196,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6196,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6202,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6202,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6206,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6211,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6212,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6212,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6214
      start: 6150
    functionDepth: 5
    functionLinenumber: 6150
    functionLinenumberEnd: 6214
    functionName: translatePlaceHolderTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getStreamTriggerTable
    - tstrncpy
    - translateTable
    - tstrerror
    - nodesDestroyNode
    - BIT_FLAG_SET_MASK
    - getStreamTriggerPartition
    - PAR_ERR_JRET
    - nodesMakeNode
    - inStreamCalcClause
    - hasTbnameFunction
    - parserError
    - generateSyntaxErrMsgExt
    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:6222,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6224,1
    - Dst: translateRealTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6224,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6228,1
    - Dst: translateTempTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6228,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6232,1
    - Dst: translateJoinTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6232,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6236,1
    - Dst: translatePlaceHolderTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6244
      start: 6216
    functionDepth: 17
    functionLinenumber: 6216
    functionLinenumberEnd: 6244
    functionName: translateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 4
    functionsReached:
    - nodeType
    - translateRealTable
    - translateJoinTable
    - PAR_ERR_JRET
    - translateTempTable
    - translatePlaceHolderTable
    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:6247,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6249,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6251,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6252,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6254,1
    - Dst: createColumnsByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - igTags
    - pCols
    argTypes:
    - STranslateContext*
    - bool
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6261
      start: 6246
    functionDepth: 6
    functionLinenumber: 6246
    functionLinenumberEnd: 6261
    functionName: createAllColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createColumnsByTable
    - taosArrayGetP
    - generateSyntaxErrMsg
    - nodesMakeList
    - taosArrayGetSize
    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:6265,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6269,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6271,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6272,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6273,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6280,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6283,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6286,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6287,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6289,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6290,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6291,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6292,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6294,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6297,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6298,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6299,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6300,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pSrcFunc
    - pExpr
    - ppNodeOut
    argTypes:
    - SFunctionNode*
    - SExprNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6306
      start: 6263
    functionDepth: 5
    functionLinenumber: 6263
    functionLinenumberEnd: 6306
    functionName: createMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - tstrncpy
    - nodeType
    - taosHashBinary
    - tsnprintf
    - nodesMakeList
    - nodesMakeNode
    - 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:6310,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6312,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6314,1
    - Dst: createColumnsByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pCol
    - igTags
    - pOutput
    argTypes:
    - STranslateContext*
    - SColumnNode*
    - bool
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6321
      start: 6308
    functionDepth: 6
    functionLinenumber: 6308
    functionLinenumberEnd: 6321
    functionName: createTableAllCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createColumnsByTable
    - findTable
    - generateSyntaxErrMsg
    - nodesMakeList
    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:6329,1
    - Dst: createAllColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6330,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6331,1
    - Dst: createTableAllCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6332,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6335,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6337,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pSrcParas
    - pOutput
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6351
      start: 6323
    functionDepth: 7
    functionLinenumber: 6323
    functionLinenumberEnd: 6351
    functionName: createMultiResFuncsParas
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesIsStar
    - nodesDestroyList
    - createTableAllCols
    - createAllColumns
    - nodesCloneNode
    - nodesIsTableStar
    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:6329,1
    - Dst: createAllColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6330,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6331,1
    - Dst: createTableAllCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6332,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6335,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6342
      start: 6328
    functionDepth: 7
    functionLinenumber: 6328
    functionLinenumberEnd: 6342
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 163
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesIsStar
    - createTableAllCols
    - createAllColumns
    - nodesCloneNode
    - nodesIsTableStar
    linkageType: ''
    returnType: void
    signature: void FOREACH(pPara, pSrcParas)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6355,1
    - Dst: createMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6363,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6365,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pSrcFunc
    - pExprs
    - pOutput
    argTypes:
    - SFunctionNode*
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6378
      start: 6353
    functionDepth: 6
    functionLinenumber: 6353
    functionLinenumberEnd: 6378
    functionName: createMultiResFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesDestroyList
    - nodesMakeList
    - 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:6363,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6369
      start: 6361
    functionDepth: 6
    functionLinenumber: 6361
    functionLinenumberEnd: 6369
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 163
    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:6382,1
    - Dst: createMultiResFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6384,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pSrcFunc
    - pOutput
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6389
      start: 6380
    functionDepth: 8
    functionLinenumber: 6380
    functionLinenumberEnd: 6389
    functionName: createMultiResFuncsFromStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createMultiResFuncs
    - nodesDestroyList
    - createMultiResFuncsParas
    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:6392,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6393,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6400,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6404,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6407,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6409,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6411,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6412,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - STranslateContext*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6418
      start: 6391
    functionDepth: 6
    functionLinenumber: 6391
    functionLinenumberEnd: 6418
    functionName: createTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setColumnInfoBySchema
    - nodeType
    - nodesListMakeStrictAppend
    - getTableTagSchema
    - generateSyntaxErrMsg
    - NODES_DESTORY_LIST
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    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:6422,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6424,1
    - Dst: createAllColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6426,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6433,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6434,1
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6437,1
    - Dst: createTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6440,1
    - Dst: createMultiResFuncsFromStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6442,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6445,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6446,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6449,1
    - Dst: createTableAllCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6451,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6453,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6454,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6464
      start: 6420
    functionDepth: 9
    functionLinenumber: 6420
    functionLinenumberEnd: 6464
    functionName: translateStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - INSERT_LIST
    - nodesIsStar
    - ERASE_NODE
    - WHERE_EACH
    - isMultiResFunc
    - createAllColumns
    - createTableAllCols
    - createTags
    - nodesIsTableStar
    - createMultiResFuncsFromStar
    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: 6432
      start: 6429
    functionDepth: 0
    functionLinenumber: 6429
    functionLinenumberEnd: 6432
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 163
    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: 6495
      start: 6466
    functionDepth: 0
    functionLinenumber: 6466
    functionLinenumberEnd: 6495
    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:6505,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6514,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6517,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6520,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6523,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6524,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - pCxt
    - pProjectionList
    - pClauseList
    - pOther
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6534
      start: 6497
    functionDepth: 5
    functionLinenumber: 6497
    functionLinenumberEnd: 6534
    functionName: translateClausePosition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getGroupByNode
    - translateValue
    - nodeType
    - getPositionValue
    - generateSyntaxErrMsg
    - LIST_LENGTH
    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:6505,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6514,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6517,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6520,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6523,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6524,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6532
      start: 6501
    functionDepth: 5
    functionLinenumber: 6501
    functionLinenumberEnd: 6532
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 11
    functionsReached:
    - getGroupByNode
    - translateValue
    - nodeType
    - getPositionValue
    - generateSyntaxErrMsg
    - LIST_LENGTH
    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:6542,1
    - Dst: rewriteColsFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6544,1
    - Dst: rewriteHavingColsNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6546,1
    - Dst: rewriteColsFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6548,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6551,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6553,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - clause
    - pSelect
    argTypes:
    - STranslateContext*
    - ESqlClause
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6560
      start: 6540
    functionDepth: 2
    functionLinenumber: 6540
    functionLinenumberEnd: 6560
    functionName: prepareColumnExpansion
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateExprList
    - rewriteColsFunction
    - generateSyntaxErrMsgExt
    - rewriteHavingColsNode
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareColumnExpansion(STranslateContext* pCxt, ESqlClause
      clause, SSelectStmt* pSelect)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: prepareColumnExpansion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6564,1
    - Dst: translateClausePosition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6568,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6570,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6571,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6578,1
    - Dst: checkExprListForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6584
      start: 6562
    functionDepth: 6
    functionLinenumber: 6562
    functionLinenumberEnd: 6584
    functionName: translateOrderBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateClausePosition
    - prepareColumnExpansion
    - translateExprList
    - NODES_DESTORY_LIST
    - checkExprListForGroupBy
    - LIST_LENGTH
    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:6587,1
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6593
      start: 6586
    functionDepth: 2
    functionLinenumber: 6586
    functionLinenumberEnd: 6593
    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:6597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6599
      start: 6595
    functionDepth: 3
    functionLinenumber: 6595
    functionLinenumberEnd: 6599
    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:6602,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6603,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6603,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6607,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6609,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6611,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6613,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6615,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: 6618
      start: 6601
    functionDepth: 6
    functionLinenumber: 6601
    functionLinenumberEnd: 6618
    functionName: convertFillValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - nodesListGetCell
    - nodeType
    - dataTypeEqual
    - generateSyntaxErrMsgExt
    - createCastFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertFillValue(STranslateContext* pCxt, SDataType dt, SNodeList*
      pValues, int32_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6625,1
    - Dst: needFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6627,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6628,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6629,1
    - Dst: convertFillValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6631,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6639,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pFill
    - pProjectionList
    argTypes:
    - STranslateContext*
    - SFillNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6643
      start: 6620
    functionDepth: 7
    functionLinenumber: 6620
    functionLinenumberEnd: 6643
    functionName: doCheckFillValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - needFill
    - convertFillValue
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    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:6627,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6628,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6629,1
    - Dst: convertFillValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6638
      start: 6626
    functionDepth: 7
    functionLinenumber: 6626
    functionLinenumberEnd: 6638
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 163
    functionsReached:
    - needFill
    - convertFillValue
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProject, pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doCheckFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pFill
    - pProjectionList
    argTypes:
    - STranslateContext*
    - SFillNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6651
      start: 6645
    functionDepth: 8
    functionLinenumber: 6645
    functionLinenumberEnd: 6651
    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,
      SNodeList* pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6654,1
    - Dst: checkFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6659
      start: 6653
    functionDepth: 9
    functionLinenumber: 6653
    functionLinenumberEnd: 6659
    functionName: translateFillValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkFillValues
    - nodeType
    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:6667,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6672
      start: 6661
    functionDepth: 2
    functionLinenumber: 6661
    functionLinenumberEnd: 6672
    functionName: rewriteProjectAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - rewriteExprAliasName
    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:6667,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6670
      start: 6664
    functionDepth: 2
    functionLinenumber: 6664
    functionLinenumberEnd: 6670
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 163
    functionsReached:
    - tstrncpy
    - rewriteExprAliasName
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProject, pProjectionList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6675,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6675,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6676,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6682,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6682,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6683,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6684,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6686,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6686,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pProjectionList
    - pOutput
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6695
      start: 6674
    functionDepth: 1
    functionLinenumber: 6674
    functionLinenumberEnd: 6695
    functionName: checkProjectAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - taosHashInit
    - generateSyntaxErrMsg
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - LIST_LENGTH
    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:6682,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6682,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6683,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6684,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6686,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6688
      start: 6680
    functionDepth: 1
    functionLinenumber: 6680
    functionLinenumberEnd: 6688
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 163
    functionsReached:
    - taosHashGet
    - strlen
    - generateSyntaxErrMsg
    - taosHashPut
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProject, pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6700,1
    - Dst: rewriteProjectAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6706
      start: 6697
    functionDepth: 3
    functionLinenumber: 6697
    functionLinenumberEnd: 6706
    functionName: translateProjectionList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteProjectAlias
    - FOREACH
    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:6719,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6721,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6727,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6728,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6730,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6730,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6735,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6738,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6744,1
    - Dst: translateColumnInGroupByClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6746,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6751,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6754,1
    - Dst: doTranslateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6761,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6762
      start: 6713
    functionDepth: 16
    functionLinenumber: 6713
    functionLinenumberEnd: 6762
    functionName: translateGroupPartitionByImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - translateValue
    - nodeType
    - getPositionValue
    - translateExpr
    - nodesDestroyNode
    - translateColumnInGroupByClause
    - nodesCloneNode
    - LIST_LENGTH
    - doTranslateExpr
    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:6769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6772
      start: 6764
    functionDepth: 1
    functionLinenumber: 6764
    functionLinenumberEnd: 6772
    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:6780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6783
      start: 6774
    functionDepth: 1
    functionLinenumber: 6774
    functionLinenumberEnd: 6783
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareColumnExpansion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6787,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6789,1
    - Dst: translateStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6792,1
    - Dst: translateProjectionList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6795,1
    - Dst: checkExprListForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6798,1
    - Dst: translateFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6801,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6811
      start: 6785
    functionDepth: 10
    functionLinenumber: 6785
    functionLinenumberEnd: 6811
    functionName: translateSelectList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateFillValues
    - prepareColumnExpansion
    - translateExprList
    - checkExprListForGroupBy
    - translateProjectionList
    - 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:6816,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6817,1
    - Dst: prepareColumnExpansion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6821,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6826,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6829,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6831,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6835,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6836
      start: 6813
    functionDepth: 3
    functionLinenumber: 6813
    functionLinenumberEnd: 6836
    functionName: translateHaving
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - translateExpr
    - isWindowJoinStmt
    - prepareColumnExpansion
    - generateSyntaxErrMsg
    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:6843,1
    - Dst: translateClausePosition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6847,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6849,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6850,1
    - Dst: translateGroupByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6857
      start: 6838
    functionDepth: 6
    functionLinenumber: 6838
    functionLinenumberEnd: 6857
    functionName: translateGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateClausePosition
    - generateSyntaxErrMsg
    - NODES_DESTORY_LIST
    - translateGroupByList
    - LIST_LENGTH
    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:6861,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6864,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6865,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pPrimaryKeyCond
    - pTimeRange
    - pIsStrict
    argTypes:
    - SNode**
    - STimeWindow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6871
      start: 6859
    functionDepth: 8
    functionLinenumber: 6859
    functionLinenumberEnd: 6871
    functionName: getTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - filterGetTimeRange
    - nodeType
    - TAOS_SET_OBJ_ALIGNED
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTimeRange(SNode** pPrimaryKeyCond, STimeWindow* pTimeRange,
      bool* pIsStrict)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6879,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6882,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6884,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6892
      start: 6877
    functionDepth: 1
    functionLinenumber: 6877
    functionLinenumberEnd: 6892
    functionName: conditionOnlyPhAndConstImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsScalarFunc
    - nodeType
    - fmIsPlaceHolderFunc
    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:6900,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6915
      start: 6899
    functionDepth: 3
    functionLinenumber: 6899
    functionLinenumberEnd: 6915
    functionName: filterExtractTsNeedCollect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool filterExtractTsNeedCollect(SNode* pLeft, SNode* pRight)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6920,1
    - Dst: filterExtractTsNeedCollect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6927,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6930,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6930,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6932,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6932,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6934,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6934,1
    - Dst: filterExtractTsNeedCollect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6937,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6940,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6942,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6942,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6944,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6946,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6946,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6948,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6948,1
    - Dst: filterExtractTsNeedCollect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6955,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6959,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6959,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6960,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6960,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6963,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6963,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6964,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6964,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6965,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6965,1
    - Dst: filterExtractTsNeedCollect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6968,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6972,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6972,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6973,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6973,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6976,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6977,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6978,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6978,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6979,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6979,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6980,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6980,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 77
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7005
      start: 6917
    functionDepth: 6
    functionLinenumber: 6917
    functionLinenumberEnd: 7005
    functionName: filterExtractTsCondImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromBool
    - nodeType
    - filterExtractTsNeedCollect
    - nodesListMakeAppend
    - PAR_ERR_JRET
    - TSWAP
    - nodesCloneNode
    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:7008,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7008,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7014,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7016,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7020,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7021,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7031,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - pCond
    - start
    - equal
    argTypes:
    - SNode*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7048
      start: 7007
    functionDepth: 1
    functionLinenumber: 7007
    functionLinenumberEnd: 7048
    functionName: tsRangeSameToWindowRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    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:7055,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7059,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7059,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7064,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7064,1
    - Dst: tsRangeSameToWindowRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7065,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7068,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7068,1
    - Dst: tsRangeSameToWindowRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7069,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7078,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - pCond
    - pTimeRangeExpr
    - leftEq
    - rightEq
    argTypes:
    - SNode**
    - SNode**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7080
      start: 7050
    functionDepth: 6
    functionLinenumber: 7050
    functionLinenumberEnd: 7080
    functionName: filterExtractTsCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tsRangeSameToWindowRange
    - nodesRewriteExpr
    - PAR_ERR_JRET
    - nodesMergeConds
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterExtractTsCond(SNode** pCond, SNode** pTimeRangeExpr,
      bool leftEq, bool rightEq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7085,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7092,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7092,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7095,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7101,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7101,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7102,1
    - Dst: filterExtractTsCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7102,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7104,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7108,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7108,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7112,1
    - Dst: getTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7112,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7114,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7118,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - pCxt
    - pWhere
    - pTimeRange
    - pTimeRangeExpr
    - pFromTable
    argTypes:
    - STranslateContext*
    - SNode**
    - STimeWindow*
    - SNode**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7121
      start: 7082
    functionDepth: 9
    functionLinenumber: 7082
    functionLinenumberEnd: 7121
    functionName: getQueryTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTimeRange
    - nodeType
    - PAR_ERR_JRET
    - filterPartitionCond
    - TAOS_SET_OBJ_ALIGNED
    - inStreamCalcClause
    - nodesDestroyNode
    - TSWAP
    - nodesCloneNode
    - filterExtractTsCond
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getQueryTimeRange(STranslateContext* pCxt, SNode** pWhere,
      STimeWindow* pTimeRange,\n                                 SNode** pTimeRangeExpr,
      SNode* pFromTable)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7126,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7132,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7133,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7139,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7142,1
    - Dst: int64SafeSub
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7152,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7154,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7156,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7166,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7167,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: 7171
      start: 7123
    functionDepth: 1
    functionLinenumber: 7123
    functionLinenumberEnd: 7171
    functionName: checkFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - TSWINDOW_IS_EQUAL
    - IS_CALENDAR_TIME_DURATION
    - generateSyntaxErrMsg
    - convertTimePrecision
    - inStreamCalcClause
    - int64SafeSub
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkFill(STranslateContext* pCxt, SFillNode* pFill, SValueNode*
      pInterval, bool isInterpFill, uint8_t precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7179,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7179,1
    - Dst: checkFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pInterval
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SIntervalWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7181
      start: 7173
    functionDepth: 3
    functionLinenumber: 7173
    functionLinenumberEnd: 7181
    functionName: translateFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - nodesCloneNode
    - 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:7185,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: 7211
      start: 7183
    functionDepth: 1
    functionLinenumber: 7183
    functionLinenumberEnd: 7211
    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: 7225
      start: 7213
    functionDepth: 0
    functionLinenumber: 7213
    functionLinenumberEnd: 7225
    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: 7239
      start: 7227
    functionDepth: 0
    functionLinenumber: 7227
    functionLinenumberEnd: 7239
    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: 7252
      start: 7241
    functionDepth: 0
    functionLinenumber: 7241
    functionLinenumberEnd: 7252
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7260,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7262,1
    - Dst: getPrecisionStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7263,1
    - Dst: getPrecisionMultiple
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7264,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7265,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7271,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7272,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7276,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7279,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7281,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7283,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7287,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7291,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7296,1
    - Dst: convertVarDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7301,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7309,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7310,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7313,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7315,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7319,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7323,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7328,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7332,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 2
    argNames:
    - pCxt
    - pInterval
    argTypes:
    - STranslateContext*
    - SIntervalWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7337
      start: 7256
    functionDepth: 2
    functionLinenumber: 7256
    functionLinenumberEnd: 7337
    functionName: checkIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getPrecisionMultiple
    - convertVarDuration
    - getPrecisionStr
    - IS_CALENDAR_TIME_DURATION
    - generateSyntaxErrMsg
    - convertTimePrecision
    - getMonthsFromTimeVal
    - parserError
    - getPrecisionUnit
    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:7341,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7341,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7345,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7345,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7346,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7346,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: 7369
      start: 7340
    functionDepth: 2
    functionLinenumber: 7340
    functionLinenumberEnd: 7369
    functionName: checkTimeGreater
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_CALENDAR_TIME_DURATION
    - PAR_ERR_RET
    - getMonthsFromTimeVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkTimeGreater(SValueNode* pLeftTime, SValueNode* pRightTime,
      uint8_t precision, bool greateEqual, bool* res)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7380,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7382,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7382,1
    - Dst: getPrecisionStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7383,1
    - Dst: getPrecisionMultiple
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7384,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7385,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7385,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7391,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7391,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7395,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7395,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7399,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7399,1
    - Dst: checkTimeGreater
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7403,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7407,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7407,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7413,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7414,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7414,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7417,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7417,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7423,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7423,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7427,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7427,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7431,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7431,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7436,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7436,1
    - Dst: checkTimeGreater
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7440,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7444,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7444,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 2
    argNames:
    - pCxt
    - pInterval
    argTypes:
    - STranslateContext*
    - SIntervalWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7449
      start: 7371
    functionDepth: 3
    functionLinenumber: 7371
    functionLinenumberEnd: 7449
    functionName: checkStreamIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getPrecisionMultiple
    - getPrecisionStr
    - IS_CALENDAR_TIME_DURATION
    - checkTimeGreater
    - generateSyntaxErrMsg
    - PAR_ERR_RET
    - 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:7480,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7481,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7486,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - pInterval
    argTypes:
    - SIntervalWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7488
      start: 7451
    functionDepth: 1
    functionLinenumber: 7451
    functionLinenumberEnd: 7488
    functionName: tryCalcIntervalAutoOffset
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_CALENDAR_TIME_DURATION
    - calcIntervalAutoOffset
    linkageType: ''
    returnType: void
    signature: void tryCalcIntervalAutoOffset(SIntervalWindowNode *pInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryCalcIntervalAutoOffset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7495,1
    - Dst: checkIntervalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7497,1
    - Dst: translateFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7502
      start: 7490
    functionDepth: 4
    functionLinenumber: 7490
    functionLinenumberEnd: 7502
    functionName: translateIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkIntervalWindow
    - tryCalcIntervalAutoOffset
    - translateFill
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateIntervalWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7516,1
    - Dst: getPrecisionMultiple
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7518,1
    - Dst: getPrecisionMultiple
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7519,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7520,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7526,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7526,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7530,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7530,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7535,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7535,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7539,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7539,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pPeriod
    argTypes:
    - STranslateContext*
    - SPeriodWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7544
      start: 7508
    functionDepth: 1
    functionLinenumber: 7508
    functionLinenumberEnd: 7544
    functionName: checkPeriodWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getPrecisionMultiple
    - generateSyntaxErrMsg
    - PAR_ERR_RET
    - 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:7548,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7548,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7549,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7552,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7557
      start: 7546
    functionDepth: 1
    functionLinenumber: 7546
    functionLinenumberEnd: 7557
    functionName: checkStateExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - IS_INTEGER_TYPE
    - IS_VAR_DATA_TYPE
    - nodeType
    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:7568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7571
      start: 7559
    functionDepth: 1
    functionLinenumber: 7559
    functionLinenumberEnd: 7571
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7579,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7581,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7585
      start: 7573
    functionDepth: 1
    functionLinenumber: 7573
    functionLinenumberEnd: 7585
    functionName: checkTrueForLimit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_CALENDAR_TIME_DURATION
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkTrueForLimit(STranslateContext *pCxt, SNode *pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7588,1
    - Dst: checkStateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7588,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7589,1
    - Dst: checkStateExtend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7589,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7590,1
    - Dst: checkTrueForLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pState
    argTypes:
    - STranslateContext*
    - SStateWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7592
      start: 7587
    functionDepth: 2
    functionLinenumber: 7587
    functionLinenumberEnd: 7592
    functionName: checkStateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - checkTrueForLimit
    - checkStateExtend
    - checkStateExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkStateWindow(STranslateContext* pCxt, SStateWindowNode*
      pState)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7595,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7596,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7597,1
    - Dst: checkStateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7602
      start: 7594
    functionDepth: 3
    functionLinenumber: 7594
    functionLinenumberEnd: 7602
    functionName: translateStateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isGlobalTimeLineQuery
    - generateSyntaxErrMsgExt
    - nodeType
    - 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:7606,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7606,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7608,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7609,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pSession
    argTypes:
    - STranslateContext*
    - SSessionWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7612
      start: 7604
    functionDepth: 2
    functionLinenumber: 7604
    functionLinenumberEnd: 7612
    functionName: checkSessionWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - PAR_ERR_RET
    - 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:7615,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7616,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7617,1
    - Dst: checkSessionWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7622
      start: 7614
    functionDepth: 3
    functionLinenumber: 7614
    functionLinenumberEnd: 7622
    functionName: translateSessionWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isGlobalTimeLineQuery
    - checkSessionWindow
    - generateSyntaxErrMsgExt
    - nodeType
    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:7627,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7632,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7633,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7639
      start: 7624
    functionDepth: 5
    functionLinenumber: 7624
    functionLinenumberEnd: 7639
    functionName: collectWindowsPseudocolumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesCloneNode
    - nodeType
    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:7645,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7645,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7648,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7650,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7653,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7655,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pEventWindowNode
    argTypes:
    - SEventWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7661
      start: 7641
    functionDepth: 6
    functionLinenumber: 7641
    functionLinenumberEnd: 7661
    functionName: checkWindowsConditonValid
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesWalkExpr
    - PAR_ERR_JRET
    - nodesDestroyList
    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:7664,1
    - Dst: checkTrueForLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7664,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7665,1
    - Dst: checkWindowsConditonValid
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pEvent
    argTypes:
    - STranslateContext*
    - SEventWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7666
      start: 7663
    functionDepth: 7
    functionLinenumber: 7663
    functionLinenumberEnd: 7666
    functionName: checkEventWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkWindowsConditonValid
    - PAR_ERR_RET
    - checkTrueForLimit
    - 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:7669,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7670,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7671,1
    - Dst: checkEventWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7675
      start: 7668
    functionDepth: 8
    functionLinenumber: 7668
    functionLinenumberEnd: 7675
    functionName: translateEventWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isGlobalTimeLineQuery
    - generateSyntaxErrMsgExt
    - nodeType
    - checkEventWindow
    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:7679,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7679,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7684,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7684,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7689,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7689,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7694,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7694,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7700,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7701,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7702,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7702,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7707,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - pCountWin
    - streamTrigger
    argTypes:
    - STranslateContext*
    - SCountWindowNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7714
      start: 7677
    functionDepth: 1
    functionLinenumber: 7677
    functionLinenumberEnd: 7714
    functionName: checkCountWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - generateSyntaxErrMsgExt
    - nodeType
    - 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:7719,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7720,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7721,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7726,1
    - Dst: extractCondFromCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7726,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7729,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7729,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7730,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7730,1
    - Dst: checkCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7733,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7740
      start: 7716
    functionDepth: 4
    functionLinenumber: 7716
    functionLinenumberEnd: 7740
    functionName: translateCountWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isGlobalTimeLineQuery
    - extractCondFromCountWindow
    - nodeType
    - translateExpr
    - PAR_ERR_JRET
    - checkCountWindow
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCountWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7744,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7745,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7749,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7755
      start: 7742
    functionDepth: 1
    functionLinenumber: 7742
    functionLinenumberEnd: 7755
    functionName: checkAnomalyExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - IS_MATHABLE_TYPE
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAnomalyExpr(STranslateContext* pCxt, SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7758,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7759,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7760,1
    - Dst: checkAnomalyExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7765,1
    - Dst: taosAnalyGetOptStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7767,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7774
      start: 7757
    functionDepth: 2
    functionLinenumber: 7757
    functionLinenumberEnd: 7774
    functionName: translateAnomalyWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isGlobalTimeLineQuery
    - nodeType
    - taosAnalyGetOptStr
    - generateSyntaxErrMsgExt
    - checkAnomalyExpr
    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: 7782
      start: 7776
    functionDepth: 0
    functionLinenumber: 7776
    functionLinenumberEnd: 7782
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7785,1
    - Dst: translateStateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7787,1
    - Dst: translateSessionWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7789,1
    - Dst: translateIntervalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7791,1
    - Dst: translateEventWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7793,1
    - Dst: translateCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7795,1
    - Dst: translateAnomalyWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7797,1
    - Dst: translatePeriodWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7804
      start: 7784
    functionDepth: 9
    functionLinenumber: 7784
    functionLinenumberEnd: 7804
    functionName: translateSpecificWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateIntervalWindow
    - translateCountWindow
    - nodeType
    - translatePeriodWindow
    - translateEventWindow
    - translateAnomalyWindow
    - translateStateWindow
    - translateSessionWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSpecificWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7812,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7815,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7816,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7817,1
    - Dst: isTimeLineAlignedQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7819,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7821,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7823,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7825,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7829,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7830,1
    - Dst: isBlockTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7831,1
    - Dst: isTimeLineAlignedQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7833,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7835,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7837,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7839,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7844,1
    - Dst: translateSpecificWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7846,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 37
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7849
      start: 7806
    functionDepth: 10
    functionLinenumber: 7806
    functionLinenumberEnd: 7849
    functionName: translateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isGlobalTimeLineQuery
    - nodeType
    - generateDealNodeErrMsg
    - translateExpr
    - generateSyntaxErrMsg
    - isTimeLineAlignedQuery
    - isBlockTimeLineQuery
    - translateSpecificWindow
    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:7853,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7861,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7863,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7872
      start: 7851
    functionDepth: 5
    functionLinenumber: 7851
    functionLinenumberEnd: 7872
    functionName: createDefaultFillNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    - nodesMakeNode
    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:7876,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7884,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7893
      start: 7874
    functionDepth: 5
    functionLinenumber: 7874
    functionLinenumberEnd: 7893
    functionName: createDefaultEveryNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - taosStrdup
    - nodesMakeNode
    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:7896,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInterval
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7905
      start: 7895
    functionDepth: 1
    functionLinenumber: 7895
    functionLinenumberEnd: 7905
    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:7911,1
    - Dst: checkEvery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7914,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7917,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pEvery
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7927
      start: 7907
    functionDepth: 6
    functionLinenumber: 7907
    functionLinenumberEnd: 7927
    functionName: translateInterpEvery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createDefaultEveryNode
    - checkEvery
    - generateSyntaxErrMsgExt
    - translateExpr
    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:7931,1
    - Dst: fmIsRowTsOriginFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7939
      start: 7929
    functionDepth: 1
    functionLinenumber: 7929
    functionLinenumberEnd: 7939
    functionName: hasRowTsOriginFuncWalkNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsRowTsOriginFunc
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes hasRowTsOriginFuncWalkNode(SNode* pNode, void* ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: createDefaultFillNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7945,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7948,1
    - Dst: getQueryTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7951,1
    - Dst: checkFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7954,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7957,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7962,1
    - Dst: doCheckFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7965,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7969,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7973,1
    - Dst: checkFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7976,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7981
      start: 7941
    functionDepth: 10
    functionLinenumber: 7941
    functionLinenumberEnd: 7981
    functionName: translateInterpFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createDefaultFillNode
    - getQueryTimeRange
    - nodesWalkExprs
    - translateExpr
    - checkFill
    - generateSyntaxErrMsg
    - doCheckFillValues
    - checkFillValues
    - generateSyntaxErrMsgExt
    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:7987,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7989,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7993,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7998,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8002,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8007
      start: 7983
    functionDepth: 2
    functionLinenumber: 7983
    functionLinenumberEnd: 8007
    functionName: translateInterpAround
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - translateExpr
    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:8012,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8015,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8021,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8023,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8024,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8031,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8034,1
    - Dst: translateInterpAround
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8040,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8043,1
    - Dst: translateInterpEvery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8046,1
    - Dst: translateInterpFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8049,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8052
      start: 8009
    functionDepth: 11
    functionLinenumber: 8009
    functionLinenumberEnd: 8052
    functionName: translateInterp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_WINDOW_JOIN
    - nodeType
    - translateInterpAround
    - translateExpr
    - generateSyntaxErrMsg
    - translateInterpEvery
    - translateInterpFill
    - generateSyntaxErrMsgExt
    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:8057,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8063,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8065,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8066,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8072
      start: 8054
    functionDepth: 1
    functionLinenumber: 8054
    functionLinenumberEnd: 8072
    functionName: translateForecast
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_WINDOW_JOIN
    - generateSyntaxErrMsgExt
    - nodeType
    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:8076,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8077,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8078,1
    - Dst: fmIsConstantResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8078,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8079,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8080,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8092
      start: 8074
    functionDepth: 6
    functionLinenumber: 8074
    functionLinenumberEnd: 8092
    functionName: removeConstantValueFromList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsScalarFunc
    - WHERE_EACH
    - ERASE_NODE
    - nodesDestroyList
    - fmIsConstantResFunc
    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:8100,1
    - Dst: getTableTypeFromTableNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8104,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8105,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8107,1
    - Dst: translatePartitionByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8113
      start: 8094
    functionDepth: 6
    functionLinenumber: 8094
    functionLinenumberEnd: 8113
    functionName: translatePartitionBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - translateClausePosition
    - getTableTypeFromTableNode
    - translatePartitionByList
    linkageType: ''
    returnType: int32_t
    signature: int32_t translatePartitionBy(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8130,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8132,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8135,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8137,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8146,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8147,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8148,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8149,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8157,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8161,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - pCxt
    - pOperator
    - ppTableAlias
    - ppTabNames
    - pRet
    argTypes:
    - STranslateContext*
    - SOperatorNode*
    - char**
    - SArray**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8169
      start: 8121
    functionDepth: 1
    functionLinenumber: 8121
    functionLinenumberEnd: 8169
    functionName: isOperatorEqTbnameCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - nodeType
    - LIST_LENGTH
    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:8175,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8177,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8183,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8185,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8186,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8187,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8195,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8195,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8200,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8204,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8205,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: 8212
      start: 8172
    functionDepth: 1
    functionLinenumber: 8172
    functionLinenumberEnd: 8212
    functionName: isOperatorTbnameInCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - nodeType
    - LIST_LENGTH
    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:8200,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8204,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8209
      start: 8199
    functionDepth: 1
    functionLinenumber: 8199
    functionLinenumberEnd: 8209
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 165
    functionsReached:
    - taosArrayPush
    - nodeType
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void FOREACH(pValNode, pValueNodeList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isOperatorEqTbnameCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8219,1
    - Dst: isOperatorTbnameInCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8221,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8229,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8231,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - pWhere
    - pInfo
    - pRet
    argTypes:
    - STranslateContext*
    - SNode*
    - SEqCondTbNameTableInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8242
      start: 8214
    functionDepth: 2
    functionLinenumber: 8214
    functionLinenumberEnd: 8242
    functionName: findEqCondTbNameInOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isOperatorEqTbnameCond
    - taosArrayDestroy
    - nodeType
    - findTable
    - isOperatorTbnameInCond
    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:8245,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - aTableTbNames
    - pTable
    argTypes:
    - SArray*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8252
      start: 8244
    functionDepth: 1
    functionLinenumber: 8244
    functionLinenumberEnd: 8252
    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:8257,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8258,1
    - Dst: findEqCondTbNameInOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8261,1
    - Dst: isTableExistInTableTbnames
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8264,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8266,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pWhere
    - aTableTbnames
    argTypes:
    - STranslateContext*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8278
      start: 8254
    functionDepth: 3
    functionLinenumber: 8254
    functionLinenumberEnd: 8278
    functionName: findEqualCondTbnameInLogicCondAnd
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - findEqCondTbNameInOperatorNode
    - nodeType
    - isTableExistInTableTbnames
    - FOREACH
    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:8283,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8284,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8286,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8290,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - aTableTbnames
    - pInfo
    argTypes:
    - SArray*
    - SEqCondTbNameTableInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8302
      start: 8280
    functionDepth: 1
    functionLinenumber: 8280
    functionLinenumberEnd: 8302
    functionName: unionEqualCondTbnamesOfSameTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayAddAll
    - taosArrayPush
    - taosArrayGet
    - taosArrayGetSize
    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:8308,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8310,1
    - Dst: findEqCondTbNameInOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8313,1
    - Dst: unionEqualCondTbnamesOfSameTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8319,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8329,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8330,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pWhere
    - aTableTbnames
    argTypes:
    - STranslateContext*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8336
      start: 8304
    functionDepth: 3
    functionLinenumber: 8304
    functionLinenumberEnd: 8336
    functionName: findEqualCondTbnameInLogicCondOr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - findEqCondTbNameInOperatorNode
    - nodeType
    - taosArrayGet
    - unionEqualCondTbnamesOfSameTable
    - taosArrayClear
    - taosArrayGetSize
    - FOREACH
    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:8341,1
    - Dst: findEqCondTbNameInOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8344,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8347,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8351,1
    - Dst: findEqualCondTbnameInLogicCondAnd
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8353,1
    - Dst: findEqualCondTbnameInLogicCondOr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pWhere
    - aTableTbnames
    argTypes:
    - STranslateContext*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8359
      start: 8338
    functionDepth: 4
    functionLinenumber: 8338
    functionLinenumberEnd: 8359
    functionName: findEqualCondTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - findEqCondTbNameInOperatorNode
    - findEqualCondTbnameInLogicCondOr
    - nodeType
    - findEqualCondTbnameInLogicCondAnd
    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:8364,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8373,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8374,1
    - Dst: catalogGetCachedTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8377,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: 8396
      start: 8361
    functionDepth: 10
    functionLinenumber: 8361
    functionLinenumberEnd: 8396
    functionName: findVgroupsFromEqualTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - catalogGetCachedTableHashVgroup
    - toName
    - taosArrayGetSize
    - taosArrayGetP
    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:8402,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8403,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8406,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8406,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8414,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8422,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8424,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8425,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8427,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8428,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8431,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8437,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8440,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8449,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - STranslateContext*
    - SEqCondTbNameTableInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8451
      start: 8398
    functionDepth: 11
    functionLinenumber: 8398
    functionLinenumberEnd: 8451
    functionName: replaceToChildTableQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrncpy
    - taosArrayInit
    - catalogGetCachedTableMeta
    - toName
    - taosArrayGetP
    - snprintf
    - tsnprintf
    - taosCreateMD5Hash
    - taosMemoryFree
    - TAOS_CHECK_RETURN
    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:8455,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8460,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8462,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8464,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8466,1
    - Dst: findVgroupsFromEqualTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8471,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8473,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8476,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8482,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8486,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8487,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8491,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8492,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8497,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8498,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8502,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8504,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8504,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8507,1
    - Dst: findVgroupsFromEqualTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8511,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8513,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8514,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8518,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8521,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8530,1
    - Dst: replaceToChildTableQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8534,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - aTables
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8538
      start: 8453
    functionDepth: 12
    functionLinenumber: 8453
    functionLinenumberEnd: 8538
    functionName: setEqualTbnameTableVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - strlen
    - taosArrayInit
    - parserDebug
    - taosArrayGet
    - taosMemoryFreeClear
    - findVgroupsFromEqualTbname
    - taosArrayGetP
    - snprintf
    - taosArrayGetSize
    - taosCreateMD5Hash
    - replaceToChildTableQuery
    - taosMemoryCalloc
    - taosArrayDestroyP
    - taosMemoryFree
    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:8542,1
    - Dst: findEqualCondTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8543,1
    - Dst: setEqualTbnameTableVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8545,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8547,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8548,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8549,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8553
      start: 8540
    functionDepth: 13
    functionLinenumber: 8540
    functionLinenumberEnd: 8553
    functionName: setTableVgroupsFromEqualTbnameCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - findEqualCondTbname
    - taosArrayGet
    - taosArrayGetSize
    - setEqualTbnameTableVgroups
    linkageType: ''
    returnType: int32_t
    signature: int32_t setTableVgroupsFromEqualTbnameCond(STranslateContext* pCxt,
      SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8558,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8558,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8559,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8559,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8562,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8562,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8563,1
    - Dst: getQueryTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8563,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8565,1
    - Dst: setTableVgroupsFromEqualTbnameCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8568
      start: 8555
    functionDepth: 14
    functionLinenumber: 8555
    functionLinenumberEnd: 8568
    functionName: translateWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getQueryTimeRange
    - setTableVgroupsFromEqualTbnameCond
    - translateExpr
    - BIT_FLAG_TEST_MASK
    - PAR_ERR_RET
    - inStreamCalcClause
    - generateSyntaxErrMsgExt
    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:8572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8573
      start: 8570
    functionDepth: 18
    functionLinenumber: 8570
    functionLinenumberEnd: 8573
    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:8579,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8582,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8585,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8588,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8594,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8599,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8603
      start: 8575
    functionDepth: 2
    functionLinenumber: 8575
    functionLinenumberEnd: 8603
    functionName: checkLimit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - translateExpr
    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:8607,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8612,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8614,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pPrimaryKey
    argTypes:
    - STranslateContext*
    - STableNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8620
      start: 8605
    functionDepth: 8
    functionLinenumber: 8605
    functionLinenumberEnd: 8620
    functionName: createPrimaryKeyColByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - findAndSetColumn
    - generateSyntaxErrMsg
    - tstrncpy
    - nodesMakeNode
    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:8624,1
    - Dst: createPrimaryKeyColByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - tableAlias
    - pPrimaryKey
    argTypes:
    - STranslateContext*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8629
      start: 8622
    functionDepth: 9
    functionLinenumber: 8622
    functionLinenumberEnd: 8629
    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:8632,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8638,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8638,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8645,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8651
      start: 8631
    functionDepth: 1
    functionLinenumber: 8631
    functionLinenumberEnd: 8651
    functionName: collectTableAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - nodeType
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - tSimpleHashInit
    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:8655,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8657,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8658,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8678,1
    - Dst: tranCreatePrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8680,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8682,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8683,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8687,1
    - Dst: tranCreatePrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8688,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8689,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8697
      start: 8653
    functionDepth: 10
    functionLinenumber: 8653
    functionLinenumberEnd: 8697
    functionName: appendTsForImplicitTsFuncImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - nodesListMakeStrictAppend
    - nodesWalkExprs
    - tSimpleHashCleanup
    - generateSyntaxErrMsg
    - tranCreatePrimaryKeyCol
    - isImplicitTsFunc
    - isSelectStmt
    - generateSyntaxErrMsgExt
    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:8700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8702
      start: 8699
    functionDepth: 6
    functionLinenumber: 8699
    functionLinenumberEnd: 8702
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8706,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8711,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8713,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pPk
    argTypes:
    - STranslateContext*
    - SRealTableNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8719
      start: 8704
    functionDepth: 8
    functionLinenumber: 8704
    functionLinenumberEnd: 8719
    functionName: createPkColByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - findAndSetColumn
    - generateSyntaxErrMsg
    - tstrncpy
    - nodesMakeNode
    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:8722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8727
      start: 8721
    functionDepth: 1
    functionLinenumber: 8721
    functionLinenumberEnd: 8727
    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:8731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8733
      start: 8729
    functionDepth: 3
    functionLinenumber: 8729
    functionLinenumberEnd: 8733
    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:8738,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8739,1
    - Dst: isPkFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8739,1
    - Dst: hasPkCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8739,1
    - Dst: createPkColByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8743,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8754
      start: 8735
    functionDepth: 9
    functionLinenumber: 8735
    functionLinenumberEnd: 8754
    functionName: appendPkForPkFuncImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isPkFunc
    - createPkColByTable
    - hasPkCol
    - nodesListMakeStrictAppend
    - nodeType
    - findTable
    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:8757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8759
      start: 8756
    functionDepth: 6
    functionLinenumber: 8756
    functionLinenumberEnd: 8759
    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:8772,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8775,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8776,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8776,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8777,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8777,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8781,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8786,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8795,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:8800,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8802,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8805,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8806,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8808,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8808,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8814,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8821
      start: 8768
    functionDepth: 5
    functionLinenumber: 8768
    functionLinenumberEnd: 8821
    functionName: replaceOrderByAliasImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - translateValue
    - nodeType
    - getPositionValue
    - generateDealNodeErrMsg
    - nodesDestroyNode
    - nodesEqualNode
    - nodesCloneNode
    - LIST_LENGTH
    - 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:8775,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8776,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8776,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8777,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8777,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8781,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8786,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8790
      start: 8773
    functionDepth: 4
    functionLinenumber: 8773
    functionLinenumberEnd: 8790
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 167
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - nodesEqualNode
    - nodesCloneNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProject, pProjectionList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8830,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: 8836
      start: 8823
    functionDepth: 1
    functionLinenumber: 8823
    functionLinenumberEnd: 8836
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8842,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8843,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8843,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8844,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8844,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8849,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8850,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8859
      start: 8838
    functionDepth: 2
    functionLinenumber: 8838
    functionLinenumberEnd: 8859
    functionName: resetResultTimeline
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - isPrimaryKeyImpl
    - nodeType
    linkageType: ''
    returnType: void
    signature: void resetResultTimeline(SSelectStmt* pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: replaceOrderByAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8862,1
    - Dst: resetResultTimeline
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8867
      start: 8861
    functionDepth: 3
    functionLinenumber: 8861
    functionLinenumberEnd: 8867
    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:8873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8874
      start: 8869
    functionDepth: 2
    functionLinenumber: 8869
    functionLinenumberEnd: 8874
    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:8883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8887
      start: 8882
    functionDepth: 0
    functionLinenumber: 8882
    functionLinenumberEnd: 8887
    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:8890,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8899
      start: 8889
    functionDepth: 1
    functionLinenumber: 8889
    functionLinenumberEnd: 8899
    functionName: isMultiColsFuncNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isColsFuncByName
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isMultiColsFuncNode(SNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8908,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8911,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8916,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8919,1
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8920,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8921,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8928
      start: 8906
    functionDepth: 2
    functionLinenumber: 8906
    functionLinenumberEnd: 8928
    functionName: pushDownBindSelectFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - nodesIsExprNode
    - nodeType
    - tsnprintf
    - MurmurHash3_64
    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:8935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - FuncNodeList
    - pSelectFunc
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8940
      start: 8930
    functionDepth: 3
    functionLinenumber: 8930
    functionLinenumberEnd: 8940
    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:8935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8938
      start: 8933
    functionDepth: 3
    functionLinenumber: 8933
    functionLinenumberEnd: 8938
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 167
    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:8943,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8951
      start: 8942
    functionDepth: 1
    functionLinenumber: 8942
    functionLinenumberEnd: 8951
    functionName: checkHasColsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isColsFuncByName
    - nodeType
    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:8954,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8961
      start: 8953
    functionDepth: 1
    functionLinenumber: 8953
    functionLinenumberEnd: 8961
    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:8971,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8971,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8980,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8982,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8989,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pParameterList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8997
      start: 8963
    functionDepth: 1
    functionLinenumber: 8963
    functionLinenumberEnd: 8997
    functionName: checkMultColsFuncParam
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExpr
    - isColsFuncByName
    - nodeType
    - FOREACH
    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:8971,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8971,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8980,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8982,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8989,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8995
      start: 8969
    functionDepth: 1
    functionLinenumber: 8969
    functionLinenumberEnd: 8995
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 169
    functionsReached:
    - nodesRewriteExpr
    - isColsFuncByName
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pParameterList)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9001,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9006,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9011,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9012,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9013,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9013,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9015,1
    - Dst: isStarColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9018,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9020,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9026,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9030,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9034,1
    - Dst: getSelectFuncIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9041,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9046,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9049,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9054,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9056,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9058,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9061,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9064,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9071
      start: 8999
    functionDepth: 6
    functionLinenumber: 8999
    functionLinenumberEnd: 9071
    functionName: rewriteSingleColsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - nodesListMakeStrictAppend
    - nodeType
    - nodesIsExprNode
    - nodesRewriteExpr
    - nodesMakeList
    - getSelectFuncIndex
    - nodesDestroyNode
    - isColsFuncByName
    - parserError
    - nodesCloneNode
    - isStarColumn
    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:9076,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9077,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - selectFuncList
    argTypes:
    - STranslateContext*
    - SNode**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9087
      start: 9073
    functionDepth: 2
    functionLinenumber: 9073
    functionLinenumberEnd: 9087
    functionName: rewriteHavingColsNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesRewriteExpr
    - parserWarn
    - isMultiColsFuncNode
    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:9094,1
    - Dst: isMultiColsFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9095,1
    - Dst: checkMultColsFuncParam
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9096,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9103,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9113,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9118,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9120,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9128,1
    - Dst: isMultiColsFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9129,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9133,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9137,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9138,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9140,1
    - Dst: getSelectFuncIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9143,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9147,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9150,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9155,1
    - Dst: isStarColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9157,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9159,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9163,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9165,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9167,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9170,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9174,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9180,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9182,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9185,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9191,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9192,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 103
    argCount: 4
    argNames:
    - pCxt
    - clause
    - nodeList
    - selectFuncList
    argTypes:
    - STranslateContext*
    - ESqlClause
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9195
      start: 9089
    functionDepth: 6
    functionLinenumber: 9089
    functionLinenumberEnd: 9195
    functionName: rewriteColsFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - isStarColumn
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodeType
    - isMultiColsFuncNode
    - nodesIsExprNode
    - nodesDestroyList
    - nodesRewriteExpr
    - nodesMakeList
    - getSelectFuncIndex
    - FOREACH_FOR_REWRITE
    - checkMultColsFuncParam
    - nodesDestroyNode
    - parserError
    - nodesCloneNode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rewriteColsFunction(STranslateContext* pCxt, ESqlClause clause,
      SNodeList** nodeList,\n                                   SNodeList** selectFuncList)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: translateFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9200,1
    - Dst: translateWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9203,1
    - Dst: setJoinTimeLineResMode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9206,1
    - Dst: translatePartitionBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9209,1
    - Dst: translateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9212,1
    - Dst: translateGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9215,1
    - Dst: translateHaving
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9218,1
    - Dst: biRewriteSelectStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9221,1
    - Dst: translateSelectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9224,1
    - Dst: checkHavingGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9227,1
    - Dst: translateOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9230,1
    - Dst: checkIsEmptyResult
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9233,1
    - Dst: resetSelectFuncNumWithoutDup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9236,1
    - Dst: checkAggColCoexist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9237,1
    - Dst: checkWindowGrpFuncCoexist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9245,1
    - Dst: checkLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9248,1
    - Dst: translateInterp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9251,1
    - Dst: translateForecast
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9254,1
    - Dst: appendTsForImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9257,1
    - Dst: appendPkParamForPkFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9260,1
    - Dst: replaceOrderByAliasForSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9263,1
    - Dst: setTableCacheLastMode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9266,1
    - Dst: replaceTbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9269,1
    - Dst: removeConstantValueFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9273,1
    - Dst: removeConstantValueFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9278,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9282
      start: 9197
    functionDepth: 19
    functionLinenumber: 9197
    functionLinenumberEnd: 9282
    functionName: translateSelectFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - resetSelectFuncNumWithoutDup
    - translateWindow
    - translateInterp
    - checkLimit
    - checkHavingGroupBy
    - checkWindowGrpFuncCoexist
    - replaceTbName
    - checkAggColCoexist
    - translateForecast
    - translateWhere
    - translateGroupBy
    - removeConstantValueFromList
    - translatePartitionBy
    - appendTsForImplicitTsFunc
    - setTableCacheLastMode
    - appendPkParamForPkFunc
    - translateHaving
    - checkIsEmptyResult
    - translateOrderBy
    - biRewriteSelectStar
    - translateFrom
    - setJoinTimeLineResMode
    - translateSelectList
    - replaceOrderByAliasForSelect
    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:9290,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9291,1
    - Dst: translateSelectWithoutFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9293,1
    - Dst: translateSelectFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9297
      start: 9284
    functionDepth: 20
    functionLinenumber: 9284
    functionLinenumberEnd: 9297
    functionName: translateSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - inStreamCalcClause
    - translateSelectWithoutFrom
    - generateSyntaxErrMsgExt
    - 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:9301,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9306,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9307,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9308,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pTableAlias
    - pNode
    argTypes:
    - char*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9311
      start: 9299
    functionDepth: 5
    functionLinenumber: 9299
    functionLinenumberEnd: 9311
    functionName: createSetOperProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - nodesMakeNode
    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:9314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9316
      start: 9313
    functionDepth: 1
    functionLinenumber: 9313
    functionLinenumberEnd: 9316
    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:9320,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9322,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9323,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9324,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9324,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9325,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9337,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9341,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9342,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9346,1
    - Dst: REPLACE_LIST1_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9350,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9351,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - pExpr
    - pos
    argTypes:
    - STranslateContext*
    - SNode*
    - SExprNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9357
      start: 9318
    functionDepth: 6
    functionLinenumber: 9318
    functionLinenumberEnd: 9357
    functionName: pushdownCastForUnion
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - pushdownCastForUnion
    - REPLACE_LIST1_NODE
    - getProjectList
    - isUionOperator
    - generateSyntaxErrMsg
    - LIST_LENGTH
    - REPLACE_LIST2_NODE
    - createCastFunc
    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:9337,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9341,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9342,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9346,1
    - Dst: REPLACE_LIST1_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9350,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9351,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9354
      start: 9331
    functionDepth: 7
    functionLinenumber: 9331
    functionLinenumberEnd: 9354
    functionName: FORBOTH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - pushdownCastForUnion
    - REPLACE_LIST2_NODE
    - REPLACE_LIST1_NODE
    - createCastFunc
    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:9360,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9361,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9362,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9362,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9363,1
    - Dst: dataTypeComp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9373,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9376,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9380,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9382,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9386,1
    - Dst: REPLACE_LIST1_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9390,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9392,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9393,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9396,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9399,1
    - Dst: createSetOperProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9400,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9401,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9402,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9409,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pCxt
    - pSetOperator
    argTypes:
    - STranslateContext*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9414
      start: 9359
    functionDepth: 7
    functionLinenumber: 9359
    functionLinenumberEnd: 9414
    functionName: translateSetOperProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - createSetOperProject
    - pushdownCastForUnion
    - REPLACE_LIST1_NODE
    - isPrimaryKeyImpl
    - getProjectList
    - dataTypeComp
    - snprintf
    - generateSyntaxErrMsg
    - LIST_LENGTH
    - REPLACE_LIST2_NODE
    - createCastFunc
    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:9373,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9376,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9380,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9382,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9386,1
    - Dst: REPLACE_LIST1_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9390,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9392,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9393,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9396,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9399,1
    - Dst: createSetOperProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9400,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9401,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9402,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9412
      start: 9369
    functionDepth: 7
    functionLinenumber: 9369
    functionLinenumberEnd: 9412
    functionName: FORBOTH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesListMakeStrictAppend
    - createSetOperProject
    - pushdownCastForUnion
    - REPLACE_LIST1_NODE
    - isPrimaryKeyImpl
    - dataTypeComp
    - snprintf
    - REPLACE_LIST2_NODE
    - createCastFunc
    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:9417,1
    - Dst: getStmtPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9417,1
    - Dst: getStmtPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSetOperator
    argTypes:
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9418
      start: 9416
    functionDepth: 2
    functionLinenumber: 9416
    functionLinenumberEnd: 9418
    functionName: calcSetOperatorPrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - calcPrecision
    - getStmtPrecision
    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:9426,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9431,1
    - Dst: replaceOrderByAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9435,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9438,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9439,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9444,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9445,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pSetOperator
    argTypes:
    - STranslateContext*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9456
      start: 9420
    functionDepth: 6
    functionLinenumber: 9420
    functionLinenumberEnd: 9456
    functionName: translateSetOperOrderBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - isPrimaryKeyImpl
    - translateClausePosition
    - translateExprList
    - replaceOrderByAlias
    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:9461,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9464,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pLimit
    argTypes:
    - STranslateContext*
    - SLimitNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9470
      start: 9458
    functionDepth: 2
    functionLinenumber: 9458
    functionLinenumberEnd: 9470
    functionName: checkSetOperLimit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - translateExpr
    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:9479,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9479,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9481,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9482,1
    - Dst: BIT_FLAG_UNSET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9483,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9486,1
    - Dst: resetHighLevelTranslateNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9486,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9487,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9487,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9489,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9490,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9491,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9491,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9494,1
    - Dst: getBothJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9498,1
    - Dst: calcSetOperatorPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9499,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9501,1
    - Dst: translateSetOperProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9501,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9502,1
    - Dst: translateSetOperOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9502,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9503,1
    - Dst: checkSetOperLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pSetOperator
    argTypes:
    - STranslateContext*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9506
      start: 9472
    functionDepth: 8
    functionLinenumber: 9472
    functionLinenumberEnd: 9506
    functionName: translateSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - calcSetOperatorPrecision
    - checkSetOperLimit
    - resetHighLevelTranslateNamespace
    - BIT_FLAG_UNSET_MASK
    - translateSetOperProject
    - BIT_FLAG_SET_MASK
    - translateSetOperOrderBy
    - BIT_FLAG_TEST_MASK
    - PAR_ERR_RET
    - translateQuery
    - inStreamCalcClause
    - getBothJoinContais
    - generateSyntaxErrMsgExt
    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:9510,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9515,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9517,1
    - Dst: getTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9522,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9524,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9527,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9530,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - STranslateContext*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9533
      start: 9508
    functionDepth: 9
    functionLinenumber: 9508
    functionLinenumberEnd: 9533
    functionName: partitionDeleteWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTimeRange
    - generateSyntaxErrMsg
    - filterPartitionCond
    - TAOS_SET_OBJ_ALIGNED
    - 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:9537,1
    - Dst: partitionDeleteWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - STranslateContext*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9542
      start: 9535
    functionDepth: 10
    functionLinenumber: 9535
    functionLinenumberEnd: 9542
    functionName: translateDeleteWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - partitionDeleteWhere
    - translateExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDeleteWhere(STranslateContext* pCxt, SDeleteStmt*
      pDelete)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9546,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9547,1
    - Dst: translateFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9551,1
    - Dst: translateDeleteWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9554,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9558,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9561,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - STranslateContext*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9567
      start: 9544
    functionDepth: 19
    functionLinenumber: 9544
    functionLinenumberEnd: 9567
    functionName: translateDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - translateExpr
    - translateFrom
    - generateSyntaxErrMsgExt
    - translateDeleteWhere
    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:9571,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9574
      start: 9569
    functionDepth: 7
    functionLinenumber: 9569
    functionLinenumberEnd: 9574
    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:9577,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9582
      start: 9576
    functionDepth: 2
    functionLinenumber: 9576
    functionLinenumberEnd: 9582
    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:9587,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9593,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9595,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pPrimaryKeyExpr
    - pOrderByList
    argTypes:
    - STranslateContext*
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9600
      start: 9584
    functionDepth: 6
    functionLinenumber: 9584
    functionLinenumberEnd: 9600
    functionName: addOrderByPrimaryKeyToQueryImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - nodesMakeNode
    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:9607,1
    - Dst: addOrderByPrimaryKeyToQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9608,1
    - Dst: addOrderByPrimaryKeyToQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pPrimaryKeyExpr
    - pStmt
    argTypes:
    - STranslateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9611
      start: 9602
    functionDepth: 7
    functionLinenumber: 9602
    functionLinenumberEnd: 9611
    functionName: addOrderByPrimaryKeyToQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addOrderByPrimaryKeyToQueryImpl
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t addOrderByPrimaryKeyToQuery(STranslateContext* pCxt, SNode*
      pPrimaryKeyExpr, SNode* pStmt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9614,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9615,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9615,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9616,1
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9624,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9627,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9629,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9633,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9636,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9645,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9650,1
    - Dst: addOrderByPrimaryKeyToQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9653,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9654
      start: 9613
    functionDepth: 8
    functionLinenumber: 9613
    functionLinenumberEnd: 9654
    functionName: translateInsertProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addOrderByPrimaryKeyToQuery
    - dataTypeEqual
    - FORBOTH
    - getProjectList
    - snprintf
    - REPLACE_LIST2_NODE
    - createCastFunc
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    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:9657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9664
      start: 9656
    functionDepth: 19
    functionLinenumber: 9656
    functionLinenumberEnd: 9664
    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:9667,1
    - Dst: translateInsertCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9669,1
    - Dst: translateInsertQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9672,1
    - Dst: translateInsertProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9678
      start: 9665
    functionDepth: 20
    functionLinenumber: 9665
    functionLinenumberEnd: 9678
    functionName: translateInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateInsertQuery
    - translateInsertProject
    - translateInsertCols
    - translateInsertTable
    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: 9692
      start: 9680
    functionDepth: 0
    functionLinenumber: 9680
    functionLinenumberEnd: 9692
    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:9695,1
    - Dst: getUnitPerMinute
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9699
      start: 9694
    functionDepth: 1
    functionLinenumber: 9694
    functionLinenumberEnd: 9699
    functionName: getBigintFromValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DURATION_VAL
    - getUnitPerMinute
    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:9704,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9704,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9713,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9714,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9717,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pRetentions
    - pReq
    argTypes:
    - SNodeList*
    - SCreateDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9727
      start: 9701
    functionDepth: 1
    functionLinenumber: 9701
    functionLinenumberEnd: 9727
    functionName: buildCreateDbRetentions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - taosArrayInit
    - taosArrayGetSize
    - LIST_LENGTH
    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:9713,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9714,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9721
      start: 9712
    functionDepth: 1
    functionLinenumber: 9712
    functionLinenumberEnd: 9721
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 170
    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:9731,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9731,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9733,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9769,1
    - Dst: buildCreateDbRetentions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateDatabaseStmt*
    - SCreateDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9778
      start: 9729
    functionDepth: 2
    functionLinenumber: 9729
    functionLinenumberEnd: 9778
    functionName: buildCreateDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - tNameSetDbName
    - tNameGetFullDbName
    - buildCreateDbRetentions
    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:9783,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: 9788
      start: 9780
    functionDepth: 1
    functionLinenumber: 9780
    functionLinenumberEnd: 9788
    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:9792,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: 9793
      start: 9790
    functionDepth: 2
    functionLinenumber: 9790
    functionLinenumberEnd: 9793
    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:9797,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: 9798
      start: 9795
    functionDepth: 2
    functionLinenumber: 9795
    functionLinenumberEnd: 9798
    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:9802,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9807,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9811,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9814
      start: 9800
    functionDepth: 5
    functionLinenumber: 9800
    functionLinenumberEnd: 9814
    functionName: checkDbSsKeepLocalOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkDbRangeOption
    - translateValue
    - generateSyntaxErrMsgExt
    - 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:9818,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9823,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9827,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9830
      start: 9816
    functionDepth: 5
    functionLinenumber: 9816
    functionLinenumberEnd: 9830
    functionName: checkDbDaysOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkDbRangeOption
    - translateValue
    - generateSyntaxErrMsgExt
    - 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:9837,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9839,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9843,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9845,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9848,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9850,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9853,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9858,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9858,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9863,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9863,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9868,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9868,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9878,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9885,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9890
      start: 9832
    functionDepth: 5
    functionLinenumber: 9832
    functionLinenumberEnd: 9890
    functionName: checkDbKeepOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DURATION_VAL
    - translateValue
    - nodesListGetNode
    - getBigintFromValueNode
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - FOREACH
    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:9894,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9898,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9902,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9912
      start: 9892
    functionDepth: 5
    functionLinenumber: 9892
    functionLinenumberEnd: 9912
    functionName: checkDbKeepTimeOffsetOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateValue
    - generateSyntaxErrMsgExt
    - 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:9916,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9918,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9920,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9922,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9930
      start: 9914
    functionDepth: 1
    functionLinenumber: 9914
    functionLinenumberEnd: 9930
    functionName: checkDbCacheModelOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbCacheModelOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9934,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9936,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9939,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9945
      start: 9932
    functionDepth: 1
    functionLinenumber: 9932
    functionLinenumberEnd: 9945
    functionName: checkDbEncryptAlgorithmOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - 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:9949,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9951,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9953,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9961
      start: 9947
    functionDepth: 1
    functionLinenumber: 9947
    functionLinenumberEnd: 9961
    functionName: checkDbPrecisionOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - generateSyntaxErrMsgExt
    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:9965,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9967,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9975
      start: 9963
    functionDepth: 1
    functionLinenumber: 9963
    functionLinenumberEnd: 9975
    functionName: checkDbStrictOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - generateSyntaxErrMsgExt
    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:9979,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: 9983
      start: 9977
    functionDepth: 1
    functionLinenumber: 9977
    functionLinenumberEnd: 9983
    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:9988,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: 9992
      start: 9985
    functionDepth: 1
    functionLinenumber: 9985
    functionLinenumberEnd: 9992
    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:9999,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10000,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10009,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10013,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10014,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10022,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10027,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10028,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10030,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10030,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10031,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10036,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10038,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10042,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10044,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10050,1
    - Dst: getUnitPerMinute
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10053,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10056,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10064,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10070,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10076,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 3
    argNames:
    - pCxt
    - pRetentions
    - precision
    argTypes:
    - STranslateContext*
    - SNodeList*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10086
      start: 9994
    functionDepth: 5
    functionLinenumber: 9994
    functionLinenumberEnd: 10086
    functionName: checkDbRetentionsOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - translateValue
    - nodesListGetNode
    - IS_DURATION_VAL
    - getUnitPerMinute
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - FOREACH
    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:10009,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10013,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10014,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10022,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10027,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10028,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10030,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10030,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10031,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10036,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10038,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10042,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10044,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10050,1
    - Dst: getUnitPerMinute
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10053,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10056,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10064,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10070,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10076,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10083
      start: 10007
    functionDepth: 5
    functionLinenumber: 10007
    functionLinenumberEnd: 10083
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 173
    functionsReached:
    - strlen
    - translateValue
    - nodesListGetNode
    - IS_DURATION_VAL
    - getUnitPerMinute
    - generateSyntaxErrMsgExt
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void FOREACH(pRetention, pRetentions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10090,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10096,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10102,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - tbPrefix
    - tbSuffix
    argTypes:
    - STranslateContext*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10112
      start: 10088
    functionDepth: 1
    functionLinenumber: 10088
    functionLinenumberEnd: 10112
    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:10118,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - ppDbCfg
    argTypes:
    - STranslateContext*
    - char*
    - SDbCfgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10122
      start: 10114
    functionDepth: 10
    functionLinenumber: 10114
    functionLinenumberEnd: 10122
    functionName: translateGetDbCfg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - getDBCfg
    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:10131,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10131,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10136,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10140,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10145,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10155
      start: 10124
    functionDepth: 11
    functionLinenumber: 10124
    functionLinenumberEnd: 10155
    functionName: checkOptionsDependency
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateGetDbCfg
    - generateSyntaxErrMsgExt
    - 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:10162,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10168,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10173,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10176,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10176,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10179,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10180,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10186,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10186,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10189,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10194
      start: 10157
    functionDepth: 11
    functionLinenumber: 10157
    functionLinenumberEnd: 10194
    functionName: checkDbCompactIntervalOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateValue
    - getBigintFromValueNode
    - checkDbRangeOption
    - translateGetDbCfg
    - generateSyntaxErrMsgExt
    - TAOS_CHECK_RETURN
    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:10201,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10202,1
    - Dst: nodesListGetNode
      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: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10208,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10211,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10214,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10216,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10223,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10225,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10232,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10233,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10240,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10249,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10249,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10254,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10259,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10265
      start: 10196
    functionDepth: 11
    functionLinenumber: 10196
    functionLinenumberEnd: 10265
    functionName: checkDbCompactTimeRangeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - translateValue
    - IS_DURATION_VAL
    - getBigintFromValueNode
    - translateGetDbCfg
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - TAOS_CHECK_RETURN
    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:10269,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10273,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10277,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10281
      start: 10267
    functionDepth: 5
    functionLinenumber: 10267
    functionLinenumberEnd: 10281
    functionName: checkDbCompactTimeOffsetOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkDbRangeOption
    - translateValue
    - generateSyntaxErrMsgExt
    - getBigintFromValueNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbCompactTimeOffsetOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10285,1
    - Dst: checkDbCacheModelOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10287,1
    - Dst: checkDbEncryptAlgorithmOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10290,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10294,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10298,1
    - Dst: checkDbDaysOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10301,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10304,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10307,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10311,1
    - Dst: checkDbPrecisionOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10315,1
    - Dst: checkDbKeepOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10318,1
    - Dst: checkDbKeepTimeOffsetOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10321,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10324,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10327,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10331,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10335,1
    - Dst: checkDbStrictOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10338,1
    - Dst: checkDbEnumOption3
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10341,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10345,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10348,1
    - Dst: checkDbRetentionsOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10352,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10355,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10358,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10362,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10366,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10370,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10373,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10376,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10380,1
    - Dst: checkDbTbPrefixSuffixOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10384,1
    - Dst: checkDbSsKeepLocalOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10387,1
    - Dst: checkOptionsDependency
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10390,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10393,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10397,1
    - Dst: checkDbCompactIntervalOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10400,1
    - Dst: checkDbCompactTimeRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10403,1
    - Dst: checkDbCompactTimeOffsetOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10406,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 110
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10409
      start: 10283
    functionDepth: 12
    functionLinenumber: 10283
    functionLinenumberEnd: 10409
    functionName: checkDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkDbCompactIntervalOption
    - checkDbSsKeepLocalOption
    - checkDbRetentionsOption
    - checkDbEnumOption3
    - checkDbCompactTimeOffsetOption
    - checkDbEncryptAlgorithmOption
    - checkDbKeepTimeOffsetOption
    - checkDbStrictOption
    - checkDbCompactTimeRangeOption
    - checkDbPrecisionOption
    - checkDbDaysOption
    - checkDbEnumOption
    - checkDbTbPrefixSuffixOptions
    - checkDbKeepOption
    - checkDbRangeOption
    - checkOptionsDependency
    - checkDbCacheModelOption
    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:10412,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10413,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10416,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10417,1
    - Dst: checkDatabaseOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10421
      start: 10411
    functionDepth: 13
    functionLinenumber: 10411
    functionLinenumberEnd: 10421
    functionName: checkCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkDatabaseOptions
    - IS_SYS_DBNAME
    - generateSyntaxErrMsgExt
    - strchr
    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:10424,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10425,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10428,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10429,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10434,1
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateMountStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10438
      start: 10423
    functionDepth: 2
    functionLinenumber: 10423
    functionLinenumberEnd: 10438
    functionName: checkCreateMount
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - generateSyntaxErrMsgExt
    - checkRangeOption
    - strchr
    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: 10449
      start: 10440
    functionDepth: 0
    functionLinenumber: 10440
    functionLinenumberEnd: 10449
    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: 36
    BranchProfiles: []
    Callsites:
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10456,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10460,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10464,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10468,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10472,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10476,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10481,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10485,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10490,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10495,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10499,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10503,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10507,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10511,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10515,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10519,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10524,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10528,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10532,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10537,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10541,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10546,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10550,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10554,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10559,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10563,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10568,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10572,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10577,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10581,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10585,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10589,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10594,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10598,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 143
    argCount: 3
    argNames:
    - pCxt
    - msgType
    - pReq
    argTypes:
    - STranslateContext*
    - int16_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10608
      start: 10450
    functionDepth: 1
    functionLinenumber: 10450
    functionLinenumberEnd: 10608
    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:10614,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10616,1
    - Dst: func
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10622,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10624,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10627,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10629,1
    - Dst: func
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10632,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10633,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10634,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: 10638
      start: 10612
    functionDepth: 2
    functionLinenumber: 10612
    functionLinenumberEnd: 10638
    functionName: buildCmdMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - func
    - fillCmdSql
    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:10642,1
    - Dst: buildCreateDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10644,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10647,1
    - Dst: tFreeSCreateDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10651
      start: 10640
    functionDepth: 14
    functionLinenumber: 10640
    functionLinenumberEnd: 10651
    functionName: translateCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSCreateDbReq
    - checkCreateDatabase
    - 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:10654,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10655,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10660,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10660,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10662,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10666,1
    - Dst: tFreeSDropDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10669
      start: 10653
    functionDepth: 3
    functionLinenumber: 10653
    functionLinenumberEnd: 10669
    functionName: translateDropDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSDropDbReq
    - IS_SYS_DBNAME
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    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:10674,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10674,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterDatabaseStmt*
    - SAlterDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10703
      start: 10671
    functionDepth: 1
    functionLinenumber: 10671
    functionLinenumberEnd: 10703
    functionName: buildAlterDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameGetFullDbName
    - strlen
    - tNameSetDbName
    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:10706,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10707,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10711,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10711,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10713,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10721,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10723,1
    - Dst: checkDatabaseOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10728,1
    - Dst: buildAlterDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10739,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10742,1
    - Dst: tFreeSAlterDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10743,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10745
      start: 10705
    functionDepth: 13
    functionLinenumber: 10705
    functionLinenumberEnd: 10745
    functionName: translateAlterDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - TAOS_CHECK_RETURN
    - buildAlterDbReq
    - tFreeSAlterDbReq
    - checkDatabaseOptions
    - buildCmdMsg
    - translateGetDbCfg
    - generateSyntaxErrMsgExt
    - getDBCfg
    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:10750,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10754,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10754,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10756,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10757,1
    - Dst: tFreeSTrimDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - STrimDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10760
      start: 10747
    functionDepth: 3
    functionLinenumber: 10747
    functionLinenumberEnd: 10760
    functionName: translateTrimDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosGetTimestampMs
    - tNameSetDbName
    - tNameGetFullDbName
    - tFreeSTrimDbReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTrimDatabase(STranslateContext* pCxt, STrimDatabaseStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkColumnEncodeOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10767,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10769,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10777
      start: 10762
    functionDepth: 1
    functionLinenumber: 10762
    functionLinenumberEnd: 10777
    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:10767,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10769,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10775
      start: 10764
    functionDepth: 1
    functionLinenumber: 10764
    functionLinenumberEnd: 10775
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 173
    functionsReached:
    - checkColumnCompressOrSetDefault
    - checkColumnLevelOrSetDefault
    - checkColumnEncodeOrSetDefault
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10785,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10790,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10799,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - pList
    - virtualTable
    argTypes:
    - SNodeList*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10815
      start: 10779
    functionDepth: 1
    functionLinenumber: 10779
    functionLinenumberEnd: 10815
    functionName: checkColumnType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - IS_DECIMAL_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkColumnType(SNodeList* pList, int8_t virtualTable)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10785,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10790,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10799,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10813
      start: 10783
    functionDepth: 1
    functionLinenumber: 10783
    functionLinenumberEnd: 10813
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 173
    functionsReached:
    - IS_STR_DATA_BLOB
    - IS_DECIMAL_TYPE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10823,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10827,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10832,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10840,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10845,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: 10850
      start: 10817
    functionDepth: 5
    functionLinenumber: 10817
    functionLinenumberEnd: 10850
    functionName: checkTableKeepOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateValue
    - generateSyntaxErrMsgExt
    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:10855,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10855,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10857,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SSsMigrateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10859
      start: 10852
    functionDepth: 3
    functionLinenumber: 10852
    functionLinenumberEnd: 10859
    functionName: translateSsMigrateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameGetFullDbName
    - strlen
    - buildCmdMsg
    - tNameSetDbName
    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:10866,1
    - Dst: checkCreateMount
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10866,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10868,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10868,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10870,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10870,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10872,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10872,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10875,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10879,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10879,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10879,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10881,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10881,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10884,1
    - Dst: tFreeSCreateMountReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateMountStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10889
      start: 10862
    functionDepth: 3
    functionLinenumber: 10862
    functionLinenumberEnd: 10889
    functionName: translateCreateMount
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - strlen
    - checkCreateMount
    - TAOS_CHECK_EXIT
    - sprintf
    - snprintf
    - tFreeSCreateMountReq
    - TAOS_UNUSED
    - TSDB_CHECK_NULL
    - buildCmdMsg
    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:10892,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10893,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10898,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10898,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10901,1
    - Dst: tFreeSDropMountReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropMountStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10904
      start: 10891
    functionDepth: 3
    functionLinenumber: 10891
    functionLinenumberEnd: 10904
    functionName: translateDropMount
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSDropMountReq
    - IS_SYS_DBNAME
    - snprintf
    - TAOS_UNUSED
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropMount(STranslateContext* pCxt, SDropMountStmt*
      pStmt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10908,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10908,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10915,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10920,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10925,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10927,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10931,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10932,1
    - Dst: setColEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10934,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10934,1
    - Dst: setColCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10935,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10935,1
    - Dst: setColLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10936,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10936,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10948,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10954,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 4
    argNames:
    - pList
    - pArray
    - calBytes
    - virtualTable
    argTypes:
    - SNodeList*
    - SArray**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10958
      start: 10907
    functionDepth: 1
    functionLinenumber: 10907
    functionLinenumberEnd: 10958
    functionName: columnDefNodeToField
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - tstrncpy
    - taosArrayPush
    - taosArrayInit
    - setColCompress
    - taosArrayDestroy
    - columnLevelVal
    - columnEncodeVal
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    - columnCompressVal
    - calcTypeMod
    - setColEncode
    - LIST_LENGTH
    - setColLevel
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnDefNodeToField(SNodeList* pList, SArray** pArray, bool
      calBytes, bool virtualTable)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10915,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10920,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10925,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10927,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10931,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10932,1
    - Dst: setColEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10934,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10934,1
    - Dst: setColCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10935,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10935,1
    - Dst: setColLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10936,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10936,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10948,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10952
      start: 10913
    functionDepth: 1
    functionLinenumber: 10913
    functionLinenumberEnd: 10952
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 173
    functionsReached:
    - IS_STR_DATA_BLOB
    - tstrncpy
    - taosArrayPush
    - setColCompress
    - columnLevelVal
    - columnEncodeVal
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    - columnCompressVal
    - calcTypeMod
    - setColEncode
    - setColLevel
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10961,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10961,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10969,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10970,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10975,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10976,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10981,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10985,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10989,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10990,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - pList
    - pArray
    - calBytes
    - virtualTable
    argTypes:
    - SNodeList*
    - SArray**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10996
      start: 10960
    functionDepth: 1
    functionLinenumber: 10960
    functionLinenumberEnd: 10996
    functionName: tagDefNodeToField
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - IS_STR_DATA_BLOB
    - tstrncpy
    - taosArrayInit
    - taosArrayPush
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t tagDefNodeToField(SNodeList* pList, SArray** pArray, bool calBytes,
      bool virtualTable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10969,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10970,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10975,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10976,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10981,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10985,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10989,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10990,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10994
      start: 10964
    functionDepth: 1
    functionLinenumber: 10964
    functionLinenumberEnd: 10994
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 173
    functionsReached:
    - taosArrayDestroy
    - tstrncpy
    - IS_STR_DATA_BLOB
    - taosArrayPush
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11001,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11001,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11003,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11011,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11012,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11014,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11015,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11016,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pList
    - pArray
    - calBytes
    argTypes:
    - SNodeList*
    - SArray**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11023
      start: 10998
    functionDepth: 1
    functionLinenumber: 10998
    functionLinenumberEnd: 11023
    functionName: streamTagDefNodeToField
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrncpy
    - taosArrayInit
    - calcTypeBytes
    - PAR_ERR_JRET
    - calcTypeMod
    - parserError
    - LIST_LENGTH
    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:11011,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11012,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11014,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11015,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11018
      start: 11005
    functionDepth: 1
    functionLinenumber: 11005
    functionLinenumberEnd: 11018
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 173
    functionsReached:
    - taosArrayPush
    - tstrncpy
    - calcTypeBytes
    - PAR_ERR_JRET
    - calcTypeMod
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCols
    - pCol
    argTypes:
    - SNodeList*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11033
      start: 11025
    functionDepth: 0
    functionLinenumber: 11025
    functionLinenumberEnd: 11033
    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:11028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11031
      start: 11027
    functionDepth: 0
    functionLinenumber: 11027
    functionLinenumberEnd: 11031
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 173
    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:11038,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11039,1
    - Dst: findColDef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11041,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11048
      start: 11035
    functionDepth: 1
    functionLinenumber: 11035
    functionLinenumberEnd: 11048
    functionName: checkTableSmaOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - findColDef
    - FOREACH
    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:11056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11061
      start: 11052
    functionDepth: 0
    functionLinenumber: 11052
    functionLinenumberEnd: 11061
    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:11067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11072
      start: 11063
    functionDepth: 0
    functionLinenumber: 11063
    functionLinenumberEnd: 11072
    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:11078,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11086,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11090,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11091,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11094,1
    - Dst: validRollupFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11095,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11096,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pFuncs
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - SNodeList*
    - bool
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11100
      start: 11074
    functionDepth: 1
    functionLinenumber: 11074
    functionLinenumberEnd: 11100
    functionName: checkTableRollupOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - validRollupFunc
    - generateSyntaxErrMsgExt
    - 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:11103,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pDataType
    argTypes:
    - STranslateContext*
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11112
      start: 11102
    functionDepth: 1
    functionLinenumber: 11102
    functionLinenumberEnd: 11112
    functionName: checkDecimalDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - IS_DECIMAL_TYPE
    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:11115,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11119,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11127,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11128,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11129,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11132,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11135,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11136,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11137,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11138,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11139,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11143,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11146,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11151,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11153,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11159,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 4
    argNames:
    - pCxt
    - pHash
    - pTags
    - calBytes
    argTypes:
    - STranslateContext*
    - SHashObj*
    - SNodeList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11163
      start: 11114
    functionDepth: 1
    functionLinenumber: 11114
    functionLinenumberEnd: 11163
    functionName: checkTableTagsSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsg
    - taosHashPut
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    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:11127,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11128,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11129,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11132,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11135,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11136,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11137,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11138,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11139,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11143,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11146,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11151,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11153,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11156
      start: 11125
    functionDepth: 1
    functionLinenumber: 11125
    functionLinenumberEnd: 11156
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 174
    functionsReached:
    - strlen
    - taosHashGet
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsg
    - taosHashPut
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTags)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11167,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11169,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11171,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11183,1
    - Dst: aggrRollupFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11184,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11190,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11195,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11201,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11204,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11206,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11207,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11208,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11211,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11212,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11213,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11214,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11215,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11222,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11227,1
    - Dst: checkDecimalDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11228,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11232,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11235,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11244,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 55
    argCount: 6
    argNames:
    - pCxt
    - pHash
    - ntags
    - pCols
    - pRollupFuncs
    - calBytes
    argTypes:
    - STranslateContext*
    - SHashObj*
    - int32_t
    - SNodeList*
    - SNodeList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11248
      start: 11165
    functionDepth: 2
    functionLinenumber: 11165
    functionLinenumberEnd: 11248
    functionName: checkTableColsSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - strlen
    - taosHashGet
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsg
    - checkDecimalDataType
    - taosHashPut
    - aggrRollupFunc
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableColsSchema(STranslateContext* pCxt, SHashObj* pHash,
      int32_t ntags, SNodeList* pCols,\n                                    SNodeList*
      pRollupFuncs, bool calBytes)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11190,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11195,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11201,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11204,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11206,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11207,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11208,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11211,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11212,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11213,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11214,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11215,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11222,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11227,1
    - Dst: checkDecimalDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11228,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11232,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11235,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11241
      start: 11186
    functionDepth: 2
    functionLinenumber: 11186
    functionLinenumberEnd: 11241
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 174
    functionsReached:
    - taosHashGet
    - strlen
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsg
    - checkDecimalDataType
    - taosHashPut
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11252,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11252,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11252,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11253,1
    - Dst: checkTableTagsSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11258,1
    - Dst: checkTableColsSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11260,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11260,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - pCxt
    - pTags
    - pCols
    - pRollupFuncs
    - calBytes
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - SNodeList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11265
      start: 11250
    functionDepth: 3
    functionLinenumber: 11250
    functionLinenumberEnd: 11265
    functionName: checkTableSchemaImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - checkTableColsSchema
    - checkTableTagsSchema
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableSchemaImpl(STranslateContext* pCxt, SNodeList* pTags,
      SNodeList* pCols,\n                                    SNodeList* pRollupFuncs,
      bool calBytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTableSchemaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11269
      start: 11267
    functionDepth: 4
    functionLinenumber: 11267
    functionLinenumberEnd: 11269
    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:11272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateVTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11273
      start: 11271
    functionDepth: 4
    functionLinenumber: 11271
    functionLinenumberEnd: 11273
    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:11277,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11280,1
    - Dst: checkTableRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11285,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: 11291
      start: 11275
    functionDepth: 5
    functionLinenumber: 11275
    functionLinenumberEnd: 11291
    functionName: getTableDelayOrWatermarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateValue
    - generateSyntaxErrMsgExt
    - 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:11294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - SValueNode*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11296
      start: 11293
    functionDepth: 6
    functionLinenumber: 11293
    functionLinenumberEnd: 11296
    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:11305,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11310,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11311,1
    - Dst: getTableMaxDelayOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11315,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11315,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11316,1
    - Dst: getTableMaxDelayOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11317,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11321
      start: 11298
    functionDepth: 7
    functionLinenumber: 11298
    functionLinenumberEnd: 11321
    functionName: checkTableMaxDelayOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableMaxDelayOption
    - generateSyntaxErrMsgExt
    - nodesListGetNode
    - LIST_LENGTH
    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:11324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - SValueNode*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11326
      start: 11323
    functionDepth: 6
    functionLinenumber: 11323
    functionLinenumberEnd: 11326
    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:11335,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11340,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11341,1
    - Dst: getTableWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11345,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11345,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11346,1
    - Dst: getTableWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11347,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11351
      start: 11328
    functionDepth: 7
    functionLinenumber: 11328
    functionLinenumberEnd: 11351
    functionName: checkTableWatermarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableWatermarkOption
    - nodesListGetNode
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    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:11354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - SValueNode*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11356
      start: 11353
    functionDepth: 6
    functionLinenumber: 11353
    functionLinenumberEnd: 11356
    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:11365,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11370,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11371,1
    - Dst: getTableDeleteMarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11375,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11375,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11376,1
    - Dst: getTableDeleteMarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11378,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11382
      start: 11358
    functionDepth: 7
    functionLinenumber: 11358
    functionLinenumberEnd: 11382
    functionName: checkTableDeleteMarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getTableDeleteMarkOption
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    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:11385,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11386,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11390,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11391,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11397,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11399,1
    - Dst: checkTableMaxDelayOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11404,1
    - Dst: checkTableWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11407,1
    - Dst: checkTableDeleteMarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11410,1
    - Dst: checkTableRollupOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11413,1
    - Dst: checkTableSmaOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11416,1
    - Dst: checkTableSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11419,1
    - Dst: checkColumnOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11422,1
    - Dst: checkColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11426,1
    - Dst: checkTableKeepOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11430,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11434,1
    - Dst: biCheckCreateTableTbnameCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11440,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - createStable
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11443
      start: 11384
    functionDepth: 10
    functionLinenumber: 11384
    functionLinenumberEnd: 11443
    functionName: checkCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkTableRollupOption
    - IS_SYS_DBNAME
    - checkTableKeepOption
    - checkTableSchema
    - checkTableSmaOption
    - checkTableWatermarkOption
    - strchr
    - checkColumnOptions
    - checkColumnType
    - biCheckCreateTableTbnameCol
    - checkTableDeleteMarkOption
    - checkTableMaxDelayOption
    - generateSyntaxErrMsgExt
    - getDBCfg
    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:11453,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11458,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pCol
    - colId
    - pSchema
    argTypes:
    - SColumnDefNode*
    - col_id_t
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11461
      start: 11445
    functionDepth: 1
    functionLinenumber: 11445
    functionLinenumberEnd: 11461
    functionName: toSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    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:11479,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11483,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11484,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11485,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pInfo
    - pOutput
    argTypes:
    - SSampleAstInfo*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11489
      start: 11477
    functionDepth: 5
    functionLinenumber: 11477
    functionLinenumberEnd: 11489
    functionName: buildTableForSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - TSWAP
    - nodesMakeNode
    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:11493,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11497,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11498,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11500
      start: 11491
    functionDepth: 5
    functionLinenumber: 11491
    functionLinenumberEnd: 11500
    functionName: addWstartToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListPushFront
    - tstrncpy
    - nodesMakeNode
    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:11504,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11508,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11509,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11511
      start: 11502
    functionDepth: 5
    functionLinenumber: 11502
    functionLinenumberEnd: 11511
    functionName: addWendToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListAppend
    - tstrncpy
    - nodesMakeNode
    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:11515,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11519,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11520,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11522
      start: 11513
    functionDepth: 5
    functionLinenumber: 11513
    functionLinenumberEnd: 11522
    functionName: addWdurationToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListAppend
    - tstrncpy
    - nodesMakeNode
    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:11527,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11531,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11532,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11534
      start: 11525
    functionDepth: 5
    functionLinenumber: 11525
    functionLinenumberEnd: 11534
    functionName: addTWstartToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListPushFront
    - tstrncpy
    - nodesMakeNode
    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:11538,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11542,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11543,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11545
      start: 11536
    functionDepth: 5
    functionLinenumber: 11536
    functionLinenumberEnd: 11545
    functionName: addTWendToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListAppend
    - tstrncpy
    - nodesMakeNode
    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:11549,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11553,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11554,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11556
      start: 11547
    functionDepth: 5
    functionLinenumber: 11547
    functionLinenumberEnd: 11556
    functionName: addTWdurationToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListAppend
    - tstrncpy
    - nodesMakeNode
    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:11562,1
    - Dst: addWendToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11564,1
    - Dst: addWdurationToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11566,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11574,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pInfo
    - pList
    - pProjectionTotalLen
    argTypes:
    - SSampleAstInfo*
    - SNodeList**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11582
      start: 11558
    functionDepth: 6
    functionLinenumber: 11558
    functionLinenumberEnd: 11582
    functionName: buildProjectsForSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addWdurationToSampleProjects
    - addWendToSampleProjects
    - nodesDestroyList
    - snprintf
    - addWstartToSampleProjects
    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:11574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11576
      start: 11573
    functionDepth: 0
    functionLinenumber: 11573
    functionLinenumberEnd: 11576
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 174
    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:11586,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11590,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11591,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11592,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11596,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11601,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11603,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pInfo
    - pOutput
    argTypes:
    - SSampleAstInfo*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11610
      start: 11584
    functionDepth: 5
    functionLinenumber: 11584
    functionLinenumberEnd: 11610
    functionName: buildIntervalForSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    - nodesDestroyNode
    - TSWAP
    - parserError
    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:11615,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11619,1
    - Dst: buildTableForSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11620,1
    - Dst: buildProjectsForSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11622,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11625,1
    - Dst: buildIntervalForSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11626,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11629,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11632,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11635,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11637,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: 11639
      start: 11612
    functionDepth: 7
    functionLinenumber: 11612
    functionLinenumberEnd: 11639
    functionName: buildSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListToString
    - buildIntervalForSampleAst
    - translateQuery
    - nodesNodeToString
    - snprintf
    - buildProjectsForSampleAst
    - nodesMakeNode
    - buildTableForSampleAst
    - nodesDestroyNode
    - TSWAP
    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:11642,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11643,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11644,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11645,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11646,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SSampleAstInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11648
      start: 11641
    functionDepth: 6
    functionLinenumber: 11641
    functionLinenumberEnd: 11648
    functionName: clearSampleAstInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: void clearSampleAstInfo(SSampleAstInfo* pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11652,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11657,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11659,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11663,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11664,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pRetension
    - precision
    - ppNode
    argTypes:
    - SRetention*
    - int8_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11675
      start: 11650
    functionDepth: 5
    functionLinenumber: 11650
    functionLinenumberEnd: 11675
    functionName: makeIntervalVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - convertTimeFromPrecisionToUnit
    - tsnprintf
    - nodesMakeNode
    - nodesDestroyNode
    - taosStrndup
    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:11679,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pDef
    - ppCol
    argTypes:
    - SColumnDefNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11686
      start: 11677
    functionDepth: 5
    functionLinenumber: 11677
    functionLinenumberEnd: 11686
    functionName: createColumnFromDef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:11690,1
    - Dst: createColumnFromDef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11695,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11697,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pSrcFunc
    - pColDef
    - ppRollupFunc
    argTypes:
    - SNode*
    - SColumnDefNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11706
      start: 11688
    functionDepth: 6
    functionLinenumber: 11688
    functionLinenumberEnd: 11706
    functionName: createRollupFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - createColumnFromDef
    - 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:11710,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11716,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11719,1
    - Dst: createRollupFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11725,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11727,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11730,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - pStmt
    - ppList
    argTypes:
    - SCreateTableStmt*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11741
      start: 11708
    functionDepth: 7
    functionLinenumber: 11708
    functionLinenumberEnd: 11741
    functionName: createRollupFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - createRollupFunc
    - nodesDestroyList
    - nodesMakeList
    - 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:11744,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11744,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11745,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11750,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11752,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11756,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11757,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11761,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - pStmt
    - precision
    - ppTbMeta
    argTypes:
    - SCreateTableStmt*
    - int8_t
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11768
      start: 11743
    functionDepth: 2
    functionLinenumber: 11743
    functionLinenumberEnd: 11768
    functionName: createRollupTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - toSchema
    - LIST_LENGTH
    - FOREACH
    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:11774,1
    - Dst: makeIntervalVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11777,1
    - Dst: createRollupTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11780,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11783,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11785,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: 11786
      start: 11770
    functionDepth: 8
    functionLinenumber: 11770
    functionLinenumberEnd: 11786
    functionName: buildSampleAstInfoByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - makeIntervalVal
    - createRollupFuncs
    - createTbnameFunction
    - createRollupTableMeta
    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:11791,1
    - Dst: buildSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11793,1
    - Dst: clearSampleAstInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11795,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: 11797
      start: 11788
    functionDepth: 9
    functionLinenumber: 11788
    functionLinenumberEnd: 11797
    functionName: getRollupAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildSampleAst
    - clearSampleAstInfo
    - buildSampleAstInfoByTable
    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:11801,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11802,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11807,1
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11809,1
    - Dst: getRollupAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11811,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SMCreateStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11821
      start: 11799
    functionDepth: 10
    functionLinenumber: 11799
    functionLinenumberEnd: 11821
    functionName: buildRollupAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - destroyTranslateContext
    - getRollupAst
    - taosArrayGetSize
    - initTranslateContext
    - getDBCfg
    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:11827,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11827,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11831,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pFuncs
    - pArray
    argTypes:
    - SNodeList*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11838
      start: 11823
    functionDepth: 1
    functionLinenumber: 11823
    functionLinenumberEnd: 11838
    functionName: buildRollupFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - LIST_LENGTH
    - taosArrayDestroy
    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:11831,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11836
      start: 11830
    functionDepth: 1
    functionLinenumber: 11830
    functionLinenumberEnd: 11836
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 176
    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:11856,1
    - Dst: tagDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11858,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11860,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11861,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11863,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11867,1
    - Dst: buildRollupFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11871,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11874,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11875,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11876,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11878,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11880,1
    - Dst: buildRollupAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11883,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SMCreateStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11889
      start: 11840
    functionDepth: 11
    functionLinenumber: 11840
    functionLinenumberEnd: 11889
    functionName: buildCreateStbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildRollupFuncs
    - strlen
    - collectUseTable
    - tNameExtractFullName
    - toName
    - buildRollupAst
    - tagDefNodeToField
    - taosArrayGetSize
    - columnDefNodeToField
    - taosStrdup
    - LIST_LENGTH
    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:11893,1
    - Dst: buildCreateStbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11895,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11898,1
    - Dst: tFreeSMCreateStbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11902
      start: 11891
    functionDepth: 12
    functionLinenumber: 11891
    functionLinenumberEnd: 11902
    functionName: translateCreateSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMCreateStbReq
    - buildCreateStbReq
    - checkCreateTable
    - buildCmdMsg
    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:11905,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11908,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11911,1
    - Dst: tFreeSMDropStbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pTableName
    - ignoreNotExists
    argTypes:
    - STranslateContext*
    - SName*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11916
      start: 11904
    functionDepth: 3
    functionLinenumber: 11904
    functionLinenumberEnd: 11916
    functionName: doTranslateDropSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMDropStbReq
    - collectUseTable
    - tNameExtractFullName
    - 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:11919,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11922,1
    - Dst: doTranslateDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11924
      start: 11918
    functionDepth: 4
    functionLinenumber: 11918
    functionLinenumberEnd: 11924
    functionName: translateDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - doTranslateDropSuperTable
    - toName
    - nodesListGetNode
    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:11928,1
    - Dst: doTranslateDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropSuperTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11930
      start: 11926
    functionDepth: 4
    functionLinenumber: 11926
    functionLinenumberEnd: 11930
    functionName: translateDropSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - doTranslateDropSuperTable
    - toName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropSuperTable(STranslateContext* pCxt, SDropSuperTableStmt*
      pStmt)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11934,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11935,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11942,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11946,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11958,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11962,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11964,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11968,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11976,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11977,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11978,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11986,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11987,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11991,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11992,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11999,1
    - Dst: checkColumnEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12000,1
    - Dst: checkColumnCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12001,1
    - Dst: checkColumnLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12002,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12004,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12004,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12005,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12006,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12010,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12016,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12018,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12020,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12022,1
    - Dst: checkColumnEncodeOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12024,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12026,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12028,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12030,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12030,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12031,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12032,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12038,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12039,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12046,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pAlterReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SMAlterStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12048
      start: 11932
    functionDepth: 1
    functionLinenumber: 11932
    functionLinenumberEnd: 12048
    functionName: buildAlterSuperTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - toName
    - setColCompressByOption
    - tNameExtractFullName
    - calcTypeMod
    - strlen
    - tstrncpy
    - checkColumnLevel
    - checkColumnCompressOrSetDefault
    - columnLevelVal
    - calcTypeBytes
    - checkColumnCompress
    - taosArrayGetSize
    - columnCompressVal
    - taosStrdup
    - checkColumnLevelOrSetDefault
    - columnEncodeVal
    - checkColumnEncodeOrSetDefault
    - checkColumnEncode
    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:12051,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12051,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTableMeta
    - pColName
    argTypes:
    - STableMeta*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12059
      start: 12050
    functionDepth: 1
    functionLinenumber: 12050
    functionLinenumberEnd: 12059
    functionName: getColSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getNumOfTags
    - getNumOfColumns
    - strcmp
    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:12062,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12063,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTableMeta
    - pColName
    argTypes:
    - STableMeta*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12071
      start: 12061
    functionDepth: 1
    functionLinenumber: 12061
    functionLinenumberEnd: 12071
    functionName: getNormalColSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableColumnSchema
    - getNumOfColumns
    - strcmp
    linkageType: ''
    returnType: SSchema
    signature: SSchema * getNormalColSchema(const STableMeta* pTableMeta, const char*
      pColName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12074,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12075,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTableMeta
    - pColName
    argTypes:
    - STableMeta*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12083
      start: 12073
    functionDepth: 1
    functionLinenumber: 12073
    functionLinenumberEnd: 12083
    functionName: getNormalColSchemaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableColumnSchema
    - getNumOfColumns
    - strcmp
    linkageType: ''
    returnType: col_id_t
    signature: col_id_t getNormalColSchemaIndex(const STableMeta* pTableMeta, const
      char* pColName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12086,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12087,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTableMeta
    - pTagName
    argTypes:
    - STableMeta*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12095
      start: 12085
    functionDepth: 1
    functionLinenumber: 12085
    functionLinenumberEnd: 12095
    functionName: getTagSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableTagSchema
    - getNumOfTags
    - strcmp
    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:12100,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12105,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12108,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12112,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12126
      start: 12097
    functionDepth: 1
    functionLinenumber: 12097
    functionLinenumberEnd: 12126
    functionName: checkAlterTableByColumnType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - generateSyntaxErrMsg
    - getNumOfColumns
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAlterTableByColumnType(STranslateContext* pCxt, SAlterTableStmt*
      pStmt,\n                                           const STableMeta* pTableMeta)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12129,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12130,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12133,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12134,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12137,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12149,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12152,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12154,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12161,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12165,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12170,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12171,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12172,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12176,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12177,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12178,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12179,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12182,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12183,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12188,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12189,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12192,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12193,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12200,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12203,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12204,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12205,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12206,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12209,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12210,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12216,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12219,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12220,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12224,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12225,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 65
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12229
      start: 12127
    functionDepth: 2
    functionLinenumber: 12127
    functionLinenumberEnd: 12229
    functionName: checkAlterSuperTableBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableTagSchema
    - IS_VAR_DATA_TYPE
    - IS_DECIMAL_TYPE
    - hasPkInTable
    - calcTypeBytes
    - generateSyntaxErrMsg
    - getColSchema
    - getNumOfTags
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAlterSuperTableBySchema(STranslateContext* pCxt, SAlterTableStmt*
      pStmt,\n                                            const STableMeta* pTableMeta)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12232,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12233,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12239,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12243,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12248,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12254,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12259,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12263,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12267,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12271,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12275,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12281,1
    - Dst: checkAlterSuperTableBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12284,1
    - Dst: checkAlterTableByColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12287,1
    - Dst: checkTableKeepOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12291,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12293,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12295
      start: 12231
    functionDepth: 10
    functionLinenumber: 12231
    functionLinenumberEnd: 12295
    functionName: checkAlterSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - checkTableKeepOption
    - getTableMeta
    - checkAlterTableByColumnType
    - generateSyntaxErrMsg
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    - checkAlterSuperTableBySchema
    - getDBCfg
    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:12299,1
    - Dst: buildAlterSuperTableReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12301,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12304,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12308
      start: 12297
    functionDepth: 11
    functionLinenumber: 12297
    functionLinenumberEnd: 12308
    functionName: translateAlterSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkAlterSuperTable
    - tFreeSMAltertbReq
    - buildAlterSuperTableReq
    - 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:12313,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12313,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12315,1
    - Dst: getDBVgVersion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12319,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SUseDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12324
      start: 12310
    functionDepth: 7
    functionLinenumber: 12310
    functionLinenumberEnd: 12324
    functionName: translateUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameExtractFullName
    - getDBVgVersion
    - tNameSetDbName
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateUseDatabase(STranslateContext* pCxt, SUseDatabaseStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12329,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12332,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12341,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12343,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12343,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12349,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12354,1
    - Dst: tFreeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12356,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12360,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12362,1
    - Dst: tFreeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12365
      start: 12326
    functionDepth: 3
    functionLinenumber: 12326
    functionLinenumberEnd: 12365
    functionName: translateCreateUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - strlen
    - tstrncpy
    - tFreeSCreateUserReq
    - memcpy
    - checkRangeOption
    - taosEncryptPass_c
    - taosMemoryCalloc
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateUser(STranslateContext* pCxt, SCreateUserStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12371,1
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12374,1
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12381
      start: 12367
    functionDepth: 2
    functionLinenumber: 12367
    functionLinenumberEnd: 12381
    functionName: checkAlterUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkRangeOption
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAlterUser(STranslateContext* pCxt, SAlterUserStmt* pStmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: checkAlterUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12386,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12389,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12396,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12398,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12403,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12408,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12410,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12414,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12416,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12419,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12421,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12424
      start: 12383
    functionDepth: 3
    functionLinenumber: 12383
    functionLinenumberEnd: 12424
    functionName: translateAlterUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - strlen
    - tstrncpy
    - memcpy
    - snprintf
    - taosEncryptPass_c
    - taosMemoryCalloc
    - checkAlterUser
    - tFreeSAlterUserReq
    - buildCmdMsg
    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:12428,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12430,1
    - Dst: tFreeSDropUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12433
      start: 12426
    functionDepth: 3
    functionLinenumber: 12426
    functionLinenumberEnd: 12433
    functionName: translateDropUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSDropUserReq
    - tstrncpy
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropUser(STranslateContext* pCxt, SDropUserStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12437,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12442,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12447,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12449,1
    - Dst: tFreeSMCreateAnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateAnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12452
      start: 12435
    functionDepth: 3
    functionLinenumber: 12435
    functionLinenumberEnd: 12452
    functionName: translateCreateAnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - tFreeSMCreateAnodeReq
    - taosMemoryCalloc
    - buildCmdMsg
    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:12458,1
    - Dst: tFreeSMDropAnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropAnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12461
      start: 12454
    functionDepth: 3
    functionLinenumber: 12454
    functionLinenumberEnd: 12461
    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:12467,1
    - Dst: tFreeSMUpdateAnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SUpdateAnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12470
      start: 12463
    functionDepth: 3
    functionLinenumber: 12463
    functionLinenumberEnd: 12470
    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: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12476,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateBnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12484
      start: 12472
    functionDepth: 1
    functionLinenumber: 12472
    functionLinenumberEnd: 12484
    functionName: checkCreateBnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - generateSyntaxErrMsgExt
    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:12489,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12493,1
    - Dst: tFreeSMCreateBnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateBnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12498
      start: 12486
    functionDepth: 3
    functionLinenumber: 12486
    functionLinenumberEnd: 12498
    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:12504,1
    - Dst: tFreeSMDropBnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropBnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12507
      start: 12500
    functionDepth: 3
    functionLinenumber: 12500
    functionLinenumberEnd: 12507
    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:12511,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12514,1
    - Dst: tFreeSCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateDnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12517
      start: 12509
    functionDepth: 3
    functionLinenumber: 12509
    functionLinenumberEnd: 12517
    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:12522,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12527,1
    - Dst: tFreeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropDnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12530
      start: 12519
    functionDepth: 3
    functionLinenumber: 12519
    functionLinenumberEnd: 12530
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12538,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12539,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12546,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12546,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12547,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12549,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12550,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12554,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12556,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterDnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12561
      start: 12535
    functionDepth: 3
    functionLinenumber: 12535
    functionLinenumberEnd: 12561
    functionName: translateAlterDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - taosStrncasecmp
    - tFreeSMCfgDnodeReq
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    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:12566,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12583,1
    - Dst: tFreeSRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRestoreComponentNodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12586
      start: 12563
    functionDepth: 3
    functionLinenumber: 12563
    functionLinenumberEnd: 12586
    functionName: translateRestoreDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSRestoreDnodeReq
    - nodeType
    - 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:12590,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12591,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12593,1
    - Dst: tFreeSMCfgClusterReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterClusterStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12596
      start: 12588
    functionDepth: 3
    functionLinenumber: 12588
    functionLinenumberEnd: 12596
    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: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pSql
    - pLen
    argTypes:
    - STranslateContext*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12606
      start: 12599
    functionDepth: 1
    functionLinenumber: 12599
    functionLinenumberEnd: 12606
    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: 12611
      start: 12608
    functionDepth: 0
    functionLinenumber: 12608
    functionLinenumberEnd: 12611
    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:12615,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12616,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12618,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12619,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12620,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12623,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12624,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12624,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12627,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12630,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12633,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    - SCreateTagIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12640
      start: 12613
    functionDepth: 1
    functionLinenumber: 12613
    functionLinenumberEnd: 12640
    functionName: buildCreateTagIndexReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameExtractFullName
    - toName
    - memset
    - memcpy
    - tNameSetDbName
    - tNameGetFullDbName
    - LIST_LENGTH
    - FOREACH
    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:12644,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12646,1
    - Dst: tFreeSMCreateFullTextReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12650
      start: 12642
    functionDepth: 3
    functionLinenumber: 12642
    functionLinenumberEnd: 12650
    functionName: translateCreateFullTextIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    - tFreeSMCreateFullTextReq
    - buildCreateFullTextReq
    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:12656,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12657,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12659,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12663,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12664,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12665,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12669,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12670,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12672,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12673,1
    - Dst: buildCreateTagIndexReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12678,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12680,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12685
      start: 12652
    functionDepth: 13
    functionLinenumber: 12652
    functionLinenumberEnd: 12685
    functionName: translateCreateNormalIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toName
    - buildCreateTagIndexReq
    - getTargetMeta
    - getTagSchema
    - generateSyntaxErrMsg
    - buildCmdMsg
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    - LIST_LENGTH
    - FOREACH
    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:12689,1
    - Dst: translateCreateNormalIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12691,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12695
      start: 12687
    functionDepth: 14
    functionLinenumber: 12687
    functionLinenumberEnd: 12695
    functionName: translateCreateIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateCreateNormalIndex
    - generateSyntaxErrMsgExt
    - translateCreateFullTextIndex
    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:12700,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12701,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12705
      start: 12697
    functionDepth: 3
    functionLinenumber: 12697
    functionLinenumberEnd: 12705
    functionName: translateDropIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toName
    - tNameExtractFullName
    - 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: 12721
      start: 12707
    functionDepth: 0
    functionLinenumber: 12707
    functionLinenumberEnd: 12721
    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:12725,1
    - Dst: getCreateComponentNodeMsgType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12725,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12725,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateComponentNodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12729
      start: 12723
    functionDepth: 3
    functionLinenumber: 12723
    functionLinenumberEnd: 12729
    functionName: translateCreateComponentNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getCreateComponentNodeMsgType
    - tFreeSMCreateQnodeReq
    - nodeType
    - 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: 12745
      start: 12731
    functionDepth: 0
    functionLinenumber: 12731
    functionLinenumberEnd: 12745
    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:12749,1
    - Dst: getDropComponentNodeMsgType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12749,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12749,1
    - Dst: tFreeSDDropQnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropComponentNodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12753
      start: 12747
    functionDepth: 3
    functionLinenumber: 12747
    functionLinenumberEnd: 12753
    functionName: translateDropComponentNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSDDropQnodeReq
    - getDropComponentNodeMsgType
    - nodeType
    - 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:12757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12760
      start: 12755
    functionDepth: 1
    functionLinenumber: 12755
    functionLinenumberEnd: 12760
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12763,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12767,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12776,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12777,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12779,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12781,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12786,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12786,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12787,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12791,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12791,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12793,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12795,1
    - Dst: checkTopicQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12798,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12801,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    - SCMCreateTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12806
      start: 12762
    functionDepth: 4
    functionLinenumber: 12762
    functionLinenumberEnd: 12806
    functionName: buildCreateTopicReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - checkTopicQuery
    - tNameExtractFullName
    - nodesNodeToString
    - toName
    - tNameSetDbName
    - snprintf
    - 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:12811,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12815,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ppList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12822
      start: 12808
    functionDepth: 6
    functionLinenumber: 12808
    functionLinenumberEnd: 12822
    functionName: addTagList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListAppend
    - nodesMakeList
    - nodesDestroyList
    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:12826,1
    - Dst: getColumnTypeFromMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12828,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12834,1
    - Dst: addTagList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12836,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12838,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12845,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12847,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12849,1
    - Dst: addTagList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12851,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12852,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12859
      start: 12824
    functionDepth: 7
    functionLinenumber: 12824
    functionLinenumberEnd: 12859
    functionName: checkColumnTagsInCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcasecmp
    - addTagList
    - getColumnTypeFromMeta
    - nodesDestroyNode
    - nodesCloneNode
    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:12864,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12866,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12867,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12869,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12870,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12876,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12880,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12881,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12882,1
    - Dst: addTagList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12883,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pMeta
    - ppProjection
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    - STableMeta*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12892
      start: 12861
    functionDepth: 7
    functionLinenumber: 12861
    functionLinenumberEnd: 12892
    functionName: checkCollectTopicTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesDestroyList
    - addTagList
    - nodesMakeNode
    - nodesDestroyNode
    - nodesWalkExprPostOrder
    - generateSyntaxErrMsgExt
    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:12902,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12903,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12905,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12909,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12910,1
    - Dst: checkCollectTopicTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12915,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12917,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12919,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12920,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12921,1
    - Dst: createSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12922,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12928,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12932,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12935,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12936,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12937,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - ppSelect
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12939
      start: 12894
    functionDepth: 13
    functionLinenumber: 12894
    functionLinenumberEnd: 12939
    functionName: buildQueryForTableTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtImpl
    - nodesCloneNode
    - tstrncpy
    - translateQuery
    - toName
    - nodesDestroyList
    - checkCollectTopicTags
    - getTargetMeta
    - nodesMakeNode
    - nodesDestroyNode
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildQueryForTableTopic(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt, SNode** ppSelect)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildQueryForTableTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12947,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12948,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12951,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12958,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12959
      start: 12941
    functionDepth: 14
    functionLinenumber: 12941
    functionLinenumberEnd: 12959
    functionName: checkCreateTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - buildQueryForTableTopic
    - nodeType
    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:12963,1
    - Dst: buildCreateTopicReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12965,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12968,1
    - Dst: tFreeSCMCreateTopicReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12972
      start: 12961
    functionDepth: 15
    functionLinenumber: 12961
    functionLinenumberEnd: 12972
    functionName: translateCreateTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkCreateTopic
    - buildCreateTopicReq
    - tFreeSCMCreateTopicReq
    - 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:12977,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12981,1
    - Dst: tFreeSMDropTopicReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTopicStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12984
      start: 12974
    functionDepth: 3
    functionLinenumber: 12974
    functionLinenumberEnd: 12984
    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:12991,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12991,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12993,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12996,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropCGroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12999
      start: 12986
    functionDepth: 3
    functionLinenumber: 12986
    functionLinenumberEnd: 12999
    functionName: translateDropCGroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - tNameSetDbName
    - tNameGetFullDbName
    - buildCmdMsg
    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:13006,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterLocalStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13012
      start: 13001
    functionDepth: 1
    functionLinenumber: 13001
    functionLinenumberEnd: 13012
    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:13018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SExplainStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13019
      start: 13014
    functionDepth: 1
    functionLinenumber: 13014
    functionLinenumberEnd: 13019
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: refreshGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13022,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13027,1
    - Dst: getViewMetaFromMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13029,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13035,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13039,1
    - Dst: buildTableMetaFromViewMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13049,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13050,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDescribeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13059
      start: 13021
    functionDepth: 12
    functionLinenumber: 13021
    functionLinenumberEnd: 13059
    functionName: translateDescribe
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - parserDebug
    - toName
    - taosMemoryFree
    - refreshGetTableMeta
    - tNameGetFullDbName
    - buildTableMetaFromViewMeta
    - getViewMetaFromMetaCache
    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:13064,1
    - Dst: doTranslateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13068,1
    - Dst: doTranslateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13073,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: 13080
      start: 13061
    functionDepth: 10
    functionLinenumber: 13061
    functionLinenumberEnd: 13080
    functionName: translateTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - doTranslateValue
    - getDBCfg
    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:13088,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13088,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13091,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13092,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13094,1
    - Dst: tFreeSCompactDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCompactDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13098
      start: 13082
    functionDepth: 11
    functionLinenumber: 13082
    functionLinenumberEnd: 13098
    functionName: translateCompactDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - translateTimeRange
    - tNameSetDbName
    - tNameGetFullDbName
    - tFreeSCompactDbReq
    - buildCmdMsg
    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:13105,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13108,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13112,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - dbName
    - req
    argTypes:
    - STranslateContext*
    - char*
    - STrimDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13119
      start: 13102
    functionDepth: 10
    functionLinenumber: 13102
    functionLinenumberEnd: 13119
    functionName: translateRollupAdjustTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    - convertTimePrecision
    - getDBCfg
    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:13127,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13127,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13129,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13130,1
    - Dst: translateRollupAdjustTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13133,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13137,1
    - Dst: tFreeSTrimDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRollupDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13144
      start: 13122
    functionDepth: 11
    functionLinenumber: 13122
    functionLinenumberEnd: 13144
    functionName: translateRollupDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - translateRollupAdjustTimeRange
    - translateTimeRange
    - tNameSetDbName
    - tNameGetFullDbName
    - tFreeSTrimDbReq
    - buildCmdMsg
    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:13151,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13151,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13154,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13155,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13157,1
    - Dst: tFreeSScanDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SScanDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13162
      start: 13146
    functionDepth: 11
    functionLinenumber: 13146
    functionLinenumberEnd: 13162
    functionName: translateScanDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - translateTimeRange
    - tFreeSScanDbReq
    - tNameSetDbName
    - tNameGetFullDbName
    - buildCmdMsg
    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:13167,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13169,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13174,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13174,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13183,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13188,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13190,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13195,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13200,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13207,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13209,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - pCxt
    - vgroupList
    - ppVgroups
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13213
      start: 13164
    functionDepth: 5
    functionLinenumber: 13164
    functionLinenumberEnd: 13213
    functionName: translateVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - translateValue
    - taosArrayPush
    - taosArrayInit
    - taosArrayDestroy
    - taosHashInit
    - getBigintFromValueNode
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - LIST_LENGTH
    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:13183,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13188,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13190,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13195,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13204
      start: 13181
    functionDepth: 5
    functionLinenumber: 13181
    functionLinenumberEnd: 13204
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 178
    functionsReached:
    - taosArrayPush
    - taosHashGet
    - translateValue
    - getBigintFromValueNode
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, vgroupList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13222,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13223,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13225,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13230,1
    - Dst: translateVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13234,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13238,1
    - Dst: tFreeSCompactDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCompactVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13243
      start: 13215
    functionDepth: 11
    functionLinenumber: 13215
    functionLinenumberEnd: 13243
    functionName: translateCompactVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - translateVgroupList
    - translateTimeRange
    - tNameSetDbName
    - tNameGetFullDbName
    - tFreeSCompactDbReq
    - buildCmdMsg
    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:13251,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13252,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13254,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13258,1
    - Dst: translateRollupAdjustTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13262,1
    - Dst: translateVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13266,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13270,1
    - Dst: tFreeSTrimDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRollupVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13278
      start: 13245
    functionDepth: 11
    functionLinenumber: 13245
    functionLinenumberEnd: 13278
    functionName: translateRollupVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - translateVgroupList
    - translateRollupAdjustTimeRange
    - translateTimeRange
    - tNameSetDbName
    - tNameGetFullDbName
    - tFreeSTrimDbReq
    - buildCmdMsg
    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:13286,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13287,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13289,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13293,1
    - Dst: translateVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13297,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13301,1
    - Dst: tFreeSScanDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SScanVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13306
      start: 13280
    functionDepth: 11
    functionLinenumber: 13280
    functionLinenumberEnd: 13306
    functionName: translateScanVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - translateVgroupList
    - translateTimeRange
    - tFreeSScanDbReq
    - tNameSetDbName
    - tNameGetFullDbName
    - buildCmdMsg
    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:13311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13312
      start: 13308
    functionDepth: 3
    functionLinenumber: 13308
    functionLinenumberEnd: 13312
    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:13317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13318
      start: 13314
    functionDepth: 3
    functionLinenumber: 13314
    functionLinenumberEnd: 13318
    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:13323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13324
      start: 13320
    functionDepth: 3
    functionLinenumber: 13320
    functionLinenumberEnd: 13324
    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:13328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13329
      start: 13325
    functionDepth: 3
    functionLinenumber: 13325
    functionLinenumberEnd: 13329
    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:13333,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillQueryStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13335
      start: 13331
    functionDepth: 3
    functionLinenumber: 13331
    functionLinenumberEnd: 13335
    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:13340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13341
      start: 13337
    functionDepth: 3
    functionLinenumber: 13337
    functionLinenumberEnd: 13341
    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:13346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13347
      start: 13343
    functionDepth: 3
    functionLinenumber: 13343
    functionLinenumberEnd: 13347
    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:13350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13355
      start: 13349
    functionDepth: 1
    functionLinenumber: 13349
    functionLinenumberEnd: 13355
    functionName: isSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isSlidingWindow(SNode* pWindow)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13364,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13364,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13367,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13368,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13368,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13372,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13372,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13373,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13373,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13377,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13378,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13378,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13383,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13383,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13387,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13388,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13388,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13393,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13393,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13398,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13398,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13402,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13402,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13407,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13407,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13412,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13412,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13415,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13415,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13421,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13421,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13426,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13426,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13427,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13427,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13430,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13433,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13433,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13439,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13441,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13441,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13446,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13446,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13448,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13448,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13453,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13454,1
    - Dst: isSlidingWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13455,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13457,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13457,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13464,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13464,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13465,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13466,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13466,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13472,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 74
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13475
      start: 13357
    functionDepth: 10
    functionLinenumber: 13357
    functionLinenumberEnd: 13475
    functionName: checkCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - isSetOperator
    - nodeType
    - strchr
    - PAR_RET
    - isSlidingWindow
    - PAR_ERR_JRET
    - isSelectStmt
    - parserError
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - getDBCfg
    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:13485,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13490,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13491,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13492,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13493,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13493,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13495,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13496,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: 13500
      start: 13482
    functionDepth: 1
    functionLinenumber: 13482
    functionLinenumberEnd: 13500
    functionName: streamGetSlotKeyHelper
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - taosMemoryCalloc
    - strlen
    - TAOS_STRNCAT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamGetSlotKeyHelper(SNode* pNode, const char* pPreName,
      const char* name, char** ppKey, int32_t callocLen,\n                                int32_t*
      pLen, uint16_t extraBufLen, int8_t slotKeyType)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13505,1
    - Dst: streamGetSlotKeyHelper
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13509,1
    - Dst: streamGetSlotKeyHelper
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13512,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13513,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13516,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13518,1
    - Dst: streamGetSlotKeyHelper
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13519,1
    - Dst: streamGetSlotKeyHelper
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13525,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: 13527
      start: 13502
    functionDepth: 2
    functionLinenumber: 13502
    functionLinenumberEnd: 13527
    functionName: streamGetSlotKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - streamGetSlotKeyHelper
    - strlen
    - nodeType
    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:13536,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13536,1
    - Dst: streamGetSlotKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13540,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13545,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13548,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13550,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13556,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13560,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13565,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13567,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13573,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13577,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13585
      start: 13535
    functionDepth: 4
    functionLinenumber: 13535
    functionLinenumberEnd: 13585
    functionName: doStreamSetSlotId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - streamGetSlotKey
    - nodeType
    - nodesListAppend
    - parserError
    - nodesCloneNode
    - taosMemoryFree
    - 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:13589,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pNode
    - slotHash
    - pCollect
    argTypes:
    - SNode*
    - SHashObj*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13591
      start: 13587
    functionDepth: 3
    functionLinenumber: 13587
    functionLinenumberEnd: 13591
    functionName: createStreamSetNodeSlotId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - PAR_RET
    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:13595,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pNodeList
    - slotHash
    - pCollect
    argTypes:
    - SNodeList*
    - SHashObj*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13597
      start: 13593
    functionDepth: 4
    functionLinenumber: 13593
    functionLinenumberEnd: 13597
    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:13612,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13613,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13617,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13627,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13630,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13635,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13635,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13636,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13636,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13637,1
    - Dst: createFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13637,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13638,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13641,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13643,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13654
      start: 13607
    functionDepth: 15
    functionLinenumber: 13607
    functionLinenumberEnd: 13654
    functionName: rewriteTagSubtableExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodeType
    - translateFunction
    - nodesMakeValueNodeFromInt32
    - createFunction
    - PAR_ERR_JRET
    - nodesDestroyNode
    - nodesEqualNode
    - FOREACH
    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:13661,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13661,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13664,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13667,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13670,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13670,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pPartitionByList
    - pNode
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13676
      start: 13656
    functionDepth: 2
    functionLinenumber: 13656
    functionLinenumberEnd: 13676
    functionName: translateCreateStreamTagSubtableExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateExpr
    - nodesRewriteExpr
    - PAR_ERR_JRET
    - parserError
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateStreamTagSubtableExpr(STranslateContext* pCxt,
      SNodeList *pPartitionByList, SNode** pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13690,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13690,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13702,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13702,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13703,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13705,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13707,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13707,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13708,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13708,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13710,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13710,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13711,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13713,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13715,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13717,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13719,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13720,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13721,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13722,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13723,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13724,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13725,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13727,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13728,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13729,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13730,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13730,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13731,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13731,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13733,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13733,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13734,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13734,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13736,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13736,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13737,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13739,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13741,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13741,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13742,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13746,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13747,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13747,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13749,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13749,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13754,1
    - Dst: translateCreateStreamTagSubtableExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13754,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13755,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13756,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13757,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13760,1
    - Dst: createStreamSetNodeSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13760,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13761,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13761,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13762,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13767,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13769,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: 13771
      start: 13678
    functionDepth: 6
    functionLinenumber: 13678
    functionLinenumberEnd: 13771
    functionName: createStreamReqBuildOutSubtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateCreateStreamTagSubtableExpr
    - nodesListMakeStrictAppend
    - nodesIsExprNode
    - nodesNodeToString
    - fmGetFuncId
    - createStreamSetNodeSlotId
    - snprintf
    - nodesMakeValueNodeFromString
    - PAR_ERR_JRET
    - TAOS_STRNCAT
    - nodesMakeNode
    - nodesDestroyNode
    - taosMemoryCalloc
    - parserError
    - nodesCloneNode
    - taosMemoryFree
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildOutSubtable(STranslateContext* pCxt, const
      char* streamDb, const char* streamName,\n                                               const
      char* outDbName, const char* outTableName,\n                                               SNode*
      pSubtable, SHashObj* pTriggerSlotHash,\n                                               SNodeList*
      pPartitionByList, char** subTblNameExpr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13782,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13786,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13786,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13791,1
    - Dst: translateCreateStreamTagSubtableExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13791,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13796,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13796,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13800,1
    - Dst: createStreamSetNodeSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13800,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13801,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13801,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13802,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13802,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13805,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13809,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13809,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13813,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13815,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - pCxt
    - pList
    - pPartitionByList
    - pTriggerSlotHash
    - tagValueExpr
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - SHashObj*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13818
      start: 13773
    functionDepth: 6
    functionLinenumber: 13773
    functionLinenumberEnd: 13818
    functionName: createStreamReqBuildStreamTagExprStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateCreateStreamTagSubtableExpr
    - nodesCloneNode
    - nodesListToString
    - createStreamSetNodeSlotId
    - nodesListMakeAppend
    - nodesDestroyList
    - nodesMakeList
    - PAR_ERR_JRET
    - nodesDestroyNode
    - parserError
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildStreamTagExprStr(STranslateContext* pCxt,
      SNodeList* pList,\n                                                    SNodeList*
      pPartitionByList,\n                                                    SHashObj*
      pTriggerSlotHash, char** tagValueExpr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13791,1
    - Dst: translateCreateStreamTagSubtableExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13791,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13796,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13796,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13800,1
    - Dst: createStreamSetNodeSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13800,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13801,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13801,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13802,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13802,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13807
      start: 13788
    functionDepth: 5
    functionLinenumber: 13788
    functionLinenumberEnd: 13807
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 179
    functionsReached:
    - translateCreateStreamTagSubtableExpr
    - createStreamSetNodeSlotId
    - nodesListMakeAppend
    - PAR_ERR_JRET
    - nodesCloneNode
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13821,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pTime
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13829
      start: 13820
    functionDepth: 1
    functionLinenumber: 13820
    functionLinenumberEnd: 13829
    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:13834,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13837,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pTime
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13845
      start: 13833
    functionDepth: 1
    functionLinenumber: 13833
    functionLinenumberEnd: 13845
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13851,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13854,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13862,1
    - Dst: checkExpiredTime
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13862,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13863,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13863,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13872,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13872,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13874,1
    - Dst: checkDelayTime
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13874,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13879,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13879,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13885,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13885,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13892,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13892,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13912,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pOptions
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SStreamTriggerOptions*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13914
      start: 13847
    functionDepth: 11
    functionLinenumber: 13847
    functionLinenumberEnd: 13914
    functionName: createStreamReqBuildTriggerOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkExpiredTime
    - parserDebug
    - translateTimeRange
    - translateExpr
    - PAR_ERR_JRET
    - checkDelayTime
    - parserError
    - generateSyntaxErrMsgExt
    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:13921,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13924,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13928,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13929,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13930,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13933,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13935,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13938,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13939,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13940,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13941,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13942,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13948,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13949,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13951,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13951,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13957,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pNotifyOptions
    - pNotifyCond
    - pReq
    argTypes:
    - STranslateContext*
    - SStreamNotifyOptions*
    - SNode**
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13959
      start: 13916
    functionDepth: 3
    functionLinenumber: 13916
    functionLinenumberEnd: 13959
    functionName: createStreamReqBuildNotifyOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - taosArrayPush
    - taosArrayInit
    - parserDebug
    - taosMemoryFreeClear
    - BIT_FLAG_TEST_MASK
    - taosStrndup
    - PAR_ERR_JRET
    - parserError
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildNotifyOptions(STranslateContext* pCxt,
      SStreamNotifyOptions* pNotifyOptions,\n                                                 SNode**
      pNotifyCond, SCMCreateStreamReq* pReq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13970,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13971,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13980,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13984,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13985,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pTags
    - pMeta
    argTypes:
    - STranslateContext*
    - SNodeList*
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13991
      start: 13961
    functionDepth: 1
    functionLinenumber: 13961
    functionLinenumberEnd: 13991
    functionName: createStreamCheckOutTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamCheckOutTags(STranslateContext* pCxt, SNodeList*
      pTags, STableMeta* pMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13980,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13984,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13988
      start: 13974
    functionDepth: 1
    functionLinenumber: 13974
    functionLinenumberEnd: 13988
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 180
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14002,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14003,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14013,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14019,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14022,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14022,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14023,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pCols
    - pMeta
    argTypes:
    - STranslateContext*
    - SNodeList*
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14029
      start: 13993
    functionDepth: 1
    functionLinenumber: 13993
    functionLinenumberEnd: 14029
    functionName: createStreamCheckOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - extractTypeFromTypeMod
    - strncmp
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamCheckOutCols(STranslateContext* pCxt, SNodeList*
      pCols, STableMeta* pMeta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14013,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14019,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14022,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14022,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14023,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14026
      start: 14006
    functionDepth: 1
    functionLinenumber: 14006
    functionLinenumberEnd: 14026
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 180
    functionsReached:
    - extractTypeFromTypeMod
    - strlen
    - generateSyntaxErrMsgExt
    - strncmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCols)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14036,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14038,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14038,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14039,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14043,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14044,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14046,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14048,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14050,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14059,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14059,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14069,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14069,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14073,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14073,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14082,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14082,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14089,1
    - Dst: createStreamCheckOutTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14089,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14090,1
    - Dst: createStreamCheckOutCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14090,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14093,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14093,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14101,1
    - Dst: createStreamCheckOutCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14101,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14104,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14107,1
    - Dst: checkTableSchemaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14107,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14109,1
    - Dst: streamTagDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14109,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14110,1
    - Dst: createStreamReqBuildStreamTagExprStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14110,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14112,1
    - Dst: getTableVgId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14112,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14115,1
    - Dst: columnDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14115,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14116,1
    - Dst: createStreamReqBuildOutSubtable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14116,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14121,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14123,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTriggerSlotHash
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SHashObj*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14125
      start: 14031
    functionDepth: 13
    functionLinenumber: 14031
    functionLinenumberEnd: 14125
    functionName: createStreamReqBuildOutTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - getTableVgId
    - snprintf
    - checkTableSchemaImpl
    - getTableMeta
    - PAR_ERR_RET
    - PAR_ERR_JRET
    - columnDefNodeToField
    - createStreamReqBuildOutSubtable
    - strlen
    - parserDebug
    - createStreamCheckOutTags
    - taosMemoryFreeClear
    - generateSyntaxErrMsgExt
    - taosStrdup
    - createStreamReqBuildStreamTagExprStr
    - createStreamCheckOutCols
    - parserError
    - streamTagDefNodeToField
    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:14132,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14133,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14142,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14142,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14146,1
    - Dst: getTableVgId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14146,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14148,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14149,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14151,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14154,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - pCxt
    - pTriggerTable
    - pMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SRealTableNode*
    - STableMeta*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14165
      start: 14127
    functionDepth: 13
    functionLinenumber: 14127
    functionLinenumberEnd: 14165
    functionName: createStreamReqBuildTriggerTableInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - getTableVgId
    - BIT_FLAG_SET_MASK
    - isVirtualSTable
    - snprintf
    - PAR_ERR_RET
    - PAR_ERR_JRET
    - parserError
    - generateSyntaxErrMsgExt
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerTableInfo(STranslateContext* pCxt,
      SRealTableNode* pTriggerTable, 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: 14169
      start: 14167
    functionDepth: 0
    functionLinenumber: 14167
    functionLinenumberEnd: 14169
    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: 14173
      start: 14171
    functionDepth: 0
    functionLinenumber: 14171
    functionLinenumberEnd: 14173
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14177,1
    - Dst: checkSessionWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14177,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SSessionWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14181
      start: 14175
    functionDepth: 3
    functionLinenumber: 14175
    functionLinenumberEnd: 14181
    functionName: createStreamReqBuildTriggerSessionWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkSessionWindow
    - createStreamReqWindowGetBigInt
    - PAR_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerSessionWindow(STranslateContext*
      pCxt, SSessionWindowNode* pTriggerWindow, SCMCreateStreamReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14186,1
    - Dst: checkStreamIntervalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14186,1
    - Dst: checkTimeGreater
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14189,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14191,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14197,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14198,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14199,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14200,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14201,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14202,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14203,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SIntervalWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14206
      start: 14183
    functionDepth: 4
    functionLinenumber: 14183
    functionLinenumberEnd: 14206
    functionName: createStreamReqBuildTriggerIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqWindowGetBigInt
    - createStreamReqWindowGetUnit
    - checkStreamIntervalWindow
    - checkTimeGreater
    - PAR_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerIntervalWindow(STranslateContext*
      pCxt, SIntervalWindowNode* pTriggerWindow, SCMCreateStreamReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14210,1
    - Dst: checkEventWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14210,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14211,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14211,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14212,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14212,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SEventWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14215
      start: 14208
    functionDepth: 8
    functionLinenumber: 14208
    functionLinenumberEnd: 14215
    functionName: createStreamReqBuildTriggerEventWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqWindowGetBigInt
    - PAR_ERR_RET
    - nodesNodeToString
    - checkEventWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerEventWindow(STranslateContext* pCxt,
      SEventWindowNode* pTriggerWindow, SCMCreateStreamReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14219,1
    - Dst: checkPeriodWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14219,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14220,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14221,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14222,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SPeriodWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14226
      start: 14217
    functionDepth: 2
    functionLinenumber: 14217
    functionLinenumberEnd: 14226
    functionName: createStreamReqBuildTriggerPeriodWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqWindowGetUnit
    - createStreamReqWindowGetBigInt
    - PAR_ERR_RET
    - checkPeriodWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerPeriodWindow(STranslateContext*
      pCxt, SPeriodWindowNode* pTriggerWindow, SCMCreateStreamReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14230,1
    - Dst: checkCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SCountWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14235
      start: 14228
    functionDepth: 2
    functionLinenumber: 14228
    functionLinenumberEnd: 14235
    functionName: createStreamReqBuildTriggerCountWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - checkCountWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerCountWindow(STranslateContext* pCxt,
      SCountWindowNode* pTriggerWindow, SCMCreateStreamReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14239,1
    - Dst: checkStateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14239,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14241,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14242,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14243,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SStateWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14245
      start: 14237
    functionDepth: 4
    functionLinenumber: 14237
    functionLinenumberEnd: 14245
    functionName: createStreamReqBuildTriggerStateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqWindowGetBigInt
    - PAR_ERR_RET
    - nodesNodeToString
    - checkStateWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerStateWindow(STranslateContext* pCxt,
      SStateWindowNode* pTriggerWindow, SCMCreateStreamReq* pReq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14249,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14251,1
    - Dst: createStreamReqBuildTriggerSessionWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14251,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14254,1
    - Dst: createStreamReqBuildTriggerIntervalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14254,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14257,1
    - Dst: createStreamReqBuildTriggerEventWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14257,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14260,1
    - Dst: createStreamReqBuildTriggerPeriodWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14260,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14263,1
    - Dst: createStreamReqBuildTriggerCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14263,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14266,1
    - Dst: createStreamReqBuildTriggerStateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14266,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14269,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14269,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14269,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14275
      start: 14247
    functionDepth: 9
    functionLinenumber: 14247
    functionLinenumberEnd: 14275
    functionName: createStreamReqBuildTriggerBuildWindowInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqBuildTriggerStateWindow
    - createStreamReqBuildTriggerEventWindow
    - createStreamReqBuildTriggerCountWindow
    - nodeType
    - createStreamReqBuildTriggerIntervalWindow
    - PAR_ERR_JRET
    - createStreamReqBuildTriggerPeriodWindow
    - createStreamReqBuildTriggerSessionWindow
    - parserError
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerBuildWindowInfo(STranslateContext*
      pCxt, SNode* pTriggerWindow, SCMCreateStreamReq* pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14279,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pScanNode
    - pTsSlotId
    argTypes:
    - SScanPhysiNode*
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14288
      start: 14277
    functionDepth: 1
    functionLinenumber: 14277
    functionLinenumberEnd: 14288
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14309,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14309,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14311,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14311,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14316,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14316,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14319,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14322,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14326,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14326,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14328,1
    - Dst: findTsSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14331,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14334,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14334,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14337,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14339,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14339,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14339,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14342,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14342,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14343,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14343,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14344,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14344,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14347,1
    - Dst: createStreamSetNodeSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14347,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14350,1
    - Dst: createStreamSetListSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14350,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14353,1
    - Dst: createStreamSetNodeSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14353,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14355,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14355,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14356,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14356,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14357,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14357,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14359,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14359,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14364,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14367,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14367,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14371,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14372,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14373,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14374,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14375,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14377,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 6
    argNames:
    - pCxt
    - pTriggerSelect
    - pReq
    - pTriggerSlotHash
    - pTriggerWindow
    - pTriggerPartition
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SCMCreateStreamReq*
    - SHashObj**
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14380
      start: 14290
    functionDepth: 22
    functionLinenumber: 14290
    functionLinenumberEnd: 14380
    functionName: createStreamReqBuildTriggerBuildPlan
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - qCreateQueryPlan
    - nodesNodeToString
    - createStreamSetNodeSlotId
    - BIT_FLAG_TEST_MASK
    - PAR_ERR_JRET
    - nodesDestroyNode
    - strlen
    - findTsSlotId
    - taosGetDefaultHashFunction
    - createStreamSetListSlotId
    - generateSyntaxErrMsgExt
    - nodesListToString
    - nodesDestroyList
    - nodesMakeList
    - taosHashPut
    - taosHashInit
    - parserError
    - nodesCloneNode
    - FOREACH
    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:14393,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14395,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14401,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14401,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14402,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14406,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14410,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14417,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14423,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14423,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14424,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14424,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14428,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTriggerPartition
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SNodeList*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14431
      start: 14382
    functionDepth: 5
    functionLinenumber: 14382
    functionLinenumberEnd: 14431
    functionName: createStreamReqSetDefaultTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodeType
    - calcTypeBytes
    - nodesListMakeAppend
    - PAR_ERR_JRET
    - nodesMakeNode
    - nodesDestroyNode
    - parserError
    - nodesCloneNode
    - FOREACH
    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:14401,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14401,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14402,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14406,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14410,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14417,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14423,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14423,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14424,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14425
      start: 14400
    functionDepth: 5
    functionLinenumber: 14400
    functionLinenumberEnd: 14425
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 183
    functionsReached:
    - tstrncpy
    - nodeType
    - nodesListMakeAppend
    - PAR_ERR_JRET
    - nodesMakeNode
    - nodesCloneNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTriggerPartition)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14439,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14441,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14448,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14449,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14449,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14452,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14453,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14453,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14464,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14464,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14473,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14475,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14475,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14476,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14478,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14480,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14481,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14482,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14484,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14486,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14489,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14496,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14498,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14499,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14505,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14506,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14506,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14511,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pCalcProjection
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SNodeList*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14513
      start: 14433
    functionDepth: 5
    functionLinenumber: 14433
    functionLinenumberEnd: 14513
    functionName: createStreamReqSetDefaultOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - TAOS_STRCAT
    - tstrncpy
    - parserDebug
    - nodeType
    - nodesListMakeAppend
    - PAR_ERR_RET
    - PAR_ERR_JRET
    - nodesMakeNode
    - nodesDestroyNode
    - parserError
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - 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:14464,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14464,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14473,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14475,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14475,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14476,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14478,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14480,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14481,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14482,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14484,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14486,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14489,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14496,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14498,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14499,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14503
      start: 14458
    functionDepth: 5
    functionLinenumber: 14458
    functionLinenumberEnd: 14503
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 183
    functionsReached:
    - nodesListGetNode
    - TAOS_STRCAT
    - tstrncpy
    - nodeType
    - nodesListMakeAppend
    - PAR_ERR_JRET
    - nodesMakeNode
    - nodesDestroyNode
    - generateSyntaxErrMsgExt
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCalcProjection)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14521,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14540
      start: 14519
    functionDepth: 1
    functionLinenumber: 14519
    functionLinenumberEnd: 14540
    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:14554,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14554,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14556,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14563,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14565,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14565,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14568,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14572,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14572,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14575,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14575,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14576,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14579,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14580,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14587,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14588,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14590
      start: 14542
    functionDepth: 5
    functionLinenumber: 14542
    functionLinenumberEnd: 14590
    functionName: createStreamReqBuildForceOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - nodesNodeToString
    - taosArrayInit
    - nodesWalkExpr
    - taosArrayDestroyEx
    - PAR_ERR_JRET
    - nodesMakeNode
    - nodesDestroyNode
    - parserError
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildForceOutput(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt, SCMCreateStreamReq* pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14563,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14565,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14565,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14568,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14572,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14572,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14575,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14575,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14576,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14579,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14583
      start: 14560
    functionDepth: 5
    functionLinenumber: 14560
    functionLinenumberEnd: 14583
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 183
    functionsReached:
    - taosArrayPush
    - nodesNodeToString
    - nodesWalkExpr
    - taosArrayDestroyEx
    - PAR_ERR_JRET
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pProjection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14593,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14601,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14602,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14605,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14605,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14606,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14606,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14608,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14613,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pCountWindow
    - pCond
    argTypes:
    - STranslateContext*
    - SCountWindowNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14619
      start: 14592
    functionDepth: 5
    functionLinenumber: 14592
    functionLinenumberEnd: 14619
    functionName: extractCondFromCountWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodeType
    - nodesListMakeAppend
    - createOperatorNode
    - PAR_ERR_RET
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - FOREACH
    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:14623,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14632,1
    - Dst: createIsOperatorNodeByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14632,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14633,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14633,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14635,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStateWindow
    - pCond
    argTypes:
    - STranslateContext*
    - SStateWindowNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14641
      start: 14621
    functionDepth: 5
    functionLinenumber: 14621
    functionLinenumberEnd: 14641
    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:14655,1
    - Dst: createSimpleSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14655,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14656,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14656,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14658,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14658,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14660,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14660,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14661,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14661,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14665,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pTriggerTable
    - pTriggerSelect
    - pStmt
    argTypes:
    - STranslateContext*
    - SRealTableNode*
    - SSelectStmt**
    - SCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14668
      start: 14646
    functionDepth: 7
    functionLinenumber: 14646
    functionLinenumberEnd: 14668
    functionName: createStreamReqBuildTriggerSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - parserError
    - PAR_ERR_JRET
    - createTbnameFunction
    - nodesCollectColumnsFromNode
    - nodesDestroyNode
    - createSimpleSelectStmtImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerSelect(STranslateContext* pCxt,
      SRealTableNode* pTriggerTable, SSelectStmt** pTriggerSelect, SCreateStreamStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14674,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14674,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14675,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14675,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14680,1
    - Dst: translateSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14680,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pTrigger
    - pTriggerSelect
    - pTriggerFilter
    argTypes:
    - STranslateContext*
    - SStreamTriggerNode*
    - SSelectStmt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14688
      start: 14670
    functionDepth: 21
    functionLinenumber: 14670
    functionLinenumberEnd: 14688
    functionName: createStreamReqBuildTriggerTranslateSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - translateSelect
    - parserError
    - 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:14694,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14696,1
    - Dst: extractCondFromCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14696,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14698,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14698,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14708,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pTriggerFilter
    argTypes:
    - STranslateContext*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14712
      start: 14690
    functionDepth: 7
    functionLinenumber: 14690
    functionLinenumberEnd: 14712
    functionName: createStreamReqBulidTriggerExtractCondFromWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - extractCondFromCountWindow
    - nodesMergeNode
    - nodeType
    - PAR_ERR_JRET
    - nodesDestroyNode
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBulidTriggerExtractCondFromWindow(STranslateContext*
      pCxt, SNode* pTriggerWindow, SNode** pTriggerFilter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14722,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14726,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14733,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14734,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14743
      start: 14720
    functionDepth: 1
    functionLinenumber: 14720
    functionLinenumberEnd: 14743
    functionName: createStreamReqBuildTriggerCheckPartitionWalker
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsScalarFunc
    - generateSyntaxErrMsgExt
    - nodeType
    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:14750,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14751,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14753,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14754,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14754,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14755,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14755,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14756,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14756,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pTriggerPartition
    - pTriggerTableMeta
    - pTriggerWindow
    argTypes:
    - STranslateContext*
    - SNodeList*
    - STableMeta*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14765
      start: 14745
    functionDepth: 4
    functionLinenumber: 14745
    functionLinenumberEnd: 14765
    functionName: createStreamReqBuildTriggerCheckPartition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesWalkExprs
    - PAR_ERR_JRET
    - hasTbnameFunction
    - parserError
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerCheckPartition(STranslateContext*
      pCxt, SNodeList* pTriggerPartition, STableMeta* pTriggerTableMeta, SNode* pTriggerWindow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14771,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14771,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pTriggerWindow
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14778
      start: 14767
    functionDepth: 2
    functionLinenumber: 14767
    functionLinenumberEnd: 14778
    functionName: createStreamReqBuildTriggerTranslateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - PAR_ERR_JRET
    - translateExpr
    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:14784,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14784,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14786,1
    - Dst: createStreamReqBuildTriggerCheckPartition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14786,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pTriggerPartition
    - pTriggerTableMeta
    - pTriggerWindow
    argTypes:
    - STranslateContext*
    - SNodeList*
    - STableMeta*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14792
      start: 14780
    functionDepth: 5
    functionLinenumber: 14780
    functionLinenumberEnd: 14792
    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, STableMeta* pTriggerTableMeta, SNode* pTriggerWindow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14804,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14808,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14809,1
    - Dst: createStreamReqBuildTriggerTranslateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14809,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14810,1
    - Dst: createStreamReqBuildTriggerBuildWindowInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14810,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14813,1
    - Dst: createStreamReqBulidTriggerExtractCondFromWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14813,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14817,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14817,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14820,1
    - Dst: createStreamReqBuildTriggerTableInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14820,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14821,1
    - Dst: createStreamReqBuildTriggerSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14821,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14823,1
    - Dst: createStreamReqBuildTriggerTranslateSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14823,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14824,1
    - Dst: createStreamReqBuildTriggerTranslateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14824,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14825,1
    - Dst: createStreamReqBuildTriggerTranslatePartition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14825,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14829,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14831,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: 14833
      start: 14794
    functionDepth: 22
    functionLinenumber: 14794
    functionLinenumberEnd: 14833
    functionName: createStreamReqBuildTriggerAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqBulidTriggerExtractCondFromWindow
    - parserDebug
    - createStreamReqBuildTriggerTableInfo
    - createStreamReqBuildTriggerTranslateSelect
    - taosMemoryFreeClear
    - getTableMeta
    - PAR_RET
    - createStreamReqBuildTriggerTranslatePartition
    - PAR_ERR_JRET
    - createStreamReqBuildTriggerBuildWindowInfo
    - createStreamReqBuildTriggerTranslateWindow
    - createStreamReqBuildTriggerSelect
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerAst(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt,\n                                              SSelectStmt** pTriggerSelect,
      SHashObj **pTriggerSlotHash,\n                                              SNode**
      pTriggerFilter, SCMCreateStreamReq* pReq)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14837,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14838,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14839,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14841,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14841,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14845,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14845,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14846,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14846,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14848,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14848,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14852,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14852,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14854,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14854,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14858,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14859,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14860,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14860,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14864,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14866,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14866,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14872,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pReq
    - placeHolderBitmap
    - pTriggerPartition
    argTypes:
    - STranslateContext*
    - SCMCreateStreamReq*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14874
      start: 14835
    functionDepth: 3
    functionLinenumber: 14835
    functionLinenumberEnd: 14874
    functionName: createStreamReqCheckPlaceHolder
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - BIT_FLAG_TEST_MASK
    - PAR_ERR_JRET
    - hasTbnameFunction
    - parserError
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqCheckPlaceHolder(STranslateContext* pCxt, SCMCreateStreamReq*
      pReq, int32_t placeHolderBitmap, SNodeList *pTriggerPartition)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14885,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14889,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14892,1
    - Dst: createStreamReqBuildTriggerBuildPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14892,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14893,1
    - Dst: createStreamReqBuildTriggerBuildWindowInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14893,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14894,1
    - Dst: createStreamReqCheckPlaceHolder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14894,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14895,1
    - Dst: createStreamReqSetDefaultTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14895,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14899,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: 14902
      start: 14876
    functionDepth: 23
    functionLinenumber: 14876
    functionLinenumberEnd: 14902
    functionName: createStreamReqBuildTriggerPlan
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqSetDefaultTag
    - createStreamReqBuildTriggerBuildPlan
    - parserDebug
    - PAR_RET
    - PAR_ERR_JRET
    - createStreamReqBuildTriggerBuildWindowInfo
    - createStreamReqCheckPlaceHolder
    - parserError
    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:14907,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14908,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTarget
    - pList
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14914
      start: 14904
    functionDepth: 3
    functionLinenumber: 14904
    functionLinenumberEnd: 14914
    functionName: eliminateNodeFromList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - ERASE_NODE
    - nodesEqualNode
    - REPLACE_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:14907,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14908,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14913
      start: 14906
    functionDepth: 3
    functionLinenumber: 14906
    functionLinenumberEnd: 14913
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 12
    functionsReached:
    - ERASE_NODE
    - nodesEqualNode
    - REPLACE_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:14921,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14923,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14923,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTarget
    - pList
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14929
      start: 14916
    functionDepth: 6
    functionLinenumber: 14916
    functionLinenumberEnd: 14929
    functionName: replaceSubPlanFromList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - PAR_ERR_RET
    - REPLACE_NODE
    - nodesMakeValueNodeFromInt64
    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:14921,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14923,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14923,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14927
      start: 14920
    functionDepth: 6
    functionLinenumber: 14920
    functionLinenumberEnd: 14927
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 184
    functionsReached:
    - nodesEqualNode
    - PAR_ERR_RET
    - REPLACE_NODE
    - nodesMakeValueNodeFromInt64
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14941,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14945,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14946,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14949,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14949,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14953,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14955,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14957,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14958,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14961,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14967,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14973
      start: 14936
    functionDepth: 4
    functionLinenumber: 14936
    functionLinenumberEnd: 14973
    functionName: doCheckNotifyCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesIsStar
    - FOREACH
    - nodesDestroyNode
    - nodesEqualNode
    - parserError
    - 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:14976,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14992,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14992,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pTriggerWindow
    - eqLeft
    - eqRight
    argTypes:
    - STranslateContext*
    - SNode*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14995
      start: 14975
    functionDepth: 1
    functionLinenumber: 14975
    functionLinenumberEnd: 14995
    functionName: getExtWindowBorder
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - generateSyntaxErrMsgExt
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t getExtWindowBorder(STranslateContext* pCxt, SNode* pTriggerWindow,
      bool* eqLeft, bool* eqRight)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15004,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15006,1
    - Dst: getExtWindowBorder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15006,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15017,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15019,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15019,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15022,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15024,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15024,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15028,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15028,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15032,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15032,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15038,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15038,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 6
    argNames:
    - pCxt
    - pTriggerPartition
    - pTriggerTbl
    - pStreamCalcQuery
    - pNotifyCond
    - pTriggerWindow
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNode*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15051
      start: 14997
    functionDepth: 5
    functionLinenumber: 14997
    functionLinenumberEnd: 15051
    functionName: translateStreamCalcQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getExtWindowBorder
    - parserDebug
    - nodeType
    - nodesListMakeAppend
    - nodesRewriteExpr
    - PAR_ERR_JRET
    - translateQuery
    - parserError
    - generateSyntaxErrMsgExt
    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:15056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pTarget
    - pList
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15061
      start: 15053
    functionDepth: 3
    functionLinenumber: 15053
    functionLinenumberEnd: 15061
    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:15056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15059
      start: 15055
    functionDepth: 3
    functionLinenumber: 15055
    functionLinenumberEnd: 15059
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 185
    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:15068,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15070,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15073,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15076,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15077,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15079,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15082,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15084,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15085,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15087,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15092,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15093,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pDbs
    - pReq
    argTypes:
    - STranslateContext*
    - SHashObj*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15095
      start: 15063
    functionDepth: 1
    functionLinenumber: 15063
    functionLinenumberEnd: 15095
    functionName: createStreamReqBuildCalcDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosHashGetKey
    - taosMemoryFreeClear
    - memcpy
    - taosHashIterate
    - PAR_ERR_JRET
    - taosMemoryCalloc
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildCalcDb(STranslateContext* pCxt, SHashObj*
      pDbs, SCMCreateStreamReq* pReq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15104,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15106,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15107,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15107,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15109,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15114,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15116,1
    - Dst: eliminateNodeFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15125,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15130,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15131,1
    - Dst: replaceSubPlanFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15131,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15136,1
    - Dst: findNodeInList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15138,1
    - Dst: eliminateNodeFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15139,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15140,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15141,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15142,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15152,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15155,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15155,1
    - Dst: findTsSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15159,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15161,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15161,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15167,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15168,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15168,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15169,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15170,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15172,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15173,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15178,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15178,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15180,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15184,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15185,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15187,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15188,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 4
    argNames:
    - pCxt
    - calcPlan
    - pVgArray
    - pReq
    argTypes:
    - STranslateContext*
    - SQueryPlan*
    - SArray*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15190
      start: 15097
    functionDepth: 7
    functionLinenumber: 15097
    functionLinenumberEnd: 15190
    functionName: createStreamReqBuildCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - nodesNodeToString
    - findNodeInList
    - WHERE_EACH
    - parserError
    - taosArrayGet
    - PAR_ERR_JRET
    - nodesDestroyNode
    - TSWAP
    - replaceSubPlanFromList
    - taosHashGet
    - findTsSlotId
    - parserDebug
    - eliminateNodeFromList
    - ERASE_NODE
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - generateSyntaxErrMsgExt
    - REPLACE_NODE
    - taosHashPut
    - taosHashInit
    - taosHashCleanup
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildCalcPlan(STranslateContext* pCxt, SQueryPlan*
      calcPlan,\n                                            SArray* pVgArray, SCMCreateStreamReq*
      pReq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15201,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15204,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15208,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15209,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15209,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15211,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15215,1
    - Dst: translateStreamCalcQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15215,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15218,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15221,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15224,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15224,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15228,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15232,1
    - Dst: createStreamReqSetDefaultOutCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15232,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15234,1
    - Dst: createStreamReqBuildForceOutput
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15234,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15237,1
    - Dst: calculateConstant
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15237,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15243,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15247,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15254,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15254,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15257,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15258,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15260,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15260,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15262,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15263,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15265,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15270,1
    - Dst: createStreamReqBuildCalcDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15270,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15272,1
    - Dst: createStreamReqBuildCalcPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15272,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15276,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15278,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15279,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15280,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 7
    argNames:
    - pCxt
    - pStmt
    - pTriggerPartition
    - pTriggerSelect
    - pTriggerWindow
    - pNotifyCond
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SNodeList*
    - SSelectStmt*
    - SNode*
    - SNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15282
      start: 15192
    functionDepth: 22
    functionLinenumber: 15192
    functionLinenumberEnd: 15282
    functionName: createStreamReqBuildCalc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - qCreateQueryPlan
    - taosArrayDestroy
    - taosArrayInit
    - createStreamReqBuildForceOutput
    - calculateConstant
    - translateStreamCalcQuery
    - BIT_FLAG_TEST_MASK
    - PAR_ERR_JRET
    - nodesDestroyNode
    - nodesListAppendList
    - tstrncpy
    - parserDebug
    - createStreamReqSetDefaultOutCols
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - createStreamReqBuildCalcDb
    - generateSyntaxErrMsgExt
    - nodeType
    - createStreamReqBuildCalcPlan
    - taosHashInit
    - parserError
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildCalc(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt,\n                                        SNodeList *pTriggerPartition,
      SSelectStmt* pTriggerSelect, SNode* pTriggerWindow, SNode* pNotifyCond,\n                                        SCMCreateStreamReq*
      pReq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15306
      start: 15285
    functionDepth: 0
    functionLinenumber: 15285
    functionLinenumberEnd: 15306
    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, SCMCreateStreamReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15312,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15313,1
    - Dst: taosGetSystemUUIDU64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15313,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15316,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15317,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15318,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15321,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15323,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15326,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15327,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15327,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15328,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15328,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15334
      start: 15308
    functionDepth: 1
    functionLinenumber: 15308
    functionLinenumberEnd: 15334
    functionName: createStreamReqBuildNameAndId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosGetSystemUUIDU64
    - tNameExtractFullName
    - parserDebug
    - toName
    - tNameGetFullDbName
    - PAR_ERR_JRET
    - taosMemoryCalloc
    - parserError
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildNameAndId(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt, SCMCreateStreamReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15347,1
    - Dst: createStreamReqBuildDefaultReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15347,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15348,1
    - Dst: createStreamReqBuildNameAndId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15348,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15349,1
    - Dst: createStreamReqBuildNotifyOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15349,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15350,1
    - Dst: createStreamReqBuildTriggerAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15350,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15351,1
    - Dst: createStreamReqBuildTriggerOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15351,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15352,1
    - Dst: createStreamReqBuildCalc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15352,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15353,1
    - Dst: createStreamReqBuildTriggerPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15353,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15354,1
    - Dst: createStreamReqBuildOutTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15354,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15358,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15360,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15361,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15364
      start: 15336
    functionDepth: 24
    functionLinenumber: 15336
    functionLinenumberEnd: 15364
    functionName: buildCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqBuildOutTable
    - parserError
    - createStreamReqBuildNameAndId
    - createStreamReqBuildCalc
    - PAR_ERR_JRET
    - createStreamReqBuildDefaultReq
    - taosHashCleanup
    - createStreamReqBuildTriggerPlan
    - nodesDestroyNode
    - createStreamReqBuildNotifyOptions
    - createStreamReqBuildTriggerOptions
    - createStreamReqBuildTriggerAst
    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:15370,1
    - Dst: checkCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15370,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15371,1
    - Dst: buildCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15371,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15372,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15372,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15376,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15380
      start: 15366
    functionDepth: 25
    functionLinenumber: 15366
    functionLinenumberEnd: 15380
    functionName: translateCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCreateStreamReq
    - tFreeSCMCreateStreamReq
    - PAR_ERR_JRET
    - checkCreateStream
    - parserError
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateStream(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15387,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15389,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15392,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15393,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15393,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15395,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15395,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15400
      start: 15382
    functionDepth: 3
    functionLinenumber: 15382
    functionLinenumberEnd: 15400
    functionName: translateDropStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeMDropStreamReq
    - tNameExtractFullName
    - toName
    - PAR_ERR_JRET
    - taosMemoryCalloc
    - buildCmdMsg
    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:15407,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15409,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15412,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15413,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15413,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15415,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15415,1
    - Dst: tFreeMPauseStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SPauseStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15420
      start: 15402
    functionDepth: 3
    functionLinenumber: 15402
    functionLinenumberEnd: 15420
    functionName: translatePauseStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameExtractFullName
    - toName
    - tFreeMPauseStreamReq
    - PAR_ERR_JRET
    - taosMemoryCalloc
    - buildCmdMsg
    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:15427,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15429,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15432,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15433,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15433,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15437,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15437,1
    - Dst: tFreeMResumeStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SResumeStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15442
      start: 15422
    functionDepth: 3
    functionLinenumber: 15422
    functionLinenumberEnd: 15442
    functionName: translateResumeStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameExtractFullName
    - toName
    - PAR_ERR_JRET
    - tFreeMResumeStreamReq
    - taosMemoryCalloc
    - buildCmdMsg
    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:15449,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15451,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15454,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15455,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15455,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15457,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15457,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15458,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15458,1
    - Dst: tFreeMRecalcStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRecalcStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15463
      start: 15444
    functionDepth: 11
    functionLinenumber: 15444
    functionLinenumberEnd: 15463
    functionName: translateRecalcStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameExtractFullName
    - tFreeMRecalcStreamReq
    - toName
    - translateTimeRange
    - PAR_ERR_JRET
    - taosMemoryCalloc
    - buildCmdMsg
    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:15466,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15466,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15481
      start: 15465
    functionDepth: 1
    functionLinenumber: 15465
    functionLinenumberEnd: 15481
    functionName: validateCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - nodeType
    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:15491,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15492,1
    - Dst: validateCreateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15494,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15500,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15506,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15507,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15508,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15510,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15512,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15518,1
    - Dst: tFreeSCMCreateViewReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15523
      start: 15483
    functionDepth: 3
    functionLinenumber: 15483
    functionLinenumberEnd: 15523
    functionName: translateCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - tstrncpy
    - toName
    - tNameGetFullDbName
    - snprintf
    - tstrdup
    - tFreeSCMCreateViewReq
    - buildCmdMsg
    - TSWAP
    - validateCreateView
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateView(STranslateContext* pCxt, SCreateViewStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15532,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15532,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15534,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15535,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15536,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15542,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15543,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15551
      start: 15525
    functionDepth: 3
    functionLinenumber: 15525
    functionLinenumberEnd: 15551
    functionName: translateDropView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - collectUseTable
    - toName
    - tNameSetDbName
    - tNameGetFullDbName
    - snprintf
    - buildCmdMsg
    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:15555,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15565,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15570,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15572,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15576,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15578,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15579,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15579,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15580,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pName
    - len
    - buf
    argTypes:
    - char*
    - int32_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15584
      start: 15553
    functionDepth: 1
    functionLinenumber: 15553
    functionLinenumberEnd: 15584
    functionName: readFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosReadFile
    - taosCloseFile
    - tstrerror
    - taosMemoryFreeClear
    - taosStatFile
    - taosOpenFile
    - taosMemoryCalloc
    - parserError
    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:15587,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15588,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15594,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15598,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15602,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15608,1
    - Dst: readFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15611,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15613,1
    - Dst: tFreeSCreateFuncReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15615,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateFunctionStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15617
      start: 15586
    functionDepth: 3
    functionLinenumber: 15586
    functionLinenumberEnd: 15617
    functionName: translateCreateFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - readFromFile
    - tstrncpy
    - tFreeSCreateFuncReq
    - calcTypeBytes
    - generateSyntaxErrMsg
    - fmIsBuiltinFunc
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    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:15621,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropFunctionStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15624
      start: 15619
    functionDepth: 3
    functionLinenumber: 15619
    functionLinenumberEnd: 15624
    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:15628,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15632,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15633,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - pTable
    argTypes:
    - SGrantStmt*
    - SRealTableNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15637
      start: 15626
    functionDepth: 5
    functionLinenumber: 15626
    functionLinenumberEnd: 15637
    functionName: createRealTableForGrantTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createRealTableForGrantTable(SGrantStmt* pStmt, SRealTableNode**
      pTable)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15643,1
    - Dst: createRealTableForGrantTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15650,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15653,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15654,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15656,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15662,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15663,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15669,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15676,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15679,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15682,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15684,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SGrantStmt*
    - SAlterUserReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15686
      start: 15639
    functionDepth: 13
    functionLinenumber: 15639
    functionLinenumberEnd: 15686
    functionName: translateGrantTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesNodeToString
    - createRealTableForGrantTable
    - toName
    - translateExpr
    - getTargetMeta
    - addNamespace
    - nodesDestroyNode
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGrantTagCond(STranslateContext* pCxt, SGrantStmt*
      pStmt, SAlterUserReq* pReq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15697,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15698,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15701,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15701,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15706,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15710,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15711,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15712,1
    - Dst: translateGrantTagCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15714,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15717,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SGrantStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15721
      start: 15688
    functionDepth: 14
    functionLinenumber: 15688
    functionLinenumberEnd: 15721
    functionName: translateGrant
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tstrerror
    - translateGrantTagCond
    - toName
    - snprintf
    - getTargetMeta
    - generateSyntaxErrMsg
    - taosMemoryFree
    - tFreeSAlterUserReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGrant(STranslateContext* pCxt, SGrantStmt* pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15733,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15734,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15737,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15742,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15746,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15747,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15748,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15749,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRevokeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15752
      start: 15723
    functionDepth: 13
    functionLinenumber: 15723
    functionLinenumberEnd: 15752
    functionName: translateRevoke
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tstrerror
    - toName
    - snprintf
    - getTargetMeta
    - generateSyntaxErrMsg
    - taosMemoryFree
    - tFreeSAlterUserReq
    - buildCmdMsg
    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:15756,1
    - Dst: tFreeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SBalanceVgroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15759
      start: 15754
    functionDepth: 3
    functionLinenumber: 15754
    functionLinenumberEnd: 15759
    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:15763,1
    - Dst: tFreeSAssignLeaderReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAssignLeaderStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15766
      start: 15761
    functionDepth: 3
    functionLinenumber: 15761
    functionLinenumberEnd: 15766
    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:15771,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15773,1
    - Dst: tFreeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SBalanceVgroupLeaderStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15776
      start: 15768
    functionDepth: 3
    functionLinenumber: 15768
    functionLinenumberEnd: 15776
    functionName: translateBalanceVgroupLeader
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tFreeSBalanceVgroupLeaderReq
    - 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:15780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SMergeVgroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15781
      start: 15778
    functionDepth: 3
    functionLinenumber: 15778
    functionLinenumberEnd: 15781
    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:15784,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15786,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15790,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15792,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15797,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15797,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15801,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15801,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15804,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRedistributeVgroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15808
      start: 15783
    functionDepth: 5
    functionLinenumber: 15783
    functionLinenumberEnd: 15808
    functionName: checkDnodeIds
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - translateValue
    - getBigintFromValueNode
    - generateSyntaxErrMsg
    - 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:15812,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15817,1
    - Dst: tFreeSRedistributeVgroupReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRedistributeVgroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15821
      start: 15810
    functionDepth: 6
    functionLinenumber: 15810
    functionLinenumberEnd: 15821
    functionName: translateRedistributeVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSRedistributeVgroupReq
    - checkDnodeIds
    - 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:15825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SSplitVgroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15826
      start: 15823
    functionDepth: 3
    functionLinenumber: 15823
    functionLinenumberEnd: 15826
    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:15832,1
    - Dst: taosStrdupi
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15834,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15837,1
    - Dst: tFreeSShowVariablesReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15840
      start: 15828
    functionDepth: 3
    functionLinenumber: 15828
    functionLinenumberEnd: 15840
    functionName: translateShowVariables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tFreeSShowVariablesReq
    - taosStrdupi
    - 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:15843,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15849,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15849,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15850,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15853
      start: 15842
    functionDepth: 10
    functionLinenumber: 15842
    functionLinenumberEnd: 15853
    functionName: translateShowCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    - taosMemoryCalloc
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateShowCreateDatabase(STranslateContext* pCxt, SShowCreateDatabaseStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15856,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15861,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15861,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15863,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15864,1
    - Dst: getTableCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15864,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15870,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - showVtable
    argTypes:
    - STranslateContext*
    - SShowCreateTableStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15876
      start: 15855
    functionDepth: 14
    functionLinenumber: 15855
    functionLinenumberEnd: 15876
    functionName: translateShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - toName
    - PAR_ERR_RET
    - getTableCfg
    - generateSyntaxErrMsgExt
    - getDBCfg
    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:15879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15880
      start: 15878
    functionDepth: 15
    functionLinenumber: 15878
    functionLinenumberEnd: 15880
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15887,1
    - Dst: getViewMetaFromMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15890
      start: 15882
    functionDepth: 1
    functionLinenumber: 15882
    functionLinenumberEnd: 15890
    functionName: translateShowCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toName
    - getViewMetaFromMetaCache
    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:15900,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15902,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - name
    - pInfo
    argTypes:
    - STranslateContext*
    - char*
    - SRsmaInfoRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15905
      start: 15893
    functionDepth: 8
    functionLinenumber: 15893
    functionLinenumberEnd: 15905
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15912,1
    - Dst: getRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15918
      start: 15908
    functionDepth: 9
    functionLinenumber: 15908
    functionLinenumberEnd: 15918
    functionName: translateShowCreateRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getRsma
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateShowCreateRsma(STranslateContext* pCxt, SShowCreateRsmaStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15922,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15924,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15925,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - ppCol
    argTypes:
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15929
      start: 15920
    functionDepth: 5
    functionLinenumber: 15920
    functionLinenumberEnd: 15929
    functionName: createColumnNodeWithName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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: 15940
      start: 15931
    functionDepth: 0
    functionLinenumber: 15931
    functionLinenumberEnd: 15940
    functionName: compareTsmaColWithColId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    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:15952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pNode1
    - pNode2
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15954
      start: 15942
    functionDepth: 1
    functionLinenumber: 15942
    functionLinenumberEnd: 15954
    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:15963,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15973
      start: 15957
    functionDepth: 2
    functionLinenumber: 15957
    functionLinenumberEnd: 15973
    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:15963,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15972
      start: 15961
    functionDepth: 2
    functionLinenumber: 15961
    functionLinenumberEnd: 15972
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 188
    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:15987,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15988,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15991,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15992,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15993,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15996,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15997,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15998,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15999,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16004,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16005,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16006,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16008,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16009,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16011,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16012,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16013,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16016,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16017,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16018,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16019,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16020,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16026,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16028,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16030,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16032,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16034,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16035,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16035,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: 16037
      start: 15975
    functionDepth: 6
    functionLinenumber: 15975
    functionLinenumberEnd: 16037
    functionName: buildCreateTsmaReqBuildStreamSubTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - tstrerror
    - QUERY_CHECK_CODE
    - nodesListMakeAppend
    - snprintf
    - nodesMakeValueNodeFromString
    - createTbnameFunction
    - nodesMakeNode
    - createColumnNodeWithName
    - parserError
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTsmaReqBuildStreamSubTableName(SCreateTSMAStmt*
      pStmt, SMCreateSmaReq* pReq, int32_t numOfTags,\n                                                     const
      SSchema* pTags, SNode** pSubTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16044,1
    - Dst: addTWstartToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16044,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16045,1
    - Dst: addTWendToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16045,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16046,1
    - Dst: addTWdurationToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16046,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16050,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16059
      start: 16039
    functionDepth: 6
    functionLinenumber: 16039
    functionLinenumberEnd: 16059
    functionName: buildProjectsForTSMAQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addTWendToSampleProjects
    - snprintf
    - PAR_ERR_RET
    - addTWstartToSampleProjects
    - 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:16050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16052
      start: 16049
    functionDepth: 0
    functionLinenumber: 16049
    functionLinenumberEnd: 16052
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 188
    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:16065,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16065,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16066,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16066,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16067,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16067,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16068,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16068,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16071,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pInt
    - pOutput
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16077
      start: 16061
    functionDepth: 5
    functionLinenumber: 16061
    functionLinenumberEnd: 16077
    functionName: buildTriggerWindowForCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - PAR_ERR_JRET
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    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:16097,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16097,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16098,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16099,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16101,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16101,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16102,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16103,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16105,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16105,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16106,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16107,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16108,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16111,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16111,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16112,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16114,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16114,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16118,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16118,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16120,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16123,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16123,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16125,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16125,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16126,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16127,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16130,1
    - Dst: createOperatorNodeByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16130,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16134,1
    - Dst: createTsOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16134,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16136,1
    - Dst: createTsOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16136,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16138,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16138,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16142,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16142,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16143,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16143,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16144,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16144,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16150,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16153,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16156,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16157,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16158,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16160,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16162,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16163,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16164,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16165,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16166,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: 16169
      start: 16079
    functionDepth: 6
    functionLinenumber: 16079
    functionLinenumberEnd: 16169
    functionName: buildCreateTSMAReqBuildStreamQueryCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - createTsOperatorNode
    - nodesMakeValueNodeFromInt32
    - createOperatorNodeByNode
    - nodesListMakeAppend
    - snprintf
    - createOperatorNode
    - PAR_ERR_RET
    - PAR_ERR_JRET
    - nodesMakeNode
    - nodesDestroyNode
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateTSMAReqBuildStreamQueryCondition(STranslateContext*
      pCxt, SCreateTSMAStmt* pStmt, int32_t numOfTags, SNode** pCondition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16175,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16175,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16179,1
    - Dst: nodesMakeDurationValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16179,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16184,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ppOptions
    argTypes:
    - SStreamTriggerOptions**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16187
      start: 16171
    functionDepth: 6
    functionLinenumber: 16171
    functionLinenumberEnd: 16187
    functionName: buildTriggerOptionForCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeDurationValueNodeFromString
    - PAR_ERR_JRET
    - nodesMakeNode
    - nodesDestroyNode
    - parserError
    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:16197,1
    - Dst: createColumnNodeWithName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16197,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16198,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16198,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16203,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16203,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16204,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16205,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16205,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16212,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16213,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16214,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16215,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: 16217
      start: 16189
    functionDepth: 6
    functionLinenumber: 16189
    functionLinenumberEnd: 16217
    functionName: buildTriggerPartitionForCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - snprintf
    - PAR_ERR_JRET
    - createTbnameFunction
    - createColumnNodeWithName
    - parserError
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTriggerPartitionForCreateStream(SNodeList** ppTriggerPartition,
      SCreateTSMAStmt* pStmt, int32_t numOfTags, const SSchema* pTags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16228,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16228,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16229,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16230,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16231,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16233,1
    - Dst: buildTriggerWindowForCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16233,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16234,1
    - Dst: buildTriggerOptionForCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16234,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16235,1
    - Dst: buildTriggerPartitionForCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16235,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16237,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16237,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16247,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16249,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16251,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16252,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16253,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16254,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: 16257
      start: 16219
    functionDepth: 7
    functionLinenumber: 16219
    functionLinenumberEnd: 16257
    functionName: buildCreateTSMAReqBuildStreamTriggerAndTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - buildTriggerPartitionForCreateStream
    - buildTriggerWindowForCreateStream
    - nodesDestroyList
    - PAR_ERR_JRET
    - buildTriggerOptionForCreateStream
    - nodesMakeNode
    - nodesDestroyNode
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqBuildStreamTriggerAndTag(STranslateContext*
      pCxt, SCreateTSMAStmt* pStmt, SMCreateSmaReq* pReq, const char* tbName,\n                                                    int32_t
      numOfTags, const SSchema* pTags, SStreamTriggerNode** ppTrigger)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16267,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16267,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16269,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16269,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16271,1
    - Dst: fmCreateStateFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16271,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16274,1
    - Dst: buildProjectsForTSMAQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16274,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16276,1
    - Dst: createSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16276,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16277,1
    - Dst: buildCreateTSMAReqBuildStreamQueryCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16277,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16283,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16285,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16287,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16288,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: 16291
      start: 16259
    functionDepth: 7
    functionLinenumber: 16259
    functionLinenumberEnd: 16291
    functionName: buildCreateTSMAReqBuildStreamQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtImpl
    - nodesDestroyNode
    - buildProjectsForTSMAQuery
    - buildCreateTSMAReqBuildStreamQueryCondition
    - nodesDestroyList
    - PAR_ERR_JRET
    - nodesCloneList
    - parserError
    - nodesCloneNode
    - fmCreateStateFuncs
    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:16301,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16302,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16302,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16303,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16303,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16304,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16304,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16306,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16311,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16318,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16328,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16329,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16330,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: 16332
      start: 16293
    functionDepth: 6
    functionLinenumber: 16293
    functionLinenumberEnd: 16332
    functionName: buildCreateTSMAReqBuildStreamOutTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - PAR_ERR_JRET
    - nodesMakeNode
    - nodesDestroyNode
    - parserError
    - nodesCloneNode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqBuildStreamOutTags(SStreamTriggerNode* pTrigger,
      SCreateTSMAStmt* pStmt,\n                                                    int32_t
      numOfTags, const SSchema* pTags, SNodeList** ppTagList)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16339,1
    - Dst: checkCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16339,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16346,1
    - Dst: buildCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16346,1
    - Dst: tSerializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16353,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16354,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16356,1
    - Dst: tSerializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16358,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16361,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16364,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16367,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16368,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16370,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16372,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16375,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16380,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16382,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - pCxt
    - pCreateStream
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16386
      start: 16334
    functionDepth: 25
    functionLinenumber: 16334
    functionLinenumberEnd: 16386
    functionName: buildCreateTSMAReqBuildCreateDropStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeMDropStreamReq
    - tSerializeSCMCreateStreamReq
    - tSerializeSMDropStreamReq
    - tFreeSCMCreateStreamReq
    - PAR_ERR_JRET
    - checkCreateStream
    - taosMemoryCalloc
    - parserError
    - taosStrdup
    - buildCreateStreamReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateTSMAReqBuildCreateDropStreamReq(STranslateContext*
      pCxt, SCreateStreamStmt* pCreateStream, SMCreateSmaReq* pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16398,1
    - Dst: buildCreateTSMAReqBuildStreamTriggerAndTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16398,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16399,1
    - Dst: buildCreateTsmaReqBuildStreamSubTableName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16399,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16400,1
    - Dst: buildCreateTSMAReqBuildStreamQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16400,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16401,1
    - Dst: buildCreateTSMAReqBuildStreamOutTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16401,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16403,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16403,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16407,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16407,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16411,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16411,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16412,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16412,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16415,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16415,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16416,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16417,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16418,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16419,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16426,1
    - Dst: buildCreateTSMAReqBuildCreateDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16426,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16430,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16432,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16434,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16436,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16437,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16438,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16439,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: 16442
      start: 16388
    functionDepth: 26
    functionLinenumber: 16388
    functionLinenumberEnd: 16442
    functionName: buildCreateTSMAReqBuildStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - buildCreateTsmaReqBuildStreamSubTableName
    - buildCreateTSMAReqBuildStreamQuery
    - nodesNodeToString
    - nodesListToString
    - buildCreateTSMAReqBuildStreamTriggerAndTag
    - nodesDestroyList
    - snprintf
    - PAR_ERR_JRET
    - nodesMakeNode
    - buildCreateTSMAReqBuildStreamOutTags
    - translateQuery
    - buildCreateTSMAReqBuildCreateDropStreamReq
    - nodesDestroyNode
    - parserError
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqBuildStreamReq(STranslateContext* pCxt,
      SCreateTSMAStmt* pStmt, SMCreateSmaReq* pReq, const char* tbName,\n                            int32_t
      numOfTags, const SSchema* pTags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16445,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pSchema
    - ppCol
    argTypes:
    - SSchema*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16453
      start: 16444
    functionDepth: 5
    functionLinenumber: 16444
    functionLinenumberEnd: 16453
    functionName: createColumnBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:16465,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16469,1
    - Dst: createColumnBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16469,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16470,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16471,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16471,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16473,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16475,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16475,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16476,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16481,1
    - Dst: fmCreateStateMergeFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16481,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16483,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16485,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16486,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16487,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16492,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16500,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16502,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16502,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16503,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16504,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16504,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16508,1
    - Dst: nodesSortList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16511,1
    - Dst: deduplicateTsmaFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16512,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16515,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16516,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16516,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16522,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: 16524
      start: 16455
    functionDepth: 6
    functionLinenumber: 16455
    functionLinenumberEnd: 16524
    functionName: buildCreateTSMAReqRewriteFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesSortList
    - tstrerror
    - fmCreateStateMergeFuncs
    - fmIsImplicitTsFunc
    - nodeType
    - nodesListPushFront
    - nodesListErase
    - deduplicateTsmaFuncs
    - strcmp
    - createColumnBySchema
    - snprintf
    - PAR_ERR_JRET
    - fmIsTSMASupportedFunc
    - parserError
    - generateSyntaxErrMsgExt
    - fmGetFuncInfo
    - LIST_LENGTH
    - FOREACH
    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:16533,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16533,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16536,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16536,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16541,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16542,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16542,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16544,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16544,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16549,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16549,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16553,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16553,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16559,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16559,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16561
      start: 16529
    functionDepth: 10
    functionLinenumber: 16529
    functionLinenumberEnd: 16561
    functionName: buildCreateTSMAReqSetInterval
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - IS_CALENDAR_TIME_DURATION
    - translateExpr
    - PAR_ERR_JRET
    - parserError
    - generateSyntaxErrMsgExt
    - TSDB_TICK_PER_SECOND
    - getDBCfg
    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:16569,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16569,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16570,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16572,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16573,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16573,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16575,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16575,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16582,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16582,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16585,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16587,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pRecursiveTsma
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - STableTSMAInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16590
      start: 16563
    functionDepth: 6
    functionLinenumber: 16563
    functionLinenumberEnd: 16590
    functionName: buildCreateTSMAReqProcessRecursiveFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - tstrerror
    - PAR_ERR_JRET
    - nodesStringToNode
    - fmIsTSMASupportedFunc
    - nodesDestroyNode
    - parserError
    - nodesCloneNode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateTSMAReqProcessRecursiveFuncs(STranslateContext*
      pCxt, SCreateTSMAStmt* pStmt, STableTSMAInfo* pRecursiveTsma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16596,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16597,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16597,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16599,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16600,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16600,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16601,1
    - Dst: getSmaIndexSql
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16601,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16604,1
    - Dst: taosGetSystemUUIDU64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16604,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16608,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - useTbName
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - SName*
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16610
      start: 16592
    functionDepth: 2
    functionLinenumber: 16592
    functionLinenumberEnd: 16610
    functionName: buildCreateTSMAReqBuildNameAndUid
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosGetSystemUUIDU64
    - tNameExtractFullName
    - tstrerror
    - toName
    - PAR_ERR_JRET
    - getSmaIndexSql
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateTSMAReqBuildNameAndUid(STranslateContext* pCxt,
      SCreateTSMAStmt* pStmt, SName* useTbName, SMCreateSmaReq* pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16620,1
    - Dst: buildCreateTSMAReqBuildNameAndUid
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16620,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16622,1
    - Dst: buildCreateTSMAReqSetInterval
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16622,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16626,1
    - Dst: getTsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16626,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16628,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16628,1
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16630,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16632,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16632,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16635,1
    - Dst: buildCreateTSMAReqProcessRecursiveFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16635,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16637,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16638,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16639,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16640,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16640,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16646,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16646,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16648,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16648,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16650,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16650,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16659,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16661,1
    - Dst: buildCreateTSMAReqRewriteFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16661,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16663,1
    - Dst: buildCreateTSMAReqBuildStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16663,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16667,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - useTbName
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - SMCreateSmaReq*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16671
      start: 16612
    functionDepth: 27
    functionLinenumber: 16612
    functionLinenumberEnd: 16671
    functionName: buildCreateTSMAReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCreateTSMAReqRewriteFuncs
    - tNameExtractFullName
    - getTsma
    - toName
    - memset
    - memcpy
    - getTableMeta
    - buildCreateTSMAReqBuildNameAndUid
    - PAR_ERR_JRET
    - buildCreateTSMAReqProcessRecursiveFuncs
    - convertTimePrecision
    - checkRecursiveTsmaInterval
    - parserError
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    - buildCreateTSMAReqBuildStreamReq
    - buildCreateTSMAReqSetInterval
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateTSMAReq(STranslateContext* pCxt, SCreateTSMAStmt*
      pStmt, SMCreateSmaReq* pReq, SName* useTbName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16680,1
    - Dst: buildCreateTSMAReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16680,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16681,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16681,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16682,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16682,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16686,1
    - Dst: tFreeSMCreateSmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16690
      start: 16673
    functionDepth: 28
    functionLinenumber: 16673
    functionLinenumberEnd: 16690
    functionName: translateCreateTSMA
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - tFreeSMCreateSmaReq
    - buildCreateTSMAReq
    - PAR_ERR_JRET
    - parserError
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateTSMA(STranslateContext* pCxt, SCreateTSMAStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16699,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16700,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16700,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16703,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16705,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16707,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16707,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16710,1
    - Dst: getTsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16710,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16711,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16712,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16712,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16716,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16717,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16719,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16721,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16724,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16727,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16727,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16731,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16733,1
    - Dst: tFreeSMDropSmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTSMAStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16736
      start: 16692
    functionDepth: 10
    functionLinenumber: 16692
    functionLinenumberEnd: 16736
    functionName: translateDropTSMA
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeMDropStreamReq
    - collectUseTable
    - tNameExtractFullName
    - getTsma
    - tFreeSMDropSmaReq
    - toName
    - tSerializeSMDropStreamReq
    - PAR_ERR_JRET
    - taosMemoryCalloc
    - parserError
    - buildCmdMsg
    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:16743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode1
    - pNode2
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16744
      start: 16738
    functionDepth: 1
    functionLinenumber: 16738
    functionLinenumberEnd: 16744
    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:16748,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16755,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16757,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16758,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16759,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16766,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16773,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16780,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16788,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16793,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16800,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16801,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16801,1
    - Dst: fmIsRsmaSupportedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16804,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16805,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16810,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16816,1
    - Dst: nodesSortList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16820,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16822,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16826,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: 16834
      start: 16746
    functionDepth: 1
    functionLinenumber: 16746
    functionLinenumberEnd: 16834
    functionName: rewriteRsmaFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesSortList
    - tstrerror
    - nodeType
    - fmIsRsmaSupportedFunc
    - strcasecmp
    - snprintf
    - generateSyntaxErrMsgExt
    - fmGetFuncInfo
    - LIST_LENGTH
    - FOREACH
    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:16844,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16845,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16848,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16850,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16851,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16851,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16855,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16855,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16857,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16857,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16858,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16863,1
    - Dst: getDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16863,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16866,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16867,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16869,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16873,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16879,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16883,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16891,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16896,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16902,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16911,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16912,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16912,1
    - Dst: nFuncs < 0 || nFuncs >
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16915,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16916,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16916,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16920,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16921,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16927,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16927,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16935,1
    - Dst: rewriteRsmaFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16935,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16936,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16937,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16939,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16944,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16954,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16955,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 76
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - useTbName
    argTypes:
    - STranslateContext*
    - SCreateRsmaStmt*
    - SMCreateRsmaReq*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16956
      start: 16836
    functionDepth: 10
    functionLinenumber: 16836
    functionLinenumberEnd: 16956
    functionName: buildCreateRsmaReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - translateValue
    - tNameExtractFullName
    - toName
    - taosMemoryFreeClear
    - getPrecisionUnit
    - getTableMeta
    - rewriteRsmaFuncs
    - FOREACH
    - snprintf
    - nFuncs < 0 || nFuncs >
    - PAR_ERR_JRET
    - getDuration
    - TAOS_RETURN
    - taosMemoryCalloc
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - getDBCfg
    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:16966,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16969,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16969,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16970,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16971,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16971,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16975,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16979,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16981,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16987,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16987,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16992,1
    - Dst: rewriteRsmaFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16992,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16995,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17001,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17001,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17012,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17013,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17015,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17020,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17028,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17028,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17033,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17034,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: 17035
      start: 16958
    functionDepth: 10
    functionLinenumber: 16958
    functionLinenumberEnd: 17035
    functionName: buildAlterRsmaReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - toName
    - taosMemoryFreeClear
    - getTableMeta
    - tNameFromString
    - rewriteRsmaFuncs
    - FOREACH
    - snprintf
    - TAOS_RETURN
    - taosMemoryCalloc
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - getDBCfg
    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:17047,1
    - Dst: buildCreateRsmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17047,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17048,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17048,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17049,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17049,1
    - Dst: tFreeSMCreateRsmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17056
      start: 17039
    functionDepth: 11
    functionLinenumber: 17039
    functionLinenumberEnd: 17056
    functionName: translateCreateRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMCreateRsmaReq
    - collectUseTable
    - buildCreateRsmaReq
    - PAR_ERR_JRET
    - buildCmdMsg
    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:17064,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17065,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17065,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17066,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17069,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17075
      start: 17058
    functionDepth: 3
    functionLinenumber: 17058
    functionLinenumberEnd: 17075
    functionName: translateDropRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameExtractFullName
    - toName
    - snprintf
    - PAR_ERR_JRET
    - buildCmdMsg
    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:17085,1
    - Dst: getRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17085,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17086,1
    - Dst: buildAlterRsmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17086,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17087,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17087,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17088,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17088,1
    - Dst: tFreeRsmaInfoRsp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17091,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17092,1
    - Dst: tFreeSMAlterRsmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17099
      start: 17077
    functionDepth: 11
    functionLinenumber: 17077
    functionLinenumberEnd: 17099
    functionName: translateAlterRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - buildAlterRsmaReq
    - tFreeRsmaInfoRsp
    - taosMemoryFreeClear
    - tFreeSMAlterRsmaReq
    - getRsma
    - PAR_ERR_JRET
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterRsma(STranslateContext* pCxt, SAlterRsmaStmt*
      pStmt)
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17103,1
    - Dst: translateSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17105,1
    - Dst: translateSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17108,1
    - Dst: translateDelete
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17111,1
    - Dst: translateInsert
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17114,1
    - Dst: translateCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17117,1
    - Dst: translateDropDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17120,1
    - Dst: translateAlterDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17123,1
    - Dst: translateTrimDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17126,1
    - Dst: translateSsMigrateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17129,1
    - Dst: translateCreateSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17132,1
    - Dst: translateDropTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17135,1
    - Dst: translateDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17138,1
    - Dst: translateAlterSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17142,1
    - Dst: translateCreateMount
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17146,1
    - Dst: translateDropMount
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17149,1
    - Dst: translateCreateUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17153,1
    - Dst: translateAlterUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17156,1
    - Dst: translateDropUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17159,1
    - Dst: translateUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17162,1
    - Dst: translateCreateDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17165,1
    - Dst: translateDropDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17168,1
    - Dst: translateAlterDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17171,1
    - Dst: translateCreateAnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17174,1
    - Dst: translateDropAnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17177,1
    - Dst: translateUpdateAnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17180,1
    - Dst: translateCreateBnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17183,1
    - Dst: translateDropBnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17186,1
    - Dst: translateCreateIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17189,1
    - Dst: translateDropIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17192,1
    - Dst: translateCreateComponentNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17198,1
    - Dst: translateDropComponentNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17204,1
    - Dst: translateCreateTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17207,1
    - Dst: translateDropTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17210,1
    - Dst: translateDropCGroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17213,1
    - Dst: translateAlterLocal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17216,1
    - Dst: translateExplain
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17219,1
    - Dst: translateDescribe
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17222,1
    - Dst: translateCompactDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17225,1
    - Dst: translateRollupDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17228,1
    - Dst: translateScanDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17231,1
    - Dst: translateCompactVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17234,1
    - Dst: translateRollupVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17237,1
    - Dst: translateScanVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17240,1
    - Dst: translateAlterCluster
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17243,1
    - Dst: translateKillConnection
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17246,1
    - Dst: translateKillCompact
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17249,1
    - Dst: translateKillRetention
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17252,1
    - Dst: translateKillScan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17255,1
    - Dst: translateKillQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17258,1
    - Dst: translateKillTransaction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17261,1
    - Dst: translateKillSsMigrate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17264,1
    - Dst: translateCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17267,1
    - Dst: translateDropStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17270,1
    - Dst: translatePauseStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17273,1
    - Dst: translateResumeStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17276,1
    - Dst: translateRecalcStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17279,1
    - Dst: translateCreateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17282,1
    - Dst: translateDropFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17285,1
    - Dst: translateGrant
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17288,1
    - Dst: translateRevoke
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17291,1
    - Dst: translateBalanceVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17294,1
    - Dst: translateAssignLeader
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17297,1
    - Dst: translateBalanceVgroupLeader
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17301,1
    - Dst: translateMergeVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17304,1
    - Dst: translateRedistributeVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17307,1
    - Dst: translateSplitVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17310,1
    - Dst: translateShowVariables
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17313,1
    - Dst: translateShowCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17316,1
    - Dst: translateShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17320,1
    - Dst: translateShowCreateVTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17323,1
    - Dst: translateShowCreateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17326,1
    - Dst: translateShowCreateRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17329,1
    - Dst: translateRestoreDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17335,1
    - Dst: translateCreateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17338,1
    - Dst: translateDropView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17341,1
    - Dst: translateCreateTSMA
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17344,1
    - Dst: translateDropTSMA
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17349,1
    - Dst: translateCreateRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17352,1
    - Dst: translateDropRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17355,1
    - Dst: translateAlterRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17358,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 260
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17364
      start: 17101
    functionDepth: 29
    functionLinenumber: 17101
    functionLinenumberEnd: 17364
    functionName: translateQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 8
    functionsReached:
    - translateBalanceVgroup
    - translateExplain
    - translateDropUser
    - translateShowCreateView
    - translateInsert
    - translateCreateFunction
    - translateAlterDatabase
    - translateDropAnode
    - translateDropTopic
    - translateRecalcStream
    - translateRestoreDnode
    - translateDropIndex
    - translateCreateMount
    - translateTrimDatabase
    - translateDropMount
    - translateShowCreateDatabase
    - translateKillConnection
    - translateSelect
    - translateRevoke
    - translateCreateIndex
    - translateKillRetention
    - translateCompactVgroups
    - translateAlterDnode
    - translateCreateView
    - translateUpdateAnode
    - translateCreateAnode
    - translateCreateComponentNode
    - translateRollupVgroups
    - translateRedistributeVgroup
    - translateDropBnode
    - translateKillCompact
    - translateDescribe
    - translatePauseStream
    - translateAlterSuperTable
    - translateRollupDb
    - translateCreateStream
    - translateSplitVgroup
    - translateCreateBnode
    - translateScanVgroups
    - translateCreateDnode
    - translateDropView
    - translateDropDnode
    - translateDropCGroup
    - translateGrant
    - translateCreateRsma
    - translateResumeStream
    - translateDropSuperTable
    - translateKillScan
    - translateDropTSMA
    - translateKillSsMigrate
    - translateAlterCluster
    - translateShowCreateRsma
    - translateShowCreateVTable
    - translateSsMigrateDatabase
    - translateMergeVgroup
    - translateCreateTSMA
    - translateSetOperator
    - translateKillQuery
    - translateShowCreateTable
    - translateBalanceVgroupLeader
    - translateDelete
    - translateCreateSuperTable
    - translateAlterLocal
    - translateCreateUser
    - translateDropStream
    - translateShowVariables
    - translateAlterRsma
    - translateAlterUser
    - translateDropComponentNode
    - translateKillTransaction
    - translateCompactDb
    - translateDropTable
    - translateScanDb
    - translateDropDatabase
    - translateCreateTopic
    - translateDropRsma
    - nodeType
    - translateAssignLeader
    - translateCreateDatabase
    - translateUseDatabase
    - translateDropFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateQuery(STranslateContext * pCxt, SNode * pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17376
      start: 17366
    functionDepth: 30
    functionLinenumber: 17366
    functionLinenumberEnd: 17376
    functionName: translateSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSubquery(STranslateContext* pCxt, SNode* pNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17380,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17381,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17385,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17387,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17402,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17407,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17409,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: 17415
      start: 17378
    functionDepth: 1
    functionLinenumber: 17378
    functionLinenumberEnd: 17415
    functionName: extractQueryResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryFreeClear
    - calcTypeMod
    - taosMemoryCalloc
    - LIST_LENGTH
    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:17402,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17407,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17412
      start: 17393
    functionDepth: 1
    functionLinenumber: 17393
    functionLinenumberEnd: 17412
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 194
    functionsReached:
    - calcTypeMod
    - tstrncpy
    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: 17417
      start: 17417
    functionDepth: 0
    functionLinenumber: 17417
    functionLinenumberEnd: 17417
    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:17421,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17429
      start: 17419
    functionDepth: 1
    functionLinenumber: 17419
    functionLinenumberEnd: 17429
    functionName: extractExplainResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractExplainResultSchema(int32_t* numOfCols, SSchema** pSchema)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17434,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17436,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17442,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17449,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17453,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17457,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17461,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17464,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17467,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17471,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17475,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17476,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 3
    argNames:
    - pMeta
    - numOfCols
    - pSchema
    argTypes:
    - STableMeta*
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17484
      start: 17431
    functionDepth: 1
    functionLinenumber: 17431
    functionLinenumberEnd: 17484
    functionName: extractDescribeResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - hasRefCol
    - withExtSchema
    - tstrncpy
    - taosMemoryCalloc
    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:17488,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17495,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17502
      start: 17486
    functionDepth: 1
    functionLinenumber: 17486
    functionLinenumberEnd: 17502
    functionName: extractShowCreateDatabaseResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    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:17506,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17513,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17520
      start: 17504
    functionDepth: 1
    functionLinenumber: 17504
    functionLinenumberEnd: 17520
    functionName: extractShowCreateTableResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    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:17524,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17531,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17538
      start: 17522
    functionDepth: 1
    functionLinenumber: 17522
    functionLinenumberEnd: 17538
    functionName: extractShowCreateRsmaResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    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:17542,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17549,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17556
      start: 17540
    functionDepth: 1
    functionLinenumber: 17540
    functionLinenumberEnd: 17556
    functionName: extractShowCreateVTableResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    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:17560,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17567,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17574
      start: 17558
    functionDepth: 1
    functionLinenumber: 17558
    functionLinenumberEnd: 17574
    functionName: extractShowCreateViewResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    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:17578,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17585,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17589,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17593,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17597,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17604
      start: 17576
    functionDepth: 1
    functionLinenumber: 17576
    functionLinenumberEnd: 17604
    functionName: extractShowVariablesResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    - strcpy
    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:17608,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17615,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17619,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17626
      start: 17606
    functionDepth: 1
    functionLinenumber: 17606
    functionLinenumberEnd: 17626
    functionName: extractCompactDbResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    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:17630,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17637,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17641,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17648
      start: 17628
    functionDepth: 1
    functionLinenumber: 17628
    functionLinenumberEnd: 17648
    functionName: extractScanDbResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractScanDbResultSchema(int32_t* numOfCols, SSchema** pSchema)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17655,1
    - Dst: extractQueryResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17658,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17658,1
    - Dst: extractExplainResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17660,1
    - Dst: extractDescribeResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17663,1
    - Dst: extractShowCreateDatabaseResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17666,1
    - Dst: extractShowCreateTableResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17669,1
    - Dst: extractShowCreateVTableResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17671,1
    - Dst: extractShowCreateViewResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17673,1
    - Dst: extractShowCreateRsmaResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17675,1
    - Dst: extractShowVariablesResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17678,1
    - Dst: extractCompactDbResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17684,1
    - Dst: extractScanDbResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 4
    argNames:
    - pRoot
    - numOfCols
    - pSchema
    - ppExtSchemas
    argTypes:
    - SNode*
    - int32_t*
    - SSchema**
    - SExtSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17693
      start: 17650
    functionDepth: 2
    functionLinenumber: 17650
    functionLinenumberEnd: 17693
    functionName: extractResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - extractShowCreateTableResultSchema
    - extractScanDbResultSchema
    - extractDescribeResultSchema
    - extractCompactDbResultSchema
    - nodeType
    - extractShowVariablesResultSchema
    - extractQueryResultSchema
    - extractShowCreateVTableResultSchema
    - extractExplainResultSchema
    - getProjectList
    - extractShowCreateRsmaResultSchema
    - extractShowCreateViewResultSchema
    - extractShowCreateDatabaseResultSchema
    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:17697,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17704
      start: 17695
    functionDepth: 5
    functionLinenumber: 17695
    functionLinenumberEnd: 17704
    functionName: createStarCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:17708,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pProjCol
    - ppNode
    argTypes:
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17715
      start: 17706
    functionDepth: 5
    functionLinenumber: 17706
    functionLinenumberEnd: 17715
    functionName: createProjectCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - nodesMakeNode
    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:17722,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17724,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17728,1
    - Dst: createProjectCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17733,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17735,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17738,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17740,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - ncols
    - pCols
    - pResList
    argTypes:
    - int32_t
    - char*[]
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17746
      start: 17717
    functionDepth: 6
    functionLinenumber: 17717
    functionLinenumberEnd: 17746
    functionName: createProjectCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStarCol
    - createProjectCol
    - nodesListMakeStrictAppend
    - nodesDestroyList
    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:17751,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17755,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17758,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17760,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17763,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17764,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - pDb
    - pTable
    - pProjectionList
    - pStmt
    argTypes:
    - char*
    - char*
    - SNodeList*
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17772
      start: 17748
    functionDepth: 5
    functionLinenumber: 17748
    functionLinenumberEnd: 17772
    functionName: createSimpleSelectStmtImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - snprintf
    - nodesDestroyNode
    - nodesMakeNode
    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:17779,1
    - Dst: createProjectCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17779,1
    - Dst: createSimpleSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17782,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: 17783
      start: 17774
    functionDepth: 7
    functionLinenumber: 17774
    functionLinenumberEnd: 17783
    functionName: createSimpleSelectStmtFromCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSimpleSelectStmtImpl
    - createProjectCols
    - PAR_ERR_RET
    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:17787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pDb
    - pTable
    - pProjectionList
    - pStmt
    argTypes:
    - char*
    - char*
    - SNodeList*
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17788
      start: 17785
    functionDepth: 6
    functionLinenumber: 17785
    functionLinenumberEnd: 17788
    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:17792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - showType
    - pStmt
    argTypes:
    - ENodeType
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17794
      start: 17790
    functionDepth: 8
    functionLinenumber: 17790
    functionLinenumberEnd: 17794
    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:17797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pStmt
    - pOutput
    argTypes:
    - SShowTableDistributedStmt*
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17798
      start: 17796
    functionDepth: 8
    functionLinenumber: 17796
    functionLinenumberEnd: 17798
    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:17800,1
    - Dst: createSimpleSelectStmtFromCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pStmt
    - pOutput
    argTypes:
    - SShowStmt*
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17804
      start: 17799
    functionDepth: 8
    functionLinenumber: 17799
    functionLinenumberEnd: 17804
    functionName: createSelectStmtForShowDBUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSimpleSelectStmtFromCols
    - nodeType
    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:17812,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17818,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17821,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17823,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - opType
    - pRight
    - pOp
    argTypes:
    - EOperatorType
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17831
      start: 17806
    functionDepth: 5
    functionLinenumber: 17806
    functionLinenumberEnd: 17831
    functionName: createTsOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - snprintf
    - nodesDestroyNode
    - nodesCloneNode
    - nodesMakeNode
    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:17839,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17845,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17847,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17850,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17852,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - opType
    - pColName
    - pRight
    - pOp
    argTypes:
    - EOperatorType
    - char*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17859
      start: 17833
    functionDepth: 5
    functionLinenumber: 17833
    functionLinenumberEnd: 17859
    functionName: createOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - snprintf
    - nodesDestroyNode
    - nodesCloneNode
    - nodesMakeNode
    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:17864,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17868,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17870,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17873,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17875,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17878,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - opType
    - pLeftCol
    - pRightCol
    - ppResOp
    argTypes:
    - EOperatorType
    - char*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17883
      start: 17861
    functionDepth: 5
    functionLinenumber: 17861
    functionLinenumberEnd: 17883
    functionName: createParOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    - nodesMakeNode
    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:17891,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17897,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17899,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17902,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - opType
    - pLeft
    - pRight
    - pOp
    argTypes:
    - EOperatorType
    - SNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17910
      start: 17885
    functionDepth: 5
    functionLinenumber: 17885
    functionLinenumberEnd: 17910
    functionName: createOperatorNodeByNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - nodesMakeNode
    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:17914,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17920,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17922,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - opType
    - pColName
    - pOp
    argTypes:
    - EOperatorType
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17931
      start: 17912
    functionDepth: 5
    functionLinenumber: 17912
    functionLinenumberEnd: 17931
    functionName: createIsOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - nodesDestroyNode
    - nodesMakeNode
    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:17935,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17941,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - opType
    - pNode
    - pOp
    argTypes:
    - EOperatorType
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17950
      start: 17933
    functionDepth: 5
    functionLinenumber: 17933
    functionLinenumberEnd: 17950
    functionName: createIsOperatorNodeByNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createIsOperatorNodeByNode(EOperatorType opType, SNode* pNode,
      SNode** pOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17966
      start: 17952
    functionDepth: 0
    functionLinenumber: 17952
    functionLinenumberEnd: 17966
    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:17971,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17976,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17978,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17981,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17984,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - pCond1
    - pCond2
    - pCond
    - logicCondType
    argTypes:
    - SNode**
    - SNode**
    - SNode**
    - ELogicConditionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17994
      start: 17968
    functionDepth: 5
    functionLinenumber: 17968
    functionLinenumberEnd: 17994
    functionName: createLogicCondNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    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:18004,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18009,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18016,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18021,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18029,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18034,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18043,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18044,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - pSelect
    - pCond
    argTypes:
    - SSelectStmt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18048
      start: 17996
    functionDepth: 6
    functionLinenumber: 17996
    functionLinenumberEnd: 18048
    functionName: insertCondIntoSelectStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesListAppendList
    - nodeType
    - nodesDestroyList
    - nodesListMakeAppend
    - nodesMakeNode
    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:18056,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18059,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18062,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18065,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18067,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18068,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18069,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18071,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18074,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18075,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18076,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18079
      start: 18050
    functionDepth: 7
    functionLinenumber: 18050
    functionLinenumberEnd: 18079
    functionName: addShowUserDatabasesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createLogicCondNode
    - createOperatorNode
    - nodesMakeValueNodeFromString
    - insertCondIntoSelectStmt
    - 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:18087,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18089,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18092,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18095,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18097,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18098,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18100,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18103,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18106,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18107,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18111
      start: 18081
    functionDepth: 7
    functionLinenumber: 18081
    functionLinenumberEnd: 18111
    functionName: addShowSystemDatabasesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createLogicCondNode
    - createOperatorNode
    - nodesMakeValueNodeFromString
    - insertCondIntoSelectStmt
    - 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:18117,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18120,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18122,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18124,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18127
      start: 18113
    functionDepth: 7
    functionLinenumber: 18113
    functionLinenumberEnd: 18127
    functionName: addShowNormalTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createOperatorNode
    - nodesDestroyNode
    - nodesMakeValueNodeFromString
    - insertCondIntoSelectStmt
    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:18133,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18136,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18138,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18140,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18143
      start: 18129
    functionDepth: 7
    functionLinenumber: 18129
    functionLinenumberEnd: 18143
    functionName: addShowChildTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createOperatorNode
    - nodesDestroyNode
    - nodesMakeValueNodeFromString
    - insertCondIntoSelectStmt
    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:18149,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18149,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18151,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18151,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18153,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18153,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18156,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18159
      start: 18145
    functionDepth: 7
    functionLinenumber: 18145
    functionLinenumberEnd: 18159
    functionName: addShowVirtualNormalTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createOperatorNode
    - nodesMakeValueNodeFromString
    - PAR_ERR_JRET
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    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:18165,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18165,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18167,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18167,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18169,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18169,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18172,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18175
      start: 18161
    functionDepth: 7
    functionLinenumber: 18161
    functionLinenumberEnd: 18175
    functionName: addShowVirtualChildTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createOperatorNode
    - nodesMakeValueNodeFromString
    - PAR_ERR_JRET
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    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:18181,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18181,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18183,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18184,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18186,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18186,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18189,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18192
      start: 18177
    functionDepth: 7
    functionLinenumber: 18177
    functionLinenumberEnd: 18192
    functionName: addShowVirtualSuperTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromBool
    - createOperatorNode
    - PAR_ERR_JRET
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    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:18199,1
    - Dst: addShowUserDatabasesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18199,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18201,1
    - Dst: addShowSystemDatabasesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18201,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18203,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18209,1
    - Dst: addShowNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18209,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18211,1
    - Dst: addShowChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18211,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18213,1
    - Dst: addShowVirtualNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18213,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18214,1
    - Dst: addShowVirtualChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18214,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18220,1
    - Dst: addShowVirtualNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18220,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18222,1
    - Dst: addShowVirtualChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18222,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18224,1
    - Dst: addShowNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18224,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18225,1
    - Dst: addShowChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18225,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18231,1
    - Dst: addShowVirtualSuperTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18231,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18233,1
    - Dst: addShowVirtualSuperTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18233,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18235,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18240,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - pShow
    - pSelect
    argTypes:
    - SShowStmt*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18244
      start: 18194
    functionDepth: 8
    functionLinenumber: 18194
    functionLinenumberEnd: 18244
    functionName: addShowKindCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addShowVirtualChildTablesCond
    - addShowVirtualNormalTablesCond
    - addShowSystemDatabasesCond
    - addShowNormalTablesCond
    - PAR_RET
    - addShowUserDatabasesCond
    - PAR_ERR_RET
    - addShowChildTablesCond
    - addShowVirtualSuperTablesCond
    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:18249,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18251,1
    - Dst: getTbNameColName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18251,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18251,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18252,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18253,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18258,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18259,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18260,1
    - Dst: addShowKindCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18267,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pShow
    - pSelect
    argTypes:
    - SShowStmt*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18278
      start: 18246
    functionDepth: 9
    functionLinenumber: 18246
    functionLinenumberEnd: 18278
    functionName: createShowCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createLogicCondNode
    - getTbNameColName
    - tstrncpy
    - nodeType
    - addShowKindCond
    - 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:18282,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18282,1
    - Dst: createShowCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18284,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18289,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18295
      start: 18280
    functionDepth: 10
    functionLinenumber: 18280
    functionLinenumberEnd: 18295
    functionName: rewriteShow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - createShowCondition
    - nodesDestroyNode
    - nodeType
    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:18299,1
    - Dst: getDBVgInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18301,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18302,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18308
      start: 18297
    functionDepth: 11
    functionLinenumber: 18297
    functionLinenumberEnd: 18308
    functionName: rewriteShowStreams
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - rewriteShow
    - nodeType
    - 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:18311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18312
      start: 18310
    functionDepth: 11
    functionLinenumber: 18310
    functionLinenumberEnd: 18312
    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:18317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pShow
    argTypes:
    - STranslateContext*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18318
      start: 18314
    functionDepth: 10
    functionLinenumber: 18314
    functionLinenumberEnd: 18318
    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:18321,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18326
      start: 18320
    functionDepth: 11
    functionLinenumber: 18320
    functionLinenumberEnd: 18326
    functionName: rewriteShowVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteShow
    - checkShowVgroups
    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:18332,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18334,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18336,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pShow
    argTypes:
    - STranslateContext*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18349
      start: 18328
    functionDepth: 13
    functionLinenumber: 18328
    functionLinenumberEnd: 18349
    functionName: checkShowTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosMemoryFreeClear
    - toName
    - getTargetMeta
    - generateSyntaxErrMsg
    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:18352,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18357
      start: 18351
    functionDepth: 14
    functionLinenumber: 18351
    functionLinenumberEnd: 18357
    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:18361,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18368
      start: 18359
    functionDepth: 5
    functionLinenumber: 18359
    functionLinenumberEnd: 18368
    functionName: createTagsFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:18372,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18376,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18378,1
    - Dst: createTagsFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18382,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pProjections
    - pTags
    argTypes:
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18388
      start: 18370
    functionDepth: 6
    functionLinenumber: 18370
    functionLinenumberEnd: 18388
    functionName: createShowTableTagsProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - createTagsFunction
    - nodesListMakeStrictAppend
    - createTbnameFunction
    - TSWAP
    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:18393,1
    - Dst: createShowTableTagsProjections
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18396,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18402,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18408
      start: 18390
    functionDepth: 8
    functionLinenumber: 18390
    functionLinenumberEnd: 18408
    functionName: rewriteShowStableTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - createShowTableTagsProjections
    - createSimpleSelectStmtFromCols
    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:18415,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18415,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18417,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18420,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18424,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18436
      start: 18410
    functionDepth: 9
    functionLinenumber: 18410
    functionLinenumberEnd: 18436
    functionName: rewriteShowDnodeVariables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createLogicCondNode
    - nodeType
    - createOperatorNode
    - createSelectStmtForShow
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowDnodeVariables(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18441,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18444,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18454
      start: 18438
    functionDepth: 9
    functionLinenumber: 18438
    functionLinenumberEnd: 18454
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18458,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18463,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18467
      start: 18456
    functionDepth: 5
    functionLinenumber: 18456
    functionLinenumberEnd: 18467
    functionName: createBlockDistInfoFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:18471,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18476,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18477,1
    - Dst: createBlockDistInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18479,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18481,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18489
      start: 18469
    functionDepth: 6
    functionLinenumber: 18469
    functionLinenumberEnd: 18489
    functionName: createBlockDistFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesListMakeStrictAppend
    - createBlockDistInfoFunc
    - nodesMakeNode
    - nodesDestroyNode
    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:18493,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18495,1
    - Dst: createBlockDistFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18497,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18498,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18507
      start: 18491
    functionDepth: 9
    functionLinenumber: 18491
    functionLinenumberEnd: 18507
    functionName: rewriteShowTableDist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - createBlockDistFunc
    - NODES_DESTORY_LIST
    - createSelectStmtForShowTableDist
    - 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:18511,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18516,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18520
      start: 18509
    functionDepth: 5
    functionLinenumber: 18509
    functionLinenumberEnd: 18520
    functionName: createBlockDBUsageInfoFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcpy
    - nodesMakeNode
    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:18523,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18528,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18529,1
    - Dst: createBlockDBUsageInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18531,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18533,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18541
      start: 18521
    functionDepth: 6
    functionLinenumber: 18521
    functionLinenumberEnd: 18541
    functionName: createDBUsageFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - strcpy
    - createBlockDBUsageInfoFunc
    - nodesMakeNode
    - 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:18544,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18546,1
    - Dst: createDBUsageFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18548,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18549,1
    - Dst: createShowCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18553,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCtx
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18563
      start: 18542
    functionDepth: 10
    functionLinenumber: 18542
    functionLinenumberEnd: 18563
    functionName: rewriteShowDBUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - createShowCondition
    - NODES_DESTORY_LIST
    - createDBUsageFunc
    - nodesDestroyNode
    - createSelectStmtForShowDBUsage
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowDBUsage(STranslateContext* pCtx, SQuery* pQuery)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18579,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18580,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18582,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18584,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18589,1
    - Dst: tInitDefaultSColRefWrapperByCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18589,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18591,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18594,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18596,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18596,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18604,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18605,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18606,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18607,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18612,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18613,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - pStmt
    - pVgroupInfo
    - pBatch
    argTypes:
    - SCreateVTableStmt*
    - SVgroupInfo*
    - SVgroupCreateTableBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18615
      start: 18571
    functionDepth: 2
    functionLinenumber: 18571
    functionLinenumberEnd: 18615
    functionName: buildVirtualTableBatchReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tdDestroySVCreateTbReq
    - toSchema
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - strcpy
    - tInitDefaultSColRefWrapperByCols
    - PAR_ERR_JRET
    - setColRef
    - taosMemoryCalloc
    - taosStrdup
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildVirtualTableBatchReq(const SCreateVTableStmt* pStmt,
      const SVgroupInfo* pVgroupInfo,\n                                         SVgroupCreateTableBatch*
      pBatch)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18625,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18630,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18632,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18638,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18641,1
    - Dst: tInitDefaultSColRefWrapperByCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18641,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18644,1
    - Dst: getNormalColSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18646,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18648,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18650,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18651,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18651,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18656,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18658,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18658,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18667,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18668,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18669,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18670,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18675,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18676,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 7
    argNames:
    - pStmt
    - pStbMeta
    - tagName
    - tagNum
    - pTag
    - pVgroupInfo
    - pBatch
    argTypes:
    - SCreateVSubTableStmt*
    - STableMeta*
    - SArray*
    - uint8_t
    - STag*
    - SVgroupInfo*
    - SVgroupCreateTableBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18678
      start: 18617
    functionDepth: 2
    functionLinenumber: 18617
    functionLinenumberEnd: 18678
    functionName: buildVirtualSubTableBatchReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tdDestroySVCreateTbReq
    - taosArrayPush
    - taosArrayDestroy
    - getNormalColSchemaIndex
    - taosArrayInit
    - taosArrayDup
    - strcpy
    - tInitDefaultSColRefWrapperByCols
    - getTableColumnSchema
    - PAR_ERR_RET
    - PAR_ERR_JRET
    - setColRef
    - taosStrdup
    - FOREACH
    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)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18684,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18686,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18691,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18693,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18696,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18700,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18702,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18704,1
    - Dst: tInitDefaultSColCmprWrapperByCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18712,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18714,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18717,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18720,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18723,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18723,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18724,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18725,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18728,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18732,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18734,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18736,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18740,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18745,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18746,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18748,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18751,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18752,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 3
    argNames:
    - pStmt
    - pVgroupInfo
    - pBatch
    argTypes:
    - SCreateTableStmt*
    - SVgroupInfo*
    - SVgroupCreateTableBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18757
      start: 18680
    functionDepth: 2
    functionLinenumber: 18680
    functionLinenumberEnd: 18757
    functionName: buildNormalTableBatchReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tdDestroySVCreateTbReq
    - strlen
    - toSchema
    - calcTypeMod
    - tstrncpy
    - taosArrayInit
    - taosArrayPush
    - tInitDefaultSColCmprWrapperByCols
    - columnLevelVal
    - columnEncodeVal
    - IS_DECIMAL_TYPE
    - columnCompressVal
    - taosMemoryCalloc
    - setColCompressByOption
    - taosStrdup
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildNormalTableBatchReq(const SCreateTableStmt* pStmt, const
      SVgroupInfo* pVgroupInfo,\n                                        SVgroupCreateTableBatch*
      pBatch)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18764,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18773,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18777,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18778,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18779,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18781,1
    - Dst: tEncodeSVCreateTbBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18782,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18783,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18785,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18789,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18791,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18797,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18798,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18800,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18801,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - pTbBatch
    - pBufArray
    argTypes:
    - SVgroupCreateTableBatch*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18805
      start: 18759
    functionDepth: 1
    functionLinenumber: 18759
    functionLinenumberEnd: 18805
    functionName: serializeVgroupCreateTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - tEncodeSize
    - taosMemoryFreeClear
    - POINTER_SHIFT
    - taosArrayGetSize
    - tEncoderClear
    - tEncoderInit
    - taosMemoryCalloc
    - htonl
    - tEncodeSVCreateTbBatchReq
    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:18809,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18811,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18812,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18816
      start: 18807
    functionDepth: 1
    functionLinenumber: 18807
    functionLinenumberEnd: 18816
    functionName: destroyCreateTbReqBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - tdDestroySVCreateTbReq
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void destroyCreateTbReqBatch(void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18820,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18824,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pQuery
    - pBufArray
    argTypes:
    - SQuery*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18829
      start: 18818
    functionDepth: 5
    functionLinenumber: 18818
    functionLinenumberEnd: 18829
    functionName: rewriteToVnodeModifyOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodeType
    - nodesMakeNode
    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:18832,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18834,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18835,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18836,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18839
      start: 18831
    functionDepth: 1
    functionLinenumber: 18831
    functionLinenumberEnd: 18839
    functionName: destroyCreateTbReqArray
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void destroyCreateTbReqArray(SArray* pArray)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18843,1
    - Dst: buildNormalTableBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18849,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18851,1
    - Dst: destroyCreateTbReqBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18854,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - acctId
    - pStmt
    - pInfo
    - pBufArray
    argTypes:
    - int32_t
    - SCreateTableStmt*
    - SVgroupInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18859
      start: 18841
    functionDepth: 3
    functionLinenumber: 18841
    functionLinenumberEnd: 18859
    functionName: buildCreateTableDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - destroyCreateTbReqArray
    - serializeVgroupCreateTableBatch
    - buildNormalTableBatchReq
    - destroyCreateTbReqBatch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTableDataBlock(int32_t acctId, const SCreateTableStmt*
      pStmt, const SVgroupInfo* pInfo,\n                                         SArray**
      pBufArray)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18864,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18867,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18869,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18872,1
    - Dst: buildCreateTableDataBlock
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18876,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18879,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18886
      start: 18861
    functionDepth: 11
    functionLinenumber: 18861
    functionLinenumberEnd: 18886
    functionName: rewriteCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - toName
    - buildCreateTableDataBlock
    - destroyCreateTbReqArray
    - getTableHashVgroupImpl
    - rewriteToVnodeModifyOpStmt
    - checkCreateTable
    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:18894,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18897,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18898,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18904,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18906,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18912,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18917,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18921,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18923,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18926,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18927,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18930,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18932,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18936,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18942,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: 18946
      start: 18888
    functionDepth: 1
    functionLinenumber: 18888
    functionLinenumberEnd: 18946
    functionName: addCreateTbReqIntoVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tdDestroySVCreateTbReq
    - strlen
    - taosHashGet
    - tstrncpy
    - taosArrayInit
    - taosArrayPush
    - taosArrayDestroy
    - 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:18950,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18951,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18951,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18951,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18952,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18955,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18955,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18970,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18974,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18975,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18980,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18988,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18993,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18995,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19004,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19007,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19008,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19009,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19010,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19013,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: 19015
      start: 18948
    functionDepth: 2
    functionLinenumber: 18948
    functionLinenumberEnd: 19015
    functionName: buildKVRowForBindTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tTagNew
    - taosArrayInit
    - taosArrayGet
    - parseTagValue
    - taosMemoryFreeClear
    - NEXT_VALID_TOKEN
    - IS_VAR_DATA_TYPE
    - generateSyntaxErrMsg
    - getTagSchema
    - buildSyntaxErrMsg
    - taosArrayGetSize
    - checkAndTrimValue
    - NEXT_TOKEN_WITH_PREV
    - getNumOfTags
    - LIST_LENGTH
    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:18970,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18974,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18975,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18980,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18988,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18993,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18995,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19002
      start: 18968
    functionDepth: 2
    functionLinenumber: 18968
    functionLinenumberEnd: 19002
    functionName: FORBOTH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - parseTagValue
    - NEXT_VALID_TOKEN
    - getTagSchema
    - generateSyntaxErrMsg
    - buildSyntaxErrMsg
    - checkAndTrimValue
    - NEXT_TOKEN_WITH_PREV
    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:19019,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19019,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19020,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19023,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19023,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19033,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19039,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19041,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19043,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19050,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19055,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19057,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19068,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19071,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19072,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19073,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19074,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19077,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: 19079
      start: 19017
    functionDepth: 1
    functionLinenumber: 19017
    functionLinenumberEnd: 19079
    functionName: buildKVRowForAllTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tTagNew
    - taosArrayInit
    - taosMemoryFreeClear
    - parseTagValue
    - getTableTagSchema
    - NEXT_VALID_TOKEN
    - IS_VAR_DATA_TYPE
    - generateSyntaxErrMsg
    - buildSyntaxErrMsg
    - TARRAY_SIZE
    - checkAndTrimValue
    - NEXT_TOKEN_WITH_PREV
    - getNumOfTags
    - TARRAY_GET_ELEM
    - LIST_LENGTH
    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:19039,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19041,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19043,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19050,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19055,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19057,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19065
      start: 19037
    functionDepth: 1
    functionLinenumber: 19037
    functionLinenumberEnd: 19065
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 197
    functionsReached:
    - parseTagValue
    - NEXT_VALID_TOKEN
    - buildSyntaxErrMsg
    - checkAndTrimValue
    - NEXT_TOKEN_WITH_PREV
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pValsOfTags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19082,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19083,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19085,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19086,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19090,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateSubTableClause*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19094
      start: 19081
    functionDepth: 1
    functionLinenumber: 19081
    functionLinenumberEnd: 19094
    functionName: checkCreateSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - strchr
    - generateSyntaxErrMsgExt
    - 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:19097,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19098,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19100,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateVSubTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19105
      start: 19096
    functionDepth: 1
    functionLinenumber: 19096
    functionLinenumberEnd: 19105
    functionName: checkCreateVSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - strchr
    - generateSyntaxErrMsgExt
    - 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:19108,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19112,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19117,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19123,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19124,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19128,1
    - Dst: buildKVRowForBindTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19132,1
    - Dst: buildKVRowForAllTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19134,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19140,1
    - Dst: addCreateTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19148,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19151,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pVgroupHashmap
    argTypes:
    - STranslateContext*
    - SCreateSubTableClause*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19154
      start: 19107
    functionDepth: 12
    functionLinenumber: 19107
    functionLinenumberEnd: 19154
    functionName: rewriteCreateSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addCreateTbReqIntoVgroup
    - taosArrayDestroy
    - collectUseTable
    - buildKVRowForAllTags
    - taosArrayInit
    - checkCreateSubTable
    - toName
    - getTableHashVgroup
    - getTableMeta
    - taosMemoryFreeClear
    - generateSyntaxErrMsg
    - taosMemoryFree
    - buildKVRowForBindTags
    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:19160,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19161,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19163,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19163,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19171,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19175,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19178,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19178,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19179,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19186,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19190,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19191,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19194,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19196,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19196,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19196,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19197,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19203,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19204,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19208,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19220,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19227,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19231,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 4
    argNames:
    - pMsgBuf
    - pStmt
    - pSuperTableMeta
    - aTagIndexs
    argTypes:
    - SMsgBuf*
    - SCreateSubTableFromFileClause*
    - STableMeta*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19233
      start: 19156
    functionDepth: 1
    functionLinenumber: 19156
    functionLinenumberEnd: 19233
    functionName: buildTagIndexForBindTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosHashGet
    - taosArrayPush
    - nodeType
    - taosHashInit
    - getTableTagSchema
    - strcmp
    - generateSyntaxErrMsg
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - getNumOfTags
    - FOREACH
    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:19259,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19263,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pParseCxt
    - pName
    - pVgInfo
    argTypes:
    - SParseContext*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19268
      start: 19252
    functionDepth: 10
    functionLinenumber: 19252
    functionLinenumberEnd: 19268
    functionName: fillVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - catalogGetTableHashVgroup
    - parserError
    - 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:19272,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19273,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19274,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19275,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19281,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19285,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19289,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19295,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19297,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19301,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19306,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19308,1
    - Dst: parseTbnameToken
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19313,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19323,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: 19328
      start: 19270
    functionDepth: 1
    functionLinenumber: 19270
    functionLinenumberEnd: 19328
    functionName: parseOneStbRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - tTagNew
    - taosArrayGet
    - parseTagValue
    - getTableTagSchema
    - getTableInfo
    - generateSyntaxErrMsg
    - taosArrayGetSize
    - parseTbnameToken
    - checkAndTrimValue
    - getNumOfTags
    - tStrGetToken
    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:19339,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19342
      start: 19337
    functionDepth: 1
    functionLinenumber: 19337
    functionLinenumberEnd: 19342
    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:19346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19347
      start: 19344
    functionDepth: 1
    functionLinenumber: 19344
    functionLinenumberEnd: 19347
    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:19356,1
    - Dst: strtolower
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19365,1
    - Dst: parseOneStbRow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19368,1
    - Dst: fillVgroupInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19371,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19380,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19381,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19385,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19389,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19395,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19398,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: 19400
      start: 19349
    functionDepth: 11
    functionLinenumber: 19349
    functionLinenumberEnd: 19400
    functionName: parseCsvFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fillVgroupInfo
    - parseOneStbRow
    - taosArrayPush
    - taosArrayClearEx
    - taosMemoryFreeClear
    - strtolower
    - taosGetLineFile
    - taosMemoryFree
    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:19409,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19410,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19411,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19412,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19413,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ppParFileCxt
    argTypes:
    - SParseFileContext**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19419
      start: 19402
    functionDepth: 1
    functionLinenumber: 19402
    functionLinenumberEnd: 19419
    functionName: destructParseFileContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destructParseFileContext(SParseFileContext** ppParFileCxt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19425,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19432,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19435,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19443,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19451,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19459,1
    - Dst: destructParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19471,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: 19474
      start: 19421
    functionDepth: 2
    functionLinenumber: 19421
    functionLinenumberEnd: 19474
    functionName: constructParseFileContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    - taosArrayInit
    - destructParseFileContext
    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:19491,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19499,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19506,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19507,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19512,1
    - Dst: constructParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19515,1
    - Dst: buildTagIndexForBindTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19518,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19530,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19530,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19531,1
    - Dst: destructParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19532,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - pCxt
    - pCreateStmt
    - pModifyStmt
    argTypes:
    - STranslateContext*
    - SCreateSubTableFromFileClause*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19534
      start: 19482
    functionDepth: 3
    functionLinenumber: 19482
    functionLinenumberEnd: 19534
    functionName: prepareReadCsvFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosCloseFile
    - buildTagIndexForBindTags
    - taosMemoryFreeClear
    - getTableMeta
    - destructParseFileContext
    - TAOS_UNUSED
    - taosOpenFile
    - taosMemoryCalloc
    - constructParseFileContext
    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:19537,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pParFileCxt
    argTypes:
    - SParseFileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19539
      start: 19536
    functionDepth: 1
    functionLinenumber: 19536
    functionLinenumberEnd: 19539
    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:19548,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19553,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19555,1
    - Dst: addCreateTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19562,1
    - Dst: resetParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pMsgBuf
    - pParseCxt
    - pModifyStmt
    argTypes:
    - SMsgBuf*
    - SParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19580
      start: 19541
    functionDepth: 2
    functionLinenumber: 19541
    functionLinenumberEnd: 19580
    functionName: createSubTableFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addCreateTbReqIntoVgroup
    - resetParseFileContext
    - taosArrayGet
    - parseCsvFile
    - taosArrayGetSize
    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:19583,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19583,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19591,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19596,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19598,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19598,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19599,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19605,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pVgroupHashmap
    - pOut
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19611
      start: 19582
    functionDepth: 2
    functionLinenumber: 19582
    functionLinenumberEnd: 19611
    functionName: serializeVgroupsCreateTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - taosHashCancelIterate
    - taosHashIterate
    - serializeVgroupCreateTableBatch
    - taosHashGetSize
    - parserError
    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:19616,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19616,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19621,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19624,1
    - Dst: rewriteCreateSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19626,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19628,1
    - Dst: serializeVgroupsCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19634,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19635,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19641
      start: 19613
    functionDepth: 13
    functionLinenumber: 19613
    functionLinenumberEnd: 19641
    functionName: rewriteCreateMultiTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashSetFreeFp
    - rewriteCreateSubTable
    - taosHashInit
    - rewriteToVnodeModifyOpStmt
    - taosGetDefaultHashFunction
    - serializeVgroupsCreateTableBatch
    - taosHashCleanup
    - FOREACH
    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:19645,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19649,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19652,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19652,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19656,1
    - Dst: prepareReadCsvFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19660,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19662,1
    - Dst: createSubTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19666,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19668,1
    - Dst: serializeVgroupsCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19673,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19674,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19677,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19679,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19684,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19688
      start: 19643
    functionDepth: 5
    functionLinenumber: 19643
    functionLinenumberEnd: 19688
    functionName: rewriteCreateTableFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashSetFreeFp
    - taosHashClear
    - nodeType
    - taosHashInit
    - parserError
    - prepareReadCsvFile
    - serializeVgroupsCreateTableBatch
    - nodesMakeNode
    - taosGetDefaultHashFunction
    - createSubTableFromFile
    - taosHashCleanup
    - nodesDestroyNode
    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:19694,1
    - Dst: createSubTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19698,1
    - Dst: serializeVgroupsCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19702,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19703,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pParseCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19718
      start: 19690
    functionDepth: 3
    functionLinenumber: 19690
    functionLinenumberEnd: 19718
    functionName: continueCreateTbFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosHashClear
    - taosMemoryFreeClear
    - serializeVgroupsCreateTableBatch
    - 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:19727,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19732,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19733,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19734,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19739,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19741,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pVgroupHashmap
    - pVgInfo
    - pReq
    argTypes:
    - SHashObj*
    - SVgroupInfo*
    - SVDropTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19751
      start: 19726
    functionDepth: 1
    functionLinenumber: 19726
    functionLinenumberEnd: 19751
    functionName: addDropTbReqIntoVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t addDropTbReqIntoVgroup(SHashObj* pVgroupHashmap, SVgroupInfo*
      pVgInfo, SVDropTbReq* pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19756,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19758,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19773,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19777,1
    - Dst: addDropTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19779,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - pCxt
    - pClause
    - name
    - tableType
    - pVgroupHashmap
    argTypes:
    - STranslateContext*
    - SDropTableClause*
    - SName*
    - int8_t*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19785
      start: 19753
    functionDepth: 13
    functionLinenumber: 19753
    functionLinenumberEnd: 19785
    functionName: buildDropTableVgroupHashmap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - isVirtualTable
    - addDropTbReqIntoVgroup
    - taosMemoryFreeClear
    - getTableHashVgroup
    - getTargetMeta
    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:19790,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19792,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19797,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19799,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19801,1
    - Dst: isVirtualSTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19801,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19802,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19802,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19806,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19806,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19810,1
    - Dst: addDropTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19810,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19813,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: 19815
      start: 19787
    functionDepth: 13
    functionLinenumber: 19787
    functionLinenumberEnd: 19815
    functionName: buildDropVirtualTableVgroupHashmap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - isVirtualTable
    - addDropTbReqIntoVgroup
    - taosMemoryFreeClear
    - getTableHashVgroup
    - isVirtualSTable
    - PAR_RET
    - getTargetMeta
    - PAR_ERR_JRET
    - generateSyntaxErrMsgExt
    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:19819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19820
      start: 19817
    functionDepth: 1
    functionLinenumber: 19817
    functionLinenumberEnd: 19820
    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:19827,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19830,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19834,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19835,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19836,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19838,1
    - Dst: tEncodeSVDropTbBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19839,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19840,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19842,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19846,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19848,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19854,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19855,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19857,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - pTbBatch
    - pBufArray
    argTypes:
    - SVgroupDropTableBatch*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19862
      start: 19822
    functionDepth: 1
    functionLinenumber: 19822
    functionLinenumberEnd: 19862
    functionName: serializeVgroupDropTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - tEncodeSize
    - taosMemoryFreeClear
    - tEncodeSVDropTbBatchReq
    - POINTER_SHIFT
    - taosArrayGetSize
    - tEncoderClear
    - tEncoderInit
    - taosMemoryCalloc
    - htonl
    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:19865,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19865,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19873,1
    - Dst: serializeVgroupDropTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19878,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19880,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pVgroupHashmap
    - pOut
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19888
      start: 19864
    functionDepth: 2
    functionLinenumber: 19864
    functionLinenumberEnd: 19888
    functionName: serializeVgroupsDropTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - serializeVgroupDropTableBatch
    - taosArrayInit
    - taosHashCancelIterate
    - taosHashIterate
    - taosHashGetSize
    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:19898,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19904,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19905,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19910,1
    - Dst: getTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19911,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19913,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19913,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19916,1
    - Dst: rewriteDropTableWithMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19919,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19921,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19922
      start: 19890
    functionDepth: 3
    functionLinenumber: 19890
    functionLinenumberEnd: 19922
    functionName: rewriteDropTableWithOpt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tstrerror
    - toName
    - rewriteDropTableWithMetaCache
    - isdigit
    - generateSyntaxErrMsgExt
    - getTargetName
    - TAOS_RETURN
    - FOREACH
    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:19930,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19932,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19933,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19939,1
    - Dst: rewriteDropTableWithOpt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19939,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19941,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19941,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19946,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19947,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19950,1
    - Dst: buildDropTableVgroupHashmap
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19951,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19953,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19956,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19957,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19958,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19961,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19963,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19971,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19976,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19977,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19985,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19985,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19989,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19997,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19998,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20004,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20006,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20008,1
    - Dst: serializeVgroupsDropTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20013,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20014,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20019,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20020
      start: 19924
    functionDepth: 14
    functionLinenumber: 19924
    functionLinenumberEnd: 20020
    functionName: rewriteDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - toName
    - taosHashIterate
    - rewriteDropTableWithOpt
    - getTableTsmasFromCache
    - TAOS_CHECK_RETURN
    - generateSyntaxErrMsg
    - serializeVgroupsDropTableBatch
    - taosHashGetSize
    - IS_SYS_DBNAME
    - taosHashSetFreeFp
    - rewriteToVnodeModifyOpStmt
    - buildCmdMsg
    - taosGetDefaultHashFunction
    - buildDropTableVgroupHashmap
    - generateSyntaxErrMsgExt
    - taosHashCancelIterate
    - taosHashInit
    - taosHashCleanup
    - LIST_LENGTH
    - FOREACH
    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:20026,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20036,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20037,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20043,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20044,1
    - Dst: getTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20044,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20045,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20047,1
    - Dst: rewriteDropTableWithMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20047,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20048
      start: 20022
    functionDepth: 3
    functionLinenumber: 20022
    functionLinenumberEnd: 20048
    functionName: rewriteDropVirtualTableWithOpt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - toName
    - rewriteDropTableWithMetaCache
    - PAR_RET
    - PAR_ERR_RET
    - isdigit
    - generateSyntaxErrMsgExt
    - getTargetName
    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:20059,1
    - Dst: rewriteDropVirtualTableWithOpt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20059,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20061,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20061,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20066,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20068,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20069,1
    - Dst: buildDropVirtualTableVgroupHashmap
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20069,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20070,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20071,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20074,1
    - Dst: serializeVgroupsDropTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20074,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20075,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20075,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20080
      start: 20050
    functionDepth: 14
    functionLinenumber: 20050
    functionLinenumberEnd: 20080
    functionName: rewriteDropVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashSetFreeFp
    - taosHashInit
    - toName
    - taosHashCleanup
    - PAR_ERR_JRET
    - rewriteDropVirtualTableWithOpt
    - serializeVgroupsDropTableBatch
    - rewriteToVnodeModifyOpStmt
    - taosGetDefaultHashFunction
    - taosHashGetSize
    - buildDropVirtualTableVgroupHashmap
    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:20092,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20093,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20100,1
    - Dst: getTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20101,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20106,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20109,1
    - Dst: rewriteDropTableWithMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20111,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20114
      start: 20082
    functionDepth: 3
    functionLinenumber: 20082
    functionLinenumberEnd: 20114
    functionName: rewriteDropSuperTablewithOpt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tstrerror
    - toName
    - rewriteDropTableWithMetaCache
    - isdigit
    - generateSyntaxErrMsgExt
    - getTargetName
    - TAOS_RETURN
    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:20118,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20119,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20122,1
    - Dst: rewriteDropSuperTablewithOpt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20122,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20124
      start: 20116
    functionDepth: 4
    functionLinenumber: 20116
    functionLinenumberEnd: 20124
    functionName: rewriteDropSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - TAOS_CHECK_RETURN
    - rewriteDropSuperTablewithOpt
    - TAOS_RETURN
    - generateSyntaxErrMsgExt
    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:20130,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20132,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20139,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20141,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20144,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20146,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20155,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20157,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20159,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20164,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20171,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20173,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20179,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20181,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20184,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20198,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20199,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - colName
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - char*
    - SMultiTagUpateVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20202
      start: 20126
    functionDepth: 2
    functionLinenumber: 20126
    functionLinenumberEnd: 20202
    functionName: buildUpdateTagValReqImpl2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGet
    - parseTagValue
    - taosMemoryFree
    - NEXT_VALID_TOKEN
    - IS_VAR_DATA_TYPE
    - getTagSchema
    - buildSyntaxErrMsg
    - checkAndTrimValue
    - NEXT_TOKEN_WITH_PREV
    - generateSyntaxErrMsgExt
    - taosStrdup
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildUpdateTagValReqImpl2(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                                         char*
      colName, SMultiTagUpateVal* pReq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20207,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20209,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20216,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20220,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20231,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20233,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20235,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20240,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20247,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20249,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20259,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20262,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - colName
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - char*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20276
      start: 20203
    functionDepth: 2
    functionLinenumber: 20203
    functionLinenumberEnd: 20276
    functionName: buildUpdateTagValReqImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - taosArrayGet
    - parseTagValue
    - NEXT_VALID_TOKEN
    - IS_VAR_DATA_TYPE
    - getTagSchema
    - buildSyntaxErrMsg
    - checkAndTrimValue
    - NEXT_TOKEN_WITH_PREV
    - generateSyntaxErrMsgExt
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildUpdateTagValReqImpl(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                                        char*
      colName, SVAlterTbReq* pReq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20283,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20284,1
    - Dst: buildUpdateTagValReqImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20289
      start: 20277
    functionDepth: 3
    functionLinenumber: 20277
    functionLinenumberEnd: 20289
    functionName: buildUpdateTagValReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toName
    - getTableTsmasFromCache
    - buildUpdateTagValReqImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildUpdateTagValReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                                    SVAlterTbReq*
      pReq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20299,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20300,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20306,1
    - Dst: buildUpdateTagValReqImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20313,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20315,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20320,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20320,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20322,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20332,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20332,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20334,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20335,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20338,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20338,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20339,1
    - Dst: buildUpdateTagValReqImpl2
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20341,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20342,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20344,1
    - Dst: tfreeMultiTagUpateVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20345,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20346,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20351,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20353
      start: 20291
    functionDepth: 3
    functionLinenumber: 20291
    functionLinenumberEnd: 20353
    functionName: buildUpdateMultiTagValReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - getTableTsmasFromCache
    - strlen
    - taosArrayInit
    - TAOS_CHECK_GOTO
    - taosArrayPush
    - toName
    - buildUpdateTagValReqImpl2
    - generateSyntaxErrMsg
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    - tfreeMultiTagUpateVal
    - buildUpdateTagValReqImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildUpdateMultiTagValReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                                         SVAlterTbReq*
      pReq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20332,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20332,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20334,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20335,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20338,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20338,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20339,1
    - Dst: buildUpdateTagValReqImpl2
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20341,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20342,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20344,1
    - Dst: tfreeMultiTagUpateVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20345,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20348
      start: 20328
    functionDepth: 3
    functionLinenumber: 20328
    functionLinenumberEnd: 20348
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 201
    functionsReached:
    - taosHashGet
    - strlen
    - taosArrayPush
    - buildUpdateTagValReqImpl2
    - generateSyntaxErrMsg
    - taosHashPut
    - tfreeMultiTagUpateVal
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pNodeList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20360,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20360,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20364,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20364,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20369,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20369,1
    - Dst: getNormalColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20372,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20374,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20374,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20378,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20378,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - pCxt
    - pRefDbName
    - pRefTableName
    - pRefColName
    - type
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - char*
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20384
      start: 20355
    functionDepth: 2
    functionLinenumber: 20355
    functionLinenumberEnd: 20384
    functionName: checkColRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - getTableMeta
    - PAR_ERR_JRET
    - getNormalColSchema
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkColRef(STranslateContext* pCxt, char* pRefDbName, char*
      pRefTableName, char* pRefColName,\n                           SDataType type)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20390,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20393,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20394,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20397,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20397,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20398,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20401,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20402,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20403,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20404,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20408,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20411,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20412,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20417,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20421,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20421,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20422,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20425,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20426,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20427,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20428,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20429,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20434,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20440,1
    - Dst: checkColumnEncodeOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20442,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20444,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20446,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20448,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20448,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20449,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20450,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20455,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20456,1
    - Dst: checkAlterTableByColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20460,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20461
      start: 20386
    functionDepth: 3
    functionLinenumber: 20386
    functionLinenumberEnd: 20461
    functionName: buildAddColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isVirtualTable
    - checkColumnCompressOrSetDefault
    - columnLevelVal
    - checkColumnLevelOrSetDefault
    - checkColumnEncodeOrSetDefault
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    - columnEncodeVal
    - decimalCalcTypeMod
    - generateSyntaxErrMsg
    - PAR_ERR_RET
    - checkColRef
    - getColSchema
    - checkAlterTableByColumnType
    - columnCompressVal
    - setColCompressByOption
    - 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:20466,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20469,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20470,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20472,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20474,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20476,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20486
      start: 20463
    functionDepth: 2
    functionLinenumber: 20463
    functionLinenumberEnd: 20486
    functionName: buildDropColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosStrdup
    - generateSyntaxErrMsg
    - getColSchema
    - getNumOfColumns
    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: 20495
      start: 20488
    functionDepth: 0
    functionLinenumber: 20488
    functionLinenumberEnd: 20495
    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:20500,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20503,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20505,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20507,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20508,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20510,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20513,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20514,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20515,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20516,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20520,1
    - Dst: findColRefIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20524,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20526,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20530,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20537
      start: 20497
    functionDepth: 2
    functionLinenumber: 20497
    functionLinenumberEnd: 20537
    functionName: buildUpdateColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_VAR_DATA_TYPE
    - calcTypeBytes
    - generateSyntaxErrMsg
    - getColSchema
    - findColRefIndex
    - taosStrdup
    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:20542,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20545,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20546,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20548,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20549,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20555,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20556,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20563,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20564,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20569
      start: 20539
    functionDepth: 2
    functionLinenumber: 20539
    functionLinenumberEnd: 20569
    functionName: buildRenameColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableTsmasFromCache
    - toName
    - generateSyntaxErrMsg
    - getColSchema
    - 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:20581,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20593
      start: 20571
    functionDepth: 1
    functionLinenumber: 20571
    functionLinenumberEnd: 20593
    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:20597,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20598,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20601,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20603,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20606,1
    - Dst: checkColumnEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20612,1
    - Dst: checkColumnCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20613,1
    - Dst: checkColumnLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20614,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20615,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20615,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20616,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20619
      start: 20595
    functionDepth: 2
    functionLinenumber: 20595
    functionLinenumberEnd: 20619
    functionName: buildAlterTableColumnCompress
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isVirtualTable
    - checkColumnLevel
    - columnLevelVal
    - columnEncodeVal
    - checkColumnCompress
    - checkColumnEncode
    - generateSyntaxErrMsg
    - getColSchema
    - columnCompressVal
    - setColCompressByOption
    - 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:20623,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20624,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20627,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20629,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20632,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20632,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20635,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20636,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20637,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20645
      start: 20621
    functionDepth: 3
    functionLinenumber: 20621
    functionLinenumberEnd: 20645
    functionName: buildAlterTableColumnRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isVirtualTable
    - generateSyntaxErrMsg
    - checkColRef
    - PAR_ERR_JRET
    - getColSchema
    - 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:20649,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20650,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20655,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20657,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20666
      start: 20647
    functionDepth: 2
    functionLinenumber: 20647
    functionLinenumberEnd: 20666
    functionName: buildRemoveTableColumnRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosStrdup
    - generateSyntaxErrMsg
    - isVirtualTable
    - getColSchema
    linkageType: ''
    returnType: int
    signature: "int buildRemoveTableColumnRef(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                                     SVAlterTbReq*
      pReq)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20670,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20681,1
    - Dst: buildUpdateMultiTagValReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20683,1
    - Dst: buildUpdateTagValReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20685,1
    - Dst: buildAddColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20689,1
    - Dst: buildDropColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20691,1
    - Dst: buildUpdateColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20693,1
    - Dst: buildUpdateOptionsReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20695,1
    - Dst: buildRenameColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20697,1
    - Dst: buildAlterTableColumnCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20699,1
    - Dst: buildAlterTableColumnRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20701,1
    - Dst: buildRemoveTableColumnRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20709
      start: 20668
    functionDepth: 4
    functionLinenumber: 20668
    functionLinenumberEnd: 20709
    functionName: buildAlterTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosStrdup
    - buildAddColReq
    - buildUpdateTagValReq
    - buildRenameColReq
    - generateSyntaxErrMsg
    - buildUpdateColReq
    - buildAlterTableColumnCompress
    - buildRemoveTableColumnRef
    - buildAlterTableColumnRef
    - buildDropColReq
    - buildUpdateMultiTagValReq
    - buildUpdateOptionsReq
    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:20714,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20717,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20721,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20725,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20726,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20727,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20729,1
    - Dst: tEncodeSVAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20730,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20731,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20734,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20736,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20738,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - pArray
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SVAlterTbReq*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20751
      start: 20711
    functionDepth: 12
    functionLinenumber: 20711
    functionLinenumberEnd: 20751
    functionName: serializeAlterTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - tEncodeSize
    - tEncodeSVAlterTbReq
    - getTableHashVgroup
    - POINTER_SHIFT
    - tEncoderClear
    - tEncoderInit
    - taosMemoryCalloc
    - taosMemoryFree
    - htonl
    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:20755,1
    - Dst: serializeAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20760,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - pArray
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SVAlterTbReq*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20768
      start: 20753
    functionDepth: 13
    functionLinenumber: 20753
    functionLinenumberEnd: 20768
    functionName: buildModifyVnodeArray
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - serializeAlterTbReq
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildModifyVnodeArray(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, SVAlterTbReq* pReq,\n                                     SArray** pArray)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20771,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20772,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20773,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20774,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20775,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20776,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20777,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20778,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20779,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20780,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20781,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20782,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20786,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20789,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20791
      start: 20770
    functionDepth: 1
    functionLinenumber: 20770
    functionLinenumberEnd: 20791
    functionName: destoryAlterTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayDestroyEx
    - taosArrayGetSize
    - tTagFree
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destoryAlterTbReq(SVAlterTbReq* pReq)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20796,1
    - Dst: isVirtualSTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20796,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20797,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20805,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20806,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20809,1
    - Dst: getNormalColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20813,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20814,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20817,1
    - Dst: buildAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20821,1
    - Dst: buildModifyVnodeArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20825,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20828,1
    - Dst: destoryAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20830,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pQuery
    - isVirtual
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SQuery*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20832
      start: 20793
    functionDepth: 14
    functionLinenumber: 20793
    functionLinenumberEnd: 20832
    functionName: rewriteAlterTableImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - destoryAlterTbReq
    - buildModifyVnodeArray
    - isVirtualTable
    - isVirtualSTable
    - buildAlterTbReq
    - hasPkInTable
    - generateSyntaxErrMsg
    - rewriteToVnodeModifyOpStmt
    - getNormalColSchema
    - generateSyntaxErrMsgExt
    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:20838,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20839,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20844,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20848,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20848,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20849,1
    - Dst: rewriteAlterTableImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20849,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - isVirtual
    argTypes:
    - STranslateContext*
    - SQuery*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20854
      start: 20834
    functionDepth: 15
    functionLinenumber: 20834
    functionLinenumberEnd: 20854
    functionName: rewriteAlterTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - getTableMeta
    - generateSyntaxErrMsg
    - PAR_ERR_JRET
    - rewriteAlterTableImpl
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteAlterTable(STranslateContext* pCxt, SQuery* pQuery,
      bool isVirtual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteAlterTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20858
      start: 20856
    functionDepth: 16
    functionLinenumber: 20856
    functionLinenumberEnd: 20858
    functionName: rewriteAlterVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteAlterTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteAlterVirtualTable(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20863,1
    - Dst: buildVirtualTableBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20863,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20864,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20864,1
    - Dst: destroyCreateTbReqBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pStmt
    - pInfo
    - pBufArray
    argTypes:
    - SCreateVTableStmt*
    - SVgroupInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20869
      start: 20860
    functionDepth: 3
    functionLinenumber: 20860
    functionLinenumberEnd: 20869
    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(const SCreateVTableStmt* pStmt,
      const SVgroupInfo* pInfo, SArray* pBufArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20876,1
    - Dst: buildVirtualSubTableBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20876,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20877,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20877,1
    - Dst: destroyCreateTbReqBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - pStmt
    - pInfo
    - pBufArray
    - pStbMeta
    - tagName
    - tagNum
    - pTag
    argTypes:
    - SCreateVSubTableStmt*
    - SVgroupInfo*
    - SArray*
    - STableMeta*
    - SArray*
    - uint8_t
    - STag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20882
      start: 20871
    functionDepth: 3
    functionLinenumber: 20871
    functionLinenumberEnd: 20882
    functionName: buildCreateVSubTableDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildVirtualSubTableBatchReq
    - serializeVgroupCreateTableBatch
    - 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)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20885,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20886,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20890,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20891,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20896,1
    - Dst: checkVTableSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20896,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20898,1
    - Dst: checkColumnOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20898,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20900,1
    - Dst: checkColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20900,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20902,1
    - Dst: checkColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20902,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20904,1
    - Dst: checkColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20904,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20907,1
    - Dst: biCheckCreateTableTbnameCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateVTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20911
      start: 20884
    functionDepth: 5
    functionLinenumber: 20884
    functionLinenumberEnd: 20911
    functionName: checkCreateVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - checkVTableSchema
    - strchr
    - checkColumnOptions
    - PAR_ERR_RET
    - checkColumnType
    - biCheckCreateTableTbnameCol
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCreateVirtualTable(STranslateContext* pCxt, SCreateVTableStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20922,1
    - Dst: checkCreateVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20922,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20924,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20926,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20929,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20931,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20936,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20936,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20938,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20939,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20939,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20941,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20942,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20943,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20948,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20948,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20949,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20949,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20951,1
    - Dst: buildCreateVTableDataBlock
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20951,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20952,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20952,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20958
      start: 20913
    functionDepth: 11
    functionLinenumber: 20913
    functionLinenumberEnd: 20958
    functionName: rewriteCreateVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - taosArrayInit
    - checkCreateVirtualTable
    - toName
    - buildCreateVTableDataBlock
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    - destroyCreateTbReqArray
    - getTableHashVgroupImpl
    - generateSyntaxErrMsg
    - checkColRef
    - PAR_ERR_JRET
    - rewriteToVnodeModifyOpStmt
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCreateVirtualTable(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20971,1
    - Dst: checkCreateVSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20971,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20973,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20974,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20976,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20979,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20979,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20982,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20985,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20988,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20990,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20992,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20995,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20997,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20997,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21002,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21004,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21004,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21013,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21013,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21014,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21014,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21017,1
    - Dst: buildKVRowForBindTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21018,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21020,1
    - Dst: buildKVRowForAllTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21020,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21023,1
    - Dst: buildCreateVSubTableDataBlock
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21023,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21024,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21025,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21025,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21027,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21028,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21031,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21032,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21033,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21035
      start: 20960
    functionDepth: 11
    functionLinenumber: 20960
    functionLinenumberEnd: 21035
    functionName: rewriteCreateVirtualSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - collectUseTable
    - buildKVRowForAllTags
    - taosArrayInit
    - toName
    - taosMemoryFreeClear
    - getTableMeta
    - FOREACH
    - destroyCreateTbReqArray
    - getTableHashVgroupImpl
    - buildCreateVSubTableDataBlock
    - checkColRef
    - PAR_ERR_JRET
    - getColSchema
    - taosArrayGetSize
    - rewriteToVnodeModifyOpStmt
    - buildKVRowForBindTags
    - checkCreateVSubTable
    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:21039,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21044,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21045,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21047,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21049,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pVg
    - pBufArray
    argTypes:
    - SVgroupInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21060
      start: 21037
    functionDepth: 1
    functionLinenumber: 21037
    functionLinenumberEnd: 21060
    functionName: serializeFlushVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosMemoryCalloc
    - taosMemoryFree
    - htonl
    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:21063,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21065,1
    - Dst: serializeFlushVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21071,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21071,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pVgs
    - pOutput
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21080
      start: 21062
    functionDepth: 2
    functionLinenumber: 21062
    functionLinenumberEnd: 21080
    functionName: serializeFlushDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGet
    - taosArrayGetSize
    - serializeFlushVgroup
    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:21087,1
    - Dst: serializeFlushDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21089,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21092,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21095,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21099
      start: 21082
    functionDepth: 11
    functionLinenumber: 21082
    functionLinenumberEnd: 21099
    functionName: rewriteFlushDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - serializeFlushDb
    - rewriteToVnodeModifyOpStmt
    - getDBVgInfo
    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:21104,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21112
      start: 21101
    functionDepth: 9
    functionLinenumber: 21101
    functionLinenumberEnd: 21112
    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:21117,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21125
      start: 21114
    functionDepth: 9
    functionLinenumber: 21114
    functionLinenumberEnd: 21125
    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:21130,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21133,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21143
      start: 21127
    functionDepth: 9
    functionLinenumber: 21127
    functionLinenumberEnd: 21143
    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:21148,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21151,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21161
      start: 21145
    functionDepth: 9
    functionLinenumber: 21145
    functionLinenumberEnd: 21161
    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:21166,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21169,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21179
      start: 21163
    functionDepth: 9
    functionLinenumber: 21163
    functionLinenumberEnd: 21179
    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:21184,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21192
      start: 21181
    functionDepth: 9
    functionLinenumber: 21181
    functionLinenumberEnd: 21192
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21197,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21200,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21210
      start: 21194
    functionDepth: 9
    functionLinenumber: 21194
    functionLinenumberEnd: 21210
    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:21214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pWhen
    - pThen
    - ppResWhenThen
    argTypes:
    - SNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21221
      start: 21212
    functionDepth: 5
    functionLinenumber: 21212
    functionLinenumberEnd: 21221
    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:21226,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21235,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21236,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: 21240
      start: 21223
    functionDepth: 5
    functionLinenumber: 21223
    functionLinenumberEnd: 21240
    functionName: createParCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:21245,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21249,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21250,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pFunName
    - pAias
    - pParameterList
    - ppResFunc
    argTypes:
    - char*
    - char*
    - SNodeList*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21255
      start: 21242
    functionDepth: 5
    functionLinenumber: 21242
    functionLinenumberEnd: 21255
    functionName: createParFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:21259,1
    - Dst: CHECK_RES_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21263,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pItem
    - ppResList
    argTypes:
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21266
      start: 21257
    functionDepth: 4
    functionLinenumber: 21257
    functionLinenumberEnd: 21266
    functionName: createParListNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - CHECK_RES_OUT_OF_MEM
    - nodesListAppend
    - nodesMakeList
    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:21270,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21275,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pSubquery
    - ppResTempTable
    argTypes:
    - SSelectStmt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21280
      start: 21268
    functionDepth: 5
    functionLinenumber: 21268
    functionLinenumberEnd: 21280
    functionName: createParTempTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosRandStr
    - tstrncpy
    - nodesMakeNode
    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:21287,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21294,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21301,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21302,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21303,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21304,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21305,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21307,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21308,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21309,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21310,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21318,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21319,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21320,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21322,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21323,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21324,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21325,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21326,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21327,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21328,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21335,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21337,1
    - Dst: createParWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21344,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21346,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21347,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21353,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21355,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21362,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21364,1
    - Dst: createParCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21373,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21375,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21376,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21383,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21385,1
    - Dst: createParFunctionNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21394,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21396,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21403,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21405,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21411,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21413,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21414,1
    - Dst: createParFunctionNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21423,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21425,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21426,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21433,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21435,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21436,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21442,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21444,1
    - Dst: createSimpleSelectStmtFromProjList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21452,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21454,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21465,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21467,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21472,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21473,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21475,1
    - Dst: createParOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21488,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21490,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21497,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21499,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21500,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21505,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21507,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21508,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21509,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21516,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21518,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21519,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21520,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21521,1
    - Dst: createIsOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21526,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21528,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21529,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21530,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21535,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21537,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21538,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21539,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21540,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21547,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21549,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21550,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21551,1
    - Dst: createParWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21557,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21559,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21560,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21561,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21562,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21568,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21570,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21571,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21572,1
    - Dst: createParOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21579,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21581,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21582,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21583,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21589,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21591,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21592,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21593,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21594,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21601,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21602,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21605,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21606,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21607,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21608,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21615,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21617,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21618,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21619,1
    - Dst: createParWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21625,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21627,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21628,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21629,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21630,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21635,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21637,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21638,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21646,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21648,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21649,1
    - Dst: createParCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21655,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21657,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21658,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21659,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21665,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21667,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21668,1
    - Dst: createParTempTableNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21674,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21676,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21677,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21683,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21685,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21686,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21692,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21694,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 286
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21697
      start: 21282
    functionDepth: 10
    functionLinenumber: 21282
    functionLinenumberEnd: 21697
    functionName: rewriteShowAliveStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createLogicCondNode
    - nodesListStrictAppend
    - createParFunctionNode
    - nodesMakeValueNodeFromInt32
    - createParWhenThenNode
    - createParCaseWhenNode
    - createSimpleSelectStmtFromProjList
    - createIsOperatorNode
    - nodesDestroyList
    - createOperatorNode
    - createParTempTableNode
    - nodesMakeValueNodeFromString
    - snprintf
    - nodesMakeNode
    - createParOperatorNode
    - createParListNode
    - nodesDestroyNode
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowAliveStmt(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21701,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21738,1
    - Dst: rewriteShowStreams
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21741,1
    - Dst: rewriteShowVtables
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21744,1
    - Dst: rewriteShowDBUsage
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21747,1
    - Dst: rewriteShowTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21750,1
    - Dst: rewriteShowVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21753,1
    - Dst: rewriteShowStableTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21756,1
    - Dst: rewriteShowDnodeVariables
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21759,1
    - Dst: rewriteShowVnodes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21762,1
    - Dst: rewriteShowTableDist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21765,1
    - Dst: rewriteCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21769,1
    - Dst: rewriteCreateVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21773,1
    - Dst: rewriteCreateVirtualSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21776,1
    - Dst: rewriteCreateMultiTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21779,1
    - Dst: rewriteCreateTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21782,1
    - Dst: rewriteDropTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21785,1
    - Dst: rewriteDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21788,1
    - Dst: rewriteDropVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21791,1
    - Dst: rewriteAlterTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21794,1
    - Dst: rewriteAlterVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21797,1
    - Dst: rewriteFlushDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21800,1
    - Dst: rewriteShowCompacts
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21803,1
    - Dst: rewriteShowScans
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21806,1
    - Dst: rewriteShowCompactDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21809,1
    - Dst: rewriteShowRetentionDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21812,1
    - Dst: rewriteShowScanDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21815,1
    - Dst: rewriteShowSsMigrates
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21818,1
    - Dst: rewriteShowTransactionDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21821,1
    - Dst: rewriteShowAliveStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21825,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 131
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21831
      start: 21699
    functionDepth: 17
    functionLinenumber: 21699
    functionLinenumberEnd: 21831
    functionName: rewriteQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteCreateTableFromFile
    - rewriteShowDnodeVariables
    - rewriteShowCompacts
    - rewriteAlterTable
    - rewriteDropSuperTable
    - rewriteShowStreams
    - rewriteShowScans
    - rewriteShowScanDetailsStmt
    - rewriteCreateMultiTable
    - rewriteShowTransactionDetailsStmt
    - rewriteShowVgroups
    - rewriteShowDBUsage
    - rewriteShow
    - rewriteCreateTable
    - rewriteShowAliveStmt
    - rewriteShowSsMigrates
    - rewriteDropTable
    - rewriteShowRetentionDetailsStmt
    - rewriteDropVirtualTable
    - rewriteShowCompactDetailsStmt
    - rewriteShowVtables
    - rewriteFlushDatabase
    - rewriteCreateVirtualSubTable
    - nodeType
    - rewriteAlterVirtualTable
    - rewriteShowStableTags
    - rewriteShowTags
    - rewriteCreateVirtualTable
    - rewriteShowVnodes
    - rewriteShowTableDist
    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: 21849
      start: 21833
    functionDepth: 0
    functionLinenumber: 21833
    functionLinenumberEnd: 21849
    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:21853,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21854,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21854,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21858,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21860,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21861,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21864,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21869,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21870,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21870,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21874,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21876,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21877,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21880,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21885,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21886,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21886,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21890,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21892,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21893,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21896,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21901
      start: 21851
    functionDepth: 1
    functionLinenumber: 21851
    functionLinenumberEnd: 21901
    functionName: setRefreshMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - taosHashCancelIterate
    - taosHashIterate
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t setRefreshMeta(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21904,1
    - Dst: toMsgType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21927,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21955,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21963,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21972,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21973,1
    - Dst: extractResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21975,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21979,1
    - Dst: extractResultTsPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21980,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21981,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 80
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21987
      start: 21903
    functionDepth: 3
    functionLinenumber: 21903
    functionLinenumberEnd: 21987
    functionName: setQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - toMsgType
    - taosMemoryFreeClear
    - extractResultTsPrecision
    - extractResultSchema
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t setQuery(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21992,1
    - Dst: rewriteQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21994,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21997,1
    - Dst: setQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22004,1
    - Dst: setRefreshMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22006,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22008,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22010
      start: 21989
    functionDepth: 30
    functionLinenumber: 21989
    functionLinenumberEnd: 22010
    functionName: translate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - setRefreshMeta
    - destroyTranslateContext
    - initTranslateContext
    - translateQuery
    - rewriteQuery
    - setQuery
    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:34,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:40,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: 44
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: buildQueryAfterParse
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - TSWAP
    - nodesMakeNode
    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:48,1
    - Dst: ParseAlloc
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:49,1
    - Dst: Parse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:55,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:60,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:63,1
    - Dst: Parse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:74,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:78,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:83,1
    - Dst: Parse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:89,1
    - Dst: ParseFree
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:97,1
    - Dst: buildQueryAfterParse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:99,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:104,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - pParseCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 46
    functionDepth: 6
    functionLinenumber: 46
    functionLinenumberEnd: 106
    functionName: parse
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 48
    functionsReached:
    - taosArrayDestroy
    - tGetToken
    - Parse
    - initAstCreateContext
    - ParseFree
    - ParseAlloc
    - snprintf
    - buildQueryAfterParse
    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:125,1
    - Dst: reserveUdfInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: collectMetaKeyFromFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUdfInCache
    - fmGetFuncType
    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:141,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    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:153,1
    - Dst: reserveTableVgroupInCacheExt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pName
    argTypes:
    - SCollectMetaKeyCxt*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    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:161,1
    - Dst: collectMetaKeyFromInsTagsImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SCollectMetaKeyCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 166
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:170,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:172,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:175,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:180,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:185,1
    - Dst: needGetTableIndex
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:187,1
    - Dst: reserveTableIndexInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:188,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:190,1
    - Dst: reserveDnodeRequiredInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:191,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:194,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:194,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:195,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:195,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:196,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:196,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:197,1
    - Dst: collectMetaKeyFromInsTags
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:198,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:201,1
    - Dst: reserveTableTSMAInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:202,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - pDb
    - pTable
    - authType
    argTypes:
    - SCollectMetaKeyCxt*
    - char*
    - char*
    - AUTH_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 205
    functionName: collectMetaKeyFromRealTableImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - nodeType
    - reserveDbVgInfoInCache
    - reserveTableIndexInCache
    - needGetTableIndex
    - reserveTableTSMAInfoInCache
    - reserveTableMetaInCache
    - collectMetaKeyFromInsTags
    - reserveUserAuthInCache
    - reserveDnodeRequiredInCache
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t collectMetaKeyFromRealTableImpl(SCollectMetaKeyCxt* pCxt,
      const char* pDb, const char* pTable,\n                                               AUTH_TYPE
      authType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:208,1
    - Dst: reserveVStbRefDbsInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pRealTable
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 214
    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:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pTempTable
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - STempTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    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:227,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:228,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:229,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:231,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:232,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pOperator
    - ppTableName
    argTypes:
    - SOperatorNode*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 242
    functionName: isTbnameEqCondOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - nodeType
    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:250,1
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pOpNode
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: collectMetaKeyFromOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    - isTbnameEqCondOperator
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectMetaKeyFromOperator(SCollectMetaKeyFromExprCxt* pCxt,
      SOperatorNode* pOpNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:263,1
    - Dst: collectMetaKeyFromFunction
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:265,1
    - Dst: collectMetaKeyFromRealTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:267,1
    - Dst: collectMetaKeyFromTempTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:269,1
    - Dst: collectMetaKeyFromOperator
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: collectMetaKeyFromExprImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - nodeType
    - collectMetaKeyFromTempTable
    - collectMetaKeyFromRealTable
    - collectMetaKeyFromFunction
    - 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:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pList
    argTypes:
    - SCollectMetaKeyCxt*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 282
    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:285,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:287,1
    - Dst: collectMetaKeyFromExprs
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 5
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: collectMetaKeyFromSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromQuery
    - collectMetaKeyFromExprs
    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:296,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - SCollectMetaKeyCxt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 300
    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:304,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:308,1
    - Dst: reserveDbCfgForLastRow
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 302
    functionDepth: 6
    functionLinenumber: 302
    functionLinenumberEnd: 313
    functionName: collectMetaKeyFromSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - nodesWalkSelectStmt
    - reserveDbCfgForLastRow
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromSelect(SCollectMetaKeyCxt* pCxt, SSelectStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: collectMetaKeyFromAlterDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterDatabase(SCollectMetaKeyCxt* pCxt, SAlterDatabaseStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SFlushDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: collectMetaKeyFromFlushDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromFlushDatabase(SCollectMetaKeyCxt* pCxt, SFlushDatabaseStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:324,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:326,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: collectMetaKeyFromCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateTable(SCollectMetaKeyCxt* pCxt, SCreateTableStmt*
      pStmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:336,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:338,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:341,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:346,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:354,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:356,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateVTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 369
    functionName: collectMetaKeyFromCreateVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateVTable(SCollectMetaKeyCxt* pCxt, SCreateVTableStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:373,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:373,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:375,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:375,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:377,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:377,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:379,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:379,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:395,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:395,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:397,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:397,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:399,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateVSubTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 403
    functionName: collectMetaKeyFromCreateVSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - reserveTableMetaInCache
    - PAR_ERR_RET
    - reserveUserAuthInCache
    - 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:395,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:395,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:397,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:397,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:399,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 401
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 204
    functionsReached:
    - reserveTableVgroupInCache
    - reserveTableMetaInCache
    - PAR_ERR_RET
    - reserveUserAuthInCache
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTmpNodeList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:408,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:411,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:413,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:418,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:421,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:426,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:428,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateMultiTablesStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 442
    functionName: collectMetaKeyFromCreateMultiTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - FOREACH
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateMultiTable(SCollectMetaKeyCxt* pCxt,
      SCreateMultiTablesStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:449,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:452,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pClause
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateSubTableFromFileClause*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 460
    functionName: collectMetaKeyFromCreateSubTableFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableMetaInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: "int32_t collectMetaKeyFromCreateSubTableFromFile(SCollectMetaKeyCxt*
      \           pCxt,\n                                                        SCreateSubTableFromFileClause*
      pClause)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:465,1
    - Dst: reserveTableUidInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:468,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:470,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:473,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:476,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:479,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 491
    functionName: collectMetaKeyFromDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - reserveDbVgInfoInCache
    - FOREACH
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveTableUidInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropTable(SCollectMetaKeyCxt* pCxt, SDropTableStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableUidInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:495,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropSuperTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: collectMetaKeyFromDropStable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableUidInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropStable(SCollectMetaKeyCxt* pCxt, SDropSuperTableStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableUidInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:504,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:506,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:509,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:512,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:515,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropVirtualTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 523
    functionName: collectMetaKeyFromDropVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - reserveDbVgInfoInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveTableUidInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropVtable(SCollectMetaKeyCxt* pCxt, SDropVirtualTableStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:526,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:529,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:530,1
    - Dst: catalogRemoveTableRelatedMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:531,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:534,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:537,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 525
    functionDepth: 9
    functionLinenumber: 525
    functionLinenumberEnd: 544
    functionName: collectMetaKeyFromAlterTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - tstrncpy
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - catalogRemoveTableRelatedMeta
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterTable(SCollectMetaKeyCxt* pCxt, SAlterTableStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:547,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:549,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 556
    functionName: collectMetaKeyFromAlterStable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableMetaInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterStable(SCollectMetaKeyCxt* pCxt, SAlterTableStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:559,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:559,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:562,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:563,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:564,1
    - Dst: catalogRemoveTableRelatedMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:564,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:566,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:566,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:567,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:567,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:568,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:568,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:571,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:571,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:572,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 558
    functionDepth: 9
    functionLinenumber: 558
    functionLinenumberEnd: 576
    functionName: collectMetaKeyFromAlterVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - tstrncpy
    - reserveTableMetaInCache
    - PAR_ERR_RET
    - reserveUserAuthInCache
    - catalogRemoveTableRelatedMeta
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterVtable(SCollectMetaKeyCxt* pCxt, SAlterTableStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbVgVersionInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SUseDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: collectMetaKeyFromUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbVgVersionInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromUseDatabase(SCollectMetaKeyCxt* pCxt, SUseDatabaseStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:585,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:587,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:590,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 597
    functionName: collectMetaKeyFromCreateIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveTableVgroupInCache
    - reserveTableMetaInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateIndex(SCollectMetaKeyCxt* pCxt, SCreateIndexStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:601,1
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateTopicStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 608
    functionName: collectMetaKeyFromCreateTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    - collectMetaKeyFromQuery
    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:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SExplainStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 612
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:616,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:617,1
    - Dst: catalogRemoveTableRelatedMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:618,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:622,1
    - Dst: catalogRemoveViewMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:623,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDescribeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 614
    functionDepth: 9
    functionLinenumber: 614
    functionLinenumberEnd: 630
    functionName: collectMetaKeyFromDescribe
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - catalogRemoveViewMeta
    - tNameGetFullDbName
    - reserveTableMetaInCache
    - catalogRemoveTableRelatedMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDescribe(SCollectMetaKeyCxt* pCxt, SDescribeStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:635,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:636,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:636,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:637,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:638,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:638,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:640,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:640,1
    - Dst: collectMetaKeyFromRealTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:645,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:646,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:647,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:647,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:648,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:648,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:651,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 632
    functionDepth: 5
    functionLinenumber: 632
    functionLinenumberEnd: 655
    functionName: collectMetaKeyFromCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - reserveDbVgInfoInCache
    - strcmp
    - reserveTableMetaInCache
    - PAR_ERR_RET
    - collectMetaKeyFromQuery
    - collectMetaKeyFromRealTable
    - reserveDbCfgInCache
    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:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SRecalcStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 659
    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:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 668
    functionName: collectMetaKeyFromShowDnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 676
    functionName: collectMetaKeyFromShowMnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowMnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 684
    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:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 692
    functionName: collectMetaKeyFromShowQnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 700
    functionName: collectMetaKeyFromShowSnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowSnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: collectMetaKeyFromShowAnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowAnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: collectMetaKeyFromShowAnodesFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 718
    functionName: collectMetaKeyFromShowBnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 726
    functionName: collectMetaKeyFromShowBackupNodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 734
    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:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionName: collectMetaKeyFromShowCluster
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCluster(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 747
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: collectMetaKeyFromShowFunctions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowFunctions(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: collectMetaKeyFromShowIndexes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowIndexes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:760,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 768
    functionName: collectMetaKeyFromShowStables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowStables(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:771,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:774,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 782
    functionName: collectMetaKeyFromShowStreams
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableMetaInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowStreams(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:785,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:788,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 796
    functionName: collectMetaKeyFromShowTables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableMetaInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowTables(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:799,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:802,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 810
    functionName: collectMetaKeyFromShowFilesets
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableMetaInCache
    - 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:813,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:816,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:820,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 827
    functionName: collectMetaKeyFromShowTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - reserveTableMetaInCache
    - 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:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowTableTagsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 4
    functionLinenumber: 829
    functionLinenumberEnd: 832
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: collectMetaKeyFromShowUsers
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowUsers(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 842
    functionName: collectMetaKeyFromShowUsersFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowUsersFull(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 847
    functionName: collectMetaKeyFromShowLicence
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:850,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 857
    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:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 862
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 867
    functionName: collectMetaKeyFromShowConsumers
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowConsumers(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: collectMetaKeyFromShowConnections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowConnections(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: collectMetaKeyFromShowQueries
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    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:885,1
    - Dst: reserveDnodeRequiredInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowDnodeVariablesStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 891
    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:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowVnodesStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 896
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 901
    functionName: collectMetaKeyFromShowUserPrivileges
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:904,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 912
    functionName: collectMetaKeyFromShowViews
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableMetaInCache
    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:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 918
    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:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 924
    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:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 930
    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:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 936
    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:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 942
    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:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 948
    functionName: collectMetaKeyFromShowTransactionDetails
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowTransactionDetails(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 953
    functionName: collectMetaKeyFromShowGrantsFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowGrantsFull(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 958
    functionName: collectMetaKeyFromShowGrantsLogs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowGrantsLogs(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 963
    functionName: collectMetaKeyFromShowClusterMachines
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 968
    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:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 973
    functionName: collectMetaKeyFromShowMounts
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowMounts(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: collectMetaKeyFromShowCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCreateDatabase(SCollectMetaKeyCxt* pCxt,
      SShowCreateDatabaseStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:981,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:982,1
    - Dst: catalogRemoveTableMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:983,1
    - Dst: reserveTableCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:985,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:988,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 979
    functionDepth: 9
    functionLinenumber: 979
    functionLinenumberEnd: 995
    functionName: collectMetaKeyFromShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - reserveTableCfgInCache
    - reserveUserAuthInCache
    - catalogRemoveTableMeta
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCreateTable(SCollectMetaKeyCxt* pCxt,
      SShowCreateTableStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:999,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1000,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1002,1
    - Dst: catalogRemoveViewMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1003,1
    - Dst: reserveViewUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1005,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 997
    functionDepth: 5
    functionLinenumber: 997
    functionLinenumberEnd: 1013
    functionName: collectMetaKeyFromShowCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - catalogRemoveViewMeta
    - tNameGetFullDbName
    - reserveTableMetaInCache
    - reserveViewUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCreateView(SCollectMetaKeyCxt* pCxt,
      SShowCreateViewStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1015
    functionName: collectMetaKeyFromShowCreateRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCreateRsma(SCollectMetaKeyCxt* pCxt,
      SShowCreateRsmaStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    functionName: collectMetaKeyFromShowApps
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1025
    functionName: collectMetaKeyFromShowTransactions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    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:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1027
    functionDepth: 4
    functionLinenumber: 1027
    functionLinenumberEnd: 1030
    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:1034,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1032
    functionDepth: 4
    functionLinenumber: 1032
    functionLinenumberEnd: 1039
    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:1043,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1044,1
    - Dst: catalogRemoveTableMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1045,1
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowTableDistributedStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1041
    functionDepth: 9
    functionLinenumber: 1041
    functionLinenumberEnd: 1050
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1055
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCompactDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1059
    functionName: collectMetaKeyFromCompactDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCompactDatabase(SCollectMetaKeyCxt* pCxt,
      SCompactDatabaseStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SRollupDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1063
    functionName: collectMetaKeyFromRollupDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromRollupDatabase(SCollectMetaKeyCxt* pCxt,
      SRollupDatabaseStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SScanDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1067
    functionName: collectMetaKeyFromScanDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromScanDatabase(SCollectMetaKeyCxt* pCxt, SScanDatabaseStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - STrimDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1071
    functionName: collectMetaKeyFromTrimDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    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:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCompactVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1075
    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:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SRollupVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1079
    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:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SScanVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1083
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SGrantStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1090
    functionName: collectMetaKeyFromGrant
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromGrant(SCollectMetaKeyCxt* pCxt, SGrantStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SRevokeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1097
    functionName: collectMetaKeyFromRevoke
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromRevoke(SCollectMetaKeyCxt* pCxt, SRevokeStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1100,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1102,1
    - Dst: reserveViewUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1110
    functionName: collectMetaKeyFromCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableMetaInCache
    - reserveViewUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateViewStmt(SCollectMetaKeyCxt* pCxt,
      SCreateViewStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveViewUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1117
    functionName: collectMetaKeyFromDropViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveViewUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropViewStmt(SCollectMetaKeyCxt* pCxt, SDropViewStmt*
      pStmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reserveTSMAInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1123,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1126,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1127,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1129,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1133,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1135,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1139,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateTSMAStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1145
    functionName: collectMetaKeyFromCreateTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCache
    - reserveDbVgInfoInCache
    - snprintf
    - reserveTSMAInfoInCache
    - reserveTableMetaInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateTSMAStmt(SCollectMetaKeyCxt* pCxt,
      SCreateTSMAStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTSMAInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1149,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1151,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropTSMAStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1157
    functionName: collectMetaKeyFromDropTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTSMAInfoInCache
    - reserveDbCfgInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropTSMAStmt(SCollectMetaKeyCxt* pCxt, SDropTSMAStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1160,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1163,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1171
    functionName: collectMetaKeyFromShowUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableMetaInCache
    - 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:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1176
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1180,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1185
    functionName: collectMetaKeyFromCreateRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateRsmaStmt(SCollectMetaKeyCxt* pCxt,
      SCreateRsmaStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1189
    functionName: collectMetaKeyFromDropRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropRsmaStmt(SCollectMetaKeyCxt* pCxt, SDropRsmaStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1193
    functionName: collectMetaKeyFromAlterRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    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:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1198
    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:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1203
    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:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1208
    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:1211,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowAliveStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1218
    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: 104
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1222,1
    - Dst: collectMetaKeyFromSetOperator
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1224,1
    - Dst: collectMetaKeyFromSelect
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1226,1
    - Dst: collectMetaKeyFromAlterDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1228,1
    - Dst: collectMetaKeyFromFlushDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1230,1
    - Dst: collectMetaKeyFromCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1232,1
    - Dst: collectMetaKeyFromCreateVTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1234,1
    - Dst: collectMetaKeyFromCreateVSubTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1236,1
    - Dst: collectMetaKeyFromCreateMultiTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1238,1
    - Dst: collectMetaKeyFromCreateSubTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1240,1
    - Dst: collectMetaKeyFromDropTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1242,1
    - Dst: collectMetaKeyFromDropStable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1244,1
    - Dst: collectMetaKeyFromDropVtable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1246,1
    - Dst: collectMetaKeyFromAlterTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1248,1
    - Dst: collectMetaKeyFromAlterStable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1250,1
    - Dst: collectMetaKeyFromAlterVtable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1252,1
    - Dst: collectMetaKeyFromUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1254,1
    - Dst: collectMetaKeyFromCreateIndex
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1256,1
    - Dst: collectMetaKeyFromCreateTopic
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1258,1
    - Dst: collectMetaKeyFromExplain
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1260,1
    - Dst: collectMetaKeyFromDescribe
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1262,1
    - Dst: collectMetaKeyFromCompactDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1264,1
    - Dst: collectMetaKeyFromRollupDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1266,1
    - Dst: collectMetaKeyFromScanDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1268,1
    - Dst: collectMetaKeyFromTrimDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1270,1
    - Dst: collectMetaKeyFromCompactVgroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1272,1
    - Dst: collectMetaKeyFromRollupVgroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1274,1
    - Dst: collectMetaKeyFromScanVgroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1276,1
    - Dst: collectMetaKeyFromCreateStream
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1278,1
    - Dst: collectMetaKeyFromRecalculateStream
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1280,1
    - Dst: collectMetaKeyFromGrant
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1282,1
    - Dst: collectMetaKeyFromRevoke
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1284,1
    - Dst: collectMetaKeyFromShowDnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1286,1
    - Dst: collectMetaKeyFromShowMnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1288,1
    - Dst: collectMetaKeyFromShowModules
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1290,1
    - Dst: collectMetaKeyFromShowQnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1292,1
    - Dst: collectMetaKeyFromShowSnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1294,1
    - Dst: collectMetaKeyFromShowAnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1296,1
    - Dst: collectMetaKeyFromShowAnodesFull
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1298,1
    - Dst: collectMetaKeyFromShowBnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1300,1
    - Dst: collectMetaKeyFromShowBackupNodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1302,1
    - Dst: collectMetaKeyFromShowArbGroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1304,1
    - Dst: collectMetaKeyFromShowCluster
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1306,1
    - Dst: collectMetaKeyFromShowDatabases
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1308,1
    - Dst: collectMetaKeyFromShowFunctions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1310,1
    - Dst: collectMetaKeyFromShowIndexes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1312,1
    - Dst: collectMetaKeyFromShowStables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1314,1
    - Dst: collectMetaKeyFromShowStreams
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1316,1
    - Dst: collectMetaKeyFromShowTables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1319,1
    - Dst: collectMetaKeyFromShowFilesets
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1321,1
    - Dst: collectMetaKeyFromShowTags
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1323,1
    - Dst: collectMetaKeyFromShowStableTags
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1325,1
    - Dst: collectMetaKeyFromShowUsers
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1327,1
    - Dst: collectMetaKeyFromShowUsersFull
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1329,1
    - Dst: collectMetaKeyFromShowLicence
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1331,1
    - Dst: collectMetaKeyFromShowVgroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1333,1
    - Dst: collectMetaKeyFromShowTopics
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1335,1
    - Dst: collectMetaKeyFromShowConsumers
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1337,1
    - Dst: collectMetaKeyFromShowConnections
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1339,1
    - Dst: collectMetaKeyFromShowQueries
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1341,1
    - Dst: collectMetaKeyFromShowVariables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1343,1
    - Dst: collectMetaKeyFromShowDnodeVariables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1345,1
    - Dst: collectMetaKeyFromShowVnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1347,1
    - Dst: collectMetaKeyFromShowUserPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1349,1
    - Dst: collectMetaKeyFromShowViews
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1351,1
    - Dst: collectMetaKeyFromShowCompacts
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1353,1
    - Dst: collectMetaKeyFromShowScans
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1355,1
    - Dst: collectMetaKeyFromShowCompactDetails
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1357,1
    - Dst: collectMetaKeyFromShowScanDetails
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1359,1
    - Dst: collectMetaKeyFromShowSsMigrates
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1361,1
    - Dst: collectMetaKeyFromShowTransactionDetails
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1363,1
    - Dst: collectMetaKeyFromShowGrantsFull
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1365,1
    - Dst: collectMetaKeyFromShowGrantsLogs
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1367,1
    - Dst: collectMetaKeyFromShowClusterMachines
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1369,1
    - Dst: collectMetaKeyFromShowEncryptions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1371,1
    - Dst: collectMetaKeyFromShowMounts
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1373,1
    - Dst: collectMetaKeyFromShowCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1375,1
    - Dst: collectMetaKeyFromShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1379,1
    - Dst: collectMetaKeyFromShowCreateView
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1381,1
    - Dst: collectMetaKeyFromShowCreateRsma
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1383,1
    - Dst: collectMetaKeyFromShowApps
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1385,1
    - Dst: collectMetaKeyFromShowTransactions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1387,1
    - Dst: collectMetaKeyFromShowUsage
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1389,1
    - Dst: collectMetaKeyFromDelete
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1391,1
    - Dst: collectMetaKeyFromInsert
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1393,1
    - Dst: collectMetaKeyFromShowBlockDist
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1395,1
    - Dst: collectMetaKeyFromShowSubscriptions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1397,1
    - Dst: collectMetaKeyFromCreateViewStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1399,1
    - Dst: collectMetaKeyFromDropViewStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1401,1
    - Dst: collectMetaKeyFromCreateTSMAStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1403,1
    - Dst: collectMetaKeyFromDropTSMAStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1405,1
    - Dst: collectMetaKeyFromShowTSMASStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1407,1
    - Dst: collectMetaKeyFromCreateRsmaStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1409,1
    - Dst: collectMetaKeyFromDropRsmaStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1411,1
    - Dst: collectMetaKeyFromAlterRsmaStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1413,1
    - Dst: collectMetaKeyFromShowRsmasStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1415,1
    - Dst: collectMetaKeyFromShowRetentionsStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1417,1
    - Dst: collectMetaKeyFromShowRetentionDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1419,1
    - Dst: collectMetaKeyFromShowAlive
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 207
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1220
    functionDepth: 10
    functionLinenumber: 1220
    functionLinenumberEnd: 1427
    functionName: collectMetaKeyFromQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 6
    functionsReached:
    - collectMetaKeyFromShowDatabases
    - collectMetaKeyFromAlterTable
    - collectMetaKeyFromCreateSubTableFromFile
    - collectMetaKeyFromShowGrantsLogs
    - collectMetaKeyFromCreateIndex
    - collectMetaKeyFromShowTransactionDetails
    - collectMetaKeyFromDropTable
    - collectMetaKeyFromDescribe
    - collectMetaKeyFromRevoke
    - collectMetaKeyFromUseDatabase
    - collectMetaKeyFromShowBackupNodes
    - collectMetaKeyFromShowDnodes
    - collectMetaKeyFromShowCluster
    - collectMetaKeyFromShowLicence
    - collectMetaKeyFromShowModules
    - collectMetaKeyFromShowConnections
    - collectMetaKeyFromDropViewStmt
    - collectMetaKeyFromShowScanDetails
    - collectMetaKeyFromRollupVgroups
    - collectMetaKeyFromFlushDatabase
    - collectMetaKeyFromDelete
    - collectMetaKeyFromShowViews
    - collectMetaKeyFromShowTags
    - collectMetaKeyFromDropStable
    - collectMetaKeyFromSetOperator
    - collectMetaKeyFromShowIndexes
    - collectMetaKeyFromShowScans
    - collectMetaKeyFromShowBlockDist
    - collectMetaKeyFromShowBnodes
    - collectMetaKeyFromShowVariables
    - collectMetaKeyFromScanVgroups
    - collectMetaKeyFromShowRetentionsStmt
    - collectMetaKeyFromAlterStable
    - collectMetaKeyFromGrant
    - collectMetaKeyFromShowCreateView
    - collectMetaKeyFromCompactVgroups
    - collectMetaKeyFromDropRsmaStmt
    - collectMetaKeyFromShowDnodeVariables
    - collectMetaKeyFromShowAlive
    - collectMetaKeyFromExplain
    - collectMetaKeyFromShowQnodes
    - collectMetaKeyFromCreateVSubTable
    - collectMetaKeyFromInsert
    - collectMetaKeyFromDropVtable
    - collectMetaKeyFromShowSsMigrates
    - collectMetaKeyFromShowCompactDetails
    - collectMetaKeyFromScanDatabase
    - collectMetaKeyFromAlterDatabase
    - collectMetaKeyFromShowApps
    - collectMetaKeyFromCreateTable
    - collectMetaKeyFromShowTSMASStmt
    - collectMetaKeyFromShowStables
    - collectMetaKeyFromShowVnodes
    - collectMetaKeyFromShowFunctions
    - collectMetaKeyFromShowSubscriptions
    - collectMetaKeyFromTrimDatabase
    - collectMetaKeyFromShowClusterMachines
    - collectMetaKeyFromRollupDatabase
    - collectMetaKeyFromShowCreateDatabase
    - collectMetaKeyFromCompactDatabase
    - collectMetaKeyFromCreateTopic
    - collectMetaKeyFromShowVgroups
    - collectMetaKeyFromCreateStream
    - collectMetaKeyFromShowCreateTable
    - collectMetaKeyFromShowConsumers
    - collectMetaKeyFromShowTables
    - collectMetaKeyFromShowStreams
    - collectMetaKeyFromShowTransactions
    - collectMetaKeyFromShowEncryptions
    - collectMetaKeyFromShowTopics
    - collectMetaKeyFromSelect
    - collectMetaKeyFromShowUsersFull
    - collectMetaKeyFromShowAnodesFull
    - collectMetaKeyFromCreateViewStmt
    - collectMetaKeyFromShowFilesets
    - collectMetaKeyFromShowAnodes
    - collectMetaKeyFromDropTSMAStmt
    - collectMetaKeyFromCreateVTable
    - collectMetaKeyFromAlterRsmaStmt
    - collectMetaKeyFromShowArbGroups
    - collectMetaKeyFromAlterVtable
    - collectMetaKeyFromShowMounts
    - collectMetaKeyFromShowRetentionDetailsStmt
    - collectMetaKeyFromShowStableTags
    - collectMetaKeyFromShowUsers
    - collectMetaKeyFromCreateTSMAStmt
    - collectMetaKeyFromCreateMultiTable
    - collectMetaKeyFromShowUserPrivileges
    - collectMetaKeyFromShowCreateRsma
    - collectMetaKeyFromCreateRsmaStmt
    - nodeType
    - collectMetaKeyFromRecalculateStream
    - collectMetaKeyFromShowSnodes
    - collectMetaKeyFromShowMnodes
    - collectMetaKeyFromShowRsmasStmt
    - collectMetaKeyFromShowUsage
    - collectMetaKeyFromShowQueries
    - collectMetaKeyFromShowCompacts
    - collectMetaKeyFromShowGrantsFull
    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:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1429
    functionDepth: 11
    functionLinenumber: 1429
    functionLinenumberEnd: 1432
    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:433,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:435,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:437,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:439,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 446
    functionName: doInitKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: 0
    functionsReached:
    - strlen
    - tListLen
    - taosHashPut
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t doInitKeywordsTable(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:450,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - z
    - n
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 468
    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:482,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:653,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:654,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:658,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:658,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:660,1
    - Dst: isxdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:688,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:708,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:722,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:724,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:744,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:744,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:746,1
    - Dst: IS_TRUE_STR
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:778,1
    - Dst: IS_FALSE_STR
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:778,1
    - Dst: tKeywordCode
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:782,1
    - Dst: tKeywordCode
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:802,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 300
    argCount: 3
    argNames:
    - z
    - tokenId
    - dupQuoteChar
    argTypes:
    - char*
    - uint32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 809
    functionName: tGetToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: 1
    functionsReached:
    - IS_TRUE_STR
    - IS_FALSE_STR
    - isxdigit
    - tKeywordCode
    - isdigit
    - 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:839,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:869,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:882,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:895,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: 907
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 907
    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:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - z
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 909
    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:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 911
    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:915,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 918
    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:81,1
    - Dst: IS_NULL_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dataType
    - pToken
    argTypes:
    - int8_t
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: isNullValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - IS_NULL_STR
    - IS_STR_DATA_TYPE
    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:85,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pToken
    - value
    - endPtr
    argTypes:
    - SToken*
    - double*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 94
    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:98,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:100,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:102,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSql
    - pMsg
    argTypes:
    - char**
    - SMsgBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: skipInsertInto
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildSyntaxErrMsg
    - NEXT_TOKEN
    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:113,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pSql
    argTypes:
    - SInsertParseContext*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: skipParentheses
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildSyntaxErrMsg
    - NEXT_TOKEN
    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:130,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pSql
    argTypes:
    - SInsertParseContext*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 139
    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:146,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:148,1
    - Dst: skipParentheses
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:150,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:152,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:159,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:161,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:166,1
    - Dst: skipParentheses
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:168,1
    - Dst: skipTableOptions
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: ignoreUsingClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildSyntaxErrMsg
    - NEXT_TOKEN
    - skipTableOptions
    - 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:182,1
    - Dst: parseTagsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:187,1
    - Dst: skipTableOptions
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: ignoreUsingClauseAndCheckTagValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseTagsClause
    - parseBoundTagsClause
    - skipTableOptions
    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:204,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:208,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:208,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:212,1
    - Dst: ignoreUsingClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pDuplicate
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: parseDuplicateUsingClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - tNameExtractFullName
    - ignoreUsingClause
    - cloneTableMeta
    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: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:233,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:235,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:238,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:242,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:244,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:258,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:265,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:267,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:269,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:269,1
    - Dst: insFindCol
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:277,1
    - Dst: insFindCol
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:279,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:282,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:284,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:296,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:299,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:303,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:305,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 5
    argNames:
    - pCxt
    - pSql
    - boundColsType
    - pTableMeta
    - pBoundInfo
    argTypes:
    - SInsertParseContext*
    - char**
    - EBoundColumnsType
    - STableMeta*
    - SBoundColInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 308
    functionName: parseBoundColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - strlen
    - buildInvalidOperationMsg
    - strcasecmp
    - taosMemoryFree
    - getTableTagSchema
    - NEXT_TOKEN
    - strdequote
    - getTableColumnSchema
    - generateSyntaxErrMsg
    - getTbnameSchemaIndex
    - buildSyntaxErrMsg
    - taosMemoryCalloc
    - insFindCol
    - strncpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseBoundColumns(SInsertParseContext* pCxt, const char**
      pSql, EBoundColumnsType boundColsType,\n                                 STableMeta*
      pTableMeta, SBoundColInfo* pBoundInfo)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:314,1
    - Dst: taosGetTimestampToday
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:317,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:320,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:321,1
    - Dst: parseAbsoluteDuration
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:326,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:331,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:334,1
    - Dst: IS_NOW_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:336,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:338,1
    - Dst: IS_TODAY_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:339,1
    - Dst: taosGetTimestampToday
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:341,1
    - Dst: toIntegerPure
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:342,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:345,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: 351
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 351
    functionName: parseTimestampOrInterval
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - toIntegerPure
    - taosParseTime
    - parseAbsoluteDuration
    - IS_TODAY_STR
    - taosGetTimestampToday
    - toInteger
    - buildSyntaxErrMsg
    - IS_NOW_STR
    - taosGetTimestamp
    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:362,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:363,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:392,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:407,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:418,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:423,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:428,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:430,1
    - Dst: parseTimestampOrInterval
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:436,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:437,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:441,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:447,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:453,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:460,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:478,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: 484
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 484
    functionName: parseTime
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseTimestampOrInterval
    - buildSyntaxErrMsg
    - trimString
    - tStrGetToken
    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:493,1
    - Dst: doGeomFromText
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:498,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pToken
    - output
    - size
    argTypes:
    - SToken*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 508
    functionName: parseGeometry
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - doGeomFromText
    - TAOS_RETURN
    - initCtxGeomFromText
    linkageType: ''
    returnType: int
    signature: int parseGeometry(SToken* pToken, unsigned char** output, size_t* size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isHex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:515,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:516,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:522,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:527,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:533,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:535,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: 543
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 543
    functionName: parseVarbinary
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - isHex
    - trimString
    - taosHex2Ascii
    - taosMemoryCalloc
    - isValidateHex
    - taosMemoryFree
    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:553,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:554,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:559,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:560,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:565,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:567,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:572,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:577,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:578,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:578,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: 583
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 583
    functionName: parseBlob
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - isHex
    - uError
    - trimString
    - taosHex2Ascii
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - isValidateHex
    - taosMemoryFree
    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:593,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:595,1
    - Dst: IS_TRUE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:609,1
    - Dst: IS_FALSE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:611,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:613,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:616,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:619,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:621,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:623,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:626,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:632,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:634,1
    - Dst: IS_VALID_TINYINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:635,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:636,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:644,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:646,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:648,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:655,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:657,1
    - Dst: IS_VALID_SMALLINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:658,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:659,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:666,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:668,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:670,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:677,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:679,1
    - Dst: IS_VALID_INT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:680,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:681,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:688,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:690,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:692,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:699,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:701,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:708,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:710,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:718,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:720,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:722,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:722,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:723,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:731,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:733,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:735,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:735,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:736,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:746,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:748,1
    - Dst: parseVarbinary
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:756,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:758,1
    - Dst: parseGeometry
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:766,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:768,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:768,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:771,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:773,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:777,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:782,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:790,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:794,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:795,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:796,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:797,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:800,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:800,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:800,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:801,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:802,1
    - Dst: parseTime
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:809,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:810,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:818,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: 824
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 824
    functionName: parseTagToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_VALID_TINYINT
    - snprintf
    - parseTime
    - toDoubleEx
    - TAOS_SYSTEM_ERROR
    - IS_FALSE_STR
    - isinf
    - IS_VALID_INT
    - generateSyntaxErrMsg
    - strerror
    - getGeosErrMsg
    - taosStr2Int64
    - IS_VALID_SMALLINT
    - toIntegerEx
    - isNullValue
    - buildSyntaxErrMsg
    - taosMbsToUcs4
    - tListLen
    - geosFreeBuffer
    - taosStrdup
    - toUIntegerEx
    - isnan
    - IS_TRUE_STR
    - taosMemoryFree
    - memcpy
    - parseGeometry
    - parseVarbinary
    - taosStr2Double
    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:829,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:829,1
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:836,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 843
    functionName: parseBoundTagsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - insInitBoundColsInfo
    - parseBoundColumns
    - getNumOfTags
    - NEXT_TOKEN_KEEP_SQL
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseBoundTagsClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isNullValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:847,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:849,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:856,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:860,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:862,1
    - Dst: parseTagToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:869,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:871,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    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: 877
      start: 845
    functionDepth: 6
    functionLinenumber: 845
    functionLinenumberEnd: 877
    functionName: parseTagValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 7
    functionsReached:
    - taosArrayPush
    - tTagNew
    - parseTagToken
    - buildSyntaxErrMsg
    - isNullValue
    - parseJsontoTagData
    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:881,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:882,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:884,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pStmt
    - pTag
    - pTagName
    argTypes:
    - SVnodeModifyOpStmt*
    - STag*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 891
    functionName: buildCreateTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tdDestroySVCreateTbReq
    - taosMemoryCalloc
    - insBuildCreateTbReq
    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:895,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:902,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:906,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:907,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:909,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:912,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:917,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:920,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 23
    argCount: 4
    argNames:
    - pToken
    - tmpTokenBuf
    - pMsgBuf
    - type
    argTypes:
    - SToken*
    - char*
    - SMsgBuf*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 927
    functionName: checkAndTrimValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 7
    functionsReached:
    - buildInvalidOperationMsg
    - buildSyntaxErrMsg
    - trimString
    - IS_STR_DATA_BLOB
    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:937,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:943,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:978,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:982,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:983,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:983,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 2
    argNames:
    - pVal
    - pNode
    argTypes:
    - STagVal*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 935
    functionDepth: 5
    functionLinenumber: 935
    functionLinenumberEnd: 1013
    functionName: rewriteTagCondColumnImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - memcpy
    - nodesMakeNode
    - 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:1017,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1019,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1020,1
    - Dst: rewriteTagCondColumnImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1021,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pTagVals
    - pTagName
    - pNode
    argTypes:
    - SArray*
    - SArray*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1015
    functionDepth: 6
    functionLinenumber: 1015
    functionLinenumberEnd: 1025
    functionName: rewriteTagCondColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - rewriteTagCondColumnImpl
    - 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:1028,1
    - Dst: rewriteTagCondColumn
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1027
    functionDepth: 7
    functionLinenumber: 1027
    functionLinenumberEnd: 1034
    functionName: rewriteTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - rewriteTagCondColumn
    - nodeType
    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:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pTagVals
    - pTagName
    - pCond
    argTypes:
    - SArray*
    - SArray*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1040
    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:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pResult
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1045
    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:1048,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1050,1
    - Dst: checkTagCondResult
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1053,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pTagVals
    - pTagName
    - pCond
    argTypes:
    - SArray*
    - SArray*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1047
    functionDepth: 4
    functionLinenumber: 1047
    functionLinenumberEnd: 1057
    functionName: checkSubtablePrivilege
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - checkTagCondResult
    - setTagVal
    - NODES_DESTORY_NODE
    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:1062,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1073,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1076,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1077,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1083,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1087,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1096,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1098,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1101,1
    - Dst: checkSubtablePrivilege
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1110,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1119,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1135,1
    - Dst: buildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1139,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1145,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1146,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1147,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1148,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1151,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1152,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1154,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1158,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - autoCreate
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1060
    functionDepth: 7
    functionLinenumber: 1060
    functionLinenumberEnd: 1160
    functionName: parseTagsClauseImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TARRAY_GET_ELEM
    - taosArrayDestroy
    - tTagNew
    - taosArrayInit
    - checkSubtablePrivilege
    - taosMemoryFreeClear
    - parseTagValue
    - getTableTagSchema
    - IS_VAR_DATA_TYPE
    - buildCreateTbReq
    - buildSyntaxErrMsg
    - taosArrayGetSize
    - checkAndTrimValue
    - taosMemoryCalloc
    - tTagFree
    - NEXT_TOKEN_WITH_PREV
    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:1166,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1168,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1171,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1173,1
    - Dst: parseTagsClauseImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1176,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1178,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1180,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - autoCreate
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1164
    functionDepth: 8
    functionLinenumber: 1164
    functionLinenumberEnd: 1186
    functionName: parseTagsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - NEXT_TOKEN
    - NEXT_VALID_TOKEN
    - generateSyntaxErrMsg
    - buildSyntaxErrMsg
    - parseTagsClauseImpl
    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:1194,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1199,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1201,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1204,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1204,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: storeChildTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameExtractFullName
    - taosHashPut
    - taosMemoryFree
    - cloneTableMeta
    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:1215,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1218,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1220,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1222,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1224,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1228,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1230,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1233,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1235,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1211
    functionDepth: 1
    functionLinenumber: 1211
    functionLinenumberEnd: 1246
    functionName: parseTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NEXT_TOKEN_KEEP_SQL
    - taosStr2Int32
    - NEXT_TOKEN
    - buildSyntaxErrMsg
    - trimString
    - NEXT_TOKEN_WITH_PREV
    - taosStrndup
    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:1259,1
    - Dst: parseTagsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1261,1
    - Dst: parseTableOptions
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1254
    functionDepth: 9
    functionLinenumber: 1254
    functionLinenumberEnd: 1268
    functionName: parseUsingClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseTagsClause
    - parseTableOptions
    - parseBoundTagsClause
    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:1271,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pTbName
    - pInfo
    argTypes:
    - SParseContext*
    - SName*
    - SUserAuthInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1274
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: setUserAuthInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1279,1
    - Dst: catalogChkAuthFromCache
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1283,1
    - Dst: catalogChkAuth
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pTbName
    - pMissCache
    - pTagCond
    argTypes:
    - SParseContext*
    - SName*
    - bool*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1276
    functionDepth: 10
    functionLinenumber: 1276
    functionLinenumberEnd: 1301
    functionName: checkAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - setUserAuthInfo
    - catalogChkAuthFromCache
    - catalogChkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAuth(SParseContext* pCxt, SName* pTbName, bool* pMissCache,
      SNode** pTagCond)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetCachedSTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1309,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1311,1
    - Dst: catalogGetSTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1319,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1321,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1328,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: 1335
      start: 1303
    functionDepth: 11
    functionLinenumber: 1303
    functionLinenumberEnd: 1335
    functionName: getTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 14
    functionsReached:
    - catalogGetCachedSTableMeta
    - buildInvalidOperationMsg
    - catalogGetCachedTableMeta
    - catalogGetSTableMeta
    - 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:1342,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1348,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - isStb
    - pMissCache
    argTypes:
    - SParseContext*
    - SVnodeModifyOpStmt*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1337
    functionDepth: 10
    functionLinenumber: 1337
    functionLinenumberEnd: 1360
    functionName: getTargetTableVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - catalogGetCachedTableHashVgroup
    - catalogGetTableHashVgroup
    - taosHashPut
    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:1368,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1374,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1382,1
    - Dst: getTargetTableVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pMissCache
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1362
    functionDepth: 11
    functionLinenumber: 1362
    functionLinenumberEnd: 1393
    functionName: getTargetTableMetaAndVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - getTargetTableVgroup
    - taosHashPut
    - getTableMeta
    - catalogGetCachedTableVgMeta
    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:1397,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1401,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pName
    - pTable
    argTypes:
    - SName*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1402
    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:1406,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1407,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pName
    - pDbs
    argTypes:
    - SName*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1408
    functionName: collectUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 5
    functionsReached:
    - tNameGetFullDbName
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectUseDatabase(const SName* pName, SHashObj* pDbs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1416,1
    - Dst: getTargetTableMetaAndVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1418,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1427,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1430,1
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1433,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1410
    functionDepth: 12
    functionLinenumber: 1410
    functionLinenumberEnd: 1439
    functionName: getTargetTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - getTargetTableMetaAndVgroup
    - checkAuth
    - nodesDestroyNode
    - collectUseDatabase
    - nodesCloneNode
    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:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1443
    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:1454,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1460,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1465,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1470,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1474,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1474,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1480,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1482,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1482,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1484,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1494,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1504,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1506,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1509,1
    - Dst: getTargetTableVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1511,1
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1514,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1516,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - ctbCacheHit
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1445
    functionDepth: 11
    functionLinenumber: 1445
    functionLinenumberEnd: 1520
    functionName: getUsingTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - strlen
    - collectUseTable
    - tNameExtractFullName
    - taosMemoryFreeClear
    - getTableMeta
    - getTargetTableVgroup
    - taosHashPut
    - collectUseDatabase
    - taosMemoryFree
    - cloneTableMeta
    - 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:1524,1
    - Dst: preParseUsingTableName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1526,1
    - Dst: getUsingTableSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1528,1
    - Dst: ignoreUsingClauseAndCheckTagValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1531,1
    - Dst: storeChildTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1535,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1522
    functionDepth: 12
    functionLinenumber: 1522
    functionLinenumberEnd: 1538
    functionName: parseUsingTableNameImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - storeChildTableMeta
    - getUsingTableSchema
    - ignoreUsingClauseAndCheckTagValues
    - 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:1549,1
    - Dst: getTargetTableSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1551,1
    - Dst: parseDuplicateUsingClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1557,1
    - Dst: parseUsingTableNameImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1546
    functionDepth: 13
    functionLinenumber: 1546
    functionLinenumberEnd: 1562
    functionName: parseUsingTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseUsingTableNameImpl
    - NEXT_TOKEN_KEEP_SQL
    - parseDuplicateUsingClause
    - getTargetTableSchema
    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:1565,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1573
    functionName: preParseTargetTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    - insCreateSName
    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:1585,1
    - Dst: skipParentheses
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1594
    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:1598,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1605,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1606,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1611,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1619,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - STableDataCxt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1621
    functionName: getTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - tNameExtractFullName
    - insGetTableDataCxt
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableDataCxt(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, STableDataCxt** pTableCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1626,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1630,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1633,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1637,1
    - Dst: insResetBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1639,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1623
    functionDepth: 2
    functionLinenumber: 1623
    functionLinenumberEnd: 1643
    functionName: parseBoundColumnsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseBoundColumns
    - buildSyntaxErrMsg
    - insResetBoundColsInfo
    - NEXT_TOKEN_KEEP_SQL
    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:1652,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pTableCxt
    argTypes:
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1660
    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: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1663,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1667,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pTableCxt
    - pBoundColsInfo
    argTypes:
    - STableDataCxt*
    - SBoundColInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1675
    functionName: initTableColSubmitDataWithBoundInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayReserve
    - insDestroyBoundColInfo
    - 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:1683,1
    - Dst: getTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1685,1
    - Dst: parseBoundColumnsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1688,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - STableDataCxt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1681
    functionDepth: 10
    functionLinenumber: 1681
    functionLinenumberEnd: 1694
    functionName: parseSchemaClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseBoundColumnsClause
    - initTableColSubmitData
    - parseUsingClauseBottom
    - getTableDataCxt
    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:1701,1
    - Dst: preParseBoundColumnsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1704,1
    - Dst: parseUsingTableName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1700
    functionDepth: 14
    functionLinenumber: 1700
    functionLinenumberEnd: 1711
    functionName: parseSchemaClauseTop
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - preParseTargetTableName
    - parseUsingTableName
    - preParseBoundColumnsClause
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseSchemaClauseTop(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pTbName)
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: IS_TRUE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1718,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1719,1
    - Dst: IS_FALSE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1720,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1721,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1723,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1723,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1724,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1725,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1727,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1730,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1731,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1733,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1734,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1737,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1737,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1738,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1739,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1741,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1746,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1746,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1748,1
    - Dst: IS_VALID_TINYINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1749,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1749,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1750,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1756,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1756,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1758,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1759,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1760,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1765,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1765,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1767,1
    - Dst: IS_VALID_SMALLINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1768,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1768,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1769,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1774,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1774,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1776,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1777,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1778,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1783,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1783,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1785,1
    - Dst: IS_VALID_INT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1786,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1786,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1787,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1792,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1792,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1794,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1795,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1796,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1801,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1801,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1803,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1808,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1808,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1810,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1816,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1818,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1820,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1820,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1821,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1824,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1829,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1831,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1833,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1833,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1834,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1836,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1842,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1844,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1848,1
    - Dst: parseVarbinary
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1853,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1855,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1864,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1868,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1869,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1870,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1871,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1874,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1874,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1874,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1875,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1883,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1885,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1889,1
    - Dst: parseGeometry
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1898,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1900,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1900,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1904,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1906,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1910,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1915,1
    - Dst: parseTime
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1923,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1923,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1925,1
    - Dst: parseBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1931,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1933,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1938,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1942,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1944,1
    - Dst: decimal128ToDataVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1952,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1960,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1964,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1966,1
    - Dst: decimal64ToDataVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1970,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 233
    argCount: 7
    argNames:
    - pCxt
    - pSql
    - pToken
    - pSchema
    - pExtSchema
    - timePrec
    - pVal
    argTypes:
    - SInsertParseContext*
    - char**
    - SToken*
    - SSchema*
    - SSchemaExt*
    - int16_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1713
    functionDepth: 7
    functionLinenumber: 1713
    functionLinenumberEnd: 1983
    functionName: parseValueTokenImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - decimalFromTypeMod
    - valueSetDatum
    - decimal128ToDataVal
    - IS_VALID_TINYINT
    - snprintf
    - parseTime
    - toDoubleEx
    - TAOS_SYSTEM_ERROR
    - VALUE_SET_TRIVIAL_DATUM
    - IS_FALSE_STR
    - isinf
    - IS_VALID_INT
    - generateSyntaxErrMsg
    - strerror
    - qError
    - getGeosErrMsg
    - taosStr2Int64
    - decimal128FromStr
    - decimal64ToDataVal
    - IS_VALID_SMALLINT
    - toIntegerEx
    - decimal64FromStr
    - VALUE_GET_TRIVIAL_DATUM
    - buildSyntaxErrMsg
    - taosMbsToUcs4
    - tListLen
    - geosFreeBuffer
    - toUIntegerEx
    - isnan
    - parseBlob
    - IS_TRUE_STR
    - taosMemoryFree
    - memcpy
    - parseGeometry
    - parseVarbinary
    - taosStr2Double
    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:1987,1
    - Dst: isNullValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1988,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1990,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1998,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1999,1
    - Dst: parseValueTokenImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2001,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: 2005
      start: 1985
    functionDepth: 8
    functionLinenumber: 1985
    functionLinenumberEnd: 2005
    functionName: parseValueToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - IS_NUMERIC_TYPE
    - isNullValue
    - parseValueTokenImpl
    - buildSyntaxErrMsg
    - checkAndTrimValue
    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:2008,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2010,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2011,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pCols
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2007
    functionDepth: 1
    functionLinenumber: 2007
    functionLinenumberEnd: 2015
    functionName: clearColValArray
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - 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:2044,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2045,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2052,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2060,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2063,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - pMsgBuf
    - tname
    - pToken
    - pFoundCtbName
    argTypes:
    - SMsgBuf*
    - char*
    - SToken*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2041
    functionDepth: 2
    functionLinenumber: 2041
    functionLinenumberEnd: 2066
    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:2078,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2080,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2084,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2090,1
    - Dst: checkSubtablePrivilege
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2095,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: 2098
      start: 2068
    functionDepth: 7
    functionLinenumber: 2068
    functionLinenumberEnd: 2098
    functionName: processCtbTagsAfterCtbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - tTagNew
    - checkSubtablePrivilege
    - parseTagValue
    - checkAndTrimValue
    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: 46
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2109,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2110,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2111,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2112,1
    - Dst: NEXT_TOKEN_WITH_PREV_EXT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2118,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2121,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2126,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2133,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2140,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2141,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2142,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2143,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2151,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2162,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2168,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2176,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2183,1
    - Dst: parseValueToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2184,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2186,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2190,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2200,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2208,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2208,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2209,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2214,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2218,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2224,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2228,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2229,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2230,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2246,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2248,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2251,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2259,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2265,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2274,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2280,1
    - Dst: parseValueToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2281,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2283,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2292,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2294,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2297,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2302,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2304,1
    - Dst: parseTbnameToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2308,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2315,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2317,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 175
    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: 2323
      start: 2100
    functionDepth: 9
    functionLinenumber: 2100
    functionLinenumberEnd: 2323
    functionName: doGetStbRowValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayInit
    - parseTagValue
    - NEXT_VALID_TOKEN
    - taosArrayGet
    - parseValueToken
    - IS_VAR_DATA_TYPE
    - generateSyntaxErrMsg
    - getNumOfColumns
    - parseTbnameToken
    - checkAndTrimValue
    - taosMemoryCalloc
    - getNumOfTags
    - tstrncpy
    - buildSyntaxErrMsg
    - buildInvalidOperationMsg
    - memcpy
    - NEXT_TOKEN_WITH_PREV_EXT
    - COL_VAL_IS_VALUE
    - getTableInfo
    - getTbnameSchemaIndex
    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:2329,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2330,1
    - Dst: doGetStbRowValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2340,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2348,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2354,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2357,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2357,1
    - Dst: processCtbTagsAfterCtbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2367,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: 2374
      start: 2325
    functionDepth: 10
    functionLinenumber: 2325
    functionLinenumberEnd: 2374
    functionName: getStbRowValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - processCtbTagsAfterCtbName
    - taosHashGet
    - doGetStbRowValues
    - strlen
    - tNameExtractFullName
    - getTableColumnExtSchema
    - getTableColumnSchema
    - 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: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2380,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2385,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2387,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2393,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2400,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2403,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2407,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2410,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2413,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2413,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pStbRowsCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2376
    functionDepth: 10
    functionLinenumber: 2376
    functionLinenumberEnd: 2420
    functionName: processCtbAutoCreationAndCtbMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - strlen
    - collectUseTable
    - taosMemoryCalloc
    - tNameExtractFullName
    - insBuildCreateTbReq
    - taosHashPut
    - taosHashGetSize
    - catalogGetTableHashVgroup
    - getNumOfTags
    - cloneTableMeta
    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:2425,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2426,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2427,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2428,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2429,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2432,1
    - Dst: clearColValArray
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2434,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2436,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2438,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2439,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2443,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2446,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pStbRowsCxt
    argTypes:
    - SStbRowsDataContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2422
    functionDepth: 2
    functionLinenumber: 2422
    functionLinenumberEnd: 2450
    functionName: clearStbRowsDataContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - tdDestroySVCreateTbReq
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayClear
    - taosArrayGetSize
    - tTagFree
    - clearColValArray
    linkageType: ''
    returnType: void
    signature: void clearStbRowsDataContext(SStbRowsDataContext* pStbRowsCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2458,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2458,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2452
    functionDepth: 1
    functionLinenumber: 2452
    functionLinenumberEnd: 2461
    functionName: parsedValueDestroy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    - COL_VAL_IS_VALUE
    linkageType: ''
    returnType: void
    signature: void parsedValueDestroy(void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SInsertParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2470
    functionName: clearInsertParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void clearInsertParseContext(SInsertParseContext* pCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2475,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2483,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2483,1
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2489,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2492,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pStmt
    - pStbRowsCxt
    - ppTableDataCxt
    argTypes:
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext*
    - STableDataCxt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2499
      start: 2472
    functionDepth: 1
    functionLinenumber: 2472
    functionLinenumberEnd: 2499
    functionName: parseStbBoundInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameExtractFullName
    - insGetTableDataCxt
    - memcpy
    - insDestroyBoundColInfo
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseStbBoundInfo(SVnodeModifyOpStmt* pStmt, SStbRowsDataContext*
      pStbRowsCxt,\n                                 STableDataCxt** ppTableDataCxt)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getStbRowValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2507,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2510,1
    - Dst: parseStbBoundInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2511,1
    - Dst: processCtbAutoCreationAndCtbMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2519,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2524,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2528,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2528,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2532,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2538,1
    - Dst: initTableColSubmitDataWithBoundInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2539,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2541,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2545,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2547,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2550,1
    - Dst: insCheckTableDataOrder
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2551,1
    - Dst: clearStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2559,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 7
    argNames:
    - pCxt
    - pStmt
    - ppSql
    - pStbRowsCxt
    - pGotRow
    - pToken
    - ppTableDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - char**
    - SStbRowsDataContext*
    - bool*
    - SToken*
    - STableDataCxt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2501
    functionDepth: 11
    functionLinenumber: 2501
    functionLinenumberEnd: 2562
    functionName: parseOneStbRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - tRowGetKey
    - strlen
    - tNameExtractFullName
    - insGetTableDataCxt
    - taosMemoryFreeClear
    - tRowBuild
    - insCheckTableDataOrder
    - getStbRowValues
    - initTableColSubmitDataWithBoundInfo
    - getTbnameSchemaIndex
    - initTableColSubmitData
    - parseStbBoundInfo
    - taosArrayReserve
    - clearStbRowsDataContext
    - processCtbAutoCreationAndCtbMeta
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2567,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2568,1
    - Dst: NEXT_TOKEN_WITH_PREV_EXT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2575,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2577,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2583,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2587,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2592,1
    - Dst: parseValueToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2597,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2597,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2601,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2609,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2609,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2610,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2615,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2618,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2627,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2629,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2635,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2639,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2640,1
    - Dst: tRowBuildWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2642,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2645,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2649,1
    - Dst: insCheckTableDataOrder
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2650,1
    - Dst: clearColValArray
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2658,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 69
    argCount: 5
    argNames:
    - pCxt
    - pSql
    - pTableCxt
    - pGotRow
    - pToken
    argTypes:
    - SInsertParseContext*
    - char**
    - STableDataCxt*
    - bool*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2564
    functionDepth: 9
    functionLinenumber: 2564
    functionLinenumberEnd: 2661
    functionName: parseOneRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayInit
    - NEXT_VALID_TOKEN
    - getTableColumnSchema
    - tBlobSetCreate
    - taosArrayReserve
    - clearColValArray
    - tRowGetKey
    - taosArrayGet
    - tRowBuild
    - parseValueToken
    - IS_VAR_DATA_TYPE
    - getTableColumnExtSchema
    - generateSyntaxErrMsg
    - insCheckTableDataOrder
    - buildSyntaxErrMsg
    - memcpy
    - NEXT_TOKEN_WITH_PREV_EXT
    - COL_VAL_IS_VALUE
    - getTableInfo
    - tRowBuildWithBlob
    - TAOS_CHECK_RETURN
    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:2671,1
    - Dst: parseOneRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2680,1
    - Dst: parseOneStbRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2684,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2689,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2691,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2693,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2703,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2704,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: 2707
      start: 2664
    functionDepth: 10
    functionLinenumber: 2664
    functionLinenumberEnd: 2707
    functionName: parseValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseOneStbRow
    - NEXT_TOKEN_KEEP_SQL
    - NEXT_VALID_TOKEN
    - generateSyntaxErrMsg
    - buildSyntaxErrMsg
    - parseOneRow
    - TSDB_QUERY_HAS_TYPE
    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:2713,1
    - Dst: TSDB_QUERY_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - rowsDataContext
    - pToken
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2710
    functionDepth: 11
    functionLinenumber: 2710
    functionLinenumberEnd: 2720
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: csvParserFillBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2736,1
    - Dst: csvParserExpandLineBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2761,1
    - Dst: csvParserExpandLineBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2793,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 1
    argNames:
    - parser
    argTypes:
    - SCsvParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2723
    functionDepth: 1
    functionLinenumber: 2723
    functionLinenumberEnd: 2807
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2817,1
    - Dst: csvParserInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2821,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2823,1
    - Dst: csvParserReadLine
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2835,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2846,1
    - Dst: strtolower
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2853,1
    - Dst: parseOneRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2857,1
    - Dst: parseOneStbRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2860,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2864,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2892,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2895,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2896,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    - pNumOfRows
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2809
    functionDepth: 10
    functionLinenumber: 2809
    functionLinenumberEnd: 2899
    functionName: parseCsvFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - parseOneStbRow
    - strlen
    - parserDebug
    - buildSyntaxErrMsg
    - strtolower
    - csvParserInit
    - taosHashPut
    - parseOneRow
    - TSDB_QUERY_HAS_TYPE
    - taosMemoryFree
    - csvParserReadLine
    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:2905,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2905,1
    - Dst: parseCsvFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2911,1
    - Dst: TSDB_QUERY_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2915,1
    - Dst: destroySavedCsvParser
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2921,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2922,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2924,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2927,1
    - Dst: destroySavedCsvParser
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2930,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2931,1
    - Dst: destroySavedCsvParser
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2935,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2939,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2939,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2945,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2901
    functionDepth: 1
    functionLinenumber: 2901
    functionLinenumberEnd: 2950
    functionName: parseDataFromFileImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - taosCloseFile
    - tstrerror
    - parserDebug
    - taosHashInit
    - parseCsvFile
    - parserWarn
    - destroySavedCsvParser
    - buildSyntaxErrMsg
    - TSDB_QUERY_SET_TYPE
    - taosHashPut
    - taosGetDefaultHashFunction
    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:2956,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2957,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2958,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2962,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2964,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2966,1
    - Dst: parseDataFromFileImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pFilePath
    - rowsDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    - SRowsDataContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2952
    functionDepth: 2
    functionLinenumber: 2952
    functionLinenumberEnd: 2972
    functionName: parseDataFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - strlen
    - buildSyntaxErrMsg
    - trimString
    - parseDataFromFileImpl
    - taosOpenFile
    - strncpy
    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:2977,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2980,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2982,1
    - Dst: parseDataFromFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    - pToken
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2974
    functionDepth: 3
    functionLinenumber: 2974
    functionLinenumberEnd: 2985
    functionName: parseFileClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildSyntaxErrMsg
    - buildInvalidOperationMsg
    - NEXT_TOKEN
    - parseDataFromFile
    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:2990,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2993,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2994,1
    - Dst: parseValuesClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2996,1
    - Dst: parseFileClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2998,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2988
    functionDepth: 12
    functionLinenumber: 2988
    functionLinenumberEnd: 3003
    functionName: parseDataClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseValuesClause
    - NEXT_TOKEN
    - parseFileClause
    - buildSyntaxErrMsg
    - TSDB_QUERY_HAS_TYPE
    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:3007,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3008,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3010,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3012,1
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3014,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3015,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3017,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3018,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - pStbRowsCxt
    argTypes:
    - SStbRowsDataContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3005
    functionDepth: 3
    functionLinenumber: 3005
    functionLinenumberEnd: 3020
    functionName: destroyStbRowsDataContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - tdDestroySVCreateTbReq
    - taosArrayDestroy
    - taosMemoryFreeClear
    - insDestroyBoundColInfo
    - clearStbRowsDataContext
    - tTagFree
    linkageType: ''
    returnType: void
    signature: void destroyStbRowsDataContext(SStbRowsDataContext* pStbRowsCxt)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3023,1
    - Dst: tNameAssign
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3027,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3028,1
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3030,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3035,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3040,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3046,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3052,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3059,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3059,1
    - Dst: insInitColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3063,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3066,1
    - Dst: insInitBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3067,1
    - Dst: clearStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3072,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - pStmt
    - ppStbRowsCxt
    argTypes:
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3075
      start: 3022
    functionDepth: 3
    functionLinenumber: 3022
    functionLinenumberEnd: 3075
    functionName: constructStbRowsDataContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - taosArrayInit
    - memcpy
    - insInitColValues
    - getTableInfo
    - getNumOfColumns
    - insInitBoundColsInfo
    - clearStbRowsDataContext
    - taosMemoryCalloc
    - collectUseDatabase
    - cloneTableMeta
    - tNameAssign
    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:3080,1
    - Dst: constructStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3085,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3088,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3093,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3093,1
    - Dst: parseDataClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3112
      start: 3077
    functionDepth: 13
    functionLinenumber: 3077
    functionLinenumberEnd: 3112
    functionName: parseInsertStbClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - constructStbRowsDataContext
    - parseBoundColumns
    - buildSyntaxErrMsg
    - getTbnameSchemaIndex
    - getNumOfColumns
    - parseDataClause
    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:3120,1
    - Dst: parseDataClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3124,1
    - Dst: parseInsertStbClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3131
      start: 3117
    functionDepth: 14
    functionLinenumber: 3117
    functionLinenumberEnd: 3131
    functionName: parseInsertTableClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseSchemaClauseBottom
    - parseInsertStbClauseBottom
    - parseDataClause
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertTableClauseBottom(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3134,1
    - Dst: clearInsertParseContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3135,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3136,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3137,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3138,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3139,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3140,1
    - Dst: destroyStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3148,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 3133
    functionDepth: 4
    functionLinenumber: 3133
    functionLinenumberEnd: 3151
    functionName: resetEnvPreTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - tdDestroySVCreateTbReq
    - taosArrayDestroy
    - destroyStbRowsDataContext
    - taosMemoryFreeClear
    - insDestroyBoundColInfo
    - clearInsertParseContext
    - 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:3155,1
    - Dst: parseSchemaClauseTop
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3156,1
    - Dst: parseInsertTableClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3162
      start: 3154
    functionDepth: 15
    functionLinenumber: 3154
    functionLinenumberEnd: 3162
    functionName: parseInsertTableClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - resetEnvPreTable
    - parseSchemaClauseTop
    - parseInsertTableClauseBottom
    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:3169,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3172,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3173,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3180,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3181,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3187,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3195,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3205,1
    - Dst: strnchr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3209,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3215,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3221,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3229,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTbName
    - pHasData
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3164
    functionDepth: 1
    functionLinenumber: 3164
    functionLinenumberEnd: 3242
    functionName: checkTableClauseFirstToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - strlen
    - parserWarn
    - strnchr
    - buildSyntaxErrMsg
    - TSDB_QUERY_HAS_TYPE
    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:3245,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3249,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3244
    functionDepth: 0
    functionLinenumber: 3244
    functionLinenumberEnd: 3260
    functionName: setStmtInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memset
    - 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:3263,1
    - Dst: setStmtInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3264,1
    - Dst: SVnodeModifyOpStmt*::freeArrayFunc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3268,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3274,1
    - Dst: insMergeTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3281,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3284,1
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3262
    functionDepth: 1
    functionLinenumber: 3262
    functionLinenumberEnd: 3291
    functionName: parseInsertBodyBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - setStmtInfo
    - SVnodeModifyOpStmt*::freeArrayFunc
    - insMergeTableDataCxt
    - taosHashGetSize
    - TSDB_QUERY_HAS_TYPE
    - insBuildVgDataBlocks
    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:3305,1
    - Dst: checkTableClauseFirstToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3306,1
    - Dst: parseInsertTableClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3308,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3315,1
    - Dst: parseInsertBodyBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3320,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3323
      start: 3298
    functionDepth: 16
    functionLinenumber: 3298
    functionLinenumberEnd: 3323
    functionName: parseInsertBody
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - parseInsertBodyBottom
    - NEXT_TOKEN
    - parseInsertTableClause
    - checkTableClauseFirstToken
    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:3325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3325
    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:3329,1
    - Dst: TSDB_QUERY_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3335,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3345,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3345,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3348,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3348,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3351,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3351,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3354,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3354,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3355,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3355,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3356,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3356,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3357,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3357,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3360,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3364,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - pCxt
    - reentry
    - pOutput
    argTypes:
    - SInsertParseContext*
    - bool
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3327
    functionDepth: 5
    functionLinenumber: 3327
    functionLinenumberEnd: 3369
    functionName: createVnodeModifOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosHashSetFreeFp
    - taosHashInit
    - TSDB_QUERY_SET_TYPE
    - nodesMakeNode
    - 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:3373,1
    - Dst: createVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3382,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - SInsertParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3371
    functionDepth: 6
    functionLinenumber: 3371
    functionLinenumberEnd: 3389
    functionName: createInsertQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - createVnodeModifOpStmt
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createInsertQuery(SInsertParseContext* pCxt, SQuery** pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3392,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3396,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pUsers
    - pTagCond
    argTypes:
    - SArray*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3405
      start: 3391
    functionDepth: 3
    functionLinenumber: 3391
    functionLinenumberEnd: 3405
    functionName: checkAuthFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAuthFromMetaData(const SArray* pUsers, SNode** pTagCond)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3408,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3408,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3412,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3413,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pTables
    - pMeta
    argTypes:
    - SArray*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3407
    functionDepth: 1
    functionLinenumber: 3407
    functionLinenumberEnd: 3421
    functionName: getTableMetaFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - tableMetaDup
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableMetaFromMetaData(const SArray* pTables, STableMeta**
      pMeta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3424,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3428,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pTables
    - pStmt
    - isStb
    argTypes:
    - SArray*
    - SVnodeModifyOpStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3439
      start: 3423
    functionDepth: 1
    functionLinenumber: 3423
    functionLinenumberEnd: 3439
    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:3442,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3446,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3449,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pMeta
    - pTagName
    argTypes:
    - STableMeta*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3457
      start: 3441
    functionDepth: 1
    functionLinenumber: 3441
    functionLinenumberEnd: 3457
    functionName: buildTagNameFromMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - getTableTagSchema
    - taosArrayInit
    - taosArrayDestroy
    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:3460,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3464,1
    - Dst: buildTagNameFromMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3470,1
    - Dst: checkSubtablePrivilege
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3472,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pTables
    - pStmt
    argTypes:
    - SArray*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3476
      start: 3459
    functionDepth: 5
    functionLinenumber: 3459
    functionLinenumberEnd: 3476
    functionName: checkSubtablePrivilegeForTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - checkSubtablePrivilege
    - taosArrayGet
    - taosArrayGetSize
    - buildTagNameFromMeta
    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:3482,1
    - Dst: storeChildTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3486,1
    - Dst: addTableVgroupFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3489,1
    - Dst: checkSubtablePrivilegeForTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pMetaData
    - pStmt
    - isStb
    argTypes:
    - SInsertParseContext*
    - SMetaData*
    - SVnodeModifyOpStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3478
    functionDepth: 6
    functionLinenumber: 3478
    functionLinenumberEnd: 3495
    functionName: processTableSchemaFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - storeChildTableMeta
    - buildInvalidOperationMsg
    - checkSubtablePrivilegeForTable
    - addTableVgroupFromMetaData
    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:3499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3497
    functionDepth: 1
    functionLinenumber: 3497
    functionLinenumberEnd: 3500
    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:3507,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3509,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3511,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pCatalogReq
    argTypes:
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3515
      start: 3502
    functionDepth: 1
    functionLinenumber: 3502
    functionLinenumberEnd: 3515
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: clearCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3519,1
    - Dst: checkAuthFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3520,1
    - Dst: getTableMetaFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3522,1
    - Dst: processTableSchemaFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3530,1
    - Dst: processTableSchemaFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SCatalogReq*
    - SMetaData*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3536
      start: 3517
    functionDepth: 7
    functionLinenumber: 3517
    functionLinenumberEnd: 3536
    functionName: setVnodeModifOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - checkAuthFromMetaData
    - getTableMetaFromMetaData
    - processTableSchemaFromMetaData
    - clearCatalogReq
    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:3539,1
    - Dst: createVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3541,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3549,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3549,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3553,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SInsertParseContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3538
    functionDepth: 6
    functionLinenumber: 3538
    functionLinenumberEnd: 3562
    functionName: resetVnodeModifOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - nodesDestroyNode
    - taosGetDefaultHashFunction
    - createVnodeModifOpStmt
    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:3567,1
    - Dst: resetVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3571,1
    - Dst: setVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SInsertParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3581
      start: 3564
    functionDepth: 8
    functionLinenumber: 3564
    functionLinenumberEnd: 3581
    functionName: initInsertQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - createInsertQuery
    - setVnodeModifOpStmt
    - resetVnodeModifOpStmt
    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:3587,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3588,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3589,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3589,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3593,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3595,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3597,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3600,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3605,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3606,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3607,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3607,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3611,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3613,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3615,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3618,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3624
      start: 3583
    functionDepth: 1
    functionLinenumber: 3583
    functionLinenumberEnd: 3624
    functionName: setRefreshMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - taosHashCancelIterate
    - taosHashIterate
    - taosHashGetSize
    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:3633,1
    - Dst: parseInsertBody
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3638
      start: 3632
    functionDepth: 17
    functionLinenumber: 3632
    functionLinenumberEnd: 3638
    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:3646,1
    - Dst: parseDataFromFileImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3652,1
    - Dst: parseInsertBodyBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3657,1
    - Dst: parseInsertBody
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3664
      start: 3640
    functionDepth: 17
    functionLinenumber: 3640
    functionLinenumberEnd: 3664
    functionName: parseInsertSqlFromCsv
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseInsertBody
    - parseInsertBodyBottom
    - parseDataFromFileImpl
    - getTableDataCxt
    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:3667,1
    - Dst: parseInsertBody
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3666
    functionDepth: 17
    functionLinenumber: 3666
    functionLinenumberEnd: 3672
    functionName: parseInsertSqlFromTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseInsertBody
    - parseInsertTableClauseBottom
    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:3676,1
    - Dst: parseInsertSqlFromCsv
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3680,1
    - Dst: parseInsertSqlFromTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3684
      start: 3674
    functionDepth: 18
    functionLinenumber: 3674
    functionLinenumberEnd: 3684
    functionName: parseInsertSqlImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseInsertSqlFromStart
    - parseInsertSqlFromCsv
    - parseInsertSqlFromTable
    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:3688,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3693,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3696,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3703,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - pSName
    - pCName
    - pTables
    argTypes:
    - SName*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3707
      start: 3686
    functionDepth: 1
    functionLinenumber: 3686
    functionLinenumberEnd: 3707
    functionName: buildUsingInsertTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosArrayDestroy
    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:3710,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3715,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pName
    - pTables
    argTypes:
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3721
      start: 3709
    functionDepth: 1
    functionLinenumber: 3709
    functionLinenumberEnd: 3721
    functionName: buildInsertTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosArrayDestroy
    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:3725,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3733,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3734,1
    - Dst: buildUsingInsertTableReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3736,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pSName
    - pCName
    - pDbs
    argTypes:
    - SName*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3741
      start: 3723
    functionDepth: 2
    functionLinenumber: 3723
    functionLinenumberEnd: 3741
    functionName: buildInsertUsingDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - tNameGetFullDbName
    - taosArrayPush
    - buildUsingInsertTableReq
    - 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:3745,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3752,1
    - Dst: buildInsertTableReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3753,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pName
    - pDbs
    argTypes:
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3759
      start: 3743
    functionDepth: 2
    functionLinenumber: 3743
    functionLinenumberEnd: 3759
    functionName: buildInsertDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - tNameGetFullDbName
    - taosArrayPush
    - buildInsertTableReq
    - 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:3762,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3768,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3769,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3770,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pUser
    - pName
    - pUserAuth
    argTypes:
    - char*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3777
      start: 3761
    functionDepth: 1
    functionLinenumber: 3761
    functionLinenumberEnd: 3777
    functionName: buildInsertUserAuthReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - memcpy
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInsertUserAuthReq(const char* pUser, SName* pName, SArray**
      pUserAuth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildInsertTableReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pName
    - pTables
    argTypes:
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3779
      start: 3779
    functionDepth: 2
    functionLinenumber: 3779
    functionLinenumberEnd: 3779
    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:3782,1
    - Dst: buildInsertTableTagReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3786,1
    - Dst: buildInsertDbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3790,1
    - Dst: buildInsertUsingDbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3792,1
    - Dst: buildInsertDbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3796,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pCatalogReq
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3781
    functionDepth: 3
    functionLinenumber: 3781
    functionLinenumberEnd: 3799
    functionName: buildInsertCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildInsertDbReq
    - buildInsertTableTagReq
    - buildInsertUserAuthReq
    - buildInsertUsingDbReq
    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:3804,1
    - Dst: buildInsertCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3808,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SInsertParseContext*
    - SQuery*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3816
      start: 3801
    functionDepth: 4
    functionLinenumber: 3801
    functionLinenumberEnd: 3816
    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:3826,1
    - Dst: parseInsertSqlImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3828,1
    - Dst: setNextStageInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3832,1
    - Dst: NEED_CLIENT_HANDLE_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3834,1
    - Dst: setRefreshMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3836,1
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3839,1
    - Dst: clearInsertParseContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3846
      start: 3818
    functionDepth: 19
    functionLinenumber: 3818
    functionLinenumberEnd: 3846
    functionName: parseInsertSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseInsertSqlImpl
    - setRefreshMeta
    - NEED_CLIENT_HANDLE_ERROR
    - initInsertQuery
    - insDestroyBoundColInfo
    - clearInsertParseContext
    - setNextStageInfo
    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:3854,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3864,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3871,1
    - Dst: csvParserFillBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3882,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - parser
    - pFile
    argTypes:
    - SCsvParser*
    - TdFilePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3849
    functionDepth: 1
    functionLinenumber: 3849
    functionLinenumberEnd: 3919
    functionName: csvParserInit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - memset
    - csvParserFillBuffer
    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:3923,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3924,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - SCsvParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3927
      start: 3921
    functionDepth: 0
    functionLinenumber: 3921
    functionLinenumberEnd: 3927
    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:3943,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - parser
    argTypes:
    - SCsvParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3955
      start: 3929
    functionDepth: 1
    functionLinenumber: 3929
    functionLinenumberEnd: 3955
    functionName: csvParserFillBuffer
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 2
    functionsReached:
    - taosReadFile
    - TAOS_SYSTEM_ERROR
    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:3960,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3964
      start: 3958
    functionDepth: 1
    functionLinenumber: 3958
    functionLinenumberEnd: 3964
    functionName: destroySavedCsvParser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    - csvParserDestroy
    linkageType: ''
    returnType: void
    signature: void destroySavedCsvParser(SVnodeModifyOpStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - parser
    - requiredLen
    argTypes:
    - SCsvParser*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3984
      start: 3966
    functionDepth: 1
    functionLinenumber: 3966
    functionLinenumberEnd: 3984
    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: 127
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 255
    argCount: 1
    argNames:
    - errCode
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 284
    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:288,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:289,1
    - Dst: getSyntaxErrFormat
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:289,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pBuf
    - errCode
    argTypes:
    - SMsgBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: generateSyntaxErrMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 96
    functionsReached:
    - va_start
    - va_end
    - vsnprintf
    - getSyntaxErrFormat
    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:296,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:297,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pBuf
    - errCode
    - pFormat
    argTypes:
    - SMsgBuf*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: generateSyntaxErrMsgExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 142
    functionsReached:
    - va_start
    - va_end
    - vsnprintf
    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:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pBuf
    - msg
    argTypes:
    - SMsgBuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 308
    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:312,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:313,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pBuf
    - pFormat
    argTypes:
    - SMsgBuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: buildInvalidOperationMsgExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - vsnprintf
    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:326,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:331,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:331,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:334,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:336,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:336,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pBuf
    - additionalInfo
    - sourceStr
    argTypes:
    - SMsgBuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 341
    functionName: buildSyntaxErrMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 32
    functionsReached:
    - strlen
    - tstrncpy
    - snprintf
    - tListLen
    - strncmp
    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: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: getTableColumnSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 6
    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: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    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: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    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:353,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: getTableTagSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 9
    functionsReached:
    - getTableInfo
    - getOneColumnSchema
    linkageType: ''
    returnType: SSchema
    signature: SSchema * getTableTagSchema(const STableMeta* pTableMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: getNumOfColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 8
    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:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: getNumOfTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 10
    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: 363
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 363
    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:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 373
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: TABLE_TOTAL_COL_NUM
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:376,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:387,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 402
    functionName: tableMetaDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - TABLE_TOTAL_COL_NUM
    - memcpy
    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: 455
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 455
    functionName: trimString
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 6
    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:459,1
    - Dst: isprint
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: isValidateTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - isprint
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool isValidateTag(char* input)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:475,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:475,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:481,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:483,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:487,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:488,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:489,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:493,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:493,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:499,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:501,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:502,1
    - Dst: isValidateTag
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:507,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:508,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:511,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:513,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:514,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:517,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:523,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:531,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:532,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:538,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:539,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:541,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:542,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:543,1
    - Dst: isfinite
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:549,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:550,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:551,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:562,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:565,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:572,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:574,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:576,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:577,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:578,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:579,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:582,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: 584
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 584
    functionName: parseJsontoTagData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 4
    functionsReached:
    - taosArrayPush
    - cJSON_IsObject
    - tTagNew
    - taosArrayGet
    - isValidateTag
    - IS_VAR_DATA_TYPE
    - strerror
    - isfinite
    - taosMemoryCalloc
    - strtrim
    - strlen
    - taosHashGet
    - cJSON_Parse
    - strcasecmp
    - taosMemoryFreeClear
    - cJSON_GetArraySize
    - uError
    - buildSyntaxErrMsg
    - taosArrayGetSize
    - taosMbsToUcs4
    - taosGetDefaultHashFunction
    - cJSON_Delete
    - cJSON_GetArrayItem
    - taosHashPut
    - taosHashInit
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseJsontoTagData(const char* json, SArray* pTagVals, STag**
      ppTag, void* pMsgBuf, void *charsetCxt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:593,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:595,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:598,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:600,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:603,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:607,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:608,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:608,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:609,1
    - Dst: tNameAddTbName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:610,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:610,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - acctId
    - pOper
    - pName
    argTypes:
    - int32_t
    - SOperatorNode*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 614
    functionName: getInsTagsTableTargetNameFromOp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - tNameAddTbName
    - strlen
    - nodeType
    - tNameSetDbName
    - 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:617,1
    - Dst: getInsTagsTableTargetNameFromOp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - acctId
    - pNode
    - pName
    argTypes:
    - int32_t
    - SNode*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: getInsTagsTableTargetObjName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - getInsTagsTableTargetNameFromOp
    - nodeType
    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:629,1
    - Dst: getInsTagsTableTargetObjName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - acctId
    - pCond
    - pName
    argTypes:
    - int32_t
    - SLogicConditionNode*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 639
    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:646,1
    - Dst: getInsTagsTableTargetNameFromOp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:647,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:654,1
    - Dst: getInsTagsTableTargetNameFromCond
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - acctId
    - pWhere
    - pName
    argTypes:
    - int32_t
    - SNode*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 641
    functionDepth: 4
    functionLinenumber: 641
    functionLinenumberEnd: 659
    functionName: getVnodeSysTableTargetName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - getInsTagsTableTargetNameFromOp
    - getInsTagsTableTargetNameFromCond
    - nodeType
    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:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 7
    argNames:
    - acctId
    - pUser
    - pDb
    - pTable
    - type
    - pStr
    - isView
    argTypes:
    - int32_t
    - char*
    - char*
    - char*
    - AUTH_TYPE
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    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, AUTH_TYPE type,\n                                char*
      pStr, bool isView)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:668,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:671,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:674,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pStart
    - pNext
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: getIntegerFromAuthStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - tstrncpy
    - strncpy
    - strchr
    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:681,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:683,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:686,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:688,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:693,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:693,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:695,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: 702
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 702
    functionName: getBackQuotedStringFromAuthStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - qWarn
    - TMIN
    - strncpy
    - strchr
    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:705,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:707,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:710,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: 716
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 716
    functionName: getStringFromAuthStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - strncpy
    - 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:720,1
    - Dst: getIntegerFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:722,1
    - Dst: getBackQuotedStringFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:723,1
    - Dst: getBackQuotedStringFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:726,1
    - Dst: getIntegerFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:734,1
    - Dst: getIntegerFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pStr
    - len
    - pUserAuth
    argTypes:
    - char*
    - int32_t
    - SUserAuthInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 738
    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:742,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:742,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:746,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:749,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:751,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:753,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:755,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:760,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:761,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - pTablesHash
    - pTables
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 769
    functionName: buildTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosHashGetKey
    - taosHashCancelIterate
    - tNameFromString
    - taosHashIterate
    - taosHashGetSize
    - strncpy
    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:773,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:773,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:777,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:780,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:782,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:783,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:784,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:785,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pDbsHash
    - pDbs
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 793
    functionName: buildDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosHashGetKey
    - taosHashCancelIterate
    - taosHashIterate
    - taosHashGetSize
    - 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:798,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:798,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:803,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:806,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:807,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:809,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:814,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:815,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:819,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pDbsHash
    - pDbs
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 823
    functionName: buildTableReqFromDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrncpy
    - taosArrayDestroy
    - taosArrayInit
    - taosHashCancelIterate
    - taosHashIterate
    - buildTableReq
    - taosHashGetSize
    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:827,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:827,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:831,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:834,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:836,1
    - Dst: stringToUserAuth
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:838,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:840,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:841,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:842,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pUserAuthHash
    - pUserAuth
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 850
    functionName: buildUserAuthReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosHashGetKey
    - taosHashCancelIterate
    - taosHashIterate
    - stringToUserAuth
    - taosHashGetSize
    - 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:854,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:854,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:858,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:861,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:863,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:864,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:865,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:866,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pUdfHash
    - pUdf
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 874
    functionName: buildUdfReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosHashGetKey
    - taosHashCancelIterate
    - taosHashIterate
    - taosHashGetSize
    - 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:877,1
    - Dst: buildDbReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:879,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:882,1
    - Dst: buildDbReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:885,1
    - Dst: buildDbReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:888,1
    - Dst: buildUserAuthReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:891,1
    - Dst: buildUdfReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:894,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:897,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:900,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:903,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:906,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:909,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:913,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:917,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - pMetaCache
    - pCatalogReq
    argTypes:
    - SParseMetaCache*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 876
    functionDepth: 4
    functionLinenumber: 876
    functionLinenumberEnd: 922
    functionName: buildCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - buildUdfReq
    - buildTableReqFromDb
    - buildTableReq
    - buildDbReq
    - buildUserAuthReq
    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:927,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:934,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:938,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: 943
      start: 924
    functionDepth: 5
    functionLinenumber: 924
    functionLinenumberEnd: 943
    functionName: createSelectStmtImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - snprintf
    - TAOS_SET_OBJ_ALIGNED
    - nodesMakeNode
    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:947,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:947,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:952,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:953,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: 954
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 954
    functionName: putMetaDataToHash
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosArrayGet
    - taosHashPut
    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:957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - pKey
    - len
    - pHash
    - pOutput
    argTypes:
    - char*
    - int32_t
    - SHashObj*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 965
    functionName: getMetaDataFromHash
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    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:968,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:971,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:971,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:975,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pTableReq
    - pTableData
    - pTable
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 980
    functionName: putTableDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameExtractFullName
    - putMetaDataToHash
    - taosArrayGet
    - taosArrayGetSize
    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:983,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:985,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:986,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pDbReq
    - pDbData
    - pDb
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 991
    functionName: putDbDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - putMetaDataToHash
    - taosArrayGet
    - strlen
    - taosArrayGetSize
    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:995,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:998,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:999,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1002,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1002,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1006,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1006,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pDbReq
    - pTableData
    - pTable
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 1013
    functionName: putDbTableDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameExtractFullName
    - putMetaDataToHash
    - taosArrayGet
    - taosArrayGetSize
    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:1016,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1018,1
    - Dst: userAuthToString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1020,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pUserAuthReq
    - pUserAuthData
    - pUserAuth
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1027
    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:1030,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1032,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1033,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pUdfReq
    - pUdfData
    - pUdf
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1038
    functionName: putUdfToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - putMetaDataToHash
    - taosArrayGet
    - strlen
    - taosArrayGetSize
    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:1041,1
    - Dst: putDbDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1043,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1046,1
    - Dst: putDbDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1049,1
    - Dst: putDbDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1052,1
    - Dst: putUserAuthToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1055,1
    - Dst: putUdfToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1058,1
    - Dst: putTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1061,1
    - Dst: putTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1064,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1067,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1070,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1073,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1077,1
    - Dst: putTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1081,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - pCatalogReq
    - pMetaData
    - pMetaCache
    argTypes:
    - SCatalogReq*
    - SMetaData*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1086
    functionName: putMetaDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - putDbDataToCache
    - putUdfToCache
    - putDbTableDataToCache
    - putUserAuthToCache
    - 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:1090,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1090,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pTbFName
    - len
    - pTables
    argTypes:
    - char*
    - int32_t
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1096
    functionName: reserveTableReqInCacheImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableReqInCacheImpl(const char* pTbFName, int32_t len,
      SHashObj** pTables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1100,1
    - Dst: reserveTableReqInCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1101,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: 1102
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1102
    functionName: reserveTableReqInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - reserveTableReqInCacheImpl
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableReqInCache(int32_t acctId, const char* pDb, const
      char* pTable, SHashObj** pTables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1106,1
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1107,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1109,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: 1112
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1112
    functionName: reserveTableReqInDbCacheImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - reserveTableReqInCache
    - tsnprintf
    - 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:1116,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1116,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1122,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1123,1
    - Dst: reserveTableReqInDbCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1125,1
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1127,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: 1128
      start: 1114
    functionDepth: 4
    functionLinenumber: 1114
    functionLinenumberEnd: 1128
    functionName: reserveTableReqInDbCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - reserveTableReqInDbCacheImpl
    - taosHashInit
    - reserveTableReqInCache
    - tsnprintf
    - taosGetDefaultHashFunction
    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:1131,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: 1132
      start: 1130
    functionDepth: 5
    functionLinenumber: 1130
    functionLinenumberEnd: 1132
    functionName: reserveTableMetaInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 72
    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:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pName
    - pMetaCache
    argTypes:
    - SName*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1134
    functionDepth: 5
    functionLinenumber: 1134
    functionLinenumberEnd: 1136
    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:1139,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: 1140
      start: 1138
    functionDepth: 5
    functionLinenumber: 1138
    functionLinenumberEnd: 1140
    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:1144,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1149,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1149,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pMeta
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1157
    functionName: getTableMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - strlen
    - tableMetaDup
    - tNameExtractFullName
    - 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:1161,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1166,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1166,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1172,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1173,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pTbName
    argTypes:
    - SParseMetaCache*
    - SName*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1159
    functionDepth: 2
    functionLinenumber: 1159
    functionLinenumberEnd: 1179
    functionName: getTableNameFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - hasRefCol
    - strlen
    - tstrncpy
    - tNameExtractFullName
    - withExtSchema
    - getMetaDataFromHash
    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:1182,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pMeta
    - pViewMeta
    argTypes:
    - STableMeta**
    - SViewMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1200
    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:1204,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1209,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1209,1
    - Dst: buildTableMetaFromViewMeta
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pMeta
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1214
    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:1218,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1218,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1224,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pDbs
    argTypes:
    - int32_t
    - char*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1216
    functionDepth: 1
    functionLinenumber: 1216
    functionLinenumberEnd: 1226
    functionName: reserveDbReqInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - tsnprintf
    - taosHashPut
    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:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1230
    functionName: reserveDbVgInfoInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 14
    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:1234,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1234,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pMetaCache
    - pDbFName
    - pVgInfo
    argTypes:
    - SParseMetaCache*
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1243
    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:1246,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: 1247
      start: 1245
    functionDepth: 5
    functionLinenumber: 1245
    functionLinenumberEnd: 1247
    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:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pName
    - pMetaCache
    argTypes:
    - SName*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1249
    functionDepth: 5
    functionLinenumber: 1249
    functionLinenumberEnd: 1251
    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:1255,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1260,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1260,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pVgroup
    argTypes:
    - SParseMetaCache*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1253
    functionDepth: 2
    functionLinenumber: 1253
    functionLinenumberEnd: 1265
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1269,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1273,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1275,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1278,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1282,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1284,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1288,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1289,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pVgroup
    argTypes:
    - SParseMetaCache*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1267
    functionDepth: 2
    functionLinenumber: 1267
    functionLinenumberEnd: 1297
    functionName: getDbTableVgroupFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - tNameExtractFullName
    - taosGetTbHashVal
    - memcpy
    - taosArraySearch
    - strstr
    - getMetaDataFromHash
    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:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1301
    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:1306,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1306,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1309,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1311,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: 1314
      start: 1303
    functionDepth: 2
    functionLinenumber: 1303
    functionLinenumberEnd: 1314
    functionName: getDbVgVersionFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - taosSetInt64Aligned
    - strlen
    - 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:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1318
    functionName: reserveDbCfgInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 31
    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:1322,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1322,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pMetaCache
    - pDbFName
    - pInfo
    argTypes:
    - SParseMetaCache*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1320
    functionDepth: 2
    functionLinenumber: 1320
    functionLinenumberEnd: 1327
    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:1331,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1331,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pKey
    - len
    - pMetaCache
    argTypes:
    - char*
    - int32_t
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1337
    functionName: reserveUserAuthInCacheImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashPut
    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:1342,1
    - Dst: reserveUserAuthInCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - acctId
    - pUser
    - pDb
    - pTable
    - type
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - char*
    - AUTH_TYPE
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1339
    functionDepth: 2
    functionLinenumber: 1339
    functionLinenumberEnd: 1344
    functionName: reserveUserAuthInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 21
    functionsReached:
    - reserveUserAuthInCacheImpl
    - userAuthToString
    linkageType: ''
    returnType: int32_t
    signature: "int32_t reserveUserAuthInCache(int32_t acctId, const char* pUser,
      const char* pDb, const char* pTable, AUTH_TYPE type,\n                               SParseMetaCache*
      pMetaCache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: userAuthToString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1349,1
    - Dst: reserveUserAuthInCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - acctId
    - pUser
    - pDb
    - pTable
    - type
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - char*
    - AUTH_TYPE
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1346
    functionDepth: 2
    functionLinenumber: 1346
    functionLinenumberEnd: 1351
    functionName: reserveViewUserAuthInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 3
    functionsReached:
    - reserveUserAuthInCacheImpl
    - userAuthToString
    linkageType: ''
    returnType: int32_t
    signature: "int32_t reserveViewUserAuthInCache(int32_t acctId, const char* pUser,
      const char* pDb, const char* pTable,\n                                   AUTH_TYPE
      type, SParseMetaCache* pMetaCache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: userAuthToString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1355,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1358,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pMetaCache
    - pAuthReq
    - pAuthRes
    argTypes:
    - SParseMetaCache*
    - SUserAuthInfo*
    - SUserAuthRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1363
    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:1367,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1367,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1372,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pFunc
    - pMetaCache
    argTypes:
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1373
    functionName: reserveUdfInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - strlen
    - taosHashPut
    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:1377,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1377,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pMetaCache
    - pFunc
    - pInfo
    argTypes:
    - SParseMetaCache*
    - char*
    - SFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1375
    functionDepth: 2
    functionLinenumber: 1375
    functionLinenumberEnd: 1382
    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:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1384
    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:1387,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1391,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1393,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1396,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1397,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1397,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1404
    functionName: smaIndexesDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayDup
    - taosArrayDestroyEx
    - taosArrayGetSize
    - taosStrdup
    linkageType: ''
    returnType: SArray
    signature: SArray * smaIndexesDup(SArray* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1407,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: 1408
      start: 1406
    functionDepth: 3
    functionLinenumber: 1406
    functionLinenumberEnd: 1408
    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:1411,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: 1412
      start: 1410
    functionDepth: 3
    functionLinenumber: 1410
    functionLinenumberEnd: 1412
    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:1415,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: 1416
      start: 1414
    functionDepth: 3
    functionLinenumber: 1414
    functionLinenumberEnd: 1416
    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:1419,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: 1420
      start: 1418
    functionDepth: 5
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    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:1423,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: 1424
      start: 1422
    functionDepth: 3
    functionLinenumber: 1422
    functionLinenumberEnd: 1424
    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:1428,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1432,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1432,1
    - Dst: smaIndexesDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pIndexes
    argTypes:
    - SParseMetaCache*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1440
    functionName: getTableIndexFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - smaIndexesDup
    - strlen
    - tNameExtractFullName
    - 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:1444,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1449,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pMetaCache
    - pTbName
    - pTsmas
    argTypes:
    - SParseMetaCache*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1442
    functionDepth: 2
    functionLinenumber: 1442
    functionLinenumberEnd: 1454
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1458,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1463,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1463,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pMetaCache
    - pTsmaName
    - pTsma
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableTSMAInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1456
    functionDepth: 2
    functionLinenumber: 1456
    functionLinenumberEnd: 1473
    functionName: getTsmaFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayGetP
    - strlen
    - tNameExtractFullName
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTsmaFromCache(SParseMetaCache* pMetaCache, const SName*
      pTsmaName, STableTSMAInfo** pTsma)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1476,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1480,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1488,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1490,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1493,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1497,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1499,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1504,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1506,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1510,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1512,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1514,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1520,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1522,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1524,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1531,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1532,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1533,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1534,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1535,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1536,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1538
    functionName: tableCfgDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - hasRefCol
    - taosArrayDestroy
    - taosMemoryFreeClear
    - memcpy
    - withExtSchema
    - 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:1542,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1547,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1547,1
    - Dst: tableCfgDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pOutput
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableCfg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1540
    functionDepth: 2
    functionLinenumber: 1540
    functionLinenumberEnd: 1555
    functionName: getTableCfgFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - tableCfgDup
    - strlen
    - tNameExtractFullName
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableCfgFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, STableCfg** pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1560,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1565,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pOutput
    argTypes:
    - SParseMetaCache*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1558
    functionDepth: 2
    functionLinenumber: 1558
    functionLinenumberEnd: 1570
    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: 1575
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1575
    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:1578,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pMetaCache
    - pDnodes
    argTypes:
    - SParseMetaCache*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1588
    functionName: getDnodeListFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - taosArrayDup
    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:1591,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1593,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1594,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pHash
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1597
    functionName: destoryParseTablesMetaReqHash
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosHashCleanup
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void destoryParseTablesMetaReqHash(SHashObj* pHash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1601,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1602,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1603,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1604,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1605,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1607,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1608,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1609,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1610,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1611,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1613,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1614,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1615,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1616,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1617,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1618,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1619,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1620,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - pMetaCache
    - request
    argTypes:
    - SParseMetaCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1599
    functionDepth: 2
    functionLinenumber: 1599
    functionLinenumberEnd: 1622
    functionName: destoryParseMetaCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - destoryParseTablesMetaReqHash
    - taosHashCleanup
    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: 1637
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1637
    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:1640,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pType
    argTypes:
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1644
    functionName: calcTypeMod
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 8
    functionsReached:
    - decimalCalcTypeMod
    - IS_DECIMAL_TYPE
    linkageType: ''
    returnType: STypeMod
    signature: STypeMod calcTypeMod(const SDataType* pType)
  - 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:
    - TSDB_CHECK_CONDITION
    - tstrerror
    - NEXT_TOKEN
    - uError
    - insCreateSName
    - TSDB_CHECK_CODE
    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:
    - strlen
    - tstrerror
    - uError
    - insCreateSName
    - TSDB_CHECK_CODE
    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:
    - uTrace
    - TSDB_CHECK_CONDITION
    - tstrerror
    - taosArrayGet
    - taosMemoryFree
    - uError
    - taosArrayGetSize
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - insFindCol
    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:
    - TSDB_CHECK_CONDITION
    - tstrerror
    - uError
    - taosMbsToUcs4
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - taosMemoryFree
    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:
    - strlen
    - taosArrayPush
    - TSDB_CHECK_CONDITION
    - taosArrayInit
    - memcmp
    - tTagNew
    - tstrerror
    - taosArrayGet
    - smlMbsToUcs4
    - memcpy
    - uError
    - taosArrayDestroy
    - taosArrayGetSize
    - TSDB_CHECK_CODE
    - TSDB_CHECK_NULL
    - 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:
    - tstrerror
    - insGetTableDataCxt
    - uError
    - initTableColSubmitData
    - TSDB_CHECK_CODE
    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:
    - taosMemoryFreeClear
    - taosArrayGet
    - 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:
    - tRowGetKey
    - tstrerror
    - tRowBuild
    - uError
    - taosArrayReserve
    - TSDB_CHECK_CODE
    - TSDB_CHECK_NULL
    - insCheckTableDataOrder
    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:
    - taosMemoryMalloc
    - strlen
    - valueSetDatum
    - tstrerror
    - memcmp
    - uInfo
    - taosArrayGet
    - memcpy
    - smlMbsToUcs4
    - uError
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - taosMemoryFree
    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: insDestroyBoundColInfo
      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:
    - taosMemoryMalloc
    - valueSetDatum
    - taosArrayDestroy
    - tstrerror
    - smlMbsToUcs4
    - getTableTagSchema
    - clearColValArraySml
    - getTableColumnSchema
    - taosArrayReserve
    - tRowGetKey
    - smlBoundColumnData
    - tdDestroySVCreateTbReq
    - taosArrayGet
    - tRowBuild
    - initTableColSubmitData
    - insInitBoundColsInfo
    - taosMemoryCalloc
    - getNumOfTags
    - insCheckTableDataOrder
    - taosHashGet
    - strlen
    - uError
    - taosArrayGetSize
    - insDestroyBoundColInfo
    - TSDB_CHECK_CODE
    - buildInvalidOperationMsg
    - TSDB_CHECK_CONDITION
    - insGetTableDataCxt
    - memcpy
    - insBuildCreateTbReq
    - smlBuildTagRow
    - taosArrayGetP
    - convertTimePrecision
    - TSDB_CHECK_NULL
    - taosMemoryFree
    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:
    - tstrerror
    - taosHashInit
    - nodesDestroyNode
    - uError
    - qDestroyQuery
    - nodesMakeNode
    - TSDB_CHECK_CODE
    - taosGetDefaultHashFunction
    - TSDB_CHECK_NULL
    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:
    - tstrerror
    - uError
    - insMergeTableDataCxt
    - TSDB_CHECK_CODE
    - insBuildVgDataBlocks
    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:
    - uError
    - tstrerror
    - insBuildVgDataBlocks
    - TSDB_CHECK_CODE
    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:34,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:42,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - pStr
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 53
    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:64,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:71,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:73,1
    - Dst: insCreateSName
      Src: /src/tdengine/source/libs/parser/src/parser.c:78,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:86,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: 95
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 95
    functionName: qIsUpdateSetSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - insCreateSName
    - tStrGetToken
    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:105,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pStr
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 123
    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:132,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parser.c:132,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: 143
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 143
    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: 28
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parser.c:151,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parser.c:152,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:153,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:164,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:166,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:167,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:174,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:176,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:177,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/src/parser.c:181,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:182,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/src/parser.c:184,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:189,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:191,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:192,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:205,1
    - Dst: isColumnPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parser.c:211,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:212,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:213,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:222,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:229,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:231,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:232,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:239,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:244,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:245,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:251,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:265,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:282,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:295,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:302,1
    - Dst: isColumnPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parser.c:310,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:314,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parser.c:319,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:320,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:321,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:330,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/src/parser.c:342,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 162
    argCount: 6
    argNames:
    - pSql
    - pNewSql
    - pTableMeta
    - predicateCols
    - msgBuf
    - msgBufLen
    argTypes:
    - char*
    - char**
    - STableMeta*
    - SSHashObj*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 354
    functionName: convertUpdateToInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - strlen
    - memcpy
    - sprintf
    - tSimpleHashPut
    - isColumnPrimaryKey
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    - tStrGetToken
    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:364,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:372,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pStr
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 381
    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:393,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:399,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:405,1
    - Dst: strnchr
      Src: /src/tdengine/source/libs/parser/src/parser.c:410,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:413,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - pStr
    - length
    - pDbName
    argTypes:
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 422
    functionName: qParseDbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - strnchr
    - taosMemoryMalloc
    - strncpy
    - tStrGetToken
    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:425,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parser.c:432,1
    - Dst: translate
      Src: /src/tdengine/source/libs/parser/src/parser.c:437,1
    - Dst: calculateConstant
      Src: /src/tdengine/source/libs/parser/src/parser.c:440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 424
    functionDepth: 31
    functionLinenumber: 424
    functionLinenumberEnd: 443
    functionName: analyseSemantic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - TSWAP
    - authenticate
    - calculateConstant
    - translate
    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:446,1
    - Dst: analyseSemantic
      Src: /src/tdengine/source/libs/parser/src/parser.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 32
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: parseSqlIntoAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - parse
    - analyseSemantic
    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:454,1
    - Dst: collectMetaKey
      Src: /src/tdengine/source/libs/parser/src/parser.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery**
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 12
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: parseSqlSyntax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - parse
    - collectMetaKey
    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:462,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:465,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parser.c:466,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:481,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:485,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:486,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:486,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:491,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:495,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:496,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:496,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:501,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parser.c:507,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:507,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:511,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parser.c:516,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 3
    argNames:
    - pVal
    - pParam
    - charsetCxt
    argTypes:
    - SValueNode*
    - TAOS_MULTI_BIND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 525
    functionName: setValueByBindParam
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - varDataVal
    - taosMemoryFreeClear
    - memcpy
    - strncpy
    - IS_VAR_DATA_TYPE
    - nodesSetValueNodeValue
    - taosMbsToUcs4
    - taosMemoryCalloc
    - 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:528,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:528,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parser.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: rewriteQueryExprAliasImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - snprintf
    - nodesIsExprNode
    - nodeType
    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:536,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parser.c:538,1
    - Dst: rewriteQueryExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:542,1
    - Dst: rewriteQueryExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pRoot
    - pNo
    argTypes:
    - SNode*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 535
    functionDepth: 6
    functionLinenumber: 535
    functionLinenumberEnd: 549
    functionName: rewriteQueryExprAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 1
    functionsReached:
    - nodesWalkSelectStmt
    - rewriteQueryExprAlias
    - nodeType
    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:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 7
    functionLinenumber: 551
    functionLinenumberEnd: 554
    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:558,1
    - Dst: parseInsertSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:559,1
    - Dst: parseSqlIntoAst
      Src: /src/tdengine/source/libs/parser/src/parser.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 556
    functionDepth: 33
    functionLinenumber: 556
    functionLinenumberEnd: 565
    functionName: qParseSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - parseInsertSql
    - qIsInsertValuesSql
    - 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:569,1
    - Dst: buildCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parser.c:571,1
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - struct SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 567
    functionDepth: 13
    functionLinenumber: 567
    functionLinenumberEnd: 575
    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:578,1
    - Dst: continueCreateTbFromFile
      Src: /src/tdengine/source/libs/parser/src/parser.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - struct SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 14
    functionLinenumber: 577
    functionLinenumberEnd: 581
    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:584,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:586,1
    - Dst: parseInsertSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:587,1
    - Dst: qIsCreateTbFromFileSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:588,1
    - Dst: parseCreateTbFromFileSyntax
      Src: /src/tdengine/source/libs/parser/src/parser.c:589,1
    - Dst: parseQuerySyntax
      Src: /src/tdengine/source/libs/parser/src/parser.c:591,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/parser/src/parser.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - struct SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 583
    functionDepth: 20
    functionLinenumber: 583
    functionLinenumberEnd: 597
    functionName: qParseSqlSyntax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - qIsInsertValuesSql
    - nodesAcquireAllocator
    - qIsCreateTbFromFileSql
    - parseCreateTbFromFileSyntax
    - parseInsertSql
    - nodesReleaseAllocator
    - parseQuerySyntax
    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:602,1
    - Dst: putMetaDataToCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:604,1
    - Dst: analyseSemantic
      Src: /src/tdengine/source/libs/parser/src/parser.c:607,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/parser/src/parser.c:609,1
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:610,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: 613
      start: 599
    functionDepth: 32
    functionLinenumber: 599
    functionLinenumberEnd: 613
    functionName: qAnalyseSqlSemantic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - analyseSemantic
    - putMetaDataToCache
    - nodesAcquireAllocator
    - nodesReleaseAllocator
    - destoryParseMetaCache
    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:617,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: 618
      start: 615
    functionDepth: 20
    functionLinenumber: 615
    functionLinenumberEnd: 618
    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:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pBlock
    argTypes:
    - SParseContext*
    - SQuery*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 628
    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:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 633
    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:639,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:640,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:641,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:643,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:644,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:646,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:650,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:652,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:653,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:655,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:657,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:658,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:659,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:661,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:662,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:663,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:664,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:665,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:666,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - pCatalogReq
    argTypes:
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 668
    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:676,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:677,1
    - Dst: catalogFreeMetaData
      Src: /src/tdengine/source/libs/parser/src/parser.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 670
    functionDepth: 3
    functionLinenumber: 670
    functionLinenumberEnd: 679
    functionName: tfreeSParseQueryRes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - destoryCatalogReq
    - taosMemoryFree
    - catalogFreeMetaData
    linkageType: ''
    returnType: void
    signature: void tfreeSParseQueryRes(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:686,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:687,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:688,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 690
    functionName: qDestroyParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void qDestroyParseContext(SParseContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pQueryNode
    argTypes:
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 692
    functionDepth: 4
    functionLinenumber: 692
    functionLinenumberEnd: 692
    functionName: qDestroyQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 6
    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:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pRoot
    - numOfCols
    - pSchema
    argTypes:
    - SNode*
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 696
    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:699,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - uid
    argTypes:
    - SNode*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 708
    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:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 710
    functionName: qInitKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 3
    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:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 712
    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:718,1
    - Dst: setValueByBindParam
      Src: /src/tdengine/source/libs/parser/src/parser.c:720,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:720,1
    - Dst: setValueByBindParam
      Src: /src/tdengine/source/libs/parser/src/parser.c:726,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:726,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:730,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:732,1
    - Dst: rewriteExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:735,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: 738
      start: 714
    functionDepth: 8
    functionLinenumber: 714
    functionLinenumberEnd: 738
    functionName: qStmtBindParams
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - setValueByBindParam
    - rewriteExprAlias
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStmtBindParams(SQuery* pQuery, TAOS_MULTI_BIND* pParams, int32_t
      colIdx, void *charsetCxt)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:741,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:744,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parser.c:745,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:760,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:764,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:765,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:765,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:770,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:774,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:775,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:775,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:780,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parser.c:786,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:786,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:790,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parser.c:798,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 3
    argNames:
    - pVal
    - pParam
    - charsetCxt
    argTypes:
    - SValueNode*
    - TAOS_STMT2_BIND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 807
    functionName: setValueByBindParam2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - varDataVal
    - taosMemoryFreeClear
    - memcpy
    - strncpy
    - IS_VAR_DATA_TYPE
    - nodesSetValueNodeValue
    - taosMbsToUcs4
    - taosMemoryCalloc
    - 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:813,1
    - Dst: setValueByBindParam2
      Src: /src/tdengine/source/libs/parser/src/parser.c:815,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:815,1
    - Dst: setValueByBindParam2
      Src: /src/tdengine/source/libs/parser/src/parser.c:821,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:821,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:825,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:827,1
    - Dst: rewriteExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:830,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: 833
      start: 809
    functionDepth: 8
    functionLinenumber: 809
    functionLinenumberEnd: 833
    functionName: qStmtBindParams2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - setValueByBindParam2
    - taosArrayGetP
    - taosArrayGetSize
    - rewriteExprAlias
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStmtBindParams2(SQuery* pQuery, TAOS_STMT2_BIND* pParams,
      int32_t colIdx, void* charsetCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: translate
      Src: /src/tdengine/source/libs/parser/src/parser.c:836,1
    - Dst: calculateConstant
      Src: /src/tdengine/source/libs/parser/src/parser.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 835
    functionDepth: 31
    functionLinenumber: 835
    functionLinenumberEnd: 841
    functionName: qStmtParseQuerySql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - translate
    - calculateConstant
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStmtParseQuerySql(SParseContext* pCxt, SQuery* pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:40,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:42,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:46,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:46,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - isView
    - effective
    - pAuth
    argTypes:
    - SParseContext*
    - char*
    - char*
    - AUTH_TYPE
    - bool
    - bool
    - SUserAuthInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: setUserAuthInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 1
    functionsReached:
    - snprintf
    - toName
    - strlen
    - tNameSetDbName
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setUserAuthInfo(SParseContext* pCxt, const char* pDbName,
      const char* pTabName, AUTH_TYPE type,\n                               bool isView,
      bool effective, SUserAuthInfo* pAuth)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setUserAuthInfo
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:65,1
    - Dst: getUserAuthFromCache
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:69,1
    - Dst: getUserAuthFromCache
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:73,1
    - Dst: catalogChkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 7
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - pCond
    - isView
    - effective
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - AUTH_TYPE
    - SNode**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 56
    functionDepth: 10
    functionLinenumber: 56
    functionLinenumberEnd: 88
    functionName: checkAuthImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - getUserAuthFromCache
    - setUserAuthInfo
    - catalogChkAuth
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAuthImpl(SAuthCxt* pCxt, const char* pDbName, const char*
      pTabName, AUTH_TYPE type, SNode** pCond,\n                             bool
      isView, bool effective)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - AUTH_TYPE
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 11
    functionLinenumber: 90
    functionLinenumberEnd: 92
    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, AUTH_TYPE type, SNode** pCond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - AUTH_TYPE
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 11
    functionLinenumber: 94
    functionLinenumberEnd: 97
    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, AUTH_TYPE type,\n                                  SNode** pCond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - AUTH_TYPE
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 11
    functionLinenumber: 99
    functionLinenumberEnd: 101
    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, AUTH_TYPE type, SNode** pCond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - AUTH_TYPE
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 11
    functionLinenumber: 103
    functionLinenumberEnd: 106
    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, AUTH_TYPE type,\n                                      SNode**
      pCond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    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:114,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:121,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:123,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pWhere
    - pTagCond
    argTypes:
    - SNode**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 6
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: mergeStableTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesListMakeAppend
    - nodesListMakeStrictAppend
    - nodesMakeNode
    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:134,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:137,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: rewriteAuthTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodeType
    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:146,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:152,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:159,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:161,1
    - Dst: mergeStableTagCond
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pWhere
    - pTagCond
    - pTable
    argTypes:
    - SNode**
    - SNode*
    - STableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 7
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: rewriteAppendStableTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodeType
    - nodesWalkExpr
    - mergeStableTagCond
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteAppendStableTagCond(SNode** pWhere, SNode* pTagCond,
      STableNode* pTable)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:171,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:176,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:178,1
    - Dst: getTargetMetaImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:179,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:183,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:186,1
    - Dst: checkEffectiveAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:188,1
    - Dst: rewriteAppendStableTagCond
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:191,1
    - Dst: checkViewAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:194,1
    - Dst: checkViewEffectiveAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:196,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:200,1
    - Dst: authSubquery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:201,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 167
    functionDepth: 12
    functionLinenumber: 167
    functionLinenumberEnd: 204
    functionName: authSelectImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - nodeType
    - toName
    - checkViewAuth
    - checkAuth
    - checkViewEffectiveAuth
    - checkEffectiveAuth
    - authSubquery
    - rewriteAppendStableTagCond
    - taosMemoryFree
    - 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:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SAuthCxt*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 210
    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:213,1
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSetOper
    argTypes:
    - SAuthCxt*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 218
    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:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: authDropUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropUser(SAuthCxt* pCxt, SDropUserStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:230,1
    - Dst: rewriteAppendStableTagCond
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - SAuthCxt*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 8
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: authDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    - rewriteAppendStableTagCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDelete(SAuthCxt* pCxt, SDeleteStmt* pDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:241,1
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - SAuthCxt*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: authInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    - authQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t authInsert(SAuthCxt* pCxt, SInsertStmt* pInsert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: authShowTables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    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:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    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: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: authShowUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowUsage(SAuthCxt* pCxt, SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: authShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowCreateTable(SAuthCxt* pCxt, SShowCreateTableStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: authShowCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowCreateView(SAuthCxt* pCxt, SShowCreateViewStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: authCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateTable(SAuthCxt* pCxt, SCreateTableStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:279,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:279,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:281,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:284,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:288,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateVTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: authCreateVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    - PAR_ERR_RET
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateVTable(SAuthCxt* pCxt, SCreateVTableStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:298,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:298,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:307,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:309,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateVSubTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 312
    functionName: authCreateVSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    - PAR_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateVSubTable(SAuthCxt* pCxt, SCreateVSubTableStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:307,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:309,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 208
    functionsReached:
    - checkAuth
    - PAR_ERR_RET
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTmpList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:317,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:320,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: authCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateStream(SAuthCxt* pCxt, SCreateStreamStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:336,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:339,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateMultiTablesStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 352
    functionName: authCreateMultiTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateMultiTable(SAuthCxt* pCxt, SCreateMultiTablesStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:360,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: authDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropTable(SAuthCxt* pCxt, SDropTableStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropSuperTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: authDropStable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropStable(SAuthCxt* pCxt, SDropSuperTableStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropVirtualTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: authDropVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropVtable(SAuthCxt* pCxt, SDropVirtualTableStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: authAlterTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authAlterTable(SAuthCxt* pCxt, SAlterTableStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:391,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:391,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:394,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:394,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: authAlterVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    - PAR_ERR_RET
    - PAR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t authAlterVTable(SAuthCxt* pCxt, SAlterTableStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: authCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateView(SAuthCxt* pCxt, SCreateViewStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkViewAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 12
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: authDropView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkViewAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropView(SAuthCxt* pCxt, SDropViewStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: authCreateRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateRsma(SAuthCxt* pCxt, SCreateRsmaStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: authDropRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropRsma(SAuthCxt* pCxt, SDropRsmaStmt* pStmt)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:422,1
    - Dst: authSetOperator
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:424,1
    - Dst: authSelect
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:426,1
    - Dst: authDropUser
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:428,1
    - Dst: authDelete
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:430,1
    - Dst: authInsert
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:432,1
    - Dst: authCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:434,1
    - Dst: authCreateVTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:436,1
    - Dst: authCreateVSubTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:438,1
    - Dst: authCreateMultiTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:440,1
    - Dst: authCreateStream
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:442,1
    - Dst: authDropTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:444,1
    - Dst: authDropStable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:446,1
    - Dst: authDropVtable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:448,1
    - Dst: authAlterTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:451,1
    - Dst: authAlterVTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:453,1
    - Dst: authShowTables
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:486,1
    - Dst: authShowVtables
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:488,1
    - Dst: authShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:492,1
    - Dst: authCreateView
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:496,1
    - Dst: authDropView
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:498,1
    - Dst: authCreateRsma
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:500,1
    - Dst: authDropRsma
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 84
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 421
    functionDepth: 13
    functionLinenumber: 421
    functionLinenumberEnd: 508
    functionName: authQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 3
    functionsReached:
    - authShowCreateTable
    - authCreateStream
    - authAlterVTable
    - authInsert
    - authSelect
    - authDropView
    - authShowTables
    - authDropTable
    - authSetOperator
    - authCreateVSubTable
    - authDropUser
    - authCreateVTable
    - authCreateMultiTable
    - authDropStable
    - authCreateView
    - authCreateTable
    - authCreateRsma
    - nodeType
    - authAlterTable
    - authDropVtable
    - authShowVtables
    - authDropRsma
    - authDelete
    linkageType: ''
    returnType: int32_t
    signature: int32_t authQuery(SAuthCxt* pCxt, SNode* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 14
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: authenticate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 1
    functionsReached:
    - authQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t authenticate(SParseContext* pParseCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: qDestroyBoundColInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void qDestroyBoundColInfo(void* pInfo)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - pToken
    - target
    argTypes:
    - SToken*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 69
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: tableNameGetPosition
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:78,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:83,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:86,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:87,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:89,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:91,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:96,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:100,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:101,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:103,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:105,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:109,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:110,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:112,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:115,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:119,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:120,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:123,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:125,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:127,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:127,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:129,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:133,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:135,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:139,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - pName
    - pTableName
    - acctId
    - dbName
    - pMsgBuf
    argTypes:
    - SName*
    - SToken*
    - int32_t
    - char*
    - SMsgBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 144
    functionName: insCreateSName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 5
    functionsReached:
    - buildInvalidOperationMsg
    - strlen
    - tableNameGetPosition
    - tNameFromString
    - strdequote
    - tNameSetDbName
    - strchr
    - generateSyntaxErrMsg
    - generateSyntaxErrMsgExt
    - strncpy
    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: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:148,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - pColname
    - start
    - end
    - pSchema
    argTypes:
    - SToken*
    - int16_t
    - int16_t
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: insFindCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 2
    functionsReached:
    - strlen
    - 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:160,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:165,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:168,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: 174
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 174
    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: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    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:183,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:186,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pTableMeta
    - pValues
    argTypes:
    - STableMeta*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: initColValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - getTableColumnSchema
    - taosArrayPush
    - COL_VAL_NONE
    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:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTableMeta
    - aColValues
    argTypes:
    - STableMeta*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 195
    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:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - numOfBound
    - pInfo
    argTypes:
    - int32_t
    - SBoundColInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 210
    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: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    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:227,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pTableCxt
    - rowKey
    argTypes:
    - STableDataCxt*
    - SRowKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 238
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SBoundColInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: insDestroyBoundColInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 6
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void insDestroyBoundColInfo(SBoundColInfo* pInfo)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:244,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:256,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:262,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:262,1
    - Dst: schemaHasBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:267,1
    - Dst: insInitBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:270,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:273,1
    - Dst: initColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:277,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:281,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:294,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:299,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:308,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:311,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: 315
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 315
    functionName: createTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - parserDebug
    - schemaHasBlob
    - getTableColumnSchema
    - tableMetaDup
    - tBuildTSchema
    - insInitBoundColsInfo
    - taosMemoryCalloc
    - insDestroyTableDataCxt
    - initColValues
    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:319,1
    - Dst: cloneSVreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:330,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:337,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:340,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:343,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:346,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:350,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:351,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:356,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - pSrc
    - pDst
    - hasBlob
    argTypes:
    - SSubmitTbData*
    - SSubmitTbData**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 366
    functionName: rebuildTableData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - taosMemoryCalloc
    - taosMemoryFree
    - 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:369,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pValues
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    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:378,1
    - Dst: resetColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:382,1
    - Dst: createTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:386,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:389,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:393,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: 396
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 396
    functionName: insGetTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 5
    functionsReached:
    - taosHashGet
    - createTableDataCxt
    - taosHashPut
    - resetColValues
    - insDestroyTableDataCxt
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: destroyColVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroyColVal(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:411,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:412,1
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:413,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:414,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:416,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:417,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pTableCxt
    argTypes:
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 420
    functionName: insDestroyTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 2
    functionsReached:
    - taosMemoryFreeClear
    - tDestroyTSchema
    - tDestroySubmitTbData
    - taosArrayDestroyEx
    - insDestroyBoundColInfo
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void insDestroyTableDataCxt(STableDataCxt* pTableCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:427,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:428,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pVgCxt
    argTypes:
    - SVgroupDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: insDestroyVgroupDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - tDestroySubmitReq
    linkageType: ''
    returnType: void
    signature: void insDestroyVgroupDataCxt(SVgroupDataCxt* pVgCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:438,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:440,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:441,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pVgCxtList
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 445
    functionName: insDestroyVgroupDataCxtList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - insDestroyVgroupDataCxt
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void insDestroyVgroupDataCxtList(SArray* pVgCxtList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:452,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:454,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:456,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pVgCxtHash
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 460
    functionName: insDestroyVgroupDataCxtHashMap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - insDestroyVgroupDataCxt
    - taosHashCleanup
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void insDestroyVgroupDataCxtHashMap(SHashObj* pVgCxtHash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:467,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:469,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:471,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pTableCxtHash
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 475
    functionName: insDestroyTableDataCxtHashMap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosHashCleanup
    - taosHashIterate
    - insDestroyTableDataCxt
    linkageType: ''
    returnType: void
    signature: void insDestroyTableDataCxtHashMap(SHashObj* pTableCxtHash)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:480,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:485,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:495,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:500,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:501,1
    - Dst: rebuildTableData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:508,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:510,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:512,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - pTableCxt
    - pVgCxt
    - isRebuild
    - clear
    argTypes:
    - STableDataCxt*
    - SVgroupDataCxt*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 515
    functionName: fillVgroupDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - parserDebug
    - taosMemoryFreeClear
    - rebuildTableData
    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:518,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:522,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:524,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:529,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:531,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:533,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:539,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: 542
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 542
    functionName: createVgroupDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - insDestroyVgroupDataCxt
    - taosMemoryCalloc
    - taosArrayPush
    - taosHashPut
    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: 554
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 554
    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:558,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:568,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:573,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: 579
      start: 556
    functionDepth: 10
    functionLinenumber: 556
    functionLinenumberEnd: 579
    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:587,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:587,1
    - Dst: qCreateSName2
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:592,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:602,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:605,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:610,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:619,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:619,1
    - Dst: insTryAddTableVgroupInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:621,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:624,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: 632
      start: 581
    functionDepth: 11
    functionLinenumber: 581
    functionLinenumberEnd: 632
    functionName: insGetStmtTableVgUid
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - strlen
    - insTryAddTableVgroupInfo
    - parserWarn
    - tSimpleHashGet
    - qCreateSName2
    - tSimpleHashPut
    - catalogGetTableMeta
    - parserError
    - taosMemoryFree
    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:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pQuery
    - pAllVgHash
    - pVgDataBlocks
    argTypes:
    - SQuery*
    - SHashObj*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 643
    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:648,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:653,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:663,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:663,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:666,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:667,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:669,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:675,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:676,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:678,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:679,1
    - Dst: tRowSortWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:681,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:682,1
    - Dst: tRowMergeWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:684,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:685,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:689,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:692,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:693,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:703,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:708,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:709,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:715,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:715,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:721,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 4
    argNames:
    - pTbCtx
    - pVgCxt
    - pTableNameHash
    - tbname
    argTypes:
    - STableDataCxt*
    - SVgroupDataCxt*
    - SSHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 724
    functionName: checkAndMergeSVgroupDataCxtByTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - tdDestroySVCreateTbReq
    - strlen
    - taosArrayPush
    - taosArrayInit
    - parserDebug
    - tRowSortWithBlob
    - tRowMerge
    - taosArrayGetP
    - tRowSort
    - tSimpleHashGet
    - taosArrayGetSize
    - tSimpleHashPut
    - tRowMergeWithBlob
    - taosMemoryFree
    - TAOS_CHECK_RETURN
    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:735,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:745,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:748,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:756,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:758,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:760,1
    - Dst: fillVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:769,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:772,1
    - Dst: qBuildStmtFinOutput1
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:773,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:775,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - pAllVgHash
    - pTbData
    - pTbCtx
    - pBuildInfo
    argTypes:
    - SHashObj*
    - STableColsData*
    - STableDataCxt*
    - SStbInterlaceInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 726
    functionDepth: 12
    functionLinenumber: 726
    functionLinenumberEnd: 780
    functionName: insAppendStmtTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - qBuildStmtFinOutput1
    - insGetStmtTableVgUid
    - tRowMerge
    - tRowSort
    - tDestroySubmitReq
    - taosArrayGetSize
    - fillVgroupDataCxt
    - createVgroupDataCxt
    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:792,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:817,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:818,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:825,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:828,1
    - Dst: tRowSortWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:832,1
    - Dst: tRowMergeWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:835,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:844,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:846,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:848,1
    - Dst: checkAndMergeSVgroupDataCxtByTbname
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:857,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:860,1
    - Dst: qBuildStmtFinOutput1
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:861,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:863,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: 868
      start: 782
    functionDepth: 12
    functionLinenumber: 782
    functionLinenumberEnd: 868
    functionName: insAppendStmt2TableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - tdDestroySVCreateTbReq
    - taosHashGet
    - qBuildStmtFinOutput1
    - tRowSortWithBlob
    - insGetStmtTableVgUid
    - checkAndMergeSVgroupDataCxtByTbname
    - tRowMerge
    - tRowSort
    - tDestroySubmitReq
    - taosArrayGetSize
    - tRowMergeWithBlob
    - createVgroupDataCxt
    - taosMemoryFree
    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:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCol
    argTypes:
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 933
    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:935,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:935,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:936,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:938,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:939,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:946,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:955,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:957,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:964,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:966,1
    - Dst: tColDataSortMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:967,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:969,1
    - Dst: tColDataSortMergeWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:970,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:982,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:985,1
    - Dst: tRowSortWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:989,1
    - Dst: tRowMergeWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:992,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1000,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1002,1
    - Dst: fillVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1007,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1011,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1015,1
    - Dst: insDestroyVgroupDataCxtList
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1019,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 3
    argNames:
    - pTableHash
    - pVgDataBlocks
    - isRebuild
    argTypes:
    - SHashObj*
    - SArray**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 934
    functionDepth: 4
    functionLinenumber: 934
    functionLinenumberEnd: 1023
    functionName: insMergeTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - tColDataSortMergeWithBlob
    - tRowSortWithBlob
    - taosHashIterate
    - fillVgroupDataCxt
    - insDestroyVgroupDataCxtList
    - taosArrayGet
    - tRowSort
    - tColDataSortMerge
    - tRowMergeWithBlob
    - IS_STR_DATA_BLOB
    - taosHashGet
    - taosArraySort
    - taosGetDefaultHashFunction
    - createVgroupDataCxt
    - tRowMerge
    - taosHashInit
    - taosHashCleanup
    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:1029,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1033,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1037,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1038,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1039,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1040,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1040,1
    - Dst: tEncodeSubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1041,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1042,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1049,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: 1052
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1052
    functionName: buildSubmitReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tEncodeSize
    - htobe64
    - tEncodeSubmitReq
    - POINTER_SHIFT
    - tEncoderClear
    - tEncoderInit
    - taosMemoryFree
    - htonl
    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:1057,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1059
    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:1068,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1069,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1070,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1072,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1075,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1077,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1082,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1083,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSubmitReq2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1089
    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:1091,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1092,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1099,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1100,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1103,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1109,1
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1110,1
    - Dst: insResetBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1113,1
    - Dst: buildSubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1117,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1120,1
    - Dst: destroyVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1123,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1137,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - pVgroupsHashObj
    - pVgDataCxtList
    - pVgDataBlocks
    - append
    argTypes:
    - SHashObj*
    - SArray*
    - SArray**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1141
    functionName: insBuildVgDataBlocks
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 4
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosArrayGetP
    - buildSubmitReq
    - taosArrayGetSize
    - destroyVgDataBlocks
    - insResetBlob
    - taosHashGetDup
    - taosMemoryCalloc
    - taosArrayDestroyP
    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:1145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pSchema
    - fields
    - numFields
    argTypes:
    - SSchema*
    - TAOS_FIELD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1151
    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:1156,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1160,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1162,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1167,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1169,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1172,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1175,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1183,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1188,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1195,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1197,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1199,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1206,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1212,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1216,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1223,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1225,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1231,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1235,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: 1240
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1240
    functionName: checkSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - decimalFromTypeMod
    - IS_STR_DATA_BLOB
    - extractDecimalTypeInfoFromBytes
    - IS_DECIMAL_TYPE
    - snprintf
    - uError
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkSchema(SSchema* pColSchema, SSchemaExt* pColExtSchema,
      int8_t* fields, char* errstr, int32_t errstrLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1277
    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:1284,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1288,1
    - Dst: cloneSVreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1291,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1293,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1299,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1302,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1303,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1308,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1310,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1316,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1323,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1325,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1348,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1359,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1360,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1364,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1371,1
    - Dst: PRCESS_DATA
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1375,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1388,1
    - Dst: PRCESS_DATA
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1389,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1397,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1405,1
    - Dst: tColDataAddValueByDataBlock
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1406,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: 1417
      start: 1278
    functionDepth: 4
    functionLinenumber: 1278
    functionLinenumberEnd: 1417
    functionName: rawBlockBindData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - tColDataAddValueByDataBlock
    - tdDestroySVCreateTbReq
    - taosHashGet
    - insGetTableDataCxt
    - taosArrayGet
    - strcmp
    - getTableColumnExtSchema
    - uError
    - getTableColumnSchema
    - tBlobSetCreate
    - snprintf
    - initTableColSubmitData
    - PRCESS_DATA
    - TMIN
    - taosMemoryFree
    - 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:1420,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1425,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1427,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1435,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1443,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - pVgroupHash
    - pVgroupList
    - pTableMeta
    - data
    argTypes:
    - SHashObj*
    - SArray*
    - STableMeta*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1419
    functionDepth: 3
    functionLinenumber: 1419
    functionLinenumberEnd: 1450
    functionName: rawBlockBindRawData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - uTrace
    - taosHashGet
    - taosArrayPush
    - taosArrayInit
    - transformRawSSubmitTbData
    - 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:
    - taosMemoryCalloc
    - taosArrayInit
    - taosMemoryFreeClear
    - taosArrayDup
    - taosArrayGet
    - taosArrayGetSize
    - qError
    - tColDataDeepClear
    - 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:
    - SVnodeModifyOpStmt*::freeArrayFunc
    - insBuildVgDataBlocks
    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:
    - taosHashGetSize
    - insMergeTableDataCxt
    - SVnodeModifyOpStmt*::freeArrayFunc
    - insBuildVgDataBlocks
    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:219,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:221,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:221,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:224,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:226,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:234,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:239,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:240,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:241,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:242,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:246,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:246,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:246,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:247,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:248,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:254,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:256,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:260,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:267,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:272,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: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:281,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:282,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:286,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:291,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:292,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:294,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:297,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:298,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:299,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: 302
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 302
    functionName: qBindStmtTagsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - getTableTagSchema
    - snprintf
    - TAOS_SYSTEM_ERROR
    - tTagNew
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - checkWKB
    - generateSyntaxErrMsg
    - strerror
    - qError
    - taosMemoryCalloc
    - taosMemoryFreeClear
    - buildSyntaxErrMsg
    - taosArrayGetSize
    - taosMbsToUcs4
    - tListLen
    - parseJsontoTagData
    - buildInvalidOperationMsg
    - initCtxAsText
    - memcpy
    - insBuildCreateTbReq
    - taosMemoryFree
    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:309,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:316,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:318,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:330,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:333,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:334,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:337,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:337,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:337,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:338,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: 349
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 349
    functionName: convertStmtNcharCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMemoryFreeClear
    - taosMemoryRealloc
    - snprintf
    - generateSyntaxErrMsg
    - strerror
    - buildSyntaxErrMsg
    - taosMbsToUcs4
    - tListLen
    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:354,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:365,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:378,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:384,1
    - Dst: convertStmtNcharCol
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:389,1
    - Dst: tRowBuildFromBind
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:403,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:406,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:410,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:411,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: 414
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 414
    functionName: qBindStmtStbColsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - parserDebug
    - tRowBuildFromBind
    - convertStmtNcharCol
    - getTableColumnSchema
    - tBuildTSchema
    - taosMemoryFree
    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:419,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:429,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:432,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:438,1
    - Dst: convertStmtNcharCol
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:443,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:453,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:454,1
    - Dst: tColDataAddValueByBind
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:462,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:468,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:472,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:473,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: 476
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 476
    functionName: qBindStmtColsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - IS_STR_DATA_BLOB
    - parserDebug
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - convertStmtNcharCol
    - getTableColumnSchema
    - tColDataAddValueByBind
    - taosMemoryFree
    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:481,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:489,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:492,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:496,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:499,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:505,1
    - Dst: convertStmtNcharCol
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:510,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:520,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:521,1
    - Dst: tColDataAddValueByBind
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:529,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:536,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:540,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:541,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: 544
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 544
    functionName: qBindUpdateStmtColsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - IS_STR_DATA_BLOB
    - tSimpleHashGetSize
    - parserDebug
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - convertStmtNcharCol
    - getTableColumnSchema
    - tSimpleHashGet
    - tColDataAddValueByBind
    - taosMemoryFree
    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:549,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:553,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:559,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:564,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:568,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: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 593
    functionName: qBindStmtSingleColValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - parserDebug
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - convertStmtNcharCol
    - getTableColumnSchema
    - tColDataAddValueByBind
    - taosMemoryFree
    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: 36
    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:701,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:703,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:703,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:706,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:708,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:716,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:722,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:724,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:725,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:729,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:729,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:729,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:730,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:731,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:739,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:741,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:745,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:752,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:757,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:764,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:771,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:772,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:773,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:774,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:778,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:783,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:784,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:786,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:789,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:790,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:791,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 174
    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: 794
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 794
    functionName: qBindStmtTagsValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - getTableTagSchema
    - snprintf
    - TAOS_SYSTEM_ERROR
    - tTagNew
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - checkWKB
    - generateSyntaxErrMsg
    - strerror
    - qError
    - taosMemoryCalloc
    - IS_STR_DATA_BLOB
    - taosMemoryFreeClear
    - buildSyntaxErrMsg
    - taosArrayGetSize
    - taosMbsToUcs4
    - tListLen
    - parseJsontoTagData
    - buildInvalidOperationMsg
    - initCtxAsText
    - taosArrayDup
    - memcpy
    - insBuildCreateTbReq
    - taosMemoryFree
    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:801,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:806,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:808,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:824,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:825,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:826,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:829,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:829,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:829,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:830,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: 843
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 843
    functionName: convertStmtStbNcharCol2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMemoryFreeClear
    - snprintf
    - generateSyntaxErrMsg
    - strerror
    - buildSyntaxErrMsg
    - taosMbsToUcs4
    - tListLen
    - taosMemoryCalloc
    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:849,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:850,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:864,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:873,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:876,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:889,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:901,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:907,1
    - Dst: convertStmtStbNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:912,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:913,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:915,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:919,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:921,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:923,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:931,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:933,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:940,1
    - Dst: tRowBuildFromBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:952,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:954,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:956,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:957,1
    - Dst: tRowBuildFromBind2WithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:959,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:961,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:964,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:968,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:969,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:970,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:971,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:973,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:976,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:976,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: 980
      start: 845
    functionDepth: 3
    functionLinenumber: 845
    functionLinenumberEnd: 980
    functionName: qBindStmtStbColsValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - TARRAY_DATA
    - tstrerror
    - getTableColumnSchema
    - tBlobSetCreate
    - convertStmtStbNcharCol2
    - tRowBuildFromBind2WithBlob
    - getTableColumnExtSchema
    - checkWKB
    - taosArrayGetLast
    - IS_STR_DATA_BLOB
    - parserDebug
    - TARRAY_SIZE
    - TAOS_CHECK_GOTO
    - buildInvalidOperationMsg
    - tRowBuildFromBind2
    - initCtxAsText
    - tSimpleHashGet
    - tBuildTSchema
    - parserError
    - taosMemoryFree
    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:989,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:996,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:998,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1018,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1019,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1020,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1023,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1023,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1023,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1024,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: 1037
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 1037
    functionName: convertStmtNcharCol2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMemoryFreeClear
    - taosMemoryRealloc
    - snprintf
    - generateSyntaxErrMsg
    - strerror
    - buildSyntaxErrMsg
    - taosMbsToUcs4
    - tListLen
    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:1042,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1043,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1055,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1057,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1066,1
    - Dst: tColDataAppendValue
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1069,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1071,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1080,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1086,1
    - Dst: convertStmtNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1091,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1101,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1102,1
    - Dst: tColDataAddValueByBind2WithGeos
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1111,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1114,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1116,1
    - Dst: tColDataAddValueByBind2WithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1120,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1121,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1123,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1127,1
    - Dst: tColDataAddValueByBind2WithDecimal
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1128,1
    - Dst: tColDataAddValueByBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1130,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1134,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1145,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: 1148
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1148
    functionName: qBindStmtColsValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - decimalFromTypeMod
    - tColDataAddValueByBind2WithGeos
    - IS_DECIMAL_TYPE
    - tColDataAddValueByBind2WithDecimal
    - getTableColumnSchema
    - tBlobSetCreate
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - getTableColumnExtSchema
    - tColDataAppendValue
    - IS_STR_DATA_BLOB
    - tColDataAddValueByBind2
    - parserDebug
    - tColDataAddValueByBind2WithBlob
    - buildInvalidOperationMsg
    - tSimpleHashGet
    - parserError
    - taosMemoryFree
    - convertStmtNcharCol2
    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:1153,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1157,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1164,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:1173,1
    - Dst: convertStmtNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1177,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1188,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1189,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1201,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1203,1
    - Dst: tColDataAddValueByBind2WithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1207,1
    - Dst: tColDataAddValueByBind2WithGeos
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1209,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1210,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1211,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1213,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1217,1
    - Dst: tColDataAddValueByBind2WithDecimal
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1218,1
    - Dst: tColDataAddValueByBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1220,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1224,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1228,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1232,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1233,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: 1236
      start: 1150
    functionDepth: 3
    functionLinenumber: 1150
    functionLinenumberEnd: 1236
    functionName: qBindStmtSingleColValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - decimalFromTypeMod
    - buildInvalidOperationMsg
    - IS_STR_DATA_BLOB
    - tColDataAddValueByBind2
    - parserDebug
    - taosArrayGet
    - tColDataAddValueByBind2WithGeos
    - IS_VAR_DATA_TYPE
    - IS_DECIMAL_TYPE
    - getTableColumnExtSchema
    - getTableColumnSchema
    - tBlobSetCreate
    - tColDataAddValueByBind2WithDecimal
    - tColDataAddValueByBind2WithBlob
    - parserError
    - taosMemoryFree
    - convertStmtNcharCol2
    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:1241,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1242,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1254,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1266,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1272,1
    - Dst: convertStmtNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1277,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1283,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1285,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1293,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1295,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1302,1
    - Dst: tRowBuildFromBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1323,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1332,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1333,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: 1336
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1336
    functionName: qBindStmt2RowValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsg
    - IS_STR_DATA_BLOB
    - tRowBuildFromBind2
    - tstrerror
    - initCtxAsText
    - qDebug
    - getTableColumnExtSchema
    - checkWKB
    - getTableColumnSchema
    - tBuildTSchema
    - qError
    - taosMemoryFree
    - convertStmtNcharCol2
    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:1341,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1353,1
    - Dst: calcTypeBytesFromSchemaBytes
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1355,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: 1362
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1362
    functionName: buildBoundFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    - calcTypeBytesFromSchemaBytes
    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: 21
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1380,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1385,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1392,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1399,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1420,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1438,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1445,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1467,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1474,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 90
    argCount: 8
    argNames:
    - boundColsInfo
    - pSchema
    - fieldNum
    - fields
    - pMeta
    - boundTags
    - parsedCols
    - tbNameFlag
    argTypes:
    - SBoundColInfo
    - SSchema*
    - int32_t*
    - TAOS_FIELD_ALL**
    - STableMeta*
    - void*
    - SSHashObj*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1364
    functionDepth: 2
    functionLinenumber: 1364
    functionLinenumberEnd: 1484
    functionName: buildStbBoundFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - decimalFromTypeMod
    - tstrncpy
    - tSimpleHashGetSize
    - getTableTagSchema
    - tSimpleHashGet
    - taosMemoryCalloc
    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)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1497,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1505,1
    - Dst: buildBoundFields
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1505,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: 1508
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1508
    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:1512,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1522,1
    - Dst: buildBoundFields
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1522,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: 1526
      start: 1510
    functionDepth: 2
    functionLinenumber: 1510
    functionLinenumberEnd: 1526
    functionName: qBuildStmtColFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - CHECK_CODE
    - getTableColumnSchema
    - buildBoundFields
    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:1530,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1531,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1542,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1550,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1556,1
    - Dst: calcTypeBytesFromSchemaBytes
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1558,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: 1568
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1568
    functionName: qBuildUpdateStmtColFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tSimpleHashGetSize
    - getTableColumnSchema
    - tSimpleHashGet
    - taosMemoryCalloc
    - calcTypeBytesFromSchemaBytes
    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:1573,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1583,1
    - Dst: buildStbBoundFields
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - pBlock
    - boundTags
    - parsedCols
    - tbNameFlag
    - fieldNum
    - fields
    argTypes:
    - void*
    - void*
    - SSHashObj*
    - uint8_t
    - int32_t*
    - TAOS_FIELD_ALL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1570
    functionDepth: 3
    functionLinenumber: 1570
    functionLinenumberEnd: 1587
    functionName: qBuildStmtStbColFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - CHECK_CODE
    - getTableColumnSchema
    - buildStbBoundFields
    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)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1593,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1595,1
    - Dst: tColDataDeepClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1599,1
    - Dst: tColDataClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCols
    - deepClear
    argTypes:
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1606
    functionName: qResetStmtColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tColDataClear
    - taosArrayGetSize
    - parserError
    - tColDataDeepClear
    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:1611,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1617,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1619,1
    - Dst: tColDataDeepClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1623,1
    - Dst: tColDataClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1626,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1630,1
    - Dst: tBlobSetDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - block
    - deepClear
    argTypes:
    - STableDataCxt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1637
    functionName: qResetStmtDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - taosArrayGet
    - tBlobSetDestroy
    - tColDataClear
    - taosArrayGetSize
    - parserError
    - tColDataDeepClear
    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:1642,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1654,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1664,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1668,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1670,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1673,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1680,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1682,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1686,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1693,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1695,1
    - Dst: qResetStmtDataBlock
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1702,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - pDst
    - pSrc
    - reset
    argTypes:
    - STableDataCxt**
    - STableDataCxt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1639
    functionDepth: 3
    functionLinenumber: 1639
    functionLinenumberEnd: 1707
    functionName: qCloneStmtDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taosArrayDup
    - qResetStmtDataBlock
    - tableMetaDup
    - taosMemoryCalloc
    - insDestroyTableDataCxt
    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:1711,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1727,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: 1734
      start: 1709
    functionDepth: 4
    functionLinenumber: 1709
    functionLinenumberEnd: 1734
    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: 1736
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1736
    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:1744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1738
    functionDepth: 3
    functionLinenumber: 1738
    functionLinenumberEnd: 1745
    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: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    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: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    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: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    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: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    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: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    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: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    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:
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pParseCxt
    - pCxt
    argTypes:
    - SParseContext*
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: trimEscape
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trimEscape(SAstCreateContext* pCxt, SToken* pName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:103,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pUserName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    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: regcomp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:115,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:120,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pPassword
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: invalidPassword
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - regcomp
    - regfree
    - regexec
    linkageType: ''
    returnType: bool
    signature: bool invalidPassword(const char* pPassword)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:126,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:131,1
    - Dst: taosIsBigChar
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:132,1
    - Dst: taosIsSmallChar
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:134,1
    - Dst: taosIsNumberChar
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:136,1
    - Dst: taosIsSpecialChar
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - pPassword
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 155
    functionName: invalidStrongPassword
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosIsBigChar
    - taosIsSmallChar
    - taosIsNumberChar
    - taosIsSpecialChar
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool invalidStrongPassword(const char* pPassword)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:161,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:163,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:164,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:165,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:166,1
    - Dst: invalidStrongPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:169,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:170,1
    - Dst: invalidPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:173,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pPasswordToken
    - pPassword
    argTypes:
    - SAstCreateContext*
    - SToken*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: checkPassword
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strtrim
    - invalidPassword
    - strdequote
    - invalidStrongPassword
    - generateSyntaxErrMsg
    - strncpy
    linkageType: ''
    returnType: bool
    signature: bool checkPassword(SAstCreateContext* pCxt, const SToken* pPasswordToken,
      char* pPassword)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:186,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:188,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:189,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:190,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pPasswordToken
    - pPassword
    argTypes:
    - SAstCreateContext*
    - SToken*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: checkImportPassword
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strtrim
    - generateSyntaxErrMsg
    - strdequote
    - strncpy
    linkageType: ''
    returnType: bool
    signature: bool checkImportPassword(SAstCreateContext* pCxt, const SToken* pPasswordToken,
      char* pPassword)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:198,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - p
    - pPort
    argTypes:
    - SAstCreateContext*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 203
    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:207,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:211,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:212,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:213,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:215,1
    - Dst: strrchr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:218,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:221,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:224,1
    - Dst: parsePort
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:225,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: 226
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 226
    functionName: parseEndpoint
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strtrim
    - strrchr
    - parsePort
    - tstrncpy
    - strdequote
    - COPY_STRING_FORM_ID_TOKEN
    - generateSyntaxErrMsg
    - 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:236,1
    - Dst: parseEndpoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:240,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: 244
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 244
    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:249,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:252,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - demandDb
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 258
    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:261,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pTableName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 268
    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:271,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pColumnName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 278
    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:281,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pIndexName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 287
    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:290,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pTopicName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    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:299,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pCGroup
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 305
    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:308,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pViewName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 314
    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:317,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStreamName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 323
    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:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pCommentToken
    - demand
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 332
    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:335,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:339,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pRsmaToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 344
    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:347,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:350,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:351,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pTsmaToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: checkTsmaName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - strlen
    - 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:359,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pMountPath
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 365
    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:368,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:370,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:371,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pToken
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 5
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: createRawExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:382,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:384,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:385,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pStart
    - pEnd
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 5
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: createRawExprNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:396,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:397,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - isPseudoColumn
    argTypes:
    - SAstCreateContext*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: setRawExprNodeIsPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodeType
    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:408,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:411,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:413,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:414,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:415,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:418,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:419,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:420,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:421,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:422,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:423,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:425,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:428,1
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:433,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:434,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:435,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:440,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 445
    functionName: releaseRawExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tstrncpy
    - nodesIsExprNode
    - nodeType
    - CHECK_PARSER_STATUS
    - snprintf
    - nodesDestroyNode
    - TMIN
    - MurmurHash3_64
    - strncpy
    - 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:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 455
    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:460,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:461,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:464,1
    - 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: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:473,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:474,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:475,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:479,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - pNodeList
    - pAlias
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 457
    functionDepth: 6
    functionLinenumber: 457
    functionLinenumberEnd: 482
    functionName: createColsFuncParamNodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListAppendList
    - nodeType
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - nodesListAppend
    - nodesMakeList
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    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:485,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:487,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:488,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:489,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:491,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 484
    functionDepth: 6
    functionLinenumber: 484
    functionLinenumberEnd: 498
    functionName: createNodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - nodesListAppend
    - nodesMakeList
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    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:501,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:502,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:505,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 500
    functionDepth: 6
    functionLinenumber: 500
    functionLinenumberEnd: 508
    functionName: addNodeToList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesListAppend
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * addNodeToList(SAstCreateContext* pCxt, SNodeList* pList,
      SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:511,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:512,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:512,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:516,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:517,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:519,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pTableAlias
    - pColumnName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 510
    functionDepth: 5
    functionLinenumber: 510
    functionLinenumberEnd: 525
    functionName: createColumnNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTableName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - checkColumnName
    linkageType: ''
    returnType: SNode
    signature: SNode * createColumnNode(SAstCreateContext* pCxt, SToken* pTableAlias,
      SToken* pColumnName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:528,1
    - Dst: nodesMakeNode
      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: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:532,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:534,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pColId
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 527
    functionDepth: 5
    functionLinenumber: 527
    functionLinenumberEnd: 541
    functionName: createPlaceHolderColumnNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesListMakeAppend
    - nodesMakeNode
    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:544,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:555,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: 557
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 557
    functionName: copyValueTrimEscape
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - TMIN
    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:560,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:562,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:563,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:564,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:566,1
    - Dst: copyValueTrimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:569,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:572,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:573,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:576,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - dataType
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - int32_t
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 559
    functionDepth: 5
    functionLinenumber: 559
    functionLinenumberEnd: 586
    functionName: createValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - strlen
    - CHECK_PARSER_STATUS
    - IS_VAR_DATA_TYPE
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - copyValueTrimEscape
    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:589,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:591,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:593,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:597,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:599,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:604,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:605,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:608,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:610,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:614,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:618,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:623,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:623,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:628,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:630,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:635,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: 637
      start: 588
    functionDepth: 5
    functionLinenumber: 588
    functionLinenumberEnd: 637
    functionName: createRawValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - nodesIsExprNode
    - CHECK_PARSER_STATUS
    - IS_VAR_DATA_TYPE
    - generateSyntaxErrMsg
    - nodesMakeNode
    - nodesDestroyNode
    - taosStrndup
    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:642,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:644,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:646,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:650,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:651,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:655,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:660,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:660,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:665,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:666,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:667,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:670,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:671,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:672,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: 674
      start: 639
    functionDepth: 5
    functionLinenumber: 639
    functionLinenumberEnd: 674
    functionName: createRawValueNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_PARSER_STATUS
    - IS_VAR_DATA_TYPE
    - generateSyntaxErrMsg
    - nodesMakeNode
    - nodesDestroyNode
    - taosStrndup
    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: 686
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 686
    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: 684
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 684
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 210
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pHintList)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:701,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:704,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:707,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:710,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:713,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:720,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:728,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:730,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:735,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 5
    argNames:
    - pCxt
    - ppHintList
    - opt
    - paramList
    - paramNum
    argTypes:
    - SAstCreateContext*
    - SNodeList**
    - EHintOption
    - SToken*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 688
    functionDepth: 5
    functionLinenumber: 688
    functionLinenumberEnd: 741
    functionName: addHintNodeToList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - hasHint
    - nodesMakeList
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: bool
    signature: "bool addHintNodeToList(SAstCreateContext* pCxt, SNodeList** ppHintList,
      EHintOption opt, SToken* paramList,\n                       int32_t paramNum)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:744,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:749,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:763,1
    - Dst: addHintNodeToList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:844,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:873,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 124
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 743
    functionDepth: 6
    functionLinenumber: 743
    functionLinenumberEnd: 877
    functionName: createHintNodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tGetToken
    - CHECK_PARSER_STATUS
    - taosStrndup
    - taosMemoryFree
    - addHintNodeToList
    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:880,1
    - Dst: createValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 6
    functionLinenumber: 879
    functionLinenumberEnd: 882
    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:885,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:887,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:888,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:893,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:910,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:914,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:915,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:919,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:921,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:924,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 884
    functionDepth: 5
    functionLinenumber: 884
    functionLinenumberEnd: 936
    functionName: createDurationValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - isdigit
    - nodesMakeNode
    - nodesDestroyNode
    - taosStrndup
    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:939,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:941,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:942,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:947,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:962,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:966,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:967,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:971,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:973,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:976,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 938
    functionDepth: 5
    functionLinenumber: 938
    functionLinenumberEnd: 988
    functionName: createTimeOffsetValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - isdigit
    - nodesMakeNode
    - nodesDestroyNode
    - taosStrndup
    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:991,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:997,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:998,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:999,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1002,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 990
    functionDepth: 5
    functionLinenumber: 990
    functionLinenumberEnd: 1012
    functionName: createDefaultDatabaseCondValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - 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:1015,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1017,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1021,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1022,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1023,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1026,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1031,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1033,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1037,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1039,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1040,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1014
    functionDepth: 5
    functionLinenumber: 1014
    functionLinenumberEnd: 1046
    functionName: createPlaceholderValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - CHECK_PARSER_STATUS
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - taosStrndup
    linkageType: ''
    returnType: SNode
    signature: SNode * createPlaceholderValueNode(SAstCreateContext* pCxt, const SToken*
      pLiteral)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1049,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1051,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1053,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCond
    - pParam
    argTypes:
    - SLogicConditionNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1048
    functionDepth: 4
    functionLinenumber: 1048
    functionLinenumberEnd: 1058
    functionName: addParamToLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListAppendList
    - nodesListAppend
    - nodesDestroyNode
    - nodeType
    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:1061,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1063,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1064,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1067,1
    - Dst: addParamToLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1069,1
    - Dst: addParamToLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1072,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1075,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1080,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - type
    - pParam1
    - pParam2
    argTypes:
    - SAstCreateContext*
    - ELogicConditionType
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1060
    functionDepth: 5
    functionLinenumber: 1060
    functionLinenumberEnd: 1083
    functionName: createLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - nodesMakeList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - 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: 1096
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1096
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1099,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1100,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1102,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1102,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1108,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1108,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1110,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1110,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1112,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1114,1
    - Dst: getMinusDataType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1116,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1119,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1123,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1129,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1130,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1138,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - pCxt
    - type
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - EOperatorType
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1098
    functionDepth: 5
    functionLinenumber: 1098
    functionLinenumberEnd: 1141
    functionName: createOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 17
    functionsReached:
    - strlen
    - nodeType
    - CHECK_PARSER_STATUS
    - snprintf
    - getMinusDataType
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - taosMemoryCalloc
    - taosMemoryFree
    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:1145,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1146,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1147,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1148,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1149,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1150,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1151,1
    - Dst: createLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1152,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1153,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1156,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1157,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1158,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1159,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1160,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1143
    functionDepth: 6
    functionLinenumber: 1143
    functionLinenumberEnd: 1163
    functionName: createBetweenAnd
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - createOperatorNode
    - nodesDestroyNode
    - createLogicConditionNode
    - nodesCloneNode
    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:1167,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1168,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1169,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1170,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1171,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1172,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1173,1
    - Dst: createLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1174,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1175,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1178,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1179,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1180,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1181,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1182,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1165
    functionDepth: 6
    functionLinenumber: 1165
    functionLinenumberEnd: 1185
    functionName: createNotBetweenAnd
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - createOperatorNode
    - nodesDestroyNode
    - createLogicConditionNode
    - nodesCloneNode
    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:1188,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1190,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1191,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1194,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pFuncName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1187
    functionDepth: 5
    functionLinenumber: 1187
    functionLinenumberEnd: 1202
    functionName: createPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - strncpy
    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:1205,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1206,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1206,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1207,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1210,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1211,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1212,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pFuncName
    - pParameterList
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1204
    functionDepth: 6
    functionLinenumber: 1204
    functionLinenumberEnd: 1220
    functionName: createFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_PARSER_STATUS
    - strncasecmp
    - nodesDestroyList
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1223,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1225,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1226,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1227,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pFuncName
    - pParameterList
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1222
    functionDepth: 6
    functionLinenumber: 1222
    functionLinenumberEnd: 1235
    functionName: createPHTbnameFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1239,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1240,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1241,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1242,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1249,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1250,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1256,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - dt
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1237
    functionDepth: 5
    functionLinenumber: 1237
    functionLinenumberEnd: 1259
    functionName: createCastFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:1263,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1264,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1265,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1266,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1267,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1268,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1269,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1270,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1273,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1274,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1261
    functionDepth: 5
    functionLinenumber: 1261
    functionLinenumberEnd: 1277
    functionName: createPositionFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:1281,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1282,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1283,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1284,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1286,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1287,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1291,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ETrimType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1279
    functionDepth: 5
    functionLinenumber: 1279
    functionLinenumberEnd: 1294
    functionName: createTrimFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:1298,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1299,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1300,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1301,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1303,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1304,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1305,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1306,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1310,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1311,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - ETrimType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1296
    functionDepth: 5
    functionLinenumber: 1296
    functionLinenumberEnd: 1314
    functionName: createTrimFunctionNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:1318,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1319,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1320,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1321,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1322,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1323,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1324,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1325,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1328,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1329,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1316
    functionDepth: 5
    functionLinenumber: 1316
    functionLinenumberEnd: 1332
    functionName: createSubstrFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:1336,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1337,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1338,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1339,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1340,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1341,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1342,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1343,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1344,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1345,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1348,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1349,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1350,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    - pExpr3
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1334
    functionDepth: 5
    functionLinenumber: 1334
    functionLinenumberEnd: 1353
    functionName: createSubstrFunctionNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:1357,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1358,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1359,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pList
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1355
    functionDepth: 6
    functionLinenumber: 1355
    functionLinenumberEnd: 1365
    functionName: createNodeListNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1369,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1370,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1371,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1372,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1373,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1374,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1375,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1378,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1379,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - p1
    - p2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1367
    functionDepth: 6
    functionLinenumber: 1367
    functionLinenumberEnd: 1382
    functionName: createNodeListNodeEx
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesListMakeStrictAppend
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:1385,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1386,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1386,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1387,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1387,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1388,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1388,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1390,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1391,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1393,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1395,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1398,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1400,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pTableAlias
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1384
    functionDepth: 5
    functionLinenumber: 1384
    functionLinenumberEnd: 1406
    functionName: createRealTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - checkTableName
    - CHECK_PARSER_STATUS
    - checkDbName
    - snprintf
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1409,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1412,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1413,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pTableAlias
    argTypes:
    - SAstCreateContext*
    - EStreamPlaceholder
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1408
    functionDepth: 5
    functionLinenumber: 1408
    functionLinenumberEnd: 1423
    functionName: createPlaceHolderTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1426,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1427,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1427,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1428,1
    - Dst: checkStreamName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1428,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1430,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1431,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1433,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1435,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pStreamName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1425
    functionDepth: 5
    functionLinenumber: 1425
    functionLinenumberEnd: 1441
    functionName: createStreamNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - snprintf
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - checkStreamName
    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:1445,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1446,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1447,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: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStart
    - pEnd
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1443
    functionDepth: 5
    functionLinenumber: 1443
    functionLinenumberEnd: 1462
    functionName: createRecalcRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1465,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1466,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1470,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1471,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1474,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1476,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1478,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1479,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1481,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1482,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - pSubquery
    - pTableAlias
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1464
    functionDepth: 5
    functionLinenumber: 1464
    functionLinenumberEnd: 1488
    functionName: createTempTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodeType
    - checkTableName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - taosRandStr
    - nodesDestroyNode
    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:1492,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1494,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1495,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1503,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1504,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1505,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: 1507
      start: 1490
    functionDepth: 5
    functionLinenumber: 1490
    functionLinenumberEnd: 1507
    functionName: createJoinTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1510,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1511,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1511,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1512,1
    - Dst: checkViewName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1512,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1514,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1515,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1517,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1519,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pViewName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1509
    functionDepth: 5
    functionLinenumber: 1509
    functionLinenumberEnd: 1525
    functionName: createViewNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - snprintf
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - checkViewName
    - nodesMakeNode
    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:1528,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1530,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pLimit
    - pOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1527
    functionDepth: 5
    functionLinenumber: 1527
    functionLinenumberEnd: 1539
    functionName: createLimitNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1542,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1544,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1545,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - order
    - nullOrder
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EOrder
    - ENullOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1541
    functionDepth: 5
    functionLinenumber: 1541
    functionLinenumberEnd: 1556
    functionName: createOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1559,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1561,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1562,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1567,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pGap
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1558
    functionDepth: 5
    functionLinenumber: 1558
    functionLinenumberEnd: 1570
    functionName: createSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createSessionWindowNode(SAstCreateContext* pCxt, SNode* pCol,
      SNode* pGap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1574,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1575,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1576,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1577,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1578,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1584,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1585,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1586,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pExtend
    - pTrueForLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1572
    functionDepth: 6
    functionLinenumber: 1572
    functionLinenumberEnd: 1589
    functionName: createStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createStateWindowNode(SAstCreateContext* pCxt, SNode* pExpr,
      SNode* pExtend, SNode* pTrueForLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1593,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1594,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1595,1
    - Dst: createPrimaryKeyCol
      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: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1603,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1604,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pStartCond
    - pEndCond
    - pTrueForLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1591
    functionDepth: 6
    functionLinenumber: 1591
    functionLinenumberEnd: 1608
    functionName: createEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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: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: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1616,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1617,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1618,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1620,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1622,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pCountToken
    - pSlidingToken
    - pColList
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1610
    functionDepth: 6
    functionLinenumber: 1610
    functionLinenumberEnd: 1629
    functionName: createCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - taosStr2Int64
    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: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: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1637,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1638,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1643,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - arg
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1631
    functionDepth: 6
    functionLinenumber: 1631
    functionLinenumberEnd: 1648
    functionName: createCountWindowNodeFromArgs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:1652,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1655,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1656,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1657,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1659,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - countToken
    - slidingToken
    - colList
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1650
    functionDepth: 5
    functionLinenumber: 1650
    functionLinenumberEnd: 1667
    functionName: createCountWindowArgs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int64
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCountWindowArgs(SAstCreateContext* pCxt, const SToken*
      countToken, const SToken* slidingToken,\n                             SNodeList*
      colList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1671,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1672,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1673,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1674,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1675,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1678,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1680,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - pFuncOpt
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1669
    functionDepth: 6
    functionLinenumber: 1669
    functionLinenumberEnd: 1686
    functionName: createAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - createPrimaryKeyCol
    - CHECK_PARSER_STATUS
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createAnomalyWindowNode(SAstCreateContext* pCxt, SNode* pExpr,
      const SToken* pFuncOpt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1690,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1694,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1695,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1697,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1698,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1703,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1704,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pInter
    - pSliding
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1688
    functionDepth: 6
    functionLinenumber: 1688
    functionLinenumberEnd: 1707
    functionName: createIntervalWindowNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:1712,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1713,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1714,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1715,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1716,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1721,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1725,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1726,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1727,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1728,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1729,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: 1731
      start: 1709
    functionDepth: 6
    functionLinenumber: 1709
    functionLinenumberEnd: 1731
    functionName: createIntervalWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - TAOS_SET_OBJ_ALIGNED
    - nodesDestroyNode
    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:1735,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1736,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1737,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1742,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1743,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pPeriodTime
    - pOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1733
    functionDepth: 5
    functionLinenumber: 1733
    functionLinenumberEnd: 1746
    functionName: createPeriodWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1750,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1751,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1752,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1757,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1758,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pStartOffset
    - pEndOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1748
    functionDepth: 5
    functionLinenumber: 1748
    functionLinenumberEnd: 1761
    functionName: createWindowOffsetNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1765,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1766,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1767,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: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1773,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1776,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - mode
    - pValues
    argTypes:
    - SAstCreateContext*
    - EFillMode
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1763
    functionDepth: 5
    functionLinenumber: 1763
    functionLinenumberEnd: 1779
    functionName: createFillNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createFillNode(SAstCreateContext* pCxt, EFillMode mode, SNode*
      pValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1783,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1784,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1785,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1788,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1789,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1792,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1781
    functionDepth: 5
    functionLinenumber: 1781
    functionLinenumberEnd: 1795
    functionName: createGroupingSetNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 1
    functionsReached:
    - CHECK_PARSER_STATUS
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createGroupingSetNode(SAstCreateContext* pCxt, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1798,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1800,1
    - Dst: createInterpTimeAround
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1801,1
    - Dst: createBetweenAnd
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1803,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1803,1
    - Dst: createInterpTimeAround
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1806,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1810,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pStart
    - pEnd
    - pInterval
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1797
    functionDepth: 7
    functionLinenumber: 1797
    functionLinenumberEnd: 1813
    functionName: createInterpTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - createBetweenAnd
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    - createInterpTimeAround
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createInterpTimeRange(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:1816,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1817,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1817,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pPoint
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1815
    functionDepth: 6
    functionLinenumber: 1815
    functionLinenumberEnd: 1821
    functionName: createInterpTimePoint
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createOperatorNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    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:1824,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1826,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1827,1
    - Dst: createInterpTimePoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1829,1
    - Dst: createBetweenAnd
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1831,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1831,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pStart
    - pEnd
    - pInterval
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1823
    functionDepth: 7
    functionLinenumber: 1823
    functionLinenumberEnd: 1838
    functionName: createInterpTimeAround
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 1
    functionsReached:
    - createBetweenAnd
    - createInterpTimePoint
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createInterpTimeAround(SAstCreateContext* pCxt, SNode* pStart,
      SNode* pEnd, SNode* pInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1841,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1843,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1844,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1849,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pWhen
    - pThen
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1840
    functionDepth: 5
    functionLinenumber: 1840
    functionLinenumberEnd: 1852
    functionName: createWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:1856,1
    - Dst: printf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1858,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1854
    functionDepth: 4
    functionLinenumber: 1854
    functionLinenumberEnd: 1862
    functionName: debugPrintNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - printf
    - 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:1865,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1867,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1868,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1877,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1878,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pCase
    - pWhenThenList
    - pElse
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1864
    functionDepth: 6
    functionLinenumber: 1864
    functionLinenumberEnd: 1881
    functionName: createCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:1889,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1890,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1891,1
    - Dst: createValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1897,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1898,1
    - Dst: createWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1899,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1900,1
    - Dst: createNodeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1901,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1902,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1903,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1904,1
    - Dst: createCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1905,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1906,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1910,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1911,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1912,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1913,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1914,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pExpr1
    - pExpr2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1883
    functionDepth: 7
    functionLinenumber: 1883
    functionLinenumberEnd: 1917
    functionName: createNullIfNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createCaseWhenNode
    - createNodeList
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - createOperatorNode
    - createWhenThenNode
    - createValueNode
    - nodesDestroyNode
    - nodesCloneNode
    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:1925,1
    - Dst: createWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1926,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1927,1
    - Dst: createNodeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1928,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1929,1
    - Dst: createCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1930,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1931,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1935,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1936,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pExpr1
    - pExpr2
    - pExpr3
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1919
    functionDepth: 7
    functionLinenumber: 1919
    functionLinenumberEnd: 1939
    functionName: createIfNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createCaseWhenNode
    - createNodeList
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - createWhenThenNode
    - nodesDestroyNode
    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:1947,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1948,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1949,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1950,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1951,1
    - Dst: createWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1952,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1953,1
    - Dst: createNodeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1954,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1955,1
    - Dst: createCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1956,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1957,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1961,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1962,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1963,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pExpr1
    - pExpr2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1941
    functionDepth: 7
    functionLinenumber: 1941
    functionLinenumberEnd: 1966
    functionName: createNvlNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createCaseWhenNode
    - createNodeList
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - createOperatorNode
    - createWhenThenNode
    - nodesDestroyNode
    - nodesCloneNode
    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:1973,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1974,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1975,1
    - Dst: createWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1976,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1977,1
    - Dst: createNodeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1978,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1979,1
    - Dst: createCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1980,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1981,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1985,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1986,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pExpr1
    - pExpr2
    - pExpr3
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1968
    functionDepth: 7
    functionLinenumber: 1968
    functionLinenumberEnd: 1989
    functionName: createNvl2Node
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createCaseWhenNode
    - createNodeList
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - createOperatorNode
    - createWhenThenNode
    - nodesDestroyNode
    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:1992,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1997,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2000,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2002,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2003,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2005,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2006,1
    - Dst: createWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2008,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2009,1
    - Dst: createNodeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2012,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2014,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2016,1
    - Dst: createCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2019,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2020,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2024,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2025,1
    - Dst: nodesDestroyNode
      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: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pParamList
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 1991
    functionDepth: 7
    functionLinenumber: 1991
    functionLinenumberEnd: 2030
    functionName: createCoalesceNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createCaseWhenNode
    - createNodeList
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - createOperatorNode
    - createWhenThenNode
    - nodesListAppend
    - nodesDestroyNode
    - nodesCloneNode
    - LIST_LENGTH
    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:2033,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2034,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2036,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2037,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2039,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pAlias
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2032
    functionDepth: 4
    functionLinenumber: 2032
    functionLinenumberEnd: 2046
    functionName: setProjectionAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - CHECK_PARSER_STATUS
    - nodesDestroyNode
    - TMIN
    - strncpy
    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:2049,1
    - Dst: nodeType
      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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pWhere
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2048
    functionDepth: 4
    functionLinenumber: 2048
    functionLinenumberEnd: 2058
    functionName: addWhereClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodeType
    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:2061,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2062,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2067,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pPartitionByList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2060
    functionDepth: 6
    functionLinenumber: 2060
    functionLinenumberEnd: 2070
    functionName: addPartitionByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodeType
    - nodesDestroyList
    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:2073,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2074,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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pWindow
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2072
    functionDepth: 4
    functionLinenumber: 2072
    functionLinenumberEnd: 2082
    functionName: addWindowClauseClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodeType
    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:2085,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2086,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2091,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pGroupByList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2084
    functionDepth: 6
    functionLinenumber: 2084
    functionLinenumberEnd: 2094
    functionName: addGroupByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodeType
    - nodesDestroyList
    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:2097,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2098,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2103,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pHaving
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2096
    functionDepth: 4
    functionLinenumber: 2096
    functionLinenumberEnd: 2106
    functionName: addHavingClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodeType
    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:2109,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2113,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2120,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pOrderByList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2108
    functionDepth: 6
    functionLinenumber: 2108
    functionLinenumberEnd: 2123
    functionName: addOrderByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodeType
    - nodesDestroyList
    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:2126,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2130,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2135,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pSlimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2125
    functionDepth: 4
    functionLinenumber: 2125
    functionLinenumberEnd: 2138
    functionName: addSlimitClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodeType
    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:2141,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2145,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2152,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2140
    functionDepth: 4
    functionLinenumber: 2140
    functionLinenumberEnd: 2155
    functionName: addLimitClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodeType
    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:2158,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2160,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2161,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2164,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2171,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pRange
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2157
    functionDepth: 4
    functionLinenumber: 2157
    functionLinenumberEnd: 2174
    functionName: addRangeClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - TSWAP
    - CHECK_PARSER_STATUS
    - nodeType
    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:2177,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2178,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2183,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pEvery
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2176
    functionDepth: 4
    functionLinenumber: 2176
    functionLinenumberEnd: 2186
    functionName: addEveryClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodeType
    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:2189,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2190,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2192,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2193,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2194,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2199,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pFill
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2188
    functionDepth: 6
    functionLinenumber: 2188
    functionLinenumberEnd: 2202
    functionName: addFillClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - createPrimaryKeyCol
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * addFillClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pFill)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2205,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2214,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pJLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2204
    functionDepth: 4
    functionLinenumber: 2204
    functionLinenumberEnd: 2217
    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:2220,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2229,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pWinOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2219
    functionDepth: 4
    functionLinenumber: 2219
    functionLinenumberEnd: 2232
    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:2236,1
    - Dst: createSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2238,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2239,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2242,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2243,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2244,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: 2246
      start: 2234
    functionDepth: 6
    functionLinenumber: 2234
    functionLinenumberEnd: 2246
    functionName: createSelectStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtImpl
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    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:2249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - bSelectTags
    argTypes:
    - SAstCreateContext*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2248
    functionDepth: 1
    functionLinenumber: 2248
    functionLinenumberEnd: 2257
    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:2260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2259
    functionDepth: 1
    functionLinenumber: 2259
    functionLinenumberEnd: 2263
    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:2266,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2268,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2269,1
    - Dst: setSubquery
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2272,1
    - Dst: setSubquery
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2274,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2275,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2278,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - type
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - ESetOperatorType
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2265
    functionDepth: 5
    functionLinenumber: 2265
    functionLinenumberEnd: 2281
    functionName: createSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - snprintf
    - setSubquery
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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: 2295
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2295
    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:2298,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2300,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2301,1
    - Dst: updateWalOptionsDefault
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2297
    functionDepth: 5
    functionLinenumber: 2297
    functionLinenumberEnd: 2341
    functionName: createDefaultDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - updateWalOptionsDefault
    - nodesMakeNode
    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:2344,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2346,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2343
    functionDepth: 5
    functionLinenumber: 2343
    functionLinenumberEnd: 2389
    functionName: createAlterDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterDatabaseOptions(SAstCreateContext* pCxt)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2393,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2397,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2400,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2403,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2406,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2411,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2413,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2418,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2421,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2424,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2430,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2433,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2436,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2439,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2442,1
    - Dst: updateWalOptionsDefault
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2445,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2449,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2452,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2455,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2458,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2464,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2468,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2472,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2476,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2479,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2484,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2486,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2489,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2495,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2497,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2500,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2504,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2509,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2511,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2516,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2520,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2522,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2526,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2531,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2535,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2540,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2542,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2550,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2552,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2560,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 165
    argCount: 5
    argNames:
    - pCxt
    - pOptions
    - type
    - pVal
    - alter
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EDatabaseOptionType
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2391
    functionDepth: 6
    functionLinenumber: 2391
    functionLinenumberEnd: 2562
    functionName: setDatabaseOptionImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - COPY_STRING_FORM_STR_TOKEN
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - updateWalOptionsDefault
    - taosStr2Int8
    - createDurationValueNode
    - snprintf
    - nodesDestroyNode
    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:2565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - type
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EDatabaseOptionType
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2564
    functionDepth: 7
    functionLinenumber: 2564
    functionLinenumberEnd: 2566
    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:2569,1
    - Dst: setDatabaseOptionImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2574,1
    - Dst: setDatabaseOptionImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2578,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2580,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pAlterOption
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SAlterOption*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2568
    functionDepth: 7
    functionLinenumber: 2568
    functionLinenumberEnd: 2583
    functionName: setAlterDatabaseOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - setDatabaseOptionImpl
    - nodesDestroyList
    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:2586,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2587,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2587,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2589,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2590,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2591,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - ignoreExists
    - pDbName
    - pOptions
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2585
    functionDepth: 5
    functionLinenumber: 2585
    functionLinenumberEnd: 2598
    functionName: createCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:2601,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2602,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2602,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2604,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2605,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - ignoreNotExists
    - pDbName
    - force
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2600
    functionDepth: 5
    functionLinenumber: 2600
    functionLinenumberEnd: 2612
    functionName: createDropDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:2615,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2616,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2616,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2618,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2619,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2620,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2614
    functionDepth: 5
    functionLinenumber: 2614
    functionLinenumberEnd: 2626
    functionName: createAlterDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:2629,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2630,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2630,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2632,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2633,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2628
    functionDepth: 5
    functionLinenumber: 2628
    functionLinenumberEnd: 2638
    functionName: createFlushDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:2641,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2642,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2642,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2644,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2645,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - maxSpeed
    argTypes:
    - SAstCreateContext*
    - SToken*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2640
    functionDepth: 5
    functionLinenumber: 2640
    functionLinenumberEnd: 2651
    functionName: createTrimDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createTrimDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName,
      int32_t maxSpeed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2654,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2655,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2655,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2657,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2658,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2653
    functionDepth: 5
    functionLinenumber: 2653
    functionLinenumberEnd: 2663
    functionName: createSsMigrateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:2666,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2667,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2667,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2669,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2670,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2671,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2677,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pStart
    - pEnd
    - metaOnly
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2665
    functionDepth: 5
    functionLinenumber: 2665
    functionLinenumberEnd: 2680
    functionName: createCompactStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createCompactStmt(SAstCreateContext* pCxt, SToken* pDbName,
      SNode* pStart, SNode* pEnd, bool metaOnly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2685,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2686,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2686,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2687,1
    - Dst: checkMountPath
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2687,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2689,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2690,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2691,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2692,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2695,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2701,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: 2707
      start: 2682
    functionDepth: 5
    functionLinenumber: 2682
    functionLinenumberEnd: 2707
    functionName: createCreateMountStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - COPY_STRING_FORM_STR_TOKEN
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - checkMountPath
    - nodesMakeNode
    - nodesDestroyNode
    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:2711,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2712,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2712,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2714,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2715,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pMountName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2725
      start: 2709
    functionDepth: 5
    functionLinenumber: 2709
    functionLinenumberEnd: 2725
    functionName: createDropMountStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:2729,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2731,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2733,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2736,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2737,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2745,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2746,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2747,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 6
    argNames:
    - pCxt
    - pDbName
    - vgidList
    - pStart
    - pEnd
    - metaOnly
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2727
    functionDepth: 6
    functionLinenumber: 2727
    functionLinenumberEnd: 2750
    functionName: createCompactVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - snprintf
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCompactVgroupsStmt(SAstCreateContext* pCxt, SNode* pDbName,
      SNodeList* vgidList, SNode* pStart,\n                                SNode*
      pEnd, bool metaOnly)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2753,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2755,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2752
    functionDepth: 5
    functionLinenumber: 2752
    functionLinenumberEnd: 2767
    functionName: createDefaultTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:2770,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2772,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2769
    functionDepth: 5
    functionLinenumber: 2769
    functionLinenumberEnd: 2780
    functionName: createAlterTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterTableOptions(SAstCreateContext* pCxt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2783,1
    - Dst: checkComment
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2786,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2788,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2801,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2818,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2820,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2824,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2837,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - type
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ETableOptionType
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2782
    functionDepth: 6
    functionLinenumber: 2782
    functionLinenumberEnd: 2839
    functionName: setTableOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - COPY_STRING_FORM_STR_TOKEN
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - createDurationValueNode
    - checkComment
    - nodesDestroyNode
    - taosStr2Int64
    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:2842,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2844,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2852
      start: 2841
    functionDepth: 5
    functionLinenumber: 2841
    functionLinenumberEnd: 2852
    functionName: createDefaultColumnOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createDefaultColumnOptions(SAstCreateContext* pCxt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2855,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2857,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2863
    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:2866,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2869,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2870,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2871,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pRef
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2865
    functionDepth: 4
    functionLinenumber: 2865
    functionLinenumberEnd: 2876
    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:2879,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2878
    functionDepth: 4
    functionLinenumber: 2878
    functionLinenumberEnd: 2885
    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:2888,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2891,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2892,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2892,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2893,1
    - Dst: getColumnOptionType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2897,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2900,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2901,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2902,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2907,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2908,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2909,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2914,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2915,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2916,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - pVal1
    - pVal2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2887
    functionDepth: 4
    functionLinenumber: 2887
    functionLinenumberEnd: 2928
    functionName: setColumnOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - COPY_STRING_FORM_STR_TOKEN
    - memset
    - CHECK_PARSER_STATUS
    - getColumnOptionType
    - nodesDestroyNode
    - TMIN
    - strncpy
    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:2931,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2932,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2932,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2935,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2936,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2938,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2940,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2941,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pColName
    - pRef
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2930
    functionDepth: 5
    functionLinenumber: 2930
    functionLinenumberEnd: 2946
    functionName: createColumnRefNodeByNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - tstrncpy
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - checkColumnName
    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:2949,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2951,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pName
    argTypes:
    - SAstCreateContext*
    - SToken
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2948
    functionDepth: 1
    functionLinenumber: 2948
    functionLinenumberEnd: 2959
    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:2962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pTokenTri
    - pName
    argTypes:
    - SAstCreateContext*
    - STokenTriplet*
    - SToken
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2961
    functionDepth: 1
    functionLinenumber: 2961
    functionLinenumberEnd: 2974
    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:2978,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2979,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2980,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2984,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2984,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2985,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2985,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2986,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2987,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2988,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2992,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2992,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2993,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2993,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2994,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2994,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2995,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2996,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2997,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3006,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3009,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pTokenTri
    argTypes:
    - SAstCreateContext*
    - STokenTriplet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 2976
    functionDepth: 5
    functionLinenumber: 2976
    functionLinenumberEnd: 3012
    functionName: createColumnRefNodeByName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - checkTableName
    - CHECK_PARSER_STATUS
    - checkDbName
    - snprintf
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - taosMemFree
    - nodesDestroyNode
    - checkColumnName
    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:3015,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3016,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3016,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3017,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3018,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3019,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3022,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3023,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3024,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pColName
    - dataType
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SDataType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3014
    functionDepth: 5
    functionLinenumber: 3014
    functionLinenumberEnd: 3032
    functionName: createColumnDefNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - IS_VAR_DATA_TYPE
    - COPY_STRING_FORM_ID_TOKEN
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - checkColumnName
    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: 3037
      start: 3034
    functionDepth: 0
    functionLinenumber: 3034
    functionLinenumberEnd: 3037
    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:3042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - type
    - pLen
    argTypes:
    - uint8_t
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3039
    functionDepth: 1
    functionLinenumber: 3039
    functionLinenumberEnd: 3045
    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:3049,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3050,1
    - Dst: decimalTypeFromPrecision
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - type
    - pPrecisionToken
    - pScaleToken
    argTypes:
    - uint8_t
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3054
      start: 3047
    functionDepth: 1
    functionLinenumber: 3047
    functionLinenumberEnd: 3054
    functionName: createDecimalDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - taosStr2UInt8
    - decimalTypeFromPrecision
    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:3058,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3059,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3060,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3061,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3062,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3065,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3068,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - ignoreExists
    - pRealTable
    - pCols
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3056
    functionDepth: 6
    functionLinenumber: 3056
    functionLinenumberEnd: 3071
    functionName: createCreateVTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strcpy
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateVTableStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pRealTable, SNodeList* pCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3076,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3078,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3079,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3080,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3081,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3082,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3083,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3089,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3090,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3093,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3094,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3095,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3096,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3097,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 8
    argNames:
    - pCxt
    - ignoreExists
    - pRealTable
    - pSpecificColRefs
    - pColRefs
    - pUseRealTable
    - pSpecificTags
    - pValsOfTags
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNodeList*
    - SNodeList*
    - SNode*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3100
      start: 3073
    functionDepth: 6
    functionLinenumber: 3073
    functionLinenumberEnd: 3100
    functionName: createCreateVSubTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strcpy
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateVSubTableStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pRealTable,\n                                 SNodeList* pSpecificColRefs,
      SNodeList* pColRefs, SNode* pUseRealTable,\n                                 SNodeList*
      pSpecificTags, SNodeList* pValsOfTags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3104,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3106,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3107,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3108,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3109,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3114,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3117,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3118,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3119,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3120,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: 3122
      start: 3102
    functionDepth: 6
    functionLinenumber: 3102
    functionLinenumberEnd: 3122
    functionName: createCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3126,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3128,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3129,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3130,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3131,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3132,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3133,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3138,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3139,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3142,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3143,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3144,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3145,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3146,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: 3148
      start: 3124
    functionDepth: 6
    functionLinenumber: 3124
    functionLinenumberEnd: 3148
    functionName: createCreateSubTableClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3152,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3154,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3155,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3156,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3157,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3161,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3163,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3166,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3169,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3170,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: 3172
      start: 3150
    functionDepth: 6
    functionLinenumber: 3150
    functionLinenumberEnd: 3172
    functionName: createCreateSubTableFromFileClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - strncpy
    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:3175,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3177,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3178,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubTables
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3174
    functionDepth: 6
    functionLinenumber: 3174
    functionLinenumberEnd: 3184
    functionName: createCreateMultiTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3187,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3189,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3190,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3191,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3192,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3194,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3186
    functionDepth: 5
    functionLinenumber: 3186
    functionLinenumberEnd: 3199
    functionName: createDropTableClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3202,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3204,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3205,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - withOpt
    - pTables
    argTypes:
    - SAstCreateContext*
    - bool
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3201
    functionDepth: 6
    functionLinenumber: 3201
    functionLinenumberEnd: 3212
    functionName: createDropTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3215,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3217,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3218,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3219,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3220,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3223,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - withOpt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3214
    functionDepth: 5
    functionLinenumber: 3214
    functionLinenumberEnd: 3228
    functionName: createDropSuperTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3231,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3233,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3234,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3235,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3236,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3239,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - withOpt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3244
      start: 3230
    functionDepth: 5
    functionLinenumber: 3230
    functionLinenumberEnd: 3244
    functionName: createDropVirtualTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3247,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3248,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pRealTable
    - pStmt
    argTypes:
    - SNode*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3251
      start: 3246
    functionDepth: 4
    functionLinenumber: 3246
    functionLinenumberEnd: 3251
    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:3254,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3256,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3257,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3262,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pRealTable
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3253
    functionDepth: 5
    functionLinenumber: 3253
    functionLinenumberEnd: 3265
    functionName: createAlterTableModifyOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - createAlterTableStmtFinalize
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3269,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3270,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3270,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3272,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3273,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3275,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3277,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3279,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: 3281
      start: 3267
    functionDepth: 5
    functionLinenumber: 3267
    functionLinenumberEnd: 3281
    functionName: createAlterTableAddModifyCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - createAlterTableStmtFinalize
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - checkColumnName
    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:3286,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3287,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3287,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3288,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3289,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3291,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3298,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3299,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3299,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3300,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3303,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3304,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3305,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3306,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3308,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3308,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3308,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3316,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3318,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3321,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3323,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3324,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3325,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: 3327
      start: 3283
    functionDepth: 5
    functionLinenumber: 3283
    functionLinenumberEnd: 3327
    functionName: createAlterTableAddModifyColOptions2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_NAME
    - tstrncpy
    - CHECK_PARSER_STATUS
    - createAlterTableStmtFinalize
    - COPY_STRING_FORM_ID_TOKEN
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - generateSyntaxErrMsgExt
    - checkColumnName
    - strcmp
    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:3331,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3332,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3332,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3334,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3335,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3337,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3339,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3341,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3342,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: 3344
      start: 3329
    functionDepth: 5
    functionLinenumber: 3329
    functionLinenumberEnd: 3344
    functionName: createAlterTableAddModifyColOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - createAlterTableStmtFinalize
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - checkColumnName
    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:3347,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3348,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3348,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3350,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3351,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3353,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3354,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3356,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: 3358
      start: 3346
    functionDepth: 5
    functionLinenumber: 3346
    functionLinenumberEnd: 3358
    functionName: createAlterTableDropCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - createAlterTableStmtFinalize
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - checkColumnName
    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:3362,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3363,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3363,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3364,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3364,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3366,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3367,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3369,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3370,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3371,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3373,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: 3375
      start: 3360
    functionDepth: 5
    functionLinenumber: 3360
    functionLinenumberEnd: 3375
    functionName: createAlterTableRenameCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - createAlterTableStmtFinalize
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - checkColumnName
    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:3379,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3380,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3380,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3382,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3383,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3385,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3386,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3387,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3388,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3389,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3391,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: 3393
      start: 3377
    functionDepth: 5
    functionLinenumber: 3377
    functionLinenumberEnd: 3393
    functionName: createAlterTableAlterColRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - tstrncpy
    - CHECK_PARSER_STATUS
    - createAlterTableStmtFinalize
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - checkColumnName
    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:3397,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3398,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3398,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3400,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3401,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3403,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3404,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3406,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: 3408
      start: 3395
    functionDepth: 5
    functionLinenumber: 3395
    functionLinenumberEnd: 3408
    functionName: createAlterTableRemoveColRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - createAlterTableStmtFinalize
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - checkColumnName
    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:3411,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3413,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3414,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3416,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3416,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCtx
    - pTagName
    - pVal
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3410
    functionDepth: 5
    functionLinenumber: 3410
    functionLinenumberEnd: 3423
    functionName: createAlterSingleTagColumnNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - checkColumnName
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterSingleTagColumnNode(SAstCreateContext* pCtx, SToken*
      pTagName, SNode* pVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3426,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3427,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3427,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3429,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3430,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3432,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3434,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3436,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pRealTable
    - pTagName
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3439
      start: 3425
    functionDepth: 5
    functionLinenumber: 3425
    functionLinenumberEnd: 3439
    functionName: createAlterTableSetTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - createAlterTableStmtFinalize
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - checkColumnName
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterTableSetTag(SAstCreateContext* pCxt, SNode* pRealTable,
      SToken* pTagName, SNode* pVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3442,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3444,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3446,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pRealTable
    - pList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3452
      start: 3441
    functionDepth: 5
    functionLinenumber: 3441
    functionLinenumberEnd: 3452
    functionName: createAlterTableSetMultiTagValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createAlterTableStmtFinalize
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterTableSetMultiTagValue(SAstCreateContext* pCxt, SNode*
      pRealTable, SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setNodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3458
      start: 3454
    functionDepth: 1
    functionLinenumber: 3454
    functionLinenumberEnd: 3458
    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:3462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3460
    functionDepth: 1
    functionLinenumber: 3460
    functionLinenumberEnd: 3464
    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:3467,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3468,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3468,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3470,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3471,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3476
      start: 3466
    functionDepth: 5
    functionLinenumber: 3466
    functionLinenumberEnd: 3476
    functionName: createUseDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createUseDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3478
    functionDepth: 0
    functionLinenumber: 3478
    functionLinenumberEnd: 3485
    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:3488,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3490,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3491,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - type
    - pLikePattern
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3487
    functionDepth: 5
    functionLinenumber: 3487
    functionLinenumberEnd: 3501
    functionName: createShowStmtWithLike
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3504,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3506,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3512
      start: 3503
    functionDepth: 5
    functionLinenumber: 3503
    functionLinenumberEnd: 3512
    functionName: createShowStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3515,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3517,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3514
    functionDepth: 5
    functionLinenumber: 3514
    functionLinenumberEnd: 3523
    functionName: createShowStmtWithFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3526,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3528,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3533
      start: 3525
    functionDepth: 5
    functionLinenumber: 3525
    functionLinenumberEnd: 3533
    functionName: createShowCompactsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3536,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3538,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3543
      start: 3535
    functionDepth: 5
    functionLinenumber: 3535
    functionLinenumberEnd: 3543
    functionName: createShowSsMigratesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowSsMigratesStmt(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: 3552
      start: 3545
    functionDepth: 0
    functionLinenumber: 3545
    functionLinenumberEnd: 3552
    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:3556,1
    - Dst: needDbShowStmt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3557,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3558,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3560,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3563,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3564,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3570,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3571,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: 3573
      start: 3554
    functionDepth: 5
    functionLinenumber: 3554
    functionLinenumberEnd: 3573
    functionName: createShowStmtWithCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - snprintf
    - CHECK_MAKE_NODE
    - needDbShowStmt
    - nodesMakeNode
    - nodesDestroyNode
    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:3577,1
    - Dst: createDefaultDatabaseCondValue
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3580,1
    - Dst: createIdentifierValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3582,1
    - Dst: createShowStmtWithCond
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3590,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3591,1
    - Dst: setShowKind
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3592,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - option
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - SShowTablesOption
    - SNode*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3597
      start: 3575
    functionDepth: 7
    functionLinenumber: 3575
    functionLinenumberEnd: 3597
    functionName: createShowTablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createDefaultDatabaseCondValue
    - setShowKind
    - CHECK_PARSER_STATUS
    - createIdentifierValueNode
    - nodesDestroyNode
    - createShowStmtWithCond
    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:3601,1
    - Dst: createDefaultDatabaseCondValue
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3604,1
    - Dst: createIdentifierValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3606,1
    - Dst: createShowStmtWithCond
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3614,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3615,1
    - Dst: setShowKind
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3616,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - option
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - SShowTablesOption
    - SNode*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3621
      start: 3599
    functionDepth: 7
    functionLinenumber: 3599
    functionLinenumberEnd: 3621
    functionName: createShowVTablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createDefaultDatabaseCondValue
    - setShowKind
    - CHECK_PARSER_STATUS
    - createIdentifierValueNode
    - nodesDestroyNode
    - createShowStmtWithCond
    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:3625,1
    - Dst: createDefaultDatabaseCondValue
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3628,1
    - Dst: createIdentifierValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3630,1
    - Dst: createShowStmtWithCond
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3639,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3640,1
    - Dst: setShowKind
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3641,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - option
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - SShowTablesOption
    - SNode*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3646
      start: 3623
    functionDepth: 7
    functionLinenumber: 3623
    functionLinenumberEnd: 3646
    functionName: createShowSTablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createDefaultDatabaseCondValue
    - setShowKind
    - CHECK_PARSER_STATUS
    - createIdentifierValueNode
    - nodesDestroyNode
    - createShowStmtWithCond
    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:3649,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3650,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3650,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3652,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3653,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3648
    functionDepth: 5
    functionLinenumber: 3648
    functionLinenumberEnd: 3658
    functionName: createShowCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3661,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3669,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3675,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3675,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3679,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3680,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3683,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3686,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3693
      start: 3660
    functionDepth: 5
    functionLinenumber: 3660
    functionLinenumberEnd: 3693
    functionName: createShowAliveStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - nodesMakeNode
    - nodesDestroyNode
    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:3696,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3698,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3699,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3700,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3701,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3702,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3707
      start: 3695
    functionDepth: 5
    functionLinenumber: 3695
    functionLinenumberEnd: 3707
    functionName: createShowCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3710,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3712,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3713,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3714,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3715,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3716,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3721
      start: 3709
    functionDepth: 5
    functionLinenumber: 3709
    functionLinenumberEnd: 3721
    functionName: createShowCreateVTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3724,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3726,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3727,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3728,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3729,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3730,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3735
      start: 3723
    functionDepth: 5
    functionLinenumber: 3723
    functionLinenumberEnd: 3735
    functionName: createShowCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3738,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3740,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3741,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3742,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3743,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3744,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3749
      start: 3737
    functionDepth: 5
    functionLinenumber: 3737
    functionLinenumberEnd: 3749
    functionName: createShowTableDistributedStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3752,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3754,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3755,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:3761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pDnodeId
    - pLikePattern
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3751
    functionDepth: 5
    functionLinenumber: 3751
    functionLinenumberEnd: 3763
    functionName: createShowDnodeVariablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3766,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3768,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3769,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3774,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pDnodeId
    - pDnodeEndpoint
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3777
      start: 3765
    functionDepth: 5
    functionLinenumber: 3765
    functionLinenumberEnd: 3777
    functionName: createShowVnodesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3780,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3782,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3784,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3787,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3788,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3794,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3795,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pTbName
    - pDbName
    - pTags
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3798
      start: 3779
    functionDepth: 6
    functionLinenumber: 3779
    functionLinenumberEnd: 3798
    functionName: createShowTableTagsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - snprintf
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:3801,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3803,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3804,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pCompactId
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3810
      start: 3800
    functionDepth: 5
    functionLinenumber: 3800
    functionLinenumberEnd: 3810
    functionName: createShowCompactDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3813,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3815,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3816,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pId
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3822
      start: 3812
    functionDepth: 5
    functionLinenumber: 3812
    functionLinenumberEnd: 3822
    functionName: createShowRetentionDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:3825,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3827,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3828,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pTransactionIdNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3834
      start: 3824
    functionDepth: 5
    functionLinenumber: 3824
    functionLinenumberEnd: 3834
    functionName: createShowTransactionDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowTransactionDetailsStmt(SAstCreateContext* pCxt, SNode*
      pTransactionIdNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3839,1
    - Dst: inet_pton
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3842,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3844,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3845,1
    - Dst: inet_pton
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3852,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ipRange
    - pIpRange
    argTypes:
    - char*
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3861
      start: 3836
    functionDepth: 0
    functionLinenumber: 3836
    functionLinenumberEnd: 3861
    functionName: getIpRangeFromStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - inet_pton
    - strchr
    linkageType: ''
    returnType: int32_t
    signature: int32_t getIpRangeFromStr(char* ipRange, SIpRange* pIpRange)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3869,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3872,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3875,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3878,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3879,1
    - Dst: getIpRangeFromStr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3882,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3883,1
    - Dst: tIpRangeSetMask
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3888,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3889,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - ipRange
    - pIpRange
    argTypes:
    - char*
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3895
      start: 3862
    functionDepth: 1
    functionLinenumber: 3862
    functionLinenumberEnd: 3895
    functionName: getIpRangeFromWhitelistItem
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2int32
    - taosMemoryFreeClear
    - getIpRangeFromStr
    - strchr
    - tIpRangeSetMask
    - taosStrdup
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t getIpRangeFromWhitelistItem(char* ipRange, SIpRange* pIpRange)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3903,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3904,1
    - Dst: getIpRangeFromWhitelistItem
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3908,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pIpRangesNodeList
    - pIpRanges
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3916
      start: 3897
    functionDepth: 2
    functionLinenumber: 3897
    functionLinenumberEnd: 3916
    functionName: fillIpRangesFromWhiteList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - getIpRangeFromWhitelistItem
    - nodeType
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillIpRangesFromWhiteList(SAstCreateContext* pCxt, SNodeList*
      pIpRangesNodeList, SIpRange* pIpRanges)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3903,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3904,1
    - Dst: getIpRangeFromWhitelistItem
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3908,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3914
      start: 3902
    functionDepth: 2
    functionLinenumber: 3902
    functionLinenumberEnd: 3914
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 210
    functionsReached:
    - generateSyntaxErrMsg
    - getIpRangeFromWhitelistItem
    - nodeType
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pIpRangesNodeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3921,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3932,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3933,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3934,1
    - Dst: fillIpRangesFromWhiteList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3936,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3937,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3941,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pCreateUserStmt
    - pIpRangesNodeList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3918
    functionDepth: 6
    functionLinenumber: 3918
    functionLinenumberEnd: 3944
    functionName: addCreateUserStmtWhiteList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - fillIpRangesFromWhiteList
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - nodesDestroyNode
    - CHECK_OUT_OF_MEM
    - LIST_LENGTH
    linkageType: ''
    returnType: SNode
    signature: SNode * addCreateUserStmtWhiteList(SAstCreateContext* pCxt, SNode*
      pCreateUserStmt, SNodeList* pIpRangesNodeList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3948,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3950,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3950,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3952,1
    - Dst: checkPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3952,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3954,1
    - Dst: checkImportPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3954,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3957,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3958,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3959,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 6
    argNames:
    - pCxt
    - pUserName
    - pPassword
    - sysinfo
    - createDb
    - is_import
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - int8_t
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3967
      start: 3946
    functionDepth: 5
    functionLinenumber: 3946
    functionLinenumberEnd: 3967
    functionName: createCreateUserStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkImportPassword
    - CHECK_NAME
    - tstrncpy
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkPassword
    - CHECK_MAKE_NODE
    - checkUserName
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateUserStmt(SAstCreateContext* pCxt, SToken* pUserName,
      const SToken* pPassword, int8_t sysinfo,\n                            int8_t
      createDb, int8_t is_import)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3971,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3972,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3972,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3973,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3974,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3975,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3981,1
    - Dst: checkPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3981,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3982,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3987,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3992,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3997,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4004,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4005,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4006,1
    - Dst: fillIpRangesFromWhiteList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4008,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4009,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4017,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 4
    argNames:
    - pCxt
    - pUserName
    - alterType
    - pAlterInfo
    argTypes:
    - SAstCreateContext*
    - SToken*
    - int8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4019
      start: 3969
    functionDepth: 5
    functionLinenumber: 3969
    functionLinenumberEnd: 4019
    functionName: createAlterUserStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - CHECK_NAME
    - tstrncpy
    - CHECK_PARSER_STATUS
    - fillIpRangesFromWhiteList
    - taosStr2Int8
    - COPY_STRING_FORM_ID_TOKEN
    - checkPassword
    - CHECK_MAKE_NODE
    - checkUserName
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_OUT_OF_MEM
    - LIST_LENGTH
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterUserStmt(SAstCreateContext* pCxt, SToken* pUserName,
      int8_t alterType, void* pAlterInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4022,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4023,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4023,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4025,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4026,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pUserName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4031
      start: 4021
    functionDepth: 5
    functionLinenumber: 4021
    functionLinenumberEnd: 4031
    functionName: createDropUserStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - checkUserName
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropUserStmt(SAstCreateContext* pCxt, SToken* pUserName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4034,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4036,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4037,1
    - Dst: checkAndSplitEndpoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4038,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pFqdn
    - pPort
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 4033
    functionDepth: 5
    functionLinenumber: 4033
    functionLinenumberEnd: 4045
    functionName: createCreateDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - checkAndSplitEndpoint
    - nodesDestroyNode
    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:4048,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4050,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4051,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4053,1
    - Dst: checkAndSplitEndpoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4055,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pDnode
    - force
    - unsafe
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4065
      start: 4047
    functionDepth: 5
    functionLinenumber: 4047
    functionLinenumberEnd: 4065
    functionName: createDropDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - checkAndSplitEndpoint
    - nodesDestroyNode
    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:4069,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4071,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4072,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4074,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4078,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pDnode
    - pConfig
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4085
      start: 4067
    functionDepth: 5
    functionLinenumber: 4067
    functionLinenumberEnd: 4085
    functionName: createAlterDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: "SNode * createAlterDnodeStmt(SAstCreateContext* pCxt, const SToken*
      pDnode, const SToken* pConfig,\n                            const SToken* pValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4088,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4090,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4091,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pUrl
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4096
      start: 4087
    functionDepth: 5
    functionLinenumber: 4087
    functionLinenumberEnd: 4096
    functionName: createCreateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - trimString
    - nodesMakeNode
    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:4099,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4101,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4102,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pAnode
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4111
      start: 4098
    functionDepth: 5
    functionLinenumber: 4098
    functionLinenumberEnd: 4111
    functionName: createDropAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4114,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4116,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4117,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pAnode
    - updateAll
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4126
      start: 4113
    functionDepth: 5
    functionLinenumber: 4113
    functionLinenumberEnd: 4126
    functionName: createUpdateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4129,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4131,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4132,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pDnodeId
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4140
      start: 4128
    functionDepth: 5
    functionLinenumber: 4128
    functionLinenumberEnd: 4140
    functionName: createCreateBnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4143,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4145,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4146,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4152
      start: 4142
    functionDepth: 5
    functionLinenumber: 4142
    functionLinenumberEnd: 4152
    functionName: createDropBnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4155,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4157,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4158,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4166
      start: 4154
    functionDepth: 5
    functionLinenumber: 4154
    functionLinenumberEnd: 4166
    functionName: createDefaultBnodeOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4170,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4174,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4182,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: 4184
      start: 4168
    functionDepth: 4
    functionLinenumber: 4168
    functionLinenumberEnd: 4184
    functionName: setBnodeOptionImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - COPY_STRING_FORM_STR_TOKEN
    - 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:4187,1
    - Dst: setBnodeOptionImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - pOption
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4193
      start: 4186
    functionDepth: 5
    functionLinenumber: 4186
    functionLinenumberEnd: 4193
    functionName: setBnodeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - setBnodeOptionImpl
    - strncasecmp
    linkageType: ''
    returnType: SNode
    signature: SNode * setBnodeOption(SAstCreateContext* pCxt, SNode* pOptions, const
      SToken* pOption, void* pVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4199,1
    - Dst: createAlterDnodeStmt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4201
      start: 4195
    functionDepth: 6
    functionLinenumber: 4195
    functionLinenumberEnd: 4201
    functionName: createEncryptKeyStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createAlterDnodeStmt
    - strlen
    linkageType: ''
    returnType: SNode
    signature: SNode * createEncryptKeyStmt(SAstCreateContext* pCxt, const SToken*
      pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkIndexName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4204,1
    - Dst: createRealTableNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pIndexName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4208
      start: 4203
    functionDepth: 6
    functionLinenumber: 4203
    functionLinenumberEnd: 4208
    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:4212,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4214,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4215,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4220,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4223,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4224,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4226,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4229,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4231,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4232,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4233,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4234,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4235,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4240,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4241,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4242,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4243,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: 4245
      start: 4210
    functionDepth: 6
    functionLinenumber: 4210
    functionLinenumberEnd: 4245
    functionName: createCreateIndexStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - snprintf
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:4249,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4251,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4252,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4261,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4262,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4263,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: 4265
      start: 4247
    functionDepth: 5
    functionLinenumber: 4247
    functionLinenumberEnd: 4265
    functionName: createIndexOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4268,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4270,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4271,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4273,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4274,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4275,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pIndexName
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4280
      start: 4267
    functionDepth: 5
    functionLinenumber: 4267
    functionLinenumberEnd: 4280
    functionName: createDropIndexStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - snprintf
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:4283,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4285,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4286,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4291
      start: 4282
    functionDepth: 5
    functionLinenumber: 4282
    functionLinenumberEnd: 4291
    functionName: createCreateComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4294,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4296,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4297,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4302
      start: 4293
    functionDepth: 5
    functionLinenumber: 4293
    functionLinenumberEnd: 4302
    functionName: createDropComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4305,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4307,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4308,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4313
      start: 4304
    functionDepth: 5
    functionLinenumber: 4304
    functionLinenumberEnd: 4313
    functionName: createRestoreComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createRestoreComponentNodeStmt(SAstCreateContext* pCxt, ENodeType
      type, const SToken* pDnodeId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4316,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4317,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4317,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4319,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4320,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4321,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - ignoreExists
    - pTopicName
    - pQuery
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4328
      start: 4315
    functionDepth: 5
    functionLinenumber: 4315
    functionLinenumberEnd: 4328
    functionName: createCreateTopicStmtUseQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkTopicName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateTopicStmtUseQuery(SAstCreateContext* pCxt, bool
      ignoreExists, SToken* pTopicName, SNode* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4332,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4333,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4333,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4334,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4334,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4336,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4337,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      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:4340,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: 4345
      start: 4330
    functionDepth: 5
    functionLinenumber: 4330
    functionLinenumberEnd: 4345
    functionName: createCreateTopicStmtUseDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkTopicName
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4349,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4350,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4350,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4352,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4353,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4354,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4359,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4360,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4361,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4364,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4365,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: 4367
      start: 4347
    functionDepth: 5
    functionLinenumber: 4347
    functionLinenumberEnd: 4367
    functionName: createCreateTopicStmtUseTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - tstrncpy
    - CHECK_PARSER_STATUS
    - checkTopicName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:4370,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4371,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4371,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4373,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4374,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - ignoreNotExists
    - pTopicName
    - force
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4369
    functionDepth: 5
    functionLinenumber: 4369
    functionLinenumberEnd: 4381
    functionName: createDropTopicStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkTopicName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropTopicStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pTopicName, bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4385,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4386,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4386,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4387,1
    - Dst: checkCGroupName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4387,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4389,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4390,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4393,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4394,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: 4398
      start: 4383
    functionDepth: 5
    functionLinenumber: 4383
    functionLinenumberEnd: 4398
    functionName: createDropCGroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkCGroupName
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkTopicName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4401,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4403,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4404,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4405,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pConfig
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4412
      start: 4400
    functionDepth: 5
    functionLinenumber: 4400
    functionLinenumberEnd: 4412
    functionName: createAlterClusterStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - trimString
    - nodesMakeNode
    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:4415,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4417,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4418,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4419,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pConfig
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4414
    functionDepth: 5
    functionLinenumber: 4414
    functionLinenumberEnd: 4426
    functionName: createAlterLocalStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - trimString
    - nodesMakeNode
    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:4429,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4431,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4438
      start: 4428
    functionDepth: 5
    functionLinenumber: 4428
    functionLinenumberEnd: 4438
    functionName: createDefaultExplainOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4441,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4446
      start: 4440
    functionDepth: 1
    functionLinenumber: 4440
    functionLinenumberEnd: 4446
    functionName: setExplainVerbose
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - strncasecmp
    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:4449,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4454
      start: 4448
    functionDepth: 1
    functionLinenumber: 4448
    functionLinenumberEnd: 4454
    functionName: setExplainRatio
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - taosStr2Double
    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:4457,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4459,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4460,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4466,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - analyze
    - pOptions
    - pQuery
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4469
      start: 4456
    functionDepth: 5
    functionLinenumber: 4456
    functionLinenumberEnd: 4469
    functionName: createExplainStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4472,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4474,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4475,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4476,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4477,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4478,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4483
      start: 4471
    functionDepth: 5
    functionLinenumber: 4471
    functionLinenumberEnd: 4483
    functionName: createDescribeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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: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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4493
      start: 4485
    functionDepth: 5
    functionLinenumber: 4485
    functionLinenumberEnd: 4493
    functionName: createResetQueryCacheStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createResetQueryCacheStmt(SAstCreateContext* pCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4496,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4498,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pLanguageToken
    - pLanguage
    argTypes:
    - SAstCreateContext*
    - SToken*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4505
      start: 4495
    functionDepth: 2
    functionLinenumber: 4495
    functionLinenumberEnd: 4505
    functionName: convertUdfLanguageType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - strncasecmp
    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:4510,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4513,1
    - Dst: convertUdfLanguageType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4516,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4517,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4519,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4520,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4523,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4525,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: 4532
      start: 4507
    functionDepth: 5
    functionLinenumber: 4507
    functionLinenumberEnd: 4532
    functionName: createCreateFunctionStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - COPY_STRING_FORM_STR_TOKEN
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - convertUdfLanguageType
    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:4535,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4537,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4538,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pFuncName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4544
      start: 4534
    functionDepth: 5
    functionLinenumber: 4534
    functionLinenumberEnd: 4544
    functionName: createDropFunctionStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4548,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4549,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4550,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4552,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4555,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4556,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4557,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4558,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4559,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4564,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4565,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4566,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: 4568
      start: 4546
    functionDepth: 5
    functionLinenumber: 4546
    functionLinenumberEnd: 4568
    functionName: createCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - tstrdup
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_OUT_OF_MEM
    - isspace
    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:4571,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4573,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4574,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4576,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4577,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4578,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pView
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4583
      start: 4570
    functionDepth: 5
    functionLinenumber: 4570
    functionLinenumberEnd: 4583
    functionName: createDropViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:4588,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4589,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4590,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4598,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4599,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4600,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4601,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 5
    argNames:
    - pCxt
    - pIntoTable
    - pOutputSubTable
    - pColList
    - pTagList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4604
      start: 4585
    functionDepth: 6
    functionLinenumber: 4585
    functionLinenumberEnd: 4604
    functionName: createStreamOutTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: "SNode * createStreamOutTableNode(SAstCreateContext* pCxt, SNode* pIntoTable,
      SNode* pOutputSubTable, SNodeList* pColList,\n                                SNodeList*
      pTagList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4609,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4610,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4611,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4621,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4622,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4623,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4624,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4625,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4626,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: 4628
      start: 4606
    functionDepth: 6
    functionLinenumber: 4606
    functionLinenumberEnd: 4628
    functionName: createStreamTriggerNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:4632,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4633,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4634,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4639,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4640,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pSlidingVal
    - pOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4643
      start: 4630
    functionDepth: 5
    functionLinenumber: 4630
    functionLinenumberEnd: 4643
    functionName: createSlidingWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4647,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4648,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4649,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4669
      start: 4645
    functionDepth: 5
    functionLinenumber: 4645
    functionLinenumberEnd: 4669
    functionName: createStreamTriggerOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:4673,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4674,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4675,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4676,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4681,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pTagName
    - dataType
    - tagExpression
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SDataType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4684
      start: 4671
    functionDepth: 5
    functionLinenumber: 4671
    functionLinenumberEnd: 4684
    functionName: createStreamTagDefNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createStreamTagDefNode(SAstCreateContext* pCxt, SToken* pTagName,
      SDataType dataType, SNode* tagExpression)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4687,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4692,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4700,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4708,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4717,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4725,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4732,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4738,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4743,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4744,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4751,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4756,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4762,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4763,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4770,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4778,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4787,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4795,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4803,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4811,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4818,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4829,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4830,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 146
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pOptionUnit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SStreamTriggerOption*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4832
      start: 4686
    functionDepth: 6
    functionLinenumber: 4686
    functionLinenumberEnd: 4832
    functionName: setStreamTriggerOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - generateSyntaxErrMsgExt
    - nodesMakeValueNodeFromInt64
    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:4840,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4841,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4841,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4842,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4848
      start: 4834
    functionDepth: 1
    functionLinenumber: 4834
    functionLinenumberEnd: 4848
    functionName: validateNotifyUrl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - strlen
    - taosStrncasecmp
    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:4853,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4855,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4857,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4863,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4864,1
    - Dst: validateNotifyUrl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4869,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4870,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4877,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4878,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4885,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: 4887
      start: 4850
    functionDepth: 6
    functionLinenumber: 4850
    functionLinenumberEnd: 4887
    functionName: createStreamNotifyOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - validateNotifyUrl
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    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:4863,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4864,1
    - Dst: validateNotifyUrl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4869,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4874
      start: 4861
    functionDepth: 2
    functionLinenumber: 4861
    functionLinenumberEnd: 4874
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 210
    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:4892,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4893,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4894,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4897,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4899,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4904,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4905,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4907,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4910,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4920,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4921,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4922,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 6
    argNames:
    - pCxt
    - ignoreExists
    - pStream
    - pTrigger
    - pOutTable
    - pQuery
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4925
      start: 4889
    functionDepth: 5
    functionLinenumber: 4889
    functionLinenumberEnd: 4925
    functionName: createCreateStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - generateSyntaxErrMsgExt
    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:4928,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4930,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4931,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4933,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4934,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4936,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pStream
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4944
      start: 4927
    functionDepth: 5
    functionLinenumber: 4927
    functionLinenumberEnd: 4944
    functionName: createDropStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropStreamStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SNode* pStream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4947,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4949,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4950,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4952,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4953,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4955,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pStream
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4963
      start: 4946
    functionDepth: 5
    functionLinenumber: 4946
    functionLinenumberEnd: 4963
    functionName: createPauseStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - generateSyntaxErrMsgExt
    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:4966,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4968,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4969,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4971,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4972,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4974,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - ignoreNotExists
    - ignoreUntreated
    - pStream
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4983
      start: 4965
    functionDepth: 5
    functionLinenumber: 4965
    functionLinenumberEnd: 4983
    functionName: createResumeStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - generateSyntaxErrMsgExt
    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:4986,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4988,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4989,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4991,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4992,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pStream
    - pRange
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5001
      start: 4985
    functionDepth: 5
    functionLinenumber: 4985
    functionLinenumberEnd: 5001
    functionName: createRecalcStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    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:5004,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5006,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5007,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5012
      start: 5003
    functionDepth: 5
    functionLinenumber: 5003
    functionLinenumberEnd: 5012
    functionName: createKillStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5015,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5017,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5018,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pQueryId
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5023
      start: 5014
    functionDepth: 5
    functionLinenumber: 5014
    functionLinenumberEnd: 5023
    functionName: createKillQueryStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - trimString
    - nodesMakeNode
    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:5026,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5028,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5033
      start: 5025
    functionDepth: 5
    functionLinenumber: 5025
    functionLinenumberEnd: 5033
    functionName: createBalanceVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5036,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5038,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5043
      start: 5035
    functionDepth: 5
    functionLinenumber: 5035
    functionLinenumberEnd: 5043
    functionName: createAssignLeaderStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5046,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5048,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5049,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pVgId
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5056
      start: 5045
    functionDepth: 5
    functionLinenumber: 5045
    functionLinenumberEnd: 5056
    functionName: createBalanceVgroupLeaderStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5059,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5061,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5062,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5069
      start: 5058
    functionDepth: 5
    functionLinenumber: 5058
    functionLinenumberEnd: 5069
    functionName: createBalanceVgroupLeaderDBNameStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createBalanceVgroupLeaderDBNameStmt(SAstCreateContext* pCxt,
      const SToken* pDbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5072,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5074,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5075,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5076,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pVgId1
    - pVgId2
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5081
      start: 5071
    functionDepth: 5
    functionLinenumber: 5071
    functionLinenumberEnd: 5081
    functionName: createMergeVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5084,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5086,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5087,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5088,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pVgId
    - pDnodes
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5094
      start: 5083
    functionDepth: 6
    functionLinenumber: 5083
    functionLinenumberEnd: 5094
    functionName: createRedistributeVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5097,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5099,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5100,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pVgId
    - force
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5106
      start: 5096
    functionDepth: 5
    functionLinenumber: 5096
    functionLinenumberEnd: 5106
    functionName: createSplitVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5109,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5111,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5116
      start: 5108
    functionDepth: 5
    functionLinenumber: 5108
    functionLinenumberEnd: 5116
    functionName: createSyncdbStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createSyncdbStmt(SAstCreateContext* pCxt, const SToken* pDbName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5120,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5121,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5121,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5122,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5122,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5123,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5123,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5125,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5126,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5128,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5130,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5132,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - pCxt
    - privileges
    - pPrivLevel
    - pUserName
    - pTagCond
    argTypes:
    - SAstCreateContext*
    - int64_t
    - STokenPair*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5138
      start: 5118
    functionDepth: 5
    functionLinenumber: 5118
    functionLinenumberEnd: 5138
    functionName: createGrantStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - checkTableName
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - checkUserName
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: "SNode * createGrantStmt(SAstCreateContext* pCxt, int64_t privileges,
      STokenPair* pPrivLevel, SToken* pUserName,\n                       SNode* pTagCond)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5142,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5143,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5143,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5144,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5144,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5145,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5145,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5147,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5148,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5150,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5152,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5154,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - pCxt
    - privileges
    - pPrivLevel
    - pUserName
    - pTagCond
    argTypes:
    - SAstCreateContext*
    - int64_t
    - STokenPair*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5160
      start: 5140
    functionDepth: 5
    functionLinenumber: 5140
    functionLinenumberEnd: 5160
    functionName: createRevokeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - checkTableName
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - checkUserName
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: "SNode * createRevokeStmt(SAstCreateContext* pCxt, int64_t privileges,
      STokenPair* pPrivLevel, SToken* pUserName,\n                        SNode* pTagCond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5164,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5165,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5166,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5167,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5168,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5169,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5170,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5171,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pFuncName
    argTypes:
    - SAstCreateContext*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5176
      start: 5162
    functionDepth: 6
    functionLinenumber: 5162
    functionLinenumberEnd: 5176
    functionName: createFuncForDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    - snprintf
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5180,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5181,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5182,1
    - Dst: createFuncForDelete
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5185,1
    - Dst: createFuncForDelete
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5186,1
    - Dst: createFuncForDelete
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5187,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5188,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5189,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5190,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5193,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5194,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pWhere
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5197
      start: 5178
    functionDepth: 7
    functionLinenumber: 5178
    functionLinenumberEnd: 5197
    functionName: createDeleteStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - createFuncForDelete
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createDeleteStmt(SAstCreateContext* pCxt, SNode* pTable, SNode*
      pWhere)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5200,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5202,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5203,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5207,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5208,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5209,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5210,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5214,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5215,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - pCols
    - pQuery
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5218
      start: 5199
    functionDepth: 6
    functionLinenumber: 5199
    functionLinenumberEnd: 5218
    functionName: createInsertStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodeType
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5224,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5225,1
    - Dst: checkRsmaName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5225,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5226,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5227,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5232,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5235,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5236,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5237,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5241,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5242,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5243,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5244,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: 5246
      start: 5220
    functionDepth: 6
    functionLinenumber: 5220
    functionLinenumberEnd: 5246
    functionName: createCreateRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - memcpy
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - 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:5249,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5251,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5252,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5257,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5258,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5265
      start: 5248
    functionDepth: 5
    functionLinenumber: 5248
    functionLinenumberEnd: 5265
    functionName: createDropRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5269,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5271,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5272,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5276,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5277,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5278,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: 5292
      start: 5267
    functionDepth: 5
    functionLinenumber: 5267
    functionLinenumberEnd: 5292
    functionName: createAlterRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5295,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5297,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5298,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5299,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5300,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5301,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5306
      start: 5294
    functionDepth: 5
    functionLinenumber: 5294
    functionLinenumberEnd: 5306
    functionName: createShowCreateRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowCreateRsmaStmt(SAstCreateContext* pCxt, ENodeType
      type, SNode* pRealTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5309,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5310,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5310,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5312,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5313,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5314,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5319,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pStart
    - pEnd
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5322
      start: 5308
    functionDepth: 5
    functionLinenumber: 5308
    functionLinenumberEnd: 5322
    functionName: createRollupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5326,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5328,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5330,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5333,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5334,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5341,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5342,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5343,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5344,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: 5346
      start: 5324
    functionDepth: 6
    functionLinenumber: 5324
    functionLinenumberEnd: 5346
    functionName: createRollupVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - snprintf
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5352,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5353,1
    - Dst: checkTsmaName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5353,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5354,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5355,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5361,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5362,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5368,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5371,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5372,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5373,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5374,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5378,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5379,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5380,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5381,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: 5383
      start: 5348
    functionDepth: 5
    functionLinenumber: 5348
    functionLinenumberEnd: 5383
    functionName: createCreateTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTsmaName
    - CHECK_NAME
    - memcpy
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5386,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5388,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5389,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pFuncs
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5395
      start: 5385
    functionDepth: 6
    functionLinenumber: 5385
    functionLinenumberEnd: 5395
    functionName: createTSMAOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5398,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5400,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5405
      start: 5397
    functionDepth: 5
    functionLinenumber: 5397
    functionLinenumberEnd: 5405
    functionName: createDefaultTSMAOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5408,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5410,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5411,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5416,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5417,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5419,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5424
      start: 5407
    functionDepth: 5
    functionLinenumber: 5407
    functionLinenumberEnd: 5424
    functionName: createDropTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5427,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5430,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5431,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - dbName
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5438
      start: 5426
    functionDepth: 5
    functionLinenumber: 5426
    functionLinenumberEnd: 5438
    functionName: createShowTSMASStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5440,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5442,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5444,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5448,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5449,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - dbName
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5456
      start: 5439
    functionDepth: 5
    functionLinenumber: 5439
    functionLinenumberEnd: 5456
    functionName: createShowDiskUsageStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - snprintf
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5459,1
    - Dst: needDbShowStmt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5461,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5462,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5464,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5468,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5469,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5478
      start: 5458
    functionDepth: 5
    functionLinenumber: 5458
    functionLinenumberEnd: 5478
    functionName: createShowStreamsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - snprintf
    - CHECK_MAKE_NODE
    - needDbShowStmt
    - nodesMakeNode
    - nodesDestroyNode
    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:5481,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5482,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5482,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5484,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5485,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5486,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5491,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pStart
    - pEnd
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5494
      start: 5480
    functionDepth: 5
    functionLinenumber: 5480
    functionLinenumberEnd: 5494
    functionName: createScanStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - CHECK_PARSER_STATUS
    - checkDbName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5497,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5499,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5501,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5504,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5505,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5512,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5513,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5514,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5515,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: 5517
      start: 5496
    functionDepth: 6
    functionLinenumber: 5496
    functionLinenumberEnd: 5517
    functionName: createScanVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - nodesDestroyList
    - snprintf
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    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:5520,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5522,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5527
      start: 5519
    functionDepth: 5
    functionLinenumber: 5519
    functionLinenumberEnd: 5527
    functionName: createShowScansStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    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:5530,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5532,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5533,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pScanIdNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5539
      start: 5529
    functionDepth: 5
    functionLinenumber: 5529
    functionLinenumberEnd: 5539
    functionName: createShowScanDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - CHECK_MAKE_NODE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowScanDetailsStmt(SAstCreateContext* pCxt, SNode* pScanIdNode)
  - 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: 210
    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:
    - nodesIsComparisonOp
    - nodeType
    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:
    - REPLACE_NODE
    - isCondition
    - nodeType
    - rewriteIsTrue
    - 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:
    - nodesRewriteExprPostOrder
    - rewriteIsTrue
    - isCondition
    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:
    - calcConstNode
    - rewriteCondition
    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:
    - tstrerror
    - nodeType
    - calcConstCondition
    - qError
    - calcConstNode
    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:
    - rewriteCondition
    - nodeType
    - rewriteConditionForFromTable
    - nodesRewriteExpr
    - calcConstSubquery
    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:
    - nodesDestroyNode
    - nodeType
    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:
    - calcConstNode
    - rewriteCondition
    - rewriteConstCondition
    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:
    - nodesDestroyNode
    - tstrncpy
    - nodesCloneNode
    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:
    - nodesCloneNode
    - scalarCalculateConstants
    - taosArrayDestroy
    - tstrncpy
    - nodeType
    - taosArrayGet
    - taosArrayDup
    - findAndReplaceNode
    - taosArrayGetSize
    - scalarCalculateConstantsFromDual
    - TSWAP
    - nodesDestroyNode
    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:328,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: checkUselessCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - fmIsPseudoColumnFunc
    - fmIsScalarFunc
    - nodeType
    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:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pProj
    argTypes:
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 344
    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:348,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:355,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SValueNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 346
    functionDepth: 5
    functionLinenumber: 346
    functionLinenumberEnd: 363
    functionName: createConstantValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesSetValueNodeValue
    - nodesMakeNode
    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:367,1
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:368,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:368,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:369,1
    - Dst: calcConstProject
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:373,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:375,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:381,1
    - Dst: createConstantValue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:383,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:385,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 365
    functionDepth: 6
    functionLinenumber: 365
    functionLinenumberEnd: 389
    functionName: calcConstProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - REPLACE_NODE
    - nodeType
    - WHERE_EACH
    - ERASE_NODE
    - createConstantValue
    - LIST_LENGTH
    - isUselessCol
    - calcConstProject
    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:392,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:395,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:398,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:399,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:406,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 391
    functionDepth: 5
    functionLinenumber: 391
    functionLinenumberEnd: 415
    functionName: calcConstGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - ERASE_NODE
    - calcConstList
    - nodeType
    - FOREACH
    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:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 7
    functionLinenumber: 417
    functionLinenumberEnd: 419
    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:422,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:423,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:425,1
    - Dst: calcConstProjections
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:434,1
    - Dst: calcConstStmtCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:437,1
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:440,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:443,1
    - Dst: calcConstGroupBy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:446,1
    - Dst: calcConstStmtCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:449,1
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:452,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:455,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:458,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 421
    functionDepth: 7
    functionLinenumber: 421
    functionLinenumberEnd: 461
    functionName: calcConstSelectFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodeType
    - calcConstProjections
    - calcConstGroupBy
    - calcConstStmtCondition
    - calcConstNode
    - calcConstFromTable
    - calcConstList
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstSelectFrom(SCalcConstContext* pCxt, SSelectStmt* pSelect,
      bool subquery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcConstSelectWithoutFrom
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:465,1
    - Dst: calcConstSelectFrom
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 463
    functionDepth: 8
    functionLinenumber: 463
    functionLinenumberEnd: 469
    functionName: calcConstSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - 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:472,1
    - Dst: calcConstStmtCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - SCalcConstContext*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 6
    functionLinenumber: 471
    functionLinenumberEnd: 480
    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:483,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - SCalcConstContext*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 4
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: calcConstInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcConstFromTable
    - calcConstQuery
    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:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 500
    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:503,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:504,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:504,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:505,1
    - Dst: eraseSetOpChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:506,1
    - Dst: getChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:508,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:509,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:509,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:510,1
    - Dst: eraseSetOpChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pSetOp
    - index
    argTypes:
    - SSetOperator*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 502
    functionDepth: 5
    functionLinenumber: 502
    functionLinenumberEnd: 513
    functionName: eraseSetOpChildProjection
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - nodesListGetCell
    - nodeType
    - nodesListErase
    - eraseSetOpChildProjection
    - getChildProjection
    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:521,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: notRefByOrderByImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - nodeType
    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:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCol
    - pOrderByList
    argTypes:
    - SColumnNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 535
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:541,1
    - Dst: isDistinctSubQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:545,1
    - Dst: isDistinctSubQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 550
    functionName: isDistinctSubQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - isDistinctSubQuery
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isDistinctSubQuery(SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:553,1
    - Dst: getChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:557,1
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:558,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:558,1
    - Dst: isDistinctSubQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:558,1
    - Dst: getChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:562,1
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:563,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:563,1
    - Dst: isDistinctSubQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pSetOp
    - index
    - pProj
    argTypes:
    - SSetOperator*
    - int32_t
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 568
    functionName: isSetUselessCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - getChildProjection
    - nodesListGetNode
    - isDistinctSubQuery
    - 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:576,1
    - Dst: notRefByOrderBy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:577,1
    - Dst: isSetUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:578,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:579,1
    - Dst: eraseSetOpChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:580,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:586,1
    - Dst: createConstantValue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:588,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:590,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pSetOp
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSetOperator*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 570
    functionDepth: 6
    functionLinenumber: 570
    functionLinenumberEnd: 594
    functionName: calcConstSetOpProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - notRefByOrderBy
    - nodesListStrictAppend
    - WHERE_EACH
    - isSetUselessCol
    - eraseSetOpChildProjection
    - ERASE_NODE
    - createConstantValue
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstSetOpProjections(SCalcConstContext* pCxt, SSetOperator*
      pSetOp, bool subquery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calcConstSetOpProjections
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:597,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:599,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:602,1
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pSetOp
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSetOperator*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 596
    functionDepth: 7
    functionLinenumber: 596
    functionLinenumberEnd: 608
    functionName: calcConstSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcConstList
    - calcConstSetOpProjections
    - calcConstQuery
    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:612,1
    - Dst: calcConstSelect
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:614,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:617,1
    - Dst: calcConstSetOperator
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:620,1
    - Dst: calcConstDelete
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:624,1
    - Dst: calcConstInsert
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - subquery
    argTypes:
    - SCalcConstContext*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 610
    functionDepth: 9
    functionLinenumber: 610
    functionLinenumberEnd: 633
    functionName: calcConstQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 4
    functionsReached:
    - calcConstDelete
    - nodeType
    - calcConstQuery
    - calcConstInsert
    - calcConstSetOperator
    - calcConstSelect
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstQuery(SCalcConstContext* pCxt, SNode* pStmt, bool
      subquery)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:637,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:642,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:646,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 659
    functionName: isEmptyResultQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - isEmptyResultQuery
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isEmptyResultQuery(SNode* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pProjects
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 670
    functionName: resetProjectNullTypeImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetProjectNullTypeImpl(SNodeList* pProjects)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 212
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProj, pProjects)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:673,1
    - Dst: resetProjectNullTypeImpl
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:675,1
    - Dst: resetProjectNullTypeImpl
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:679,1
    - Dst: resetProjectNullType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:681,1
    - Dst: resetProjectNullType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 689
    functionName: resetProjectNullType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - resetProjectNullType
    - resetProjectNullTypeImpl
    - nodeType
    linkageType: ''
    returnType: void
    signature: void resetProjectNullType(SNode* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:697,1
    - Dst: resetProjectNullType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:699,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pParseCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 691
    functionDepth: 10
    functionLinenumber: 691
    functionLinenumberEnd: 705
    functionName: calculateConstant
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 3
    functionsReached:
    - isEmptyResultQuery
    - resetProjectNullType
    - calcConstQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t calculateConstant(SParseContext* pParseCxt, SQuery* pQuery)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:106,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:108,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 111
    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:114,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:114,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:115,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:116,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - queryRpc
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: qwtBuildQueryReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - htonl
    - atomic_add_fetch_64
    - htobe64
    linkageType: ''
    returnType: void
    signature: void qwtBuildQueryReqMsg(SRpcMsg *queryRpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:125,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:126,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:126,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fetchMsg
    - fetchRpc
    argTypes:
    - SResFetchReq*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: qwtBuildFetchReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - atomic_load_64
    - htobe64
    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:135,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:138,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:143,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - dropMsg
    - dropRpc
    argTypes:
    - STaskDropReq*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: qwtBuildDropReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tSerializeSTaskDropReq
    - taosMemoryFree
    - atomic_load_64
    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: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    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:167,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:168,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:170,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:171,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:173,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:182,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:183,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:185,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:187,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:188,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - node
    - pMsg
    argTypes:
    - void*
    - struct SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 193
    functionName: qwtPutReqToFetchQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - tsem_post
    - memcpy
    - TD_ALWAYS_ASSERT
    - taosWUnLockLatch
    - printf
    - 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:196,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:197,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:199,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:200,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:202,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:211,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:212,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:214,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:216,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:217,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - node
    - qtype
    - pMsg
    argTypes:
    - void*
    - EQueueType
    - struct SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 222
    functionName: qwtPutReqToQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - tsem_post
    - memcpy
    - TD_ALWAYS_ASSERT
    - taosWUnLockLatch
    - printf
    - 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: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    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:234,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:236,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:239,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:241,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:246,1
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:254,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:255,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:257,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:260,1
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:264,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:266,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:269,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:271,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:274,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:280,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 290
    functionName: qwtRpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - qwtBuildFetchReqMsg
    - qwtBuildDropReqMsg
    - qwtPutReqToFetchQueue
    - 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:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - tsdb
    - vgId
    - taskId
    - pPlan
    - pTaskInfo
    - handle
    argTypes:
    - void*
    - int32_t
    - uint64_t
    - struct SSubplan*
    - qTaskInfo_t*
    - DataSinkHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 304
    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)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:315,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:319,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:323,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:328,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:333,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:337,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - tinfo
    - pRes
    - useconds
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 345
    functionName: qwtExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - taosRand
    - taosUsleep
    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: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    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: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    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:353,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:356,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:358,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - handle
    - pInput
    - pContinue
    argTypes:
    - DataSinkHandle
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: qwtPutDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosWLockLatch
    - taosMemoryFree
    - taosWUnLockLatch
    - TD_ALWAYS_ASSERT
    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:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - useconds
    argTypes:
    - DataSinkHandle
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 378
    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:384,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:387,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:390,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:393,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:395,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:401,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - handle
    - pLen
    - pQueryEnd
    argTypes:
    - DataSinkHandle
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 406
    functionName: qwtGetDataLength
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_32
    - atomic_sub_fetch_32
    - TD_ALWAYS_ASSERT
    - taosWUnLockLatch
    - taosWLockLatch
    - taosRand
    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:409,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:411,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:421,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:435,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:438,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - handle
    - pOutput
    argTypes:
    - DataSinkHandle
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 443
    functionName: qwtGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosWLockLatch
    - taosWUnLockLatch
    - TD_ALWAYS_ASSERT
    - 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: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    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:449,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:454,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:459,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 465
    functionName: stubSetStringToPlan
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetStringToPlan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:469,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:474,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:479,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 485
    functionName: stubSetExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetExecTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:489,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:494,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:499,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 505
    functionName: stubSetCreateExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetCreateExecTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:509,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:514,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:519,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 525
    functionName: stubSetAsyncKillTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetAsyncKillTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:529,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:534,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:539,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 545
    functionName: stubSetDestroyTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetDestroyTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:549,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:554,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:559,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 565
    functionName: stubSetDestroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetDestroyDataSinker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:569,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:574,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:579,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 585
    functionName: stubSetGetDataLength
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetGetDataLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:589,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:594,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:599,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 605
    functionName: stubSetEndPut
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetEndPut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:609,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:614,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:619,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 625
    functionName: stubSetPutDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetPutDataBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:629,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:634,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:639,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 645
    functionName: stubSetRpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetRpcSendResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:649,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:654,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:659,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 665
    functionName: stubSetGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetGetDataBlock()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:675,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:676,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:678,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:678,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 686
    functionName: queryThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qwtBuildQueryReqMsg
    - taosUsleep
    - printf
    - qWorkerProcessQueryMsg
    - taosRand
    linkageType: ''
    returnType: void
    signature: void *queryThread(void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:697,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:698,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:700,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:700,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 708
    functionName: fetchThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerProcessFetchMsg
    - taosUsleep
    - qwtBuildFetchReqMsg
    - printf
    - taosRand
    linkageType: ''
    returnType: void
    signature: void *fetchThread(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:719,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:722,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:725,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:725,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 733
    functionName: dropThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerProcessDropMsg
    - taosUsleep
    - qwtBuildDropReqMsg
    - printf
    - taosRand
    linkageType: ''
    returnType: void
    signature: void *dropThread(void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:742,1
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:747,1
    - Dst: qwtPutReqToQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:748,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:751,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:755,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 762
    functionName: qwtclientThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_32
    - qwtBuildQueryReqMsg
    - qwtPutReqToQueue
    - taosUsleep
    - taosSsleep
    - printf
    linkageType: ''
    returnType: void
    signature: void *qwtclientThread(void *param)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:770,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:776,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:778,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:779,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:789,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:792,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:795,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:800,1
    - Dst: qWorkerProcessCQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:802,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:804,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:805,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:808,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:815,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 818
    functionName: queryQueueThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - atomic_add_fetch_32
    - taosMemoryFree
    - TD_ALWAYS_ASSERT
    - taosUsleep
    - taosWUnLockLatch
    - printf
    - qWorkerProcessQueryMsg
    - qWorkerProcessCQueryMsg
    - taosWLockLatch
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: void *queryQueueThread(void *param)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:826,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:832,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:834,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:835,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:845,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:848,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:851,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:858,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:864,1
    - Dst: qWorkerProcessNotifyMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:867,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:870,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:871,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:875,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:882,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 885
    functionName: fetchQueueThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - qWorkerProcessFetchMsg
    - atomic_add_fetch_32
    - qWorkerProcessDropMsg
    - taosMemoryFree
    - TD_ALWAYS_ASSERT
    - taosUsleep
    - taosWUnLockLatch
    - printf
    - taosWLockLatch
    - qWorkerProcessNotifyMsg
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: void *fetchQueueThread(void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:106,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:108,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 111
    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:114,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:114,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:115,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:116,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - queryRpc
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: qwtBuildQueryReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 2
    functionsReached:
    - htonl
    - atomic_add_fetch_64
    - htobe64
    linkageType: ''
    returnType: void
    signature: void qwtBuildQueryReqMsg(SRpcMsg *queryRpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:125,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:126,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:126,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fetchMsg
    - fetchRpc
    argTypes:
    - SResFetchReq*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: qwtBuildFetchReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 2
    functionsReached:
    - atomic_load_64
    - htobe64
    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:135,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:138,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:143,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - dropMsg
    - dropRpc
    argTypes:
    - STaskDropReq*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: qwtBuildDropReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 2
    functionsReached:
    - taosMemoryCalloc
    - tSerializeSTaskDropReq
    - taosMemoryFree
    - atomic_load_64
    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: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    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:167,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:168,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:170,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:171,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:173,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:182,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:183,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:185,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:187,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:188,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - node
    - pMsg
    argTypes:
    - void*
    - struct SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 193
    functionName: qwtPutReqToFetchQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 1
    functionsReached:
    - tsem_post
    - memcpy
    - TD_ALWAYS_ASSERT
    - taosWUnLockLatch
    - printf
    - 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:196,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:197,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:199,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:200,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:202,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:211,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:212,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:214,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:216,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:217,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - node
    - qtype
    - pMsg
    argTypes:
    - void*
    - EQueueType
    - struct SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 222
    functionName: qwtPutReqToQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 1
    functionsReached:
    - tsem_post
    - memcpy
    - TD_ALWAYS_ASSERT
    - taosWUnLockLatch
    - printf
    - 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: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    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:234,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:236,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:239,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:241,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:246,1
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:254,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:255,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:257,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:260,1
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:264,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:266,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:269,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:271,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:274,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:280,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 290
    functionName: qwtRpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - qwtBuildFetchReqMsg
    - qwtBuildDropReqMsg
    - qwtPutReqToFetchQueue
    - 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:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - tsdb
    - vgId
    - taskId
    - pPlan
    - pTaskInfo
    - handle
    argTypes:
    - void*
    - int32_t
    - uint64_t
    - struct SSubplan*
    - qTaskInfo_t*
    - DataSinkHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 304
    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)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:315,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:319,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:323,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:328,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:333,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:337,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - tinfo
    - pRes
    - useconds
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 345
    functionName: qwtExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - taosRand
    - taosUsleep
    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: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    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: 349
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 349
    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:353,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:356,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:358,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - handle
    - pInput
    - pContinue
    argTypes:
    - DataSinkHandle
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: qwtPutDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosWLockLatch
    - taosMemoryFree
    - taosWUnLockLatch
    - TD_ALWAYS_ASSERT
    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:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - useconds
    argTypes:
    - DataSinkHandle
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 378
    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:384,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:387,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:390,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:393,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:395,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:401,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - handle
    - pLen
    - pQueryEnd
    argTypes:
    - DataSinkHandle
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 406
    functionName: qwtGetDataLength
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_32
    - atomic_sub_fetch_32
    - TD_ALWAYS_ASSERT
    - taosWUnLockLatch
    - taosWLockLatch
    - taosRand
    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:409,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:411,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:421,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:435,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:438,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - handle
    - pOutput
    argTypes:
    - DataSinkHandle
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 443
    functionName: qwtGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosWLockLatch
    - taosWUnLockLatch
    - TD_ALWAYS_ASSERT
    - 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: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    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:449,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:454,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:459,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 465
    functionName: stubSetStringToPlan
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetStringToPlan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:469,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:474,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:479,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 485
    functionName: stubSetExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetExecTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:489,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:494,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:499,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 505
    functionName: stubSetCreateExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetCreateExecTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:509,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:514,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:519,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 525
    functionName: stubSetAsyncKillTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetAsyncKillTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:529,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:534,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:539,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 545
    functionName: stubSetDestroyTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetDestroyTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:549,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:554,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:559,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 565
    functionName: stubSetDestroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetDestroyDataSinker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:569,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:574,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:579,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 585
    functionName: stubSetGetDataLength
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetGetDataLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:589,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:594,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:599,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 605
    functionName: stubSetEndPut
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetEndPut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:609,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:614,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:619,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 625
    functionName: stubSetPutDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetPutDataBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:629,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:634,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:639,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 645
    functionName: stubSetRpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetRpcSendResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:649,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:654,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:659,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 665
    functionName: stubSetGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::get_global_func_addr_dynsym
    linkageType: ''
    returnType: void
    signature: void stubSetGetDataBlock()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:675,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:676,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:678,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:678,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 686
    functionName: queryThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qwtBuildQueryReqMsg
    - taosUsleep
    - printf
    - qWorkerProcessQueryMsg
    - taosRand
    linkageType: ''
    returnType: void
    signature: void *queryThread(void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:697,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:698,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:700,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:700,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 708
    functionName: fetchThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerProcessFetchMsg
    - taosUsleep
    - qwtBuildFetchReqMsg
    - printf
    - taosRand
    linkageType: ''
    returnType: void
    signature: void *fetchThread(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:719,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:722,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:725,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:725,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 733
    functionName: dropThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerProcessDropMsg
    - taosUsleep
    - qwtBuildDropReqMsg
    - printf
    - taosRand
    linkageType: ''
    returnType: void
    signature: void *dropThread(void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:742,1
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:747,1
    - Dst: qwtPutReqToQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:748,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:751,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:755,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 762
    functionName: qwtclientThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_32
    - qwtBuildQueryReqMsg
    - qwtPutReqToQueue
    - taosUsleep
    - taosSsleep
    - printf
    linkageType: ''
    returnType: void
    signature: void *qwtclientThread(void *param)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:770,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:776,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:778,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:779,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:789,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:792,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:795,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:800,1
    - Dst: qWorkerProcessCQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:802,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:804,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:805,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:808,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:815,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 818
    functionName: queryQueueThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - atomic_add_fetch_32
    - taosMemoryFree
    - TD_ALWAYS_ASSERT
    - taosUsleep
    - taosWUnLockLatch
    - printf
    - qWorkerProcessQueryMsg
    - qWorkerProcessCQueryMsg
    - taosWLockLatch
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: void *queryQueueThread(void *param)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:826,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:832,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:834,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:835,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:845,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:848,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:851,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:858,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:864,1
    - Dst: qWorkerProcessNotifyMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:867,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:870,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:871,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:875,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:882,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 885
    functionName: fetchQueueThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - qWorkerProcessFetchMsg
    - atomic_add_fetch_32
    - qWorkerProcessDropMsg
    - taosMemoryFree
    - TD_ALWAYS_ASSERT
    - taosUsleep
    - taosWUnLockLatch
    - printf
    - taosWLockLatch
    - qWorkerProcessNotifyMsg
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: void *fetchQueueThread(void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:897,1
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:899,1
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:900,1
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:901,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:903,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:904,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:905,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:906,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:907,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:908,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:909,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:910,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:911,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:912,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:913,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:918,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:919,1
    - Dst: qWorkerProcessQueryMsg
      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: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:927,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:928,1
    - Dst: qWorkerProcessDropMsg
      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: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 934
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetCreateExecTask
    - stubSetExecTask
    - qWorkerProcessDropMsg
    - qwtBuildDropReqMsg
    - stubSetGetDataBlock
    - stubSetDestroyTask
    - qWorkerInit
    - qWorkerProcessQueryMsg
    - stubSetGetDataLength
    - qwtInitLogFile
    - ASSERT_EQ
    - stubSetDestroyDataSinker
    - stubSetRpcSendResponse
    - stubSetStringToPlan
    - stubSetAsyncKillTask
    - qwtBuildQueryReqMsg
    - stubSetEndPut
    - qWorkerProcessFetchMsg
    - stubSetPutDataBlock
    - qWorkerDestroy
    - qwtBuildFetchReqMsg
    linkageType: ''
    returnType: void
    signature: void TEST(seqTest, normalCase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:943,1
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:945,1
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:946,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:948,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:949,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:954,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:955,1
    - Dst: qWorkerProcessDropMsg
      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: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:960,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:961,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 964
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetRpcSendResponse
    - qwtBuildQueryReqMsg
    - qWorkerProcessDropMsg
    - qWorkerDestroy
    - qwtInitLogFile
    - qwtBuildDropReqMsg
    - ASSERT_TRUE
    - qWorkerInit
    - qWorkerProcessQueryMsg
    - ASSERT_EQ
    - stubSetStringToPlan
    linkageType: ''
    returnType: void
    signature: void TEST(seqTest, cancelFirst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:980,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:982,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:983,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:984,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:986,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:986,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:991,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:992,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:997,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1000,1
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1001,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1002,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1011,1
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1012,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1013,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1015,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1018,1
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1019,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1020,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1022,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1025,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1027,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1030,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1035,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 1036
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetCreateExecTask
    - qWorkerProcessFetchMsg
    - stubSetRpcSendResponse
    - qwtBuildQueryReqMsg
    - qWorkerProcessDropMsg
    - qWorkerDestroy
    - taosGetTimestampSec
    - taosSeedRand
    - taosUsleep
    - qwtInitLogFile
    - qwtBuildFetchReqMsg
    - printf
    - qwtBuildDropReqMsg
    - qWorkerInit
    - qWorkerProcessQueryMsg
    - ASSERT_EQ
    - stubSetStringToPlan
    - taosRand
    linkageType: ''
    returnType: void
    signature: void TEST(seqTest, randCase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1043,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1045,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1046,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1047,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1048,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1049,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1050,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1051,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1052,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1053,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1054,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1055,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1057,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1057,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1062,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1063,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1066,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1069,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1071,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:1073,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1077,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1079,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1085,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1038
    functionDepth: 2
    functionLinenumber: 1038
    functionLinenumberEnd: 1097
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetCreateExecTask
    - stubSetExecTask
    - taosSeedRand
    - stubSetGetDataBlock
    - stubSetDestroyTask
    - qWorkerInit
    - stubSetGetDataLength
    - qwtInitLogFile
    - ASSERT_EQ
    - stubSetDestroyDataSinker
    - stubSetRpcSendResponse
    - stubSetStringToPlan
    - stubSetAsyncKillTask
    - stubSetEndPut
    - taosGetTimestampSec
    - stubSetPutDataBlock
    - qWorkerDestroy
    - taosThreadAttrInit
    - taosThreadCreate
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: void TEST(seqTest, multithreadRand)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1104,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1106,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1107,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1108,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1109,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1110,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1111,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1112,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1113,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1114,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1115,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1116,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1118,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1118,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1125,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1126,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1131,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1132,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1135,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1138,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1139,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1140,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1144,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1146,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1158,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1162,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1163,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1165,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1099
    functionDepth: 2
    functionLinenumber: 1099
    functionLinenumberEnd: 1180
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetCreateExecTask
    - stubSetExecTask
    - taosSeedRand
    - stubSetGetDataBlock
    - stubSetDestroyTask
    - qWorkerInit
    - stubSetGetDataLength
    - tsem_post
    - qwtInitLogFile
    - ASSERT_EQ
    - stubSetDestroyDataSinker
    - stubSetRpcSendResponse
    - stubSetStringToPlan
    - stubSetAsyncKillTask
    - stubSetEndPut
    - taosGetTimestampSec
    - stubSetPutDataBlock
    - qWorkerDestroy
    - taosThreadAttrInit
    - taosThreadCreate
    - taosSsleep
    - taosUsleep
    - tsem_init
    linkageType: ''
    returnType: void
    signature: void TEST(rcTest, shortExecshortDelay)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1187,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1189,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1190,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1191,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1192,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1193,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1194,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1195,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1196,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1197,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1198,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1199,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1201,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1201,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1208,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1209,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1214,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1215,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1218,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1221,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1222,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1223,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1227,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1229,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1241,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1245,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1246,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1248,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1263
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetCreateExecTask
    - stubSetExecTask
    - taosSeedRand
    - stubSetGetDataBlock
    - stubSetDestroyTask
    - qWorkerInit
    - stubSetGetDataLength
    - tsem_post
    - qwtInitLogFile
    - ASSERT_EQ
    - stubSetDestroyDataSinker
    - stubSetRpcSendResponse
    - stubSetStringToPlan
    - stubSetAsyncKillTask
    - stubSetEndPut
    - taosGetTimestampSec
    - stubSetPutDataBlock
    - qWorkerDestroy
    - taosThreadAttrInit
    - taosThreadCreate
    - taosSsleep
    - taosUsleep
    - tsem_init
    linkageType: ''
    returnType: void
    signature: void TEST(rcTest, longExecshortDelay)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1270,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1272,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1273,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1274,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1275,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1276,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1277,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1278,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1279,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1280,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1281,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1282,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1284,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1284,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1291,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1292,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1297,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1298,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1301,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1304,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1305,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1306,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1310,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1312,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1324,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1328,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1329,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1331,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1265
    functionDepth: 2
    functionLinenumber: 1265
    functionLinenumberEnd: 1346
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetCreateExecTask
    - stubSetExecTask
    - taosSeedRand
    - stubSetGetDataBlock
    - stubSetDestroyTask
    - qWorkerInit
    - stubSetGetDataLength
    - tsem_post
    - qwtInitLogFile
    - ASSERT_EQ
    - stubSetDestroyDataSinker
    - stubSetRpcSendResponse
    - stubSetStringToPlan
    - stubSetAsyncKillTask
    - stubSetEndPut
    - taosGetTimestampSec
    - stubSetPutDataBlock
    - qWorkerDestroy
    - taosThreadAttrInit
    - taosThreadCreate
    - taosSsleep
    - taosUsleep
    - tsem_init
    linkageType: ''
    returnType: void
    signature: void TEST(rcTest, shortExeclongDelay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1353,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1355,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1356,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1357,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1358,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1359,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1360,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1361,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1362,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1363,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1364,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1365,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1367,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1367,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1372,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1373,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1375,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1376,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1379,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1382,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1383,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1384,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1388,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1390,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1396,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1348
    functionDepth: 2
    functionLinenumber: 1348
    functionLinenumberEnd: 1399
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetCreateExecTask
    - stubSetExecTask
    - taosSeedRand
    - stubSetGetDataBlock
    - stubSetDestroyTask
    - qWorkerInit
    - stubSetGetDataLength
    - qwtInitLogFile
    - ASSERT_EQ
    - stubSetDestroyDataSinker
    - stubSetRpcSendResponse
    - stubSetStringToPlan
    - stubSetAsyncKillTask
    - stubSetEndPut
    - taosGetTimestampSec
    - stubSetPutDataBlock
    - qWorkerDestroy
    - taosThreadAttrInit
    - taosThreadCreate
    - taosSsleep
    - tsem_init
    linkageType: ''
    returnType: void
    signature: void TEST(rcTest, dropTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1402,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1402,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1403,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1405
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 2
    functionsReached:
    - RUN_ALL_TESTS
    - testing::InitGoogleTest
    - taosGetTimestampSec
    - 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: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    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: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    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: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    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: 296
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 296
    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: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    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: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    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: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    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: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    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: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    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: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    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: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    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: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    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: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    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: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    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: 328
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 328
    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: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    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: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    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: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    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: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    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: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    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: 341
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 341
    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: 347
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 347
    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: 356
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 356
    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: 364
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 364
    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: 370
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 370
    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: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    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: 385
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 385
    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: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    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: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    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: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    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: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    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: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    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: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    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: 414
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 414
    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: 415
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 415
    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: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    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: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    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: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    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: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    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: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    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: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    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: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    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: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    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: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    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: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    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: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    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: 479
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 479
    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: 510
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 510
    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: 519
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 519
    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:524,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/inc/qwInt.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: qwAcquire
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached:
    - atomic_load_32
    - taosAcquireRef
    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:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 526
    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_DLOG
    - QW_ERR_RET
    - taosGetTimestampMs
    - qwReleaseScheduler
    - qwAcquireScheduler
    - tmsgReleaseHandle
    - QW_LOCK
    - QW_UNLOCK
    - QW_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
    - qwFreeTaskHandle
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_SINK_ENABLE_MEMPOOL
    - dsGetDataLength
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwHandleTaskComplete(QW_FPARAMS_DEF, SQWTaskCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - 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: 3
    EdgeCount: 3
    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_ERR_RET
    - tstrerror
    - taosGetTimestampSec
    - QW_TASK_DLOG
    - qwBuildAndSendQueryRsp
    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: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:126,1
    - Dst: qExecTaskOpt
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:127,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:128,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:132,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:132,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:134,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:134,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:136,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:142,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:144,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:146,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:150,1
    - Dst: dsPutDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:151,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:152,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:155,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:155,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:156,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:159,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:165,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:167,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:170,1
    - Dst: qwHandleTaskComplete
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:170,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:170,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:173,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:175,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:181,1
    - Dst: dsEndPut
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:182,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:183,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:204,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:208,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:215,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:218,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:221,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 3
    argNames:
    - ctx
    - queryStop
    - processOneBlock
    argTypes:
    - SQWTaskCtx*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 222
    functionName: qwExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - tstrerror
    - QW_EVENT_RECEIVED
    - QW_SINK_ENABLE_MEMPOOL
    - QW_TASK_ELOG
    - taosEnableMemPoolUsage
    - dsEndPut
    - QW_SINK_DISABLE_MEMPOOL
    - taosDisableMemPoolUsage
    - QW_TASK_DLOG
    - qExecTaskOpt
    - QW_RET
    - QW_ERR_RET
    - dsPutDataBlock
    - qwFreeTaskHandle
    - qwDbgSimulateSleep
    - taosArrayGetSize
    - qwHandleTaskComplete
    - QW_ERR_JRET
    - taosArrayGetP
    - QW_FPARAMS
    - atomic_load_32
    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:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 231
    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:240,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:242,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:244,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:246,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:247,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:256,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:259,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:263,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:267,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:268,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:274,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - mgmt
    - sch
    - hbInfo
    argTypes:
    - SQWorker*
    - SQWSchStatus*
    - SQWHbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 280
    functionName: qwGenerateSchHbRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - taosHashGetKey
    - taosHashCancelIterate
    - taosHashIterate
    - QW_GET_QTID
    - QW_ELOG
    - QW_LOCK
    - taosHashGetSize
    - QW_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwGenerateSchHbRsp(SQWorker *mgmt, SQWSchStatus *sch, SQWHbInfo
      *hbInfo)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:300,1
    - Dst: dsGetDataLength
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:301,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:302,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:305,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:306,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:311,1
    - Dst: dsGetDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:312,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:313,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:316,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:316,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:317,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:320,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:324,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:324,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:324,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:328,1
    - Dst: qwMallocFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:328,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:343,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:348,1
    - Dst: qwMallocFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:348,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:357,1
    - Dst: dsGetDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:358,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:359,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:362,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:362,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:363,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:380,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:382,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:382,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:382,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:387,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:393,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 5
    argNames:
    - ctx
    - dataLen
    - pRawDataLen
    - rspMsg
    - pOutput
    argTypes:
    - SQWTaskCtx*
    - int32_t*
    - int32_t*
    - void**
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 404
    functionName: qwGetQueryResFromSink
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_SINK_DISABLE_MEMPOOL
    - qwMallocFetchRsp
    - tstrerror
    - QW_ERR_JRET
    - dsGetDataBlock
    - QW_TASK_DLOG
    - qwUpdateTaskStatus
    - QW_FPARAMS
    - QW_SINK_ENABLE_MEMPOOL
    - dsGetDataLength
    - QW_TASK_ELOG
    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:413,1
    - Dst: dsGetDataLength
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:414,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:415,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:418,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:419,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:422,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:424,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:427,1
    - Dst: dsGetDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:428,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:429,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:433,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:434,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:441,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:445,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:446,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - pRes
    argTypes:
    - SQWTaskCtx*
    - SDeleteRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 450
    functionName: qwGetDeleteResFromSink
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - QW_SINK_DISABLE_MEMPOOL
    - QW_ERR_RET
    - taosMemoryCalloc
    - tstrerror
    - taosGetTimestampMs
    - dsGetDataBlock
    - QW_SINK_ENABLE_MEMPOOL
    - dsGetDataLength
    - taosMemoryFree
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwGetDeleteResFromSink(QW_FPARAMS_DEF, SQWTaskCtx *ctx, SDeleteRes
      *pRes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:458,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:458,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:458,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:460,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:469,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:469,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:473,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:485,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:487,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:489,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:495,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:497,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:497,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:500,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:500,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:506,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - qwMsg
    - code
    argTypes:
    - SQWMsg*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 510
    functionName: qwQuickRspFetchReq
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    - qwFreeSinkHandle
    - tstrerror
    - qwGetQueryResFromSink
    - qwReleaseTaskCtx
    - QW_ERR_JRET
    - QW_EVENT_RECEIVED
    - qwBuildAndSendFetchRsp
    - QW_TASK_DLOG
    - qwBuildFetchRsp
    - qwFreeFetchRsp
    - QW_FPARAMS
    - qwAcquireTaskCtx
    - QW_SET_EVENT_PROCESSED
    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:514,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:515,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:518,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:519,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:527,1
    - Dst: dsReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:528,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:529,1
    - Dst: qUpdateOperatorParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:531,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:533,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:535,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:536,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:537,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:538,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:539,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:540,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:541,1
    - Dst: qwBuildAndSendCQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:541,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - qwMsg
    argTypes:
    - SQWTaskCtx*
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 545
    functionName: qwStartDynamicTaskNewExec
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_SINK_DISABLE_MEMPOOL
    - atomic_store_8
    - QW_ERR_RET
    - atomic_val_compare_exchange_8
    - qUpdateOperatorParam
    - QW_TASK_DLOG
    - atomic_load_8
    - qwBuildAndSendCQueryMsg
    - dsReset
    - QW_FPARAMS
    - QW_SET_EVENT_RECEIVED
    - QW_QUERY_RUNNING
    - QW_SINK_ENABLE_MEMPOOL
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwStartDynamicTaskNewExec(QW_FPARAMS_DEF, SQWTaskCtx *ctx,
      SQWMsg *qwMsg)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:551,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:551,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:553,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:553,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:553,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:555,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:557,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:557,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:558,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:558,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:559,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:564,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:565,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:566,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:569,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:570,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:570,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:571,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:574,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:575,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:575,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:575,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:580,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:584,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:584,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:586,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:586,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:588,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:591,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:591,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:591,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:595,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:596,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:597,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:600,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:600,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:601,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:601,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:602,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:605,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:606,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:606,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:607,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:611,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:611,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:611,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:612,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:616,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:616,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:617,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:622,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:623,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:628,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:629,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:629,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:630,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:634,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:634,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:634,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:635,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:638,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:639,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:639,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:639,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:644,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:650,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:650,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:651,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:655,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:655,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:655,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:656,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:659,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:664,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:667,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:670,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:671,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:675,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:675,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:675,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:677,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:677,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:677,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:680,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 100
    argCount: 3
    argNames:
    - phase
    - input
    - output
    argTypes:
    - int8_t
    - SQWPhaseInput*
    - SQWPhaseOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 681
    functionName: qwHandlePrePhaseEvents
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwDropTask
    - tstrerror
    - qwReleaseTaskCtx
    - QW_EVENT_RECEIVED
    - qwUpdateTaskStatus
    - QW_SET_PHASE
    - QW_UPDATE_RSP_CODE
    - QW_TASK_ELOG
    - QW_TASK_WLOG
    - QW_TASK_DLOG
    - QW_RET
    - qwPhaseStr
    - QW_EVENT_PROCESSED
    - QW_UNLOCK
    - qwAcquireTaskCtx
    - QW_ERR_JRET
    - atomic_load_8
    - QW_FPARAMS
    - atomic_load_32
    - QW_LOCK
    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:688,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:688,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:690,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:690,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:690,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:692,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:694,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:695,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:695,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:696,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:699,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:700,1
    - Dst: qwTaskNotInExec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:700,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:701,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:701,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:701,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:707,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:707,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:708,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:709,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:712,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:717,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:717,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:719,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:719,1
    - Dst: qwDbgSimulateRedirect
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:728,1
    - Dst: qwDbgSimulateDead
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:729,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:729,1
    - Dst: qwSendQueryRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:731,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:731,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:739,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:742,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:746,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:746,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:750,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:751,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:754,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:754,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:754,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:756,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - phase
    - input
    - output
    argTypes:
    - int8_t
    - SQWPhaseInput*
    - SQWPhaseOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 757
    functionName: qwHandlePostPhaseEvents
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwDropTask
    - tstrerror
    - qwSendQueryRsp
    - qwReleaseTaskCtx
    - QW_EVENT_RECEIVED
    - qwUpdateTaskStatus
    - QW_SET_PHASE
    - QW_QUERY_RUNNING
    - QW_UPDATE_RSP_CODE
    - QW_TASK_ELOG
    - QW_TASK_WLOG
    - QW_TASK_DLOG
    - QW_RET
    - qwPhaseStr
    - qwDbgSimulateRedirect
    - QW_EVENT_PROCESSED
    - qwTaskNotInExec
    - QW_UNLOCK
    - qwAcquireTaskCtx
    - QW_ERR_JRET
    - qwDbgSimulateDead
    - QW_FPARAMS
    - QW_LOCK
    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:763,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:763,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:763,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:765,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:766,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:766,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:766,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 773
    functionName: qwAbortPrerocessQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwDropTask
    - QW_ERR_RET
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_LOCK
    - QW_UNLOCK
    - qwAcquireTaskCtx
    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:779,1
    - Dst: qwRegisterQueryBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:779,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:779,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:781,1
    - Dst: qwAddTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:781,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:781,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:783,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:783,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:783,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:785,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:787,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:787,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:788,1
    - Dst: QW_GET_EVENT
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:788,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:789,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:797,1
    - Dst: qwInitSession
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:797,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:797,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:800,1
    - Dst: qwAddTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:800,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:800,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:802,1
    - Dst: qwSendQueryRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:802,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:802,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:807,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:809,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:809,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:812,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:813,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:816,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - qwMsg
    argTypes:
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 819
    functionName: qwPreprocessQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwDropTask
    - qwSendQueryRsp
    - tstrerror
    - qwReleaseTaskCtx
    - QW_EVENT_RECEIVED
    - QW_UPDATE_RSP_CODE
    - qwAddTaskStatus
    - QW_TASK_WLOG
    - QW_TASK_DLOG
    - qwRegisterQueryBrokenLinkArg
    - QW_GET_EVENT
    - qwAddTaskCtx
    - QW_EVENT_PROCESSED
    - QW_UNLOCK
    - qwAcquireTaskCtx
    - qwInitSession
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_LOCK
    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:829,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:829,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:829,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:831,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:831,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:831,1
    - Dst: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:839,1
    - Dst: qMsgToSubplan
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:840,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:841,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:844,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:844,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:845,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:849,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:850,1
    - Dst: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:853,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:854,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:856,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:859,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:859,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:860,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:861,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:865,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:866,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:867,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:870,1
    - Dst: dsGetSinkFlags
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:873,1
    - Dst: qIsDynamicExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:876,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:878,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:879,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:881,1
    - Dst: qwSaveTbVersionInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:881,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:884,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:884,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:884,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:892,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:896,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:896,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:898,1
    - Dst: qwQuickRspFetchReq
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:898,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:898,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:900,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 2
    argNames:
    - qwMsg
    - sql
    argTypes:
    - SQWMsg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 821
    functionDepth: 6
    functionLinenumber: 821
    functionLinenumberEnd: 901
    functionName: qwProcessQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - atomic_add_fetch_64
    - qwSaveTbVersionInfo
    - qwGetTaskCtx
    - qwQuickRspFetchReq
    - QW_TASK_ELOG
    - taosEnableMemPoolUsage
    - taosDisableMemPoolUsage
    - qwExecTask
    - qwHandlePrePhaseEvents
    - qMsgToSubplan
    - atomic_store_ptr
    - QW_RET
    - QW_ERR_RET
    - qwHandlePostPhaseEvents
    - qCreateExecTask
    - dsGetSinkFlags
    - QW_ERR_JRET
    - QW_FPARAMS
    - qIsDynamicExecTask
    - taosMemoryFree
    - qDestroyTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwProcessQuery(QW_FPARAMS_DEF, SQWMsg *qwMsg, char *sql)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:916,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:916,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:916,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:918,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:918,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:918,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:920,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:921,1
    - Dst: dsGetSinkFlags
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:925,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:928,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:928,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:928,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:931,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:933,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:933,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:933,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:936,1
    - Dst: qwBufStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:936,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:938,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:944,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:946,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:947,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:949,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:954,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:956,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:956,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:959,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:960,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:962,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:972,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:975,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:976,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:979,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:981,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:982,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:984,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:985,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:989,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:990,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:990,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:993,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:994,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:997,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1002,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1002,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1002,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1004,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 1
    argNames:
    - qwMsg
    argTypes:
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 903
    functionDepth: 4
    functionLinenumber: 903
    functionLinenumberEnd: 1005
    functionName: qwProcessCQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    - qwFreeSinkHandle
    - tstrerror
    - QW_EVENT_RECEIVED
    - qwGetTaskCtx
    - qwBuildAndSendFetchRsp
    - qwBuildFetchRsp
    - QW_SET_PHASE
    - QW_TASK_ELOG
    - qwExecTask
    - qwHandlePrePhaseEvents
    - qwBufStatusStr
    - QW_TASK_DLOG
    - qwFreeFetchRsp
    - QW_RET
    - QW_ERR_RET
    - QW_UNLOCK
    - qwHandlePostPhaseEvents
    - QW_SET_EVENT_PROCESSED
    - dsGetSinkFlags
    - qwGetQueryResFromSink
    - QW_ERR_JRET
    - atomic_load_8
    - QW_FPARAMS
    - QW_LOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwProcessCQuery(QW_FPARAMS_DEF, SQWMsg *qwMsg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1017,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1017,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1017,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1019,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1019,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1019,1
    - Dst: qwStartDynamicTaskNewExec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1025,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1025,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1031,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1031,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1031,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1034,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1038,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1040,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1042,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1048,1
    - Dst: qwBufStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1048,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1050,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1055,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1056,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1057,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1058,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1059,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1059,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1059,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1060,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1062,1
    - Dst: qwBuildAndSendCQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1062,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1062,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1069,1
    - Dst: qDestroyOperatorParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1073,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1078,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1078,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1081,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1090,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1090,1
    - Dst: qwDbgSimulateRedirect
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1093,1
    - Dst: qwDbgSimulateDead
      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: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1098,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1100,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1101,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1103,1
    - Dst: TMSG_INFO
      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: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1107,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1111,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1116,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 1
    argNames:
    - qwMsg
    argTypes:
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1007
    functionDepth: 5
    functionLinenumber: 1007
    functionLinenumberEnd: 1117
    functionName: qwProcessFetch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    - qwFreeSinkHandle
    - tstrerror
    - qwReleaseTaskCtx
    - qwGetTaskCtx
    - qwBuildAndSendCQueryMsg
    - qwBuildAndSendFetchRsp
    - qwBuildFetchRsp
    - qwUpdateTaskStatus
    - QW_SET_EVENT_RECEIVED
    - QW_QUERY_RUNNING
    - QW_TASK_DLOG_E
    - QW_TASK_ELOG
    - qDestroyOperatorParam
    - qwBufStatusStr
    - qwHandlePrePhaseEvents
    - TMSG_INFO
    - QW_TASK_DLOG
    - qwFreeFetchRsp
    - QW_RET
    - qwDbgSimulateRedirect
    - QW_UNLOCK
    - qwHandlePostPhaseEvents
    - qwAcquireTaskCtx
    - qwGetQueryResFromSink
    - QW_ERR_JRET
    - qwDbgSimulateDead
    - qwStartDynamicTaskNewExec
    - atomic_load_8
    - QW_FPARAMS
    - QW_LOCK
    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:1125,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1125,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1125,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1127,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1131,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1132,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1133,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1136,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1137,1
    - Dst: qwKillTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1137,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1138,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1138,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1138,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1140,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1140,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1140,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1145,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1146,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1153,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1154,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1154,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1157,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1162,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1167,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1170,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - qwMsg
    argTypes:
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1174
    functionName: qwProcessDrop
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwDropTask
    - QW_UPDATE_RSP_CODE
    - qwReleaseTaskCtx
    - QW_ERR_JRET
    - QW_EVENT_RECEIVED
    - qwUpdateTaskStatus
    - QW_RET
    - QW_FPARAMS
    - tmsgReleaseHandle
    - QW_QUERY_RUNNING
    - QW_SET_EVENT_RECEIVED
    - QW_LOCK
    - QW_UNLOCK
    - qwAcquireTaskCtx
    - qwKillTaskHandle
    - QW_TASK_WLOG_E
    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:1181,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1181,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1181,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1183,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1187,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1188,1
    - Dst: qwKillTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1188,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1189,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1189,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1189,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1195,1
    - Dst: qwSendExplainResponse
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1195,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1195,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1199,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1200,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1208,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1209,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1209,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1215,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1219,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - qwMsg
    argTypes:
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1223
    functionName: qwProcessNotify
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_UPDATE_RSP_CODE
    - QW_ERR_RET
    - qwSendExplainResponse
    - qwReleaseTaskCtx
    - QW_ERR_JRET
    - QW_ELOG
    - qwUpdateTaskStatus
    - QW_RET
    - QW_FPARAMS
    - QW_QUERY_RUNNING
    - QW_LOCK
    - QW_UNLOCK
    - qwAcquireTaskCtx
    - qwKillTaskHandle
    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:1231,1
    - Dst: qwProcessHbLinkBroken
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1231,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1234,1
    - Dst: qwAcquireAddScheduler
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1234,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1235,1
    - Dst: qwRegisterHbBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1235,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1239,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1242,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1246,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1247,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1249,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1251,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1255,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1259,1
    - Dst: qwBuildAndSendHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1260,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1263,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - mgmt
    - qwMsg
    - req
    argTypes:
    - SQWorker*
    - SQWMsg*
    - SSchedulerHbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1270
    functionName: qwProcessHb
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwProcessHbLinkBroken
    - QW_DLOG
    - memcpy
    - qwAcquireAddScheduler
    - QW_ERR_JRET
    - qwReleaseScheduler
    - tmsgReleaseHandle
    - QW_LOCK
    - QW_UNLOCK
    - QW_RET
    - qwRegisterHbBrokenLinkArg
    - qwBuildAndSendHbRsp
    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:1274,1
    - Dst: qwAcquire
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1279,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1281,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1289,1
    - Dst: qwDbgDumpMgmtInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1291,1
    - Dst: qwDbgDumpJobsInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1292,1
    - Dst: qwStopAllTasks
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1295,1
    - Dst: qwChkDropTimeoutQuery
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1299,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1303,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1305,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1307,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1308,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1309,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1311,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1315,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1316,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1318,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1319,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1320,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1321,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1322,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1323,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1325,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1330,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1332,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1336,1
    - Dst: QW_TLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1337,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1340,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1341,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1342,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1343,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1348,1
    - Dst: qwGenerateSchHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1352,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1354,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1355,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1359,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1364,1
    - Dst: qwBuildAndSendHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1367,1
    - Dst: tFreeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1370,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1373,1
    - Dst: qwClearExpiredSch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1374,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1377,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1378,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1380,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1381,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1384,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1272
    functionDepth: 2
    functionLinenumber: 1272
    functionLinenumberEnd: 1385
    functionName: qwProcessHbTimerEvent
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - taosHashGetKey
    - qwChkDropTimeoutQuery
    - taosHashIterate
    - QW_ELOG
    - qwRelease
    - qwDbgDumpMgmtInfo
    - qwBuildAndSendHbRsp
    - qwClearExpiredSch
    - qwDbgDumpJobsInfo
    - tFreeSSchedulerHbRsp
    - taosHashGetSize
    - taosMemoryCalloc
    - qError
    - qwStopAllTasks
    - taosMemoryFreeClear
    - taosGetTimestampSec
    - taosArrayGetSize
    - QW_UNLOCK
    - qwAcquire
    - QW_DLOG
    - taosGetTimestampMs
    - taosHashCancelIterate
    - QW_ERR_JRET
    - atomic_load_32
    - QW_LOCK
    - QW_TLOG
    - taosTmrReset
    - taosMemoryFree
    - qwGenerateSchHbRsp
    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:1394,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1398,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1398,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1399,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1402,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1405,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1405,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1406,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1407,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1411,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1412,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1413,1
    - Dst: dsGetSinkFlags
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1420,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1424,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1424,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1424,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1426,1
    - Dst: qwGetDeleteResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1426,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1426,1
    - Dst: qwFreeTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1430,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1430,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - qwMsg
    - pRes
    argTypes:
    - SQWMsg*
    - SDeleteRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1387
    functionDepth: 6
    functionLinenumber: 1387
    functionLinenumberEnd: 1433
    functionName: qwProcessDelete
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qDestroyTask
    - qCreateExecTask
    - tstrerror
    - dsGetSinkFlags
    - qwExecTask
    - qMsgToSubplan
    - qwGetDeleteResFromSink
    - qwFreeTaskCtx
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_RET
    - 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:1438,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1439,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1442,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1444,1
    - Dst: qwOpenRef
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1447,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1449,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1450,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1453,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1455,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1456,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1457,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1464,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1464,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1467,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1468,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1469,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1473,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1473,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1475,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1476,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1479,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1481,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1481,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1482,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1490,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1493,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1495,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1495,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1496,1
    - Dst: qwSetHbParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1500,1
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1502,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1504,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1505,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1508,1
    - Dst: qExecutorInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1508,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1510,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1514,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1521,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1523,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1524,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1525,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1526,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1528,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1531,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 4
    argNames:
    - nodeType
    - nodeId
    - qWorkerMgmt
    - pMsgCb
    argTypes:
    - int8_t
    - int32_t
    - void**
    - SMsgCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1435
    functionDepth: 2
    functionLinenumber: 1435
    functionLinenumberEnd: 1532
    functionName: qWorkerInit
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 9
    functionsReached:
    - tstrerror
    - taosAddRef
    - qwRelease
    - taosTmrStart
    - atomic_add_fetch_32
    - qwSetHbParam
    - taosMemoryCalloc
    - qError
    - QW_RET
    - taosTmrCleanUp
    - TAOS_MEMSET
    - atomic_sub_fetch_32
    - taosMemoryFreeClear
    - taosGetTimestampSec
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosTmrInit
    - qDebug
    - QW_ERR_JRET
    - qExecutorInit
    - taosHashInit
    - qwOpenRef
    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:1537,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1537,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1539,1
    - Dst: qwStopAllTasks
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - qWorkerMgmt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1542
    functionName: qWorkerStopAllTasks
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    - QW_DLOG
    - taosHashGetSize
    - qwStopAllTasks
    linkageType: ''
    returnType: void
    signature: void qWorkerStopAllTasks(void *qWorkerMgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1553,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1554,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1558,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - qWorkerMgmt
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1564
    functionName: qWorkerDestroy
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 10
    functionsReached:
    - qError
    - qInfo
    - taosMsleep
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: void qWorkerDestroy(void **qWorkerMgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1568,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1574,1
    - Dst: dsDataSinkGetCacheSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1574,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1577,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1578,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1579,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1580,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1581,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1582,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1583,1
    - Dst: SReadHandle*::pMsgCb::qsizeFp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1585,1
    - Dst: SReadHandle*::pMsgCb::qsizeFp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1586,1
    - Dst: qwGetTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1587,1
    - Dst: qwGetTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - handle
    - qWorkerMgmt
    - pStat
    argTypes:
    - SReadHandle*
    - void*
    - SQWorkerStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1566
    functionDepth: 2
    functionLinenumber: 1566
    functionLinenumberEnd: 1591
    functionName: qWorkerGetStat
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_ERR_RET
    - QW_STAT_GET
    - qwGetTimeInQueue
    - SReadHandle*::pMsgCb::qsizeFp
    - QW_RET
    - dsDataSinkGetCacheSize
    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:1604,1
    - Dst: qwAddTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1604,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1604,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1605,1
    - Dst: qwAddTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1605,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1605,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1607,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1607,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1607,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1608,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1608,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1608,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1617,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1620,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1626,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1628,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1628,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1629,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1633,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1634,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1638,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1639,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1641,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1641,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1641,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1645,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1649,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1649,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1652,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1653,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1656,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: 1657
      start: 1593
    functionDepth: 4
    functionLinenumber: 1593
    functionLinenumberEnd: 1657
    functionName: qWorkerProcessLocalQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 1
    functionsReached:
    - qwAddTaskStatus
    - qCreateExecTask
    - tstrerror
    - qwExecTask
    - qwHandlePrePhaseEvents
    - qwHandlePostPhaseEvents
    - qwReleaseTaskCtx
    - QW_ERR_JRET
    - atomic_store_ptr
    - qwAddTaskCtx
    - QW_RET
    - QW_FPARAMS
    - taosMemoryCalloc
    - qwAcquireTaskCtx
    - QW_UPDATE_RSP_CODE
    - taosMemoryFree
    - 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:1671,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1671,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1671,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1672,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1672,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1672,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1680,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1680,1
    - Dst: QW_FPARAMS
      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: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1683,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1683,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1689,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1691,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1693,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1706,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1706,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1708,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: 1709
      start: 1659
    functionDepth: 4
    functionLinenumber: 1659
    functionLinenumberEnd: 1709
    functionName: qWorkerProcessLocalFetch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 1
    functionsReached:
    - atomic_store_8
    - qwFreeSinkHandle
    - qwGetQueryResFromSink
    - qwExecTask
    - qwHandlePrePhaseEvents
    - QW_ERR_JRET
    - qwGetTaskCtx
    - qwBuildFetchRsp
    - QW_FPARAMS
    - qwHandlePostPhaseEvents
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qWorkerProcessLocalFetch(void *pMgmt, uint64_t sId, uint64_t
      qId, uint64_t cId, uint64_t tId, int64_t rId,\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:1713,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1715,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1717,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1721,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1722,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1723,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1724,1
    - Dst: qwRetireJob
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1726,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1728,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1729,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1729,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1729,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: 1731
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1731
    functionName: qWorkerRetireJob
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - qwRetireJob
    - qDebug
    - atomic_val_compare_exchange_8
    - atomic_load_64
    - QW_SET_QCID
    - atomic_load_8
    - atomic_load_32
    - qError
    - 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:1734,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1736,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1736,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1736,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1737,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1737,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1738,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1740,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1745,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1746,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1751,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1751,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1752,1
    - Dst: qwRetireJob
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1753,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1759,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1762,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1762,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1765,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1768,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1770,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1772,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1773,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1773,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1774,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1774,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - retireSize
    - errCode
    argTypes:
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1776
    functionName: qWorkerRetireJobs
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - qwRetireJob
    - qDebug
    - taosHashCancelIterate
    - taosHashIterate
    - atomic_load_64
    - atomic_val_compare_exchange_8
    - atomic_load_8
    - taosHashGetSize
    - atomic_val_compare_exchange_32
    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
    - atomic_store_32
    - TMIN
    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:
    - taosHashInit
    - taosMemPoolCallocJob
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - 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_load_ptr
    - taosHashSetFreeFp
    - atomic_val_compare_exchange_ptr
    - taosGetDefaultHashFunction
    - taosHashInit
    - qError
    - taosHashCleanup
    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:
    - atomic_store_8
    - QW_TASK_DLOG_E
    - tstrerror
    - atomic_sub_fetch_32
    - QW_TASK_DLOG
    - QW_SET_QCID
    - QW_LOCK
    - QW_SET_TEID
    - TAOS_UNUSED
    - taosHashRemove
    - QW_UNLOCK
    - taosMemPoolDestroySession
    - 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:
    - atomic_add_fetch_32
    - QW_ERR_RET
    - tstrerror
    - QW_UNLOCK
    - taosHashRelease
    - taosHashPut
    - qwInitJobInfo
    - qwInitJobHash
    - QW_SET_QCID
    - atomic_load_8
    - QW_FPARAMS
    - taosHashAcquire
    - QW_LOCK
    - QW_TASK_DLOG_E
    - QW_TASK_WLOG_E
    - qwDestroyJobInfo
    - 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:
    - qwRetrieveJobInfo
    - qwDestroySession
    - taosHashRelease
    - taosMemPoolInitSession
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_SET_TEID
    - taosHashPut
    - QW_TASK_DLOG_E
    - 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:
    - QW_ERR_RET
    - qwDbgValidateStatus
    - atomic_val_compare_exchange_8
    - QW_TASK_DLOG
    - atomic_load_8
    - QW_FPARAMS
    - 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_ERR_RET
    - taosGetTimestampMs
    - taosHashInit
    - HASH_NODE_EXIST
    - taosHashPut
    - QW_LOCK
    - taosGetDefaultHashFunction
    - QW_UNLOCK
    - taosHashCleanup
    - QW_SCH_ELOG
    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:
    - taosHashGet
    - QW_ERR_RET
    - qwAddSchedulerImpl
    - QW_LOCK
    - QW_UNLOCK
    - QW_RET
    - QW_SCH_ELOG
    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_SET_QTID
    - taosHashGet
    - QW_ERR_RET
    - QW_TASK_ELOG_E
    - QW_LOCK
    - QW_UNLOCK
    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_SET_QTID
    - QW_ERR_RET
    - tstrerror
    - HASH_NODE_EXIST
    - QW_TASK_DLOG
    - jobTaskStatusStr
    - QW_FPARAMS
    - taosHashPut
    - QW_LOCK
    - QW_UNLOCK
    - qwAcquireTaskStatus
    - QW_RET
    - 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:
    - QW_ERR_RET
    - qwAddTaskStatusImpl
    - qwAcquireAddScheduler
    - QW_ERR_JRET
    - qwReleaseScheduler
    - QW_FPARAMS
    - QW_RET
    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
    - QW_ERR_RET
    - taosHashAcquire
    - 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:
    - QW_SET_QTID
    - taosHashGet
    - 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_SET_QTID
    - QW_ERR_RET
    - atomic_add_fetch_64
    - HASH_NODE_EXIST
    - qwGetTaskCtx
    - QW_TASK_ELOG_E
    - QW_FPARAMS
    - taosHashPut
    - qwAcquireTaskCtx
    - QW_RET
    - 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:
    - QW_FPARAMS
    - qwAddTaskCtxImpl
    - 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:
    - qwAddTaskCtxImpl
    - QW_FPARAMS
    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:
    - taosEnableMemPoolUsage
    - atomic_load_ptr
    - qDestroyTask
    - atomic_add_fetch_64
    - qDebug
    - atomic_val_compare_exchange_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:
    - atomic_load_ptr
    - QW_SINK_DISABLE_MEMPOOL
    - atomic_add_fetch_64
    - qDebug
    - dsDestroyDataSinker
    - atomic_val_compare_exchange_ptr
    - QW_SINK_ENABLE_MEMPOOL
    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:
    - atomic_load_ptr
    - qDebug
    - atomic_store_ptr
    - qAsyncKillTask
    - atomic_val_compare_exchange_ptr
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwKillTaskHandle(SQWTaskCtx *ctx, int32_t rspCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:322,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:330,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:332,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:334,1
    - Dst: qwDestroySession
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:337,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 340
    functionName: qwFreeTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - qwFreeSinkHandle
    - qwDestroySession
    - qwFreeTaskHandle
    - tmsgReleaseHandle
    - QW_FPARAMS
    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:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    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:353,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:355,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:358,1
    - Dst: qGetExplainExecInfo
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:358,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:362,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:363,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:365,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:367,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:367,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:374,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:375,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:378,1
    - Dst: qwBuildAndSendExplainRsp
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:383,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:384,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:387,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 395
    functionName: qwSendExplainResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - QW_ERR_RET
    - qGetExplainExecInfo
    - taosArrayInit
    - taosArrayGet
    - memcpy
    - QW_ERR_JRET
    - qwBuildAndSendExplainRsp
    - taosArrayDestroyEx
    - taosArrayGetSize
    - 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:399,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:403,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:405,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:406,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:406,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:412,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:414,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:417,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:418,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:419,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:420,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:422,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:424,1
    - Dst: QW_TASK_ELOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:425,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:426,1
    - Dst: qwFreeTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:429,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:429,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:432,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 397
    functionDepth: 5
    functionLinenumber: 397
    functionLinenumberEnd: 437
    functionName: qwDropTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_SET_QTID
    - taosHashGet
    - QW_ERR_RET
    - atomic_add_fetch_64
    - qwFreeTaskCtx
    - atomic_store_ptr
    - QW_TASK_ELOG_E
    - QW_FPARAMS
    - taosHashRemove
    - QW_CTX_NOT_EXISTS_ERR_CODE
    - QW_TASK_DLOG_E
    - QW_UPDATE_RSP_CODE
    - QW_SET_EVENT_PROCESSED
    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:445,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:447,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:448,1
    - Dst: qwAcquireTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:452,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:452,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:453,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:455,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:459,1
    - Dst: QW_TASK_ELOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:460,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:461,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:464,1
    - Dst: qwReleaseTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:469,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:471,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 439
    functionDepth: 4
    functionLinenumber: 439
    functionLinenumberEnd: 474
    functionName: qwDropTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_SET_QTID
    - qwReleaseTaskStatus
    - QW_ERR_JRET
    - qwReleaseScheduler
    - qwAcquireScheduler
    - QW_TASK_ELOG_E
    - QW_FPARAMS
    - taosHashRemove
    - QW_TASK_DLOG_E
    - qwAcquireTaskStatus
    - QW_RET
    - QW_TASK_WLOG_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:481,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:481,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:482,1
    - Dst: qwAcquireTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:482,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:482,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:484,1
    - Dst: qwSetTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:484,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:484,1
    - Dst: qwReleaseTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:489,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:491,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - status
    - dynamicTask
    argTypes:
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 476
    functionDepth: 4
    functionLinenumber: 476
    functionLinenumberEnd: 494
    functionName: qwUpdateTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 6
    functionsReached:
    - QW_ERR_RET
    - qwReleaseTaskStatus
    - QW_ERR_JRET
    - qwReleaseScheduler
    - qwAcquireScheduler
    - QW_FPARAMS
    - qwSetTaskStatus
    - qwAcquireTaskStatus
    - QW_RET
    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:498,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:501,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:503,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:504,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:504,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:511,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:511,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:511,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:513,1
    - Dst: qwHandleTaskComplete
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:513,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 496
    functionDepth: 5
    functionLinenumber: 496
    functionLinenumberEnd: 516
    functionName: qwHandleDynamicTaskEnd
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_SET_QTID
    - taosHashGet
    - QW_ERR_RET
    - qwUpdateTaskStatus
    - QW_FPARAMS
    - QW_CTX_NOT_EXISTS_ERR_CODE
    - QW_TASK_DLOG_E
    - qwHandleTaskComplete
    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:519,1
    - Dst: qwHandleDynamicTaskEnd
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:519,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:519,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:520,1
    - Dst: qwDropTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:520,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:520,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:521,1
    - Dst: qwDropTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:521,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:521,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 6
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: qwDropTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 5
    functionsReached:
    - QW_ERR_RET
    - qwDropTaskCtx
    - QW_FPARAMS
    - qwHandleDynamicTaskEnd
    - QW_TASK_DLOG_E
    - qwDropTaskStatus
    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:533,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:534,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:540,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - refId
    - pParam
    argTypes:
    - int64_t
    - SQWHbParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 553
    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:565,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:572,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:578,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:580,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:584,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:585,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pTaskInfo
    - ctx
    argTypes:
    - qTaskInfo_t
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 592
    functionName: qwSaveTbVersionInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - QW_ERR_RET
    - taosArrayInit
    - qGetQueryTableSchemaVersion
    - snprintf
    - QW_RET
    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:595,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:596,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:597,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:600,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 604
    functionName: qwCloseRef
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - taosWUnLockLatch
    - atomic_load_32
    - taosWLockLatch
    - taosHashCleanup
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: void qwCloseRef(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pStatus
    argTypes:
    - SQWSchStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 606
    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:615,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:617,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:618,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:622,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:627,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:631,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:632,1
    - Dst: qwFreeTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:635,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:635,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:636,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:637,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:640,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:642,1
    - Dst: qwDestroySchStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:645,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:647,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:650,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:654,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:656,1
    - Dst: qwCloseRef
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:658,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 608
    functionDepth: 5
    functionLinenumber: 608
    functionLinenumberEnd: 662
    functionName: qwDestroyImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - qTrace
    - taosHashGetKey
    - atomic_sub_fetch_32
    - qwFreeTaskCtx
    - qDebug
    - taosTmrStop
    - taosHashIterate
    - QW_GET_QTID
    - QW_FPARAMS
    - qwDestroySchStatus
    - QW_TASK_DLOG_E
    - taosHashCleanup
    - taosTmrCleanUp
    - taosMemoryFree
    - qwCloseRef
    linkageType: ''
    returnType: void
    signature: void qwDestroyImpl(void *pMgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:665,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:667,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:669,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:670,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:671,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 677
    functionName: qwOpenRef
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - taosOpenRef
    - taosWUnLockLatch
    - taosWLockLatch
    - qError
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwOpenRef(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:684,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - mgmt
    - ts
    - type
    argTypes:
    - SQWorker*
    - int64_t
    - EQueueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 700
    functionName: qwUpdateTimeInQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - qError
    - taosGetTimestampUs
    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:712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - mgmt
    - type
    argTypes:
    - SQWorker*
    - EQueueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 717
    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:721,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:723,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:726,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:730,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:732,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:736,1
    - Dst: qwDestroySchStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:737,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:738,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:739,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - mgmt
    - pExpiredSch
    argTypes:
    - SQWorker*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 719
    functionDepth: 4
    functionLinenumber: 719
    functionLinenumberEnd: 744
    functionName: qwClearExpiredSch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - qDebug
    - qwReleaseScheduler
    - qwAcquireScheduler
    - taosArrayGetSize
    - qwDestroySchStatus
    - taosHashRemove
    - taosHashGetSize
    - qError
    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:753,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - job
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 756
    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:762,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:764,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:764,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:766,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:766,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:767,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:768,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:773,1
    - Dst: qwKillTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:774,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:776,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:778,1
    - Dst: QW_FETCH_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:780,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:781,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:782,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:784,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:785,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:788,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:789,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:789,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:791,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:793,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:797,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:799,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:800,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:804,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:807,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - forceStop
    - errCode
    argTypes:
    - SQWTaskCtx*
    - bool
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 758
    functionDepth: 7
    functionLinenumber: 758
    functionLinenumberEnd: 810
    functionName: qwStopTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - qwDropTask
    - QW_FETCH_RUNNING
    - QW_UPDATE_RSP_CODE
    - QW_TASK_DLOG_E
    - qwFreeSinkHandle
    - tstrerror
    - qwFreeTaskHandle
    - QW_EVENT_RECEIVED
    - QW_TASK_DLOG
    - QW_FPARAMS
    - QW_QUERY_RUNNING
    - QW_EVENT_PROCESSED
    - QW_LOCK
    - QW_SET_EVENT_RECEIVED
    - QW_UNLOCK
    - qwKillTaskHandle
    - QW_TASK_WLOG_E
    - 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:815,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:815,1
    - Dst: qwStopTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:820,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:820,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - errCode
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 812
    functionDepth: 8
    functionLinenumber: 812
    functionLinenumberEnd: 825
    functionName: qwRetireTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - qwReleaseTaskCtx
    - qwAcquireTaskCtx
    - QW_FPARAMS
    - qwStopTask
    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:833,1
    - Dst: qwRetireTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:837,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SQWJobInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 827
    functionDepth: 9
    functionLinenumber: 827
    functionLinenumberEnd: 845
    functionName: qwRetireJob
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - qwRetireTask
    - taosHashIterate
    linkageType: ''
    returnType: bool
    signature: bool qwRetireJob(SQWJobInfo *pJob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:853,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:856,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:857,1
    - Dst: qwStopTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:861,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:861,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - SQWorker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 848
    functionDepth: 8
    functionLinenumber: 848
    functionLinenumberEnd: 865
    functionName: qwStopAllTasks
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - taosHashGetKey
    - QW_GET_QTID
    - taosHashIterate
    - QW_FPARAMS
    - qwStopTask
    linkageType: ''
    returnType: void
    signature: void qwStopAllTasks(SQWorker *mgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:873,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:876,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:877,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:881,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:882,1
    - Dst: qwStopTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:886,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:886,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:886,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:888,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - mgmt
    - currTs
    argTypes:
    - SQWorker*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 868
    functionDepth: 8
    functionLinenumber: 868
    functionLinenumberEnd: 890
    functionName: qwChkDropTimeoutQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - taosHashGetKey
    - QW_EVENT_RECEIVED
    - QW_GET_QTID
    - taosHashIterate
    - QW_FPARAMS
    - 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_ERR_JRET
    - QW_TASK_DLOG
    - jobTaskStatusStr
    - QW_RET
    - 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_DLOG
    - taosHashGetKey
    - taosHashIterate
    - QW_GET_QTID
    - QW_TASK_DLOG
    - QW_LOCK
    - taosHashGetSize
    - QW_UNLOCK
    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:
    - taosHashGetKey
    - QW_DUMP
    - QW_GET_QTID
    - taosHashIterate
    - QW_TASK_DLOG
    - taosArrayGetSize
    - taosHashGetSize
    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_DUMP
    - taosHashIterate
    - qwDbgDumpSchInfo
    - QW_LOCK
    - taosHashGetSize
    - QW_UNLOCK
    - 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:
    - taosHashGetSize
    - qDebug
    - taosHashIterate
    - atomic_load_64
    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:
    - tmsgSendRsp
    - tstrerror
    - qDebug
    - TMSG_INFO
    - rpcMallocCont
    - tSerializeSEpSet
    - qError
    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: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:260,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:262,1
    - Dst: TAOS_STRCPY
      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:
    - TAOS_STRCPY
    - qwDbgBuildAndSendRedirectRsp
    - taosRand
    - QW_SET_PHASE
    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:
    - taosRand
    - taosSsleep
    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
    - taosSsleep
    - qwBuildAndSendDropMsg
    - QW_FPARAMS
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qwDbgSimulateDead(QW_FPARAMS_DEF, SQWTaskCtx *ctx, bool *rsped)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c: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:
    - strcasecmp
    - qError
    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:
    - TAOS_MEMSET
    - taosMemoryRealloc
    - rpcReallocCont
    - qError
    - QW_RET
    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:
    - htonl
    - htobe64
    linkageType: ''
    returnType: void
    signature: void qwBuildFetchRsp(void *msg, SOutputData *input, int32_t len, int32_t
      rawDataLen, bool qComplete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: qwFreeFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 3
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void qwFreeFetchRsp(void *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rspType
    - pConn
    - code
    argTypes:
    - int32_t
    - SRpcHandleInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 64
    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:73,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:75,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:76,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:79,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:81,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:82,1
    - Dst: tSerializeSQueryTableRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:85,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:87,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:88,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:99,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: 102
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 102
    functionName: qwBuildAndSendQueryRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - tmsgSendRsp
    - rpcMallocCont
    - qError
    - tSerializeSQueryTableRsp
    - QW_RET
    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:105,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:106,1
    - Dst: tSerializeSExplainRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:108,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:110,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:111,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:113,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:115,1
    - Dst: tSerializeSExplainRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:117,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:119,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:120,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pConn
    - pExecList
    argTypes:
    - SRpcHandleInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: qwBuildAndSendExplainRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - tmsgSendRsp
    - taosArrayGet
    - tSerializeSExplainRsp
    - taosArrayGetSize
    - rpcMallocCont
    - qError
    - QW_RET
    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:137,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:139,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:140,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:143,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:145,1
    - Dst: tSerializeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:149,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:150,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pConn
    - pStatus
    - code
    argTypes:
    - SRpcHandleInfo*
    - SSchedulerHbRsp*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 164
    functionName: qwBuildAndSendHbRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 2
    functionsReached:
    - tmsgSendRsp
    - tSerializeSSchedulerHbRsp
    - rpcMallocCont
    - qError
    - QW_RET
    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:169,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:171,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:173,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:186,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:189,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: 193
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 193
    functionName: qwBuildAndSendFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 3
    functionsReached:
    - tmsgSendRsp
    - TAOS_MEMSET
    - taosGetTimestampSec
    - rpcMallocCont
    - QW_RET
    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:197,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:199,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pConn
    - code
    argTypes:
    - SRpcHandleInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 213
    functionName: qwBuildAndSendCancelRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - tmsgSendRsp
    - QW_RET
    - rpcMallocCont
    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:216,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:218,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pConn
    - code
    argTypes:
    - SRpcHandleInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: qwBuildAndSendDropRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - tmsgSendRsp
    - QW_RET
    - rpcMallocCont
    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:246,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:248,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:249,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:252,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:254,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:255,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:258,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:260,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:261,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:262,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:273,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:275,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:275,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:276,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SRpcHandleInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 282
    functionName: qwBuildAndSendDropMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - tstrerror
    - tmsgPutToQueue
    - QW_SCH_TASK_ELOG
    - rpcMallocCont
    - tSerializeSTaskDropReq
    - 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:285,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:287,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:288,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:306,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:308,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:308,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:309,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SRpcHandleInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 315
    functionName: qwBuildAndSendCQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 2
    functionsReached:
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - tstrerror
    - tmsgPutToQueue
    - QW_SCH_TASK_ELOG
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwBuildAndSendCQueryMsg(QW_FPARAMS_DEF, SRpcHandleInfo *pConn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:328,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:330,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:331,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:334,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:336,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:337,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:340,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:342,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:343,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:344,1
    - Dst: tmsgRegisterBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SRpcHandleInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 358
    functionName: qwRegisterQueryBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - QW_ERR_RET
    - QW_SCH_TASK_ELOG
    - rpcMallocCont
    - tSerializeSTaskDropReq
    - 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:365,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:367,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:368,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:370,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:372,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:373,1
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:376,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:378,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:379,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:380,1
    - Dst: tmsgRegisterBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - mgmt
    - clientId
    - pConn
    argTypes:
    - SQWorker*
    - uint64_t
    - SRpcHandleInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: qwRegisterHbBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - QW_ERR_RET
    - tSerializeSSchedulerHbReq
    - rpcMallocCont
    - tmsgRegisterBrokenLinkArg
    - rpcFreeCont
    - QW_SCH_ELOG
    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:398,1
    - Dst: tDeserializeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:404,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:405,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:406,1
    - Dst: TEST_SHOW_REWRITE_MASK
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:410,1
    - Dst: taosGranted
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:411,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:412,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:413,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:414,1
    - Dst: TEST_VIEW_MASK
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:416,1
    - Dst: taosGranted
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:416,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:417,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:418,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:419,1
    - Dst: TEST_AUDIT_MASK
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:421,1
    - Dst: taosGranted
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:421,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:422,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:423,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:424,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:441,1
    - Dst: qwPreprocessQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:442,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:442,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:443,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:445,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: 448
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 448
    functionName: qWorkerPreprocessQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - TEST_VIEW_MASK
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - tFreeSSubQueryMsg
    - TEST_AUDIT_MASK
    - QW_ELOG
    - QW_FPARAMS
    - tDeserializeSSubQueryMsg
    - TEST_SHOW_REWRITE_MASK
    - qwPreprocessQuery
    - taosGranted
    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:452,1
    - Dst: tDeserializeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:458,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:459,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:460,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:470,1
    - Dst: qwAbortPrerocessQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:471,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:471,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:472,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - qWorkerMgmt
    - pMsg
    argTypes:
    - void*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 477
    functionName: qWorkerAbortPreprocessQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - tFreeSSubQueryMsg
    - qwAbortPrerocessQuery
    - QW_ELOG
    - QW_FPARAMS
    - tDeserializeSSubQueryMsg
    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:481,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:487,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:487,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:488,1
    - Dst: tDeserializeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:491,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:492,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:493,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:509,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:509,1
    - Dst: qwProcessQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:512,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:512,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:515,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:516,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: 519
      start: 479
    functionDepth: 7
    functionLinenumber: 479
    functionLinenumberEnd: 519
    functionName: qWorkerProcessQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 7
    functionsReached:
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - qwUpdateTimeInQueue
    - tFreeSSubQueryMsg
    - TMSG_INFO
    - QW_ELOG
    - qwProcessQuery
    - QW_FPARAMS
    - tDeserializeSSubQueryMsg
    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:523,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:534,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:534,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:535,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:538,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:539,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:551,1
    - Dst: qwProcessCQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:553,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:553,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:555,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: 558
      start: 521
    functionDepth: 5
    functionLinenumber: 521
    functionLinenumberEnd: 558
    functionName: qWorkerProcessCQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 2
    functionsReached:
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - qwUpdateTimeInQueue
    - QW_ELOG
    - qwProcessCQuery
    - QW_FPARAMS
    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:568,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:568,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:569,1
    - Dst: tDeserializeSResFetchReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:571,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:572,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:573,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:585,1
    - Dst: qwProcessFetch
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:587,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:587,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 560
    functionDepth: 6
    functionLinenumber: 560
    functionLinenumberEnd: 592
    functionName: qWorkerProcessFetchMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 6
    functionsReached:
    - QW_STAT_INC
    - tDeserializeSResFetchReq
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - qwUpdateTimeInQueue
    - qwProcessFetch
    - QW_ELOG
    - QW_FPARAMS
    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:597,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:597,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:598,1
    - Dst: qProcessRspMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:601,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: 604
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 604
    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:616,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:616,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:617,1
    - Dst: qError
      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: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:624,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:625,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:626,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:627,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:628,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:629,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:644,1
    - Dst: qwBuildAndSendCancelRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:644,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:645,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:645,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: 648
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 648
    functionName: qWorkerProcessCancelMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - qwBuildAndSendCancelRsp
    - qwUpdateTimeInQueue
    - tstrerror
    - be64toh
    - qError
    - ntohl
    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:659,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:659,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:660,1
    - Dst: tDeserializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:663,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:664,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:665,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:678,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:678,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:681,1
    - Dst: qwProcessDrop
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:683,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:683,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:685,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: 688
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 688
    functionName: qWorkerProcessDropMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 7
    functionsReached:
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - qwUpdateTimeInQueue
    - tstrerror
    - QW_ELOG
    - QW_FPARAMS
    - qwProcessDrop
    - tDeserializeSTaskDropReq
    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:698,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:698,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:699,1
    - Dst: tDeserializeSTaskNotifyReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:702,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:703,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:704,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:716,1
    - Dst: qwProcessNotify
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:718,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:718,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:720,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: 723
      start: 690
    functionDepth: 2
    functionLinenumber: 690
    functionLinenumberEnd: 723
    functionName: qWorkerProcessNotifyMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 2
    functionsReached:
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - qwUpdateTimeInQueue
    - qwProcessNotify
    - QW_ELOG
    - QW_FPARAMS
    - tDeserializeSTaskNotifyReq
    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:736,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:736,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:737,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:740,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:741,1
    - Dst: tDeserializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:744,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:745,1
    - Dst: tFreeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:746,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:747,1
    - Dst: QW_SCH_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:754,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:754,1
    - Dst: QW_SCH_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:757,1
    - Dst: qwProcessHb
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:759,1
    - Dst: QW_SCH_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:761,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: 764
      start: 726
    functionDepth: 3
    functionLinenumber: 726
    functionLinenumberEnd: 764
    functionName: qWorkerProcessHbMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - QW_STAT_INC
    - QW_SCH_DLOG
    - QW_ERR_RET
    - qwUpdateTimeInQueue
    - tstrerror
    - tDeserializeSSchedulerHbReq
    - QW_ELOG
    - qwProcessHb
    - 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:768,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:775,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:777,1
    - Dst: tDeserializeSVDeleteReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:777,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:788,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:789,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:791,1
    - Dst: qwProcessDelete
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:791,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:791,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:793,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:794,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - pRes
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - SDeleteRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 766
    functionDepth: 7
    functionLinenumber: 766
    functionLinenumberEnd: 799
    functionName: qWorkerProcessDeleteMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    - QW_ERR_RET
    - taosMemoryFreeClear
    - QW_ERR_JRET
    - qwProcessDelete
    - QW_FPARAMS
    - tDeserializeSVDeleteReq
    - QW_RET
    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:
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosArrayInit
    - snprintf
    - tssPrintConfig
    - GTEST_ASSERT_FALSE
    - tssDownloadFile
    - tssReadFile
    - strcmp
    - tssDeleteFileByPrefix
    - GTEST_ASSERT_EQ
    - taosArrayGet
    - tssListFile
    - tssGetFileSize
    - taosMemFree
    - taosMemoryCalloc
    - strlen
    - tssUploadFile
    - memcmp
    - tssDeleteFile
    - memset
    - taosArrayGetSize
    - GTEST_ASSERT_TRUE
    - tssUpload
    - taosMemoryFree
    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:
    - taosWriteFile
    - taosCloseFile
    - tssInit
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tssCreateInstance
    - tssInstTest
    - printf
    - tssUninit
    - taosOpenFile
    - taosRemoveFile
    - tssCloseInstance
    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:
    - GTEST_ASSERT_EQ
    - tssCreateInstance
    - mockRegisterType
    - tssCloseInstance
    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:
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosArrayInit
    - tssReadFileFromDefault
    - strcpy
    - snprintf
    - tssListFileOfDefault
    - tssDeleteFileFromDefault
    - taosOpenFile
    - GTEST_ASSERT_FALSE
    - tssDeleteFileByPrefixFromDefault
    - strcmp
    - taosWriteFile
    - taosCloseFile
    - GTEST_ASSERT_EQ
    - taosArrayGet
    - tssDownloadFileFromDefault
    - tssUploadFileToDefault
    - taosMemFree
    - taosMemoryCalloc
    - strlen
    - tssInit
    - memcmp
    - tssPrintDefaultConfig
    - GTEST_ASSERT_NE
    - memset
    - taosArrayGetSize
    - tssCheckDefaultInstance
    - GTEST_ASSERT_TRUE
    - tssGetFileSizeOfDefault
    - tssCreateDefaultInstance
    - tssUploadToDefault
    - taosRemoveFile
    - tssCloseDefaultInstance
    - tssUninit
    - taosMemoryFree
    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
    - TAOS_RETURN
    - taosMemCalloc
    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:54,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - pss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    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: strcpy
      Src: /src/tdengine/source/libs/tss/src/s3.c:72,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/tss/src/s3.c:85,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:87,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/tss/src/s3.c:96,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:98,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:102,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:103,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/tss/src/s3.c:109,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:113,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:117,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:120,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:122,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:125,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:128,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:131,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:134,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:137,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:140,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:142,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:144,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:146,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/tss/src/s3.c:147,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:148,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/tss/src/s3.c:149,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:150,1
    - Dst: atol
      Src: /src/tdengine/source/libs/tss/src/s3.c:151,1
    - Dst: taosStrcasecmp
      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: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:155,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:161,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:166,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:171,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:176,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:181,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 108
    argCount: 2
    argNames:
    - ss
    - as
    argTypes:
    - SSharedStorageS3*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 189
    functionName: initInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - strchr
    - taosStrcasecmp
    - atoll
    - tssError
    - atol
    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:197,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/tss/src/s3.c:198,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:200,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:201,1
    - Dst: initInstance
      Src: /src/tdengine/source/libs/tss/src/s3.c:204,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:205,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:206,1
    - Dst: S3_initialize
      Src: /src/tdengine/source/libs/tss/src/s3.c:213,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:215,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:216,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:216,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:217,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - accessString
    - ppSS
    argTypes:
    - char*
    - SSharedStorageS3**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 222
    functionName: createInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosMemCalloc
    - taosMemFree
    - S3_initialize
    - S3_get_status_name
    - tssError
    - initInstance
    - TAOS_RETURN
    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:228,1
    - Dst: S3_deinitialize
      Src: /src/tdengine/source/libs/tss/src/s3.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    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: tsnprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:256,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:260,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:264,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:271,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:275,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - status
    - error
    - data
    argTypes:
    - S3Status
    - S3ErrorDetails*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 277
    functionName: responseCompleteCallback
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    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: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    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:315,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tss/src/s3.c:317,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - us
    - buffer
    - size
    argTypes:
    - SUploadSource*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 327
    functionName: readUploadSource
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 1
    functionsReached:
    - taosReadFile
    - memcpy
    - readUploadSource
    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:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - cbd
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 354
    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:375,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:376,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:383,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:383,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:387,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:387,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:388,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:390,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:391,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - ss
    - dstPath
    - src
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 395
    functionName: simpleUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - S3_status_is_retryable
    - S3_get_status_name
    - tssDebug
    - S3_put_object
    - tssError
    - TAOS_RETURN
    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:403,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - uploadId
    - cbd
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 413
    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:421,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - properties
    - cbd
    argTypes:
    - S3ResponseProperties*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 431
    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:446,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:447,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:454,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:454,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:459,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:459,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:460,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:463,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - ss
    - dstPath
    - ucbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 464
    functionName: initMultipartUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - S3_initiate_multipart
    - S3_status_is_retryable
    - S3_get_status_name
    - tssDebug
    - tssError
    - TAOS_RETURN
    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:481,1
    - Dst: S3_upload_part
      Src: /src/tdengine/source/libs/tss/src/s3.c:485,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:495,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:502,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:502,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:506,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:506,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:507,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:512,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ss
    - dstPath
    - ucbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 513
    functionName: uploadChunks
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - S3_upload_part
    - TAOS_SYSTEM_ERROR
    - S3_status_is_retryable
    - S3_get_status_name
    - tssDebug
    - tssError
    - TMIN
    - TAOS_RETURN
    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:519,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:520,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:523,1
    - Dst: taosMemMalloc
      Src: /src/tdengine/source/libs/tss/src/s3.c:526,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:528,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:529,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:534,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:536,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:538,1
    - Dst: S3_complete_multipart_upload
      Src: /src/tdengine/source/libs/tss/src/s3.c:556,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:557,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:564,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:564,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:568,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:572,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:572,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:573,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:576,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - ss
    - dstPath
    - ucbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 577
    functionName: commitMultipartUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - strlen
    - TAOS_SYSTEM_ERROR
    - S3_complete_multipart_upload
    - sprintf
    - S3_status_is_retryable
    - taosMemMalloc
    - S3_get_status_name
    - tssDebug
    - tssError
    - taosMemFree
    - TAOS_RETURN
    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:591,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:593,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:594,1
    - Dst: initMultipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:597,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:599,1
    - Dst: uploadChunks
      Src: /src/tdengine/source/libs/tss/src/s3.c:602,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:604,1
    - Dst: commitMultipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ss
    - dstPath
    - ucbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 608
    functionName: doMultipartUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - commitMultipartUpload
    - taosMemCalloc
    - uploadChunks
    - initMultipartUpload
    - tssError
    - TAOS_RETURN
    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:622,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:623,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:630,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:630,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:634,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:634,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ss
    - dstPath
    - ucbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 636
    functionName: abortMultipartUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - S3_abort_multipart_upload
    - S3_status_is_retryable
    - S3_get_status_name
    - tssDebug
    - tssError
    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:647,1
    - Dst: abortMultipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:649,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:653,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:658,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:660,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ss
    - dstPath
    - src
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 664
    functionName: multipartUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - doMultipartUpload
    - abortMultipartUpload
    - taosMemFree
    - taosMemoryFree
    - TAOS_RETURN
    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:675,1
    - Dst: tssInfo
      Src: /src/tdengine/source/libs/tss/src/s3.c:677,1
    - Dst: multipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:678,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: 680
      start: 669
    functionDepth: 4
    functionLinenumber: 669
    functionLinenumberEnd: 680
    functionName: upload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 2
    functionsReached:
    - tssInfo
    - multipartUpload
    - simpleUpload
    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:689,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:690,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:694,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:695,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:696,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:704,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:705,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:708,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:710,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:711,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:714,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:715,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:716,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:717,1
    - Dst: simpleUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:724,1
    - Dst: tssInfo
      Src: /src/tdengine/source/libs/tss/src/s3.c:726,1
    - Dst: multipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:727,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:730,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:731,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: 732
      start: 685
    functionDepth: 4
    functionLinenumber: 685
    functionLinenumberEnd: 732
    functionName: uploadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - taosLSeekFile
    - taosOpenFile
    - taosCloseFile
    - taosStatFile
    - multipartUpload
    - simpleUpload
    - tssInfo
    - tssError
    - TAOS_RETURN
    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:761,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - cbd
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 779
    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:806,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/tss/src/s3.c:809,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/tss/src/s3.c:809,1
    - Dst: tssInfo
      Src: /src/tdengine/source/libs/tss/src/s3.c:810,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:815,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:815,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: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:819,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:825,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: 826
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 826
    functionName: doDownload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - S3_get_status_name
    - S3_get_object
    - taosMsleep
    - tssInfo
    - tssError
    - taosRand
    - TAOS_RETURN
    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:835,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: 838
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 838
    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:846,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:848,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:849,1
    - Dst: doDownload
      Src: /src/tdengine/source/libs/tss/src/s3.c:853,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:854,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:856,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: 857
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 857
    functionName: downloadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - tssError
    - doDownload
    - taosOpenFile
    - TAOS_RETURN
    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: strncpy
      Src: /src/tdengine/source/libs/tss/src/s3.c:884,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:893,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tss/src/s3.c:897,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:899,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tss/src/s3.c:904,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:905,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:906,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: 913
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 913
    functionName: listFileCallback
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosArrayPush
    - taosMemoryFree
    - tssError
    - taosStrdup
    - strncpy
    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:932,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:937,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:937,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/src/s3.c:939,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/src/s3.c:940,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:941,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/tss/src/s3.c:943,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:945,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pss
    - prefix
    - paths
    argTypes:
    - SSharedStorage*
    - char*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 949
    functionName: listFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosArrayGet
    - S3_list_bucket
    - S3_get_status_name
    - taosArrayClear
    - taosArrayGetSize
    - tssError
    - taosMemoryFree
    - TAOS_RETURN
    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:967,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:968,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:975,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:975,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:979,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:982,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:982,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:983,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pss
    - path
    argTypes:
    - SSharedStorage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 984
    functionName: deleteFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - S3_delete_object
    - S3_status_is_retryable
    - S3_get_status_name
    - tssDebug
    - tssError
    - TAOS_RETURN
    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: 1005
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1005
    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:1020,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:1021,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:1028,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:1028,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:1035,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:1038,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:1038,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:1042,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pss
    - path
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1043
    functionName: getFileSize
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 1
    functionsReached:
    - S3_status_is_retryable
    - S3_get_status_name
    - tssDebug
    - S3_head_object
    - tssError
    - TAOS_RETURN
    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:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - as
    - ppSS
    argTypes:
    - char*
    - SSharedStorage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1075
    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:1099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - as
    - ppSS
    argTypes:
    - char*
    - SSharedStorage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1109
    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:1132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - as
    - ppSS
    argTypes:
    - char*
    - SSharedStorage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1140
    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:1147,1
    - Dst: tssRegisterType
      Src: /src/tdengine/source/libs/tss/src/s3.c:1149,1
    - Dst: tssRegisterType
      Src: /src/tdengine/source/libs/tss/src/s3.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1152
    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:
    - countof
    - tssFatal
    - strcmp
    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:
    - s3RegisterType
    - fsRegisterType
    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:
    - strlen
    - SSharedStorageType*::createInstance
    - tssError
    - countof
    - strncmp
    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:
    - taosArrayDestroy
    - taosArrayInit
    - tssDeleteFile
    - taosArrayGet
    - tssWarn
    - tssListFile
    - taosArrayGetSize
    - taosMemoryFree
    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:
    - tssInfo
    - tssError
    - strlen
    - tssCreateInstance
    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:
    - taosMemoryMalloc
    - strlen
    - taosArrayDestroy
    - taosArrayInit
    - memcmp
    - tssUpload
    - tssReadFile
    - taosArrayGet
    - memset
    - tssDeleteFile
    - tssListFile
    - printf
    - taosArrayGetSize
    - tssGetFileSize
    - taosMemFree
    - taosMemoryCalloc
    - taosMemoryFree
    - strcmp
    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:39,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/fs.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    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:50,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/tss/src/fs.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ss
    - path
    - fullPath
    argTypes:
    - SSharedStorageFS*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: joinPath
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strcpy
    linkageType: ''
    returnType: void
    signature: void joinPath(SSharedStorageFS* ss, const char* path, char* fullPath)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      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:
    - strlen
    - strcpy
    - strchr
    - taosStrcasecmp
    - tssError
    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:133,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:135,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/fs.c:138,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - accessString
    - ppSS
    argTypes:
    - char*
    - SSharedStorageFS**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: createInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 5
    functionsReached:
    - strlen
    - taosMemCalloc
    - taosMemFree
    - tssError
    - initInstance
    - TAOS_RETURN
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    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:157,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:159,1
    - Dst: taosDirName
      Src: /src/tdengine/source/libs/tss/src/fs.c:159,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:161,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:162,1
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:165,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:166,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:168,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:169,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:172,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:175,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:178,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tss/src/fs.c:181,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:181,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:182,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: 183
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 183
    functionName: upload
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 4
    functionsReached:
    - taosOpenFile
    - taosWriteFile
    - taosCloseFile
    - joinPath
    - taosMulMkDir
    - TAOS_UNUSED
    - tssError
    - taosDirName
    - TAOS_RETURN
    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:189,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:190,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:195,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:197,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:198,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:206,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:207,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:210,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:213,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:214,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:217,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:219,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:220,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:221,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:224,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:227,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:228,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:229,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:235,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:238,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:246,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:249,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:253,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:260,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:261,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:262,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: 263
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 263
    functionName: copyFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 0
    functionsReached:
    - taosLSeekFile
    - taosReadFile
    - taosOpenFile
    - taosWriteFile
    - taosCloseFile
    - taosStatFile
    - tssError
    - TAOS_RETURN
    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:272,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:273,1
    - Dst: taosDirName
      Src: /src/tdengine/source/libs/tss/src/fs.c:273,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:275,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:276,1
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:279,1
    - Dst: copyFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:280,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: 281
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: uploadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 2
    functionsReached:
    - joinPath
    - taosMulMkDir
    - copyFile
    - tssError
    - taosDirName
    - TAOS_RETURN
    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:290,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:293,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:296,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:297,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:300,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:302,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:303,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:304,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:307,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:311,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tss/src/fs.c:316,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:316,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: 318
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: readFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 4
    functionsReached:
    - taosLSeekFile
    - taosReadFile
    - taosCloseFile
    - joinPath
    - tssError
    - TAOS_UNUSED
    - taosOpenFile
    - TAOS_RETURN
    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:327,1
    - Dst: copyFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:328,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: 329
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: downloadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 2
    functionsReached:
    - copyFile
    - joinPath
    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:336,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:339,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:340,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/fs.c:343,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tss/src/fs.c:345,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:348,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/tss/src/fs.c:349,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/src/fs.c:351,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/src/fs.c:351,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/tss/src/fs.c:355,1
    - Dst: taosDirEntryIsDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:357,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/fs.c:358,1
    - Dst: listFileInDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:363,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tss/src/fs.c:365,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tss/src/fs.c:368,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/fs.c:370,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:379,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:384,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - dirPath
    - baseLen
    - res
    argTypes:
    - char*
    - size_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 385
    functionName: listFileInDir
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosArrayPush
    - taosReadDir
    - listFileInDir
    - taosMemoryFree
    - memcpy
    - strcpy
    - taosGetDirEntryName
    - taosDirEntryIsDir
    - taosCloseDir
    - tssError
    - taosOpenDir
    - taosStrdup
    - TAOS_RETURN
    - strcmp
    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:393,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/fs.c:394,1
    - Dst: listFileInDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:404,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:406,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/src/fs.c:407,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/src/fs.c:408,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/fs.c:409,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/tss/src/fs.c:411,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pss
    - prefix
    - paths
    argTypes:
    - SSharedStorage*
    - char*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 416
    functionName: listFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 2
    functionsReached:
    - strlen
    - joinPath
    - listFileInDir
    - taosArrayGet
    - taosArrayClear
    - taosArrayGetSize
    - tssError
    - taosMemoryFree
    - TAOS_RETURN
    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:425,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pss
    - path
    argTypes:
    - SSharedStorage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 427
    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:436,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:437,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/fs.c:439,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:442,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:444,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pss
    - path
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 448
    functionName: getFileSize
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 3
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - joinPath
    - taosStatFile
    - tssError
    - TAOS_RETURN
    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:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - as
    - ppSS
    argTypes:
    - char*
    - SSharedStorage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 479
    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:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 486
    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: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: SSL_DATA_PENDING
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqTls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DATA_PENDING(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: SSL_DATA_PENDING
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqTls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DATA_PENDING(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: COMPAT_CLOSE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqNet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_CLOSE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: TTQ_MSB
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqNet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TTQ_MSB(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: TTQ_LSB
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqNet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TTQ_LSB(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: ENGINE_FINISH
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqNet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_FINISH(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: ttq_pthread_create
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqPthread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ttq_pthread_create(A, B, C, D)
  - 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: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ttq_pthread_join
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqPthread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ttq_pthread_join(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: ttq_pthread_cancel
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqPthread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ttq_pthread_cancel(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: ttq_pthread_testcancel
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqPthread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ttq_pthread_testcancel()
  - 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: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: ttq_pthread_mutex_init
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqPthread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ttq_pthread_mutex_init(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: ttq_pthread_mutex_destroy
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqPthread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ttq_pthread_mutex_destroy(A)
  - 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: ttq_pthread_mutex_lock
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqPthread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ttq_pthread_mutex_lock(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: ttq_pthread_mutex_unlock
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttqPthread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ttq_pthread_mutex_unlock(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: SAFE_PRINT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttq.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_PRINT(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: STREMPTY
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/inc/ttq.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREMPTY(str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:51,1
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct tmqtt__packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: packet__alloc
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c
    functionUses: 0
    functionsReached:
    - ttq_malloc
    linkageType: ''
    returnType: int
    signature: int packet__alloc(struct tmqtt__packet *packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct tmqtt__packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: packet__cleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c
    functionUses: 0
    functionsReached:
    - ttq_free
    linkageType: ''
    returnType: void
    signature: void packet__cleanup(struct tmqtt__packet *packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: packet__cleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:96,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:97,1
    - Dst: packet__cleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: packet__cleanup_all_no_locks
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - packet__cleanup
    linkageType: ''
    returnType: void
    signature: void packet__cleanup_all_no_locks(struct tmqtt *ttq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:105,1
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:106,1
    - Dst: packet__cleanup_all_no_locks
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:108,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:110,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: packet__cleanup_all
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c
    functionUses: 0
    functionsReached:
    - ttq_pthread_mutex_unlock
    - packet__cleanup_all_no_locks
    - ttq_pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void packet__cleanup_all(struct tmqtt *ttq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:119,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:122,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:125,1
    - Dst: G_MSGS_DROPPED_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:127,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:138,1
    - Dst: packet__write
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - ttq
    - packet
    argTypes:
    - struct tmqtt*
    - struct tmqtt__packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 141
    functionName: packet__queue
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c
    functionUses: 0
    functionsReached:
    - ttq_pthread_mutex_unlock
    - G_MSGS_DROPPED_INC
    - ttq_pthread_mutex_lock
    - ttq_free
    - ttq_log
    - packet__write
    linkageType: ''
    returnType: int
    signature: int packet__queue(struct tmqtt *ttq, struct tmqtt__packet *packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: packet__varint_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ttq
    - remaining_length
    argTypes:
    - struct tmqtt*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: packet__check_oversize
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c
    functionUses: 0
    functionsReached:
    - packet__varint_bytes
    linkageType: ''
    returnType: int
    signature: int packet__check_oversize(struct tmqtt *ttq, uint32_t remaining_length)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:164,1
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:165,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:174,1
    - Dst: ttqMuxAddOut
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:177,1
    - Dst: tmqtt__get_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:180,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:182,1
    - Dst: net__write
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:190,1
    - Dst: G_BYTES_SENT_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:192,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:197,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:200,1
    - Dst: G_MSGS_SENT_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:215,1
    - Dst: G_PUB_MSGS_SENT_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:217,1
    - Dst: G_PUB_MSGS_SENT_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:219,1
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:223,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:232,1
    - Dst: packet__cleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:234,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:235,1
    - Dst: ttqMuxRemoveOut
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:241,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:244,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 77
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 246
    functionName: packet__write
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c
    functionUses: 1
    functionsReached:
    - ttq_pthread_mutex_unlock
    - packet__cleanup
    - G_MSGS_SENT_INC
    - ttqMuxRemoveOut
    - ttq_pthread_mutex_lock
    - ttqMuxAddOut
    - G_PUB_MSGS_SENT_INC
    - net__write
    - ttq_free
    - tmqtt__get_state
    - G_BYTES_SENT_INC
    linkageType: ''
    returnType: int
    signature: int packet__write(struct tmqtt *ttq)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt__get_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:261,1
    - Dst: net__read
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:267,1
    - Dst: G_BYTES_RECEIVED_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:271,1
    - Dst: net__read
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:298,1
    - Dst: G_BYTES_RECEIVED_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:308,1
    - Dst: ttq_send_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:366,1
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:374,1
    - Dst: net__read
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:382,1
    - Dst: G_BYTES_RECEIVED_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:384,1
    - Dst: ttqKeepaliveUpdate
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:391,1
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:393,1
    - Dst: tmqtt_time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:394,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:395,1
    - Dst: G_MSGS_RECEIVED_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:415,1
    - Dst: G_PUB_MSGS_RECEIVED_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:417,1
    - Dst: ttqHandlePacket
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:420,1
    - Dst: packet__cleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:423,1
    - Dst: ttqKeepaliveUpdate
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:426,1
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:428,1
    - Dst: tmqtt_time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:429,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c:430,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 147
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 433
    functionName: packet__read
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacket.c
    functionUses: 0
    functionsReached:
    - ttq_pthread_mutex_unlock
    - G_PUB_MSGS_RECEIVED_INC
    - net__read
    - packet__cleanup
    - ttqKeepaliveUpdate
    - ttq_pthread_mutex_lock
    - tmqtt_time
    - ttqHandlePacket
    - G_MSGS_RECEIVED_INC
    - G_BYTES_RECEIVED_INC
    - tmqtt__get_state
    - ttq_malloc
    - ttq_send_disconnect
    linkageType: ''
    returnType: int
    signature: int packet__read(struct tmqtt *ttq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:47,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:48,1
    - Dst: sigemptyset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:55,1
    - Dst: sigaddset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:56,1
    - Dst: sigaddset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:57,1
    - Dst: sigaddset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:58,1
    - Dst: sigaddset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:59,1
    - Dst: sigaddset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:60,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:62,1
    - Dst: epoll_create
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:65,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:66,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:66,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:69,1
    - Dst: epoll_ctl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:73,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:74,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:74,1
    - Dst: close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct tmqtt__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 84
    functionName: ttqMuxInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c
    functionUses: 0
    functionsReached:
    - memset
    - sigaddset
    - close
    - epoll_create
    - sigemptyset
    - UNUSED
    - strerror
    - epoll_ctl
    - ttq_log
    linkageType: ''
    returnType: int
    signature: int ttqMuxInit(struct tmqtt__listener_sock *listensock, int listensock_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: ttqMuxCleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int ttqMuxCleanup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:100,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:107,1
    - Dst: epoll_ctl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:110,1
    - Dst: epoll_ctl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:111,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:112,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: ttqMuxAddOut
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c
    functionUses: 1
    functionsReached:
    - memset
    - UNUSED
    - strerror
    - epoll_ctl
    - ttq_log
    linkageType: ''
    returnType: int
    signature: int ttqMuxAddOut(struct tmqtt *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:125,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:132,1
    - Dst: epoll_ctl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:135,1
    - Dst: epoll_ctl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:136,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:137,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 146
    functionName: ttqMuxRemoveOut
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c
    functionUses: 1
    functionsReached:
    - memset
    - UNUSED
    - strerror
    - epoll_ctl
    - ttq_log
    linkageType: ''
    returnType: int
    signature: int ttqMuxRemoveOut(struct tmqtt *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:150,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:156,1
    - Dst: epoll_ctl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: ttqMuxDelete
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c
    functionUses: 0
    functionsReached:
    - epoll_ctl
    - memset
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int ttqMuxDelete(struct tmqtt *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:172,1
    - Dst: epoll_ctl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:175,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:177,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: ttq_mux_add_in
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c
    functionUses: 0
    functionsReached:
    - epoll_ctl
    - ttq_log
    - memset
    - strerror
    linkageType: ''
    returnType: int
    signature: int ttq_mux_add_in(struct tmqtt *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:196,1
    - Dst: tmqtt__set_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:198,1
    - Dst: ttqDisconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:201,1
    - Dst: packet__write
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:205,1
    - Dst: ttqDisconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:207,1
    - Dst: packet__read
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:214,1
    - Dst: ttqDisconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:216,1
    - Dst: SSL_DATA_PENDING
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:219,1
    - Dst: ttqDisconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - context
    - events
    argTypes:
    - struct tmqtt*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 226
    functionName: ttq_handle_rw
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c
    functionUses: 0
    functionsReached:
    - ttqDisconnect
    - tmqtt__set_state
    - packet__read
    - getsockopt
    - SSL_DATA_PENDING
    - packet__write
    linkageType: ''
    returnType: void
    signature: void ttq_handle_rw(struct tmqtt *context, uint32_t events)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:231,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:234,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:244,1
    - Dst: sigprocmask
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:245,1
    - Dst: epoll_wait
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:246,1
    - Dst: sigprocmask
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:247,1
    - Dst: tmqtt_time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:249,1
    - Dst: time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:250,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:255,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:255,1
    - Dst: ttq_handle_rw
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:264,1
    - Dst: ttqNetSocketAccept
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:269,1
    - Dst: ttq_mux_add_in
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c:271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct tmqtt__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 281
    functionName: ttqMuxHandle
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMux.c
    functionUses: 0
    functionsReached:
    - ttqNetSocketAccept
    - memset
    - ttq_handle_rw
    - tmqtt_time
    - time
    - UNUSED
    - strerror
    - sigprocmask
    - epoll_wait
    - ttq_log
    - ttq_mux_add_in
    linkageType: ''
    returnType: int
    signature: int ttqMuxHandle(struct tmqtt__listener_sock *listensock, int listensock_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_opener
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:67,1
    - Dst: UI_OpenSSL
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ui_open
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - UI_method_get_opener
    - UI_OpenSSL
    linkageType: ''
    returnType: int
    signature: int ui_open(UI *ui)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_reader
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:69,1
    - Dst: UI_OpenSSL
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ui_read
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - UI_method_get_reader
    - UI_OpenSSL
    linkageType: ''
    returnType: int
    signature: int ui_read(UI *ui, UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_writer
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:71,1
    - Dst: UI_OpenSSL
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ui_write
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - UI_OpenSSL
    - UI_method_get_writer
    linkageType: ''
    returnType: int
    signature: int ui_write(UI *ui, UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_closer
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:73,1
    - Dst: UI_OpenSSL
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ui_close
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - UI_OpenSSL
    - UI_method_get_closer
    linkageType: ''
    returnType: int
    signature: int ui_close(UI *ui)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_create_method
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:76,1
    - Dst: UI_method_set_opener
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:77,1
    - Dst: UI_method_set_reader
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:78,1
    - Dst: UI_method_set_writer
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:79,1
    - Dst: UI_method_set_closer
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: setup_ui_method
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - UI_method_set_writer
    - UI_create_method
    - UI_method_set_opener
    - UI_method_set_closer
    - UI_method_set_reader
    linkageType: ''
    returnType: void
    signature: void setup_ui_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_destroy_method
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: cleanup_ui_method
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - UI_destroy_method
    linkageType: ''
    returnType: void
    signature: void cleanup_ui_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: net__get_ui_method
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *net__get_ui_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ares_library_init
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: net__init
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - ares_library_init
    linkageType: ''
    returnType: int
    signature: int net__init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cleanup_all_ex_data
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:105,1
    - Dst: ERR_free_strings
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:106,1
    - Dst: ERR_remove_thread_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:107,1
    - Dst: EVP_cleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:108,1
    - Dst: ENGINE_cleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:111,1
    - Dst: CONF_modules_unload
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:116,1
    - Dst: cleanup_ui_method
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:117,1
    - Dst: ares_library_cleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: net__cleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - ERR_free_strings
    - cleanup_ui_method
    - CRYPTO_cleanup_all_ex_data
    - ares_library_cleanup
    - ERR_remove_thread_state
    - ENGINE_cleanup
    - EVP_cleanup
    - CONF_modules_unload
    linkageType: ''
    returnType: void
    signature: void net__cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_load_error_strings
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:130,1
    - Dst: SSL_library_init
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:131,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:132,1
    - Dst: OPENSSL_init_crypto
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:134,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:137,1
    - Dst: setup_ui_method
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:139,1
    - Dst: SSL_get_ex_new_index
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: net__init_tls
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - SSL_library_init
    - OPENSSL_init_crypto
    - SSL_load_error_strings
    - SSL_get_ex_new_index
    - ENGINE_load_builtin_engines
    - OpenSSL_add_all_algorithms
    - setup_ui_method
    linkageType: ''
    returnType: void
    signature: void net__init_tls(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:210,1
    - Dst: SSL_get_ex_data
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:212,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:215,1
    - Dst: tmqtt__hex2bin
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - ssl
    - hint
    - identity
    - max_identity_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: psk_client_callback
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - snprintf
    - tmqtt__hex2bin
    - UNUSED
    - SSL_get_ex_data
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int psk_client_callback(SSL *ssl, const char *hint, char
      *identity, unsigned int max_identity_len,\n                                        unsigned
      char *psk, unsigned int max_psk_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gai_cancel
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:231,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:232,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:233,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:235,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:240,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:242,1
    - Dst: getaddrinfo_a
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:253,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:257,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - ttq
    - host
    argTypes:
    - struct tmqtt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 265
    functionName: net__try_connect_step1
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - gai_cancel
    - getaddrinfo_a
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int net__try_connect_step1(struct tmqtt *ttq, const char *host)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:275,1
    - Dst: htons
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:279,1
    - Dst: htons
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:281,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:283,1
    - Dst: net__socket_nonblock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:289,1
    - Dst: connect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:293,1
    - Dst: net__socket_nonblock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:300,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:306,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:309,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:312,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:313,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 3
    argNames:
    - ttq
    - port
    - sock
    argTypes:
    - struct tmqtt*
    - uint16_t
    - ttq_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 321
    functionName: net__try_connect_step2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - socket
    - freeaddrinfo
    - ttq_free
    - net__socket_nonblock
    - COMPAT_CLOSE
    - htons
    - connect
    linkageType: ''
    returnType: int
    signature: int net__try_connect_step2(struct tmqtt *ttq, uint16_t port, ttq_sock_t
      *sock)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:336,1
    - Dst: getaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:340,1
    - Dst: getaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:347,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:349,1
    - Dst: socket
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:356,1
    - Dst: htons
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:360,1
    - Dst: htons
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:362,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:364,1
    - Dst: bind
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:371,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:376,1
    - Dst: net__socket_nonblock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:384,1
    - Dst: connect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:389,1
    - Dst: net__socket_nonblock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:397,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:404,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:407,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:409,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 5
    argNames:
    - host
    - port
    - sock
    - bind_address
    - blocking
    argTypes:
    - char*
    - uint16_t
    - ttq_sock_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 415
    functionName: net__try_connect_tcp
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - getaddrinfo
    - memset
    - socket
    - freeaddrinfo
    - bind
    - net__socket_nonblock
    - COMPAT_CLOSE
    - htons
    - connect
    linkageType: ''
    returnType: int
    signature: "int net__try_connect_tcp(const char *host, uint16_t port, ttq_sock_t
      *sock, const char *bind_address,\n                                bool blocking)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:423,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:423,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:427,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:429,1
    - Dst: socket
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:431,1
    - Dst: net__socket_nonblock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:435,1
    - Dst: connect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:438,1
    - Dst: close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - host
    - sock
    argTypes:
    - char*
    - ttq_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 447
    functionName: net__try_connect_unix
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - strlen
    - memset
    - socket
    - close
    - net__socket_nonblock
    - strncpy
    - connect
    linkageType: ''
    returnType: int
    signature: int net__try_connect_unix(const char *host, ttq_sock_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net__try_connect_unix
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:453,1
    - Dst: net__try_connect_tcp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - host
    - port
    - sock
    - bind_address
    - blocking
    argTypes:
    - char*
    - uint16_t
    - ttq_sock_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: net__try_connect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - net__try_connect_tcp
    - net__try_connect_unix
    linkageType: ''
    returnType: int
    signature: int net__try_connect(const char *host, uint16_t port, ttq_sock_t *sock,
      const char *bind_address, bool blocking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:468,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:470,1
    - Dst: ERR_error_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:470,1
    - Dst: ERR_get_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 474
    functionName: net__print_ssl_error
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - ttq_log
    - ERR_error_string
    - ERR_get_error
    linkageType: ''
    returnType: void
    signature: void net__print_ssl_error(struct tmqtt *ttq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:479,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:482,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:483,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:486,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:487,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:490,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:491,1
    - Dst: SSL_set_connect_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 497
    functionName: net__socket_connect_tls
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - SSL_set_tlsext_status_type
    - SSL_CTX_set_tlsext_status_arg
    - SSL_set_connect_state
    - ERR_clear_error
    - ttq_log
    - SSL_CTX_set_tlsext_status_cb
    linkageType: ''
    returnType: int
    signature: int net__socket_connect_tls(struct tmqtt *ttq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:505,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:509,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:513,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:517,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:520,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:525,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:528,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:530,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:538,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:541,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:543,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:549,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:552,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:554,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 561
    functionName: net__tls_load_ca
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_load_verify_file
    - SSL_CTX_load_verify_locations
    - SSL_CTX_load_verify_dir
    - ttq_log
    linkageType: ''
    returnType: int
    signature: int net__tls_load_ca(struct tmqtt *ttq)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:578,1
    - Dst: net__init_tls
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:590,1
    - Dst: SSL_CTX_new
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:593,1
    - Dst: SSLv23_client_method
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:593,1
    - Dst: SSL_CTX_new
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:595,1
    - Dst: TLS_client_method
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:595,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:599,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:600,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:607,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:612,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:614,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:615,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:617,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:618,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:619,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:620,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:622,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:628,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:631,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:635,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:637,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:638,1
    - Dst: SSL_CTX_set_mode
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:643,1
    - Dst: ENGINE_by_id
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:648,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:650,1
    - Dst: ENGINE_init
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:653,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:654,1
    - Dst: ENGINE_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:655,1
    - Dst: ENGINE_set_default
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:658,1
    - Dst: ENGINE_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:659,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:664,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:666,1
    - Dst: ENGINE_FINISH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:668,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:670,1
    - Dst: net__tls_load_ca
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:675,1
    - Dst: ENGINE_FINISH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:678,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:680,1
    - Dst: SSL_CTX_set_verify
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:684,1
    - Dst: SSL_CTX_set_verify
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:686,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:690,1
    - Dst: SSL_CTX_set_default_passwd_cb_userdata
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:691,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:695,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:698,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:701,1
    - Dst: ENGINE_FINISH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:704,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:706,1
    - Dst: net__get_ui_method
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:713,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:715,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:716,1
    - Dst: ENGINE_FINISH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:717,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:718,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:721,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:722,1
    - Dst: ENGINE_FINISH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:723,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:724,1
    - Dst: ENGINE_load_private_key
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:729,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:731,1
    - Dst: ENGINE_FINISH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:732,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:733,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:736,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:737,1
    - Dst: ENGINE_FINISH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:738,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:739,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:744,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:747,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:750,1
    - Dst: ENGINE_FINISH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:753,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:755,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:759,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:761,1
    - Dst: ENGINE_FINISH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:763,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:765,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:771,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:773,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 155
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 780
    functionName: net__init_ssl_ctx
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - net__get_ui_method
    - ENGINE_load_private_key
    - SSL_CTX_set_verify
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_set_mode
    - TLS_client_method
    - ENGINE_free
    - SSL_CTX_use_certificate_chain_file
    - strcmp
    - SSLv23_client_method
    - SSL_CTX_set_cipher_list
    - SSL_CTX_set_default_passwd_cb_userdata
    - ENGINE_by_id
    - SSL_CTX_use_PrivateKey
    - SSL_CTX_set_alpn_protos
    - SSL_CTX_set_dh_auto
    - SSL_CTX_set_options
    - net__init_tls
    - ENGINE_init
    - net__tls_load_ca
    - ENGINE_FINISH
    - SSL_CTX_set_default_passwd_cb
    - ENGINE_set_default
    - ENGINE_ctrl_cmd
    - net__print_ssl_error
    - ttq_log
    - SSL_CTX_check_private_key
    - strnlen
    - SSL_CTX_set_psk_client_callback
    - SSL_CTX_new
    - memcpy
    linkageType: ''
    returnType: int
    signature: int net__init_ssl_ctx(struct tmqtt *ttq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: net__init_ssl_ctx
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:787,1
    - Dst: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:789,1
    - Dst: SSL_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:795,1
    - Dst: SSL_new
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:797,1
    - Dst: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:799,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:800,1
    - Dst: SSL_set_ex_data
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:804,1
    - Dst: BIO_new_socket
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:805,1
    - Dst: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:807,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:808,1
    - Dst: SSL_set_bio
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:811,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:816,1
    - Dst: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:817,1
    - Dst: net__socket_connect_tls
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:821,1
    - Dst: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:822,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:827,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:828,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - ttq
    - host
    argTypes:
    - struct tmqtt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 831
    functionName: net__socket_connect_step3
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - SSL_set_ex_data
    - SSL_set_bio
    - net__socket_close
    - net__init_ssl_ctx
    - SSL_free
    - net__socket_connect_tls
    - SSL_set_tlsext_host_name
    - UNUSED
    - SSL_new
    - net__print_ssl_error
    - BIO_new_socket
    linkageType: ''
    returnType: int
    signature: int net__socket_connect_step3(struct tmqtt *ttq, const char *host)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: net__try_connect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:839,1
    - Dst: setsockopt
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:844,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:845,1
    - Dst: net__socket_connect_step3
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:853,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - ttq
    - host
    - port
    - bind_address
    - blocking
    argTypes:
    - struct tmqtt*
    - char*
    - uint16_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 834
    functionDepth: 4
    functionLinenumber: 834
    functionLinenumberEnd: 858
    functionName: net__socket_connect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - net__socket_connect_step3
    - ttq_log
    - net__try_connect
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int net__socket_connect(struct tmqtt *ttq, const char *host, uint16_t
      port, const char *bind_address, bool blocking)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:864,1
    - Dst: mux__add_out
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:871,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:877,1
    - Dst: ERR_clear_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ttq
    - ret
    argTypes:
    - struct tmqtt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 883
    functionName: net__handle_ssl
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - ERR_clear_error
    - net__print_ssl_error
    - SSL_get_error
    - mux__add_out
    linkageType: ''
    returnType: int
    signature: int net__handle_ssl(struct tmqtt *ttq, int ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:941,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:943,1
    - Dst: fcntl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:947,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - sock
    argTypes:
    - ttq_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 955
    functionName: net__socket_nonblock
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 3
    functionsReached:
    - fcntl
    - COMPAT_CLOSE
    linkageType: ''
    returnType: int
    signature: int net__socket_nonblock(ttq_sock_t *sock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:964,1
    - Dst: net__socket_nonblock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:967,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:968,1
    - Dst: net__socket_nonblock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:971,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pairR
    - pairW
    argTypes:
    - ttq_sock_t*
    - ttq_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 978
    functionName: net__socketpair
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - net__socket_nonblock
    - COMPAT_CLOSE
    - socketpair
    linkageType: ''
    returnType: int
    signature: int net__socketpair(ttq_sock_t *pairR, ttq_sock_t *pairW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 990
    functionName: tmqtt_ssl_get
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void *tmqtt_ssl_get(struct tmqtt *ttq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getppid
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ttq_ppid_init
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c
    functionUses: 0
    functionsReached:
    - getppid
    linkageType: ''
    returnType: void
    signature: void ttq_ppid_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getppid
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: ttq_ppid_changed
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c
    functionUses: 0
    functionsReached:
    - getppid
    linkageType: ''
    returnType: int
    signature: int ttq_ppid_changed(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:62,1
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:69,1
    - Dst: ttqDbMsgStoreFree
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:71,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:76,1
    - Dst: ttqDbMessageStore
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:83,1
    - Dst: tmqtt__mid_generate
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:86,1
    - Dst: ttqDbMessageInsert
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - context
    - msg
    - message_expiry
    argTypes:
    - struct tmqtt*
    - struct tmqtt_message_v5*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 91
    functionName: single_publish
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c
    functionUses: 0
    functionsReached:
    - tmqtt__mid_generate
    - memcpy
    - ttqDbMessageInsert
    - ttqDbMsgStoreFree
    - ttq_malloc
    - ttqDbMessageStore
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int single_publish(struct tmqtt *context, struct tmqtt_message_v5 *msg,
      uint32_t message_expiry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: property__free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - proplist
    - message_expiry
    argTypes:
    - tmqtt_property**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: read_message_expiry_interval
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c
    functionUses: 0
    functionsReached:
    - property__free
    linkageType: ''
    returnType: void
    signature: void read_message_expiry_interval(tmqtt_property **proplist, uint32_t
      *message_expiry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:122,1
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:123,1
    - Dst: read_message_expiry_interval
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:125,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:128,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:128,1
    - Dst: single_publish
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:130,1
    - Dst: ttqDbMessageEasyQueue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:133,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:136,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:137,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:138,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:139,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: queue_plugin_msgs
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c
    functionUses: 0
    functionsReached:
    - strlen
    - ttqDbMessageEasyQueue
    - DL_DELETE
    - DL_FOREACH_SAFE
    - tmqtt_property_free_all
    - read_message_expiry_interval
    - ttq_free
    - HASH_FIND
    - single_publish
    linkageType: ''
    returnType: void
    signature: void queue_plugin_msgs(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt_time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:146,1
    - Dst: tmqtt_time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:150,1
    - Dst: time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:151,1
    - Dst: ttq_ppid_init
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:153,1
    - Dst: queue_plugin_msgs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:156,1
    - Dst: ttqCxtFreeDisused
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:157,1
    - Dst: ttqKeepaliveCheck
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:158,1
    - Dst: ttqMuxHandle
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:160,1
    - Dst: ttqSessionExpiryCheck
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:163,1
    - Dst: persist__backup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:169,1
    - Dst: persist__backup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:174,1
    - Dst: persist__backup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:183,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:188,1
    - Dst: ttqLogClose
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:193,1
    - Dst: ttqLogInit
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:194,1
    - Dst: ttqSubTreePrint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:198,1
    - Dst: ttqSubTreePrint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:199,1
    - Dst: tmq_ctx_poll_msgs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:203,1
    - Dst: ttq_ppid_changed
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:205,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct tmqtt__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 211
    functionName: ttqMainloop
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c
    functionUses: 0
    functionsReached:
    - tmq_ctx_poll_msgs
    - ttqMuxHandle
    - ttqLogClose
    - ttqSessionExpiryCheck
    - ttq_ppid_changed
    - ttqSubTreePrint
    - tmqtt_time
    - persist__backup
    - ttqLogInit
    - time
    - ttqCxtFreeDisused
    - queue_plugin_msgs
    - ttq_ppid_init
    - ttq_log
    - ttqKeepaliveCheck
    linkageType: ''
    returnType: int
    signature: int ttqMainloop(struct tmqtt__listener_sock *listensock, int listensock_count)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:231,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:234,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:237,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:240,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:243,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:246,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:249,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:252,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:255,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:261,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:264,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:264,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:267,1
    - Dst: tmqtt_strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:267,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:272,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:274,1
    - Dst: ttqMuxDelete
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:279,1
    - Dst: ttqCxtDisconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c:280,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - context
    - reason
    argTypes:
    - struct tmqtt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 281
    functionName: ttqDisconnect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqLoop.c
    functionUses: 1
    functionsReached:
    - ttqMuxDelete
    - strerror
    - ttqCxtDisconnect
    - ttq_log
    - tmqtt_strerror
    linkageType: ''
    returnType: void
    signature: void ttqDisconnect(struct tmqtt *context, int reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - packet
    - byte
    argTypes:
    - struct tmqtt__packet*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: packet__read_byte
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int packet__read_byte(struct tmqtt__packet *packet, uint8_t *byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - byte
    argTypes:
    - struct tmqtt__packet*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: packet__write_byte
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void packet__write_byte(struct tmqtt__packet *packet, uint8_t byte)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - packet
    - bytes
    - count
    argTypes:
    - struct tmqtt__packet*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: packet__read_bytes
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int packet__read_bytes(struct tmqtt__packet *packet, void *bytes, uint32_t
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - packet
    - bytes
    - count
    argTypes:
    - struct tmqtt__packet*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: packet__write_bytes
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void packet__write_bytes(struct tmqtt__packet *packet, const void *bytes,
      uint32_t count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:62,1
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:73,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - packet
    - data
    - length
    argTypes:
    - struct tmqtt__packet*
    - uint8_t**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: packet__read_binary
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached:
    - ttq_malloc
    - packet__read_uint16
    - memcpy
    linkageType: ''
    returnType: int
    signature: int packet__read_binary(struct tmqtt__packet *packet, uint8_t **data,
      uint16_t *length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_binary
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:89,1
    - Dst: tmqtt_validate_utf8
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:93,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - packet
    - str
    - length
    argTypes:
    - struct tmqtt__packet*
    - char**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: packet__read_string
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - tmqtt_validate_utf8
    - packet__read_binary
    linkageType: ''
    returnType: int
    signature: int packet__read_string(struct tmqtt__packet *packet, char **str, uint16_t
      *length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packet__write_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:104,1
    - Dst: packet__write_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - packet
    - str
    - length
    argTypes:
    - struct tmqtt__packet*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: packet__write_string
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached:
    - packet__write_uint16
    - packet__write_bytes
    linkageType: ''
    returnType: void
    signature: void packet__write_string(struct tmqtt__packet *packet, const char
      *str, uint16_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - packet
    - word
    argTypes:
    - struct tmqtt__packet*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: packet__read_uint16
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int packet__read_uint16(struct tmqtt__packet *packet, uint16_t *word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:124,1
    - Dst: TTQ_MSB
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:124,1
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:125,1
    - Dst: TTQ_LSB
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - word
    argTypes:
    - struct tmqtt__packet*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: packet__write_uint16
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 1
    functionsReached:
    - packet__write_byte
    - TTQ_LSB
    - TTQ_MSB
    linkageType: ''
    returnType: void
    signature: void packet__write_uint16(struct tmqtt__packet *packet, uint16_t word)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - packet
    - word
    argTypes:
    - struct tmqtt__packet*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: packet__read_uint32
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int packet__read_uint32(struct tmqtt__packet *packet, uint32_t *word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:145,1
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:146,1
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:147,1
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - packet
    - word
    argTypes:
    - struct tmqtt__packet*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: packet__write_uint32
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached:
    - packet__write_byte
    linkageType: ''
    returnType: void
    signature: void packet__write_uint32(struct tmqtt__packet *packet, uint32_t word)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - packet
    - word
    - bytes
    argTypes:
    - struct tmqtt__packet*
    - uint32_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: packet__read_varint
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int packet__read_varint(struct tmqtt__packet *packet, uint32_t *word,
      uint8_t *bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - packet
    - word
    argTypes:
    - struct tmqtt__packet*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 201
    functionName: packet__write_varint
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 0
    functionsReached:
    - packet__write_byte
    linkageType: ''
    returnType: int
    signature: int packet__write_varint(struct tmqtt__packet *packet, uint32_t word)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - word
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: packet__varint_bytes
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPacketDataTypes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int packet__varint_bytes(uint32_t word)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:31,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:33,1
    - Dst: property__get_remaining_length
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:39,1
    - Dst: packet__alloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:41,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:43,1
    - Dst: packet__write_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:46,1
    - Dst: property__write_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:50,1
    - Dst: packet__write_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:54,1
    - Dst: packet__queue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - context
    - mid
    - payloadlen
    - payload
    argTypes:
    - struct tmqtt*
    - uint16_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 58
    functionName: ttq_send_suback
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c
    functionUses: 0
    functionsReached:
    - property__write_all
    - ttq_free
    - packet__alloc
    - packet__queue
    - packet__write_bytes
    - property__get_remaining_length
    - ttq_log
    - packet__write_uint16
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int ttq_send_suback(struct tmqtt *context, uint16_t mid, uint32_t payloadlen,
      const void *payload)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:88,1
    - Dst: packet__read_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:95,1
    - Dst: property__read_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:99,1
    - Dst: tmqtt_property_read_varint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:109,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:112,1
    - Dst: tmqtt_property_read_string_pair
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:120,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:122,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:122,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:124,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:124,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:128,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:129,1
    - Dst: tmqtt_property_read_string_pair
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:133,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:136,1
    - Dst: packet__read_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:141,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:142,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:148,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:149,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:150,1
    - Dst: tmqtt_sub_topic_check
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:153,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:154,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:155,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:156,1
    - Dst: packet__read_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:160,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:161,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:162,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:174,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:175,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:176,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:181,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:182,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:187,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:188,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:189,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:197,1
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:198,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:200,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:201,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:204,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:207,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:210,1
    - Dst: ttqSubTopicTokenise
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:242,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:244,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:245,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:246,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:250,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:252,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:253,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:254,1
    - Dst: tmq_ctx_topic_exists
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:258,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:264,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:265,1
    - Dst: ttqSubAdd
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:269,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:271,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:286,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:288,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:290,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:296,1
    - Dst: ttq_send_suback
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:309,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:310,1
    - Dst: ttqDbMessageWriteQueuedOut
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:317,1
    - Dst: ttqDbMessageWriteInflightOutLatest
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:319,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 177
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 324
    functionName: ttqHandleSub
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c
    functionUses: 0
    functionsReached:
    - packet__read_uint16
    - snprintf
    - tmqtt_property_read_varint
    - strncmp
    - strcmp
    - ttqSubTopicTokenise
    - ttqDbMessageWriteQueuedOut
    - ttq_realloc
    - ttq_send_suback
    - property__read_all
    - strlen
    - packet__read_byte
    - ttqDbMessageWriteInflightOutLatest
    - tmq_ctx_topic_exists
    - tmqtt_sub_topic_check
    - packet__read_string
    - ttq_log
    - ttq_malloc
    - ttqSubAdd
    - free
    - tmqtt_property_read_string_pair
    - tmqtt_property_free_all
    - ttq_free
    linkageType: ''
    returnType: int
    signature: int ttqHandleSub(struct tmqtt *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:331,1
    - Dst: property__get_remaining_length
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:338,1
    - Dst: packet__alloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:342,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:344,1
    - Dst: packet__write_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:348,1
    - Dst: property__write_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:351,1
    - Dst: packet__write_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:352,1
    - Dst: packet__queue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - ttq
    - mid
    - reason_code_count
    - reason_codes
    - properties
    argTypes:
    - struct tmqtt*
    - uint16_t
    - int
    - uint8_t*
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 356
    functionName: ttq_send_unsuback
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c
    functionUses: 0
    functionsReached:
    - property__write_all
    - ttq_free
    - packet__alloc
    - packet__queue
    - packet__write_bytes
    - property__get_remaining_length
    - packet__write_uint16
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: "int ttq_send_unsuback(struct tmqtt *ttq, uint16_t mid, int reason_code_count,
      uint8_t *reason_codes,\n                             const tmqtt_property *properties)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:378,1
    - Dst: packet__read_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:385,1
    - Dst: property__read_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:389,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:401,1
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:412,1
    - Dst: packet__read_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:419,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:420,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:425,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:426,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:427,1
    - Dst: tmqtt_sub_topic_check
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:430,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:431,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:432,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:433,1
    - Dst: tmqttAclCheck
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:439,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:448,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:449,1
    - Dst: ttqSubTopicTokenise
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:460,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:462,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:463,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:464,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:468,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:470,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:471,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:472,1
    - Dst: tmq_ctx_unsub_topic
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:476,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:482,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:483,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:486,1
    - Dst: ttqSubRemmove
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:488,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:492,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:493,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:495,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:502,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:504,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:515,1
    - Dst: ttq_send_unsuback
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:517,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c:518,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 122
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 520
    functionName: ttqHandleUnsub
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleSub.c
    functionUses: 0
    functionsReached:
    - property__read_all
    - tmqttAclCheck
    - ttqSubTopicTokenise
    - strlen
    - ttqSubRemmove
    - packet__read_uint16
    - ttq_realloc
    - tmqtt_sub_topic_check
    - ttq_send_unsuback
    - tmqtt_property_free_all
    - tmq_ctx_unsub_topic
    - packet__read_string
    - ttq_free
    - ttq_log
    - ttq_malloc
    linkageType: ''
    returnType: int
    signature: int ttqHandleUnsub(struct tmqtt *context)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 3
    argNames:
    - context
    - msg
    - props
    argTypes:
    - struct tmqtt*
    - struct tmqtt_message_all*
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 77
    functionName: ttqPropertyProcessWill
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqPropertyBroker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ttqPropertyProcessWill(struct tmqtt *context, struct tmqtt_message_all
      *msg, tmqtt_property **props)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 62
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 105
    functionName: tmqtt_validate_utf8
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtf8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tmqtt_validate_utf8(const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:54,1
    - Dst: net__init
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:55,1
    - Dst: net__init_tls
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: ttqNetBrokerInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - net__init
    - socket
    - net__init_tls
    linkageType: ''
    returnType: void
    signature: void ttqNetBrokerInit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:63,1
    - Dst: net__cleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: ttqNetBrokerCleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - net__cleanup
    - COMPAT_CLOSE
    linkageType: ''
    returnType: void
    signature: void ttqNetBrokerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:72,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - log
    - format_str
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: net__print_error
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - ttq_log
    - strerror
    linkageType: ''
    returnType: void
    signature: void net__print_error(unsigned int log, const char *format_str)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:90,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:100,1
    - Dst: accept
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:101,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:103,1
    - Dst: socket
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:105,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:106,1
    - Dst: G_SOCKET_CONNECTIONS_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:113,1
    - Dst: net__socket_nonblock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:115,1
    - Dst: request_init
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:121,1
    - Dst: fromhost
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:122,1
    - Dst: hosts_access
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:123,1
    - Dst: ttqNetSocketGetAddress
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:126,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:127,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:130,1
    - Dst: setsockopt
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:137,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:138,1
    - Dst: ttqCxtInit
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:142,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:144,1
    - Dst: ttqCxtCleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:149,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:157,1
    - Dst: ttqCxtCleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:160,1
    - Dst: SSL_new
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:167,1
    - Dst: ttqCxtCleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:169,1
    - Dst: SSL_set_ex_data
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:172,1
    - Dst: SSL_set_ex_data
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:173,1
    - Dst: BIO_new_socket
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:175,1
    - Dst: SSL_set_bio
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:176,1
    - Dst: ERR_clear_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:177,1
    - Dst: SSL_accept
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:178,1
    - Dst: SSL_get_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:180,1
    - Dst: ERR_get_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:187,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:189,1
    - Dst: ERR_error_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:190,1
    - Dst: ERR_get_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:191,1
    - Dst: ttqCxtCleanup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:194,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:202,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 88
    argCount: 1
    argNames:
    - listensock
    argTypes:
    - struct tmqtt__listener_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 207
    functionName: ttqNetSocketAccept
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 1
    functionsReached:
    - ERR_error_string
    - ERR_clear_error
    - COMPAT_CLOSE
    - SSL_set_ex_data
    - ttqCxtInit
    - ttqNetSocketGetAddress
    - accept
    - ERR_get_error
    - SSL_accept
    - hosts_access
    - SSL_new
    - ttq_log
    - net__socket_nonblock
    - BIO_new_socket
    - ttqCxtCleanup
    - G_SOCKET_CONNECTIONS_INC
    - SSL_set_bio
    - socket
    - SSL_get_error
    - fromhost
    - request_init
    - setsockopt
    linkageType: ''
    returnType: struct tmqtt
    signature: struct tmqtt *ttqNetSocketAccept(struct tmqtt__listener_sock *listensock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - preverify_ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: client_certificate_verify
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int client_certificate_verify(int preverify_ok, X509_STORE_CTX *ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:228,1
    - Dst: SSL_get_ex_data
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:231,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:238,1
    - Dst: tmqtt_psk_key_get
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:241,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:242,1
    - Dst: tmqtt__hex2bin
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:246,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:248,1
    - Dst: tmqtt_validate_utf8
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:253,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:253,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:254,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:257,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:259,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 266
    functionName: psk_server_callback
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - tmqtt__hex2bin
    - strlen
    - tmqtt_psk_key_get
    - tmqtt_validate_utf8
    - ttq_free
    - SSL_get_ex_data
    - ttq_strdup
    - ttq_calloc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int psk_server_callback(SSL *ssl, const char *identity, unsigned
      char *psk, unsigned int max_psk_len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:277,1
    - Dst: SSL_CTX_new
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:281,1
    - Dst: SSLv23_server_method
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:281,1
    - Dst: SSL_CTX_new
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:283,1
    - Dst: TLS_server_method
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:283,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:287,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:294,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:298,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:304,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:306,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:307,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:309,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:310,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:311,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:312,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:314,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:321,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:325,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:329,1
    - Dst: SSL_CTX_set_mode
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:334,1
    - Dst: SSL_CTX_set_ecdh_auto
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:339,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:343,1
    - Dst: SSL_CTX_set_options
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:347,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:350,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:351,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:351,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:354,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:356,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:360,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:362,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:368,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:370,1
    - Dst: tmqtt__fopen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:378,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:380,1
    - Dst: PEM_read_DHparams
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:383,1
    - Dst: fclose
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:384,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:386,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:387,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:388,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct tmqtt__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 393
    functionName: ttqNetTlsServerCtx
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - snprintf
    - SSLv23_server_method
    - SSL_CTX_set_mode
    - SSL_CTX_set_session_id_context
    - strcmp
    - SSL_CTX_set_cipher_list
    - SSL_CTX_set_ciphersuites
    - PEM_read_DHparams
    - SSL_CTX_set_dh_auto
    - SSL_CTX_set_options
    - SSL_CTX_free
    - TLS_server_method
    - strlen
    - ttq_log
    - net__print_ssl_error
    - SSL_CTX_set_tmp_dh
    - SSL_CTX_set_ecdh_auto
    - tmqtt__fopen
    - SSL_CTX_new
    - fclose
    linkageType: ''
    returnType: int
    signature: int ttqNetTlsServerCtx(struct tmqtt__listener *listener)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:402,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:404,1
    - Dst: net__print_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:405,1
    - Dst: X509_STORE_add_lookup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:408,1
    - Dst: X509_LOOKUP_file
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:408,1
    - Dst: X509_load_crl_file
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:409,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:411,1
    - Dst: net__print_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:413,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:414,1
    - Dst: X509_STORE_set_flags
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct tmqtt__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 420
    functionName: net__load_crl_file
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_lookup
    - X509_STORE_set_flags
    - SSL_CTX_get_cert_store
    - net__print_ssl_error
    - X509_load_crl_file
    - ttq_log
    - net__print_error
    - X509_LOOKUP_file
    linkageType: ''
    returnType: int
    signature: int net__load_crl_file(struct tmqtt__listener *listener)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_verify
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:428,1
    - Dst: SSL_CTX_set_verify
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:430,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:432,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:434,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:435,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:439,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:441,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:442,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:446,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:448,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:449,1
    - Dst: net__load_crl_file
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:454,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct tmqtt__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 463
    functionName: ttqNetTlsLoadCertificates
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - net__load_crl_file
    - SSL_CTX_set_verify
    - SSL_CTX_use_PrivateKey_file
    - net__print_ssl_error
    - UNUSED
    - ttq_log
    - SSL_CTX_check_private_key
    - SSL_CTX_use_certificate_chain_file
    linkageType: ''
    returnType: int
    signature: int ttqNetTlsLoadCertificates(struct tmqtt__listener *listener)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:475,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:477,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:478,1
    - Dst: ENGINE_init
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:481,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:482,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:483,1
    - Dst: ENGINE_set_default
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:486,1
    - Dst: net__get_ui_method
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:489,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:491,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:492,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:493,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:496,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:497,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:498,1
    - Dst: ENGINE_load_private_key
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:503,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:505,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:506,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:509,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:510,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:511,1
    - Dst: ENGINE_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:515,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct tmqtt__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 518
    functionName: net__load_engine
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - net__get_ui_method
    - ENGINE_by_id
    - ENGINE_load_private_key
    - SSL_CTX_use_PrivateKey
    - ENGINE_init
    - net__print_ssl_error
    - ENGINE_set_default
    - ENGINE_ctrl_cmd
    - ttq_log
    - ENGINE_free
    linkageType: ''
    returnType: int
    signature: int net__load_engine(struct tmqtt__listener *listener)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:527,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:530,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:533,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:535,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:541,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:543,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:544,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:549,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:551,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:552,1
    - Dst: net__load_engine
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:559,1
    - Dst: ttqNetTlsLoadCertificates
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:564,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct tmqtt__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 521
    functionDepth: 4
    functionLinenumber: 521
    functionLinenumberEnd: 565
    functionName: ttqNetTlsLoadVerify
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - net__load_engine
    - SSL_CTX_load_verify_file
    - ttqNetTlsLoadCertificates
    - SSL_CTX_load_verify_locations
    - SSL_CTX_load_verify_dir
    - net__print_ssl_error
    - ttq_log
    linkageType: ''
    returnType: int
    signature: int ttqNetTlsLoadVerify(struct tmqtt__listener *listener)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:577,1
    - Dst: net__print_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:578,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:587,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:592,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:594,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:599,1
    - Dst: freeifaddrs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:602,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:606,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:608,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:613,1
    - Dst: freeifaddrs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:615,1
    - Dst: freeifaddrs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:622,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:624,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:628,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - listener
    - rp
    argTypes:
    - struct tmqtt__listener*
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 631
    functionName: net__bind_interface
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strcasecmp
    - memcpy
    - getifaddrs
    - freeifaddrs
    - ttq_log
    - net__print_error
    linkageType: ''
    returnType: int
    signature: int net__bind_interface(struct tmqtt__listener *listener, struct addrinfo
      *rp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:644,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:645,1
    - Dst: getaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:654,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:656,1
    - Dst: gai_strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:656,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:665,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:666,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:668,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:669,1
    - Dst: socket
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:674,1
    - Dst: net__print_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:676,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:680,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:682,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:683,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:684,1
    - Dst: setsockopt
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:691,1
    - Dst: setsockopt
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:695,1
    - Dst: net__socket_nonblock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:698,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:699,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:700,1
    - Dst: net__bind_interface
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:707,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:709,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:712,1
    - Dst: bind
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:721,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:724,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:727,1
    - Dst: net__print_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:730,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:731,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:732,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:733,1
    - Dst: listen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:737,1
    - Dst: net__print_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:738,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:739,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:740,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:741,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:745,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:748,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 90
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct tmqtt__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 633
    functionDepth: 3
    functionLinenumber: 633
    functionLinenumberEnd: 753
    functionName: ttqNetSocketListen_tcp
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - getaddrinfo
    - ntohs
    - memset
    - socket
    - ttq_realloc
    - freeaddrinfo
    - bind
    - listen
    - snprintf
    - net__bind_interface
    - ttq_free
    - ttq_log
    - net__socket_nonblock
    - gai_strerror
    - net__print_error
    - COMPAT_CLOSE
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int ttqNetSocketListen_tcp(struct tmqtt__listener *listener)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:765,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:766,1
    - Dst: unlink
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:770,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:771,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:772,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:774,1
    - Dst: socket
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:776,1
    - Dst: net__print_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:778,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:782,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:784,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:785,1
    - Dst: umask
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:790,1
    - Dst: bind
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:791,1
    - Dst: umask
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:792,1
    - Dst: net__print_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:795,1
    - Dst: listen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:799,1
    - Dst: net__print_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:800,1
    - Dst: net__socket_nonblock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:804,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct tmqtt__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 809
    functionName: ttqNetSocketListen_unix
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - strlen
    - COMPAT_CLOSE
    - memset
    - socket
    - ttq_realloc
    - bind
    - listen
    - umask
    - unlink
    - ttq_log
    - net__socket_nonblock
    - net__print_error
    - strncpy
    linkageType: ''
    returnType: int
    signature: int ttqNetSocketListen_unix(struct tmqtt__listener *listener)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ttqNetSocketListen_unix
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:823,1
    - Dst: ttqNetSocketListen_tcp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:827,1
    - Dst: ttqNetTlsServerCtx
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:835,1
    - Dst: ttqNetTlsLoadVerify
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:839,1
    - Dst: SSL_get_ex_new_index
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:846,1
    - Dst: SSL_get_ex_new_index
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:849,1
    - Dst: ttqNetTlsServerCtx
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:853,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:857,1
    - Dst: SSL_CTX_use_psk_identity_hint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:859,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:861,1
    - Dst: net__print_ssl_error
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:862,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct tmqtt__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 816
    functionDepth: 5
    functionLinenumber: 816
    functionLinenumberEnd: 873
    functionName: ttqNetSocketListen
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_psk_server_callback
    - ttqNetSocketListen_unix
    - ttqNetSocketListen_tcp
    - SSL_CTX_use_psk_identity_hint
    - ttqNetTlsServerCtx
    - SSL_get_ex_new_index
    - net__print_ssl_error
    - ttq_log
    - ttqNetTlsLoadVerify
    linkageType: ''
    returnType: int
    signature: int ttqNetSocketListen(struct tmqtt__listener *listener)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:879,1
    - Dst: getpeername
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:881,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:884,1
    - Dst: inet_ntop
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:886,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:891,1
    - Dst: inet_ntop
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:893,1
    - Dst: getsockname
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:900,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:901,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c:903,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - sock
    - buf
    - len
    - remote_port
    argTypes:
    - ttq_sock_t
    - char*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 910
    functionName: ttqNetSocketGetAddress
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqNet2.c
    functionUses: 1
    functionsReached:
    - getsockname
    - ntohs
    - getpeername
    - memset
    - snprintf
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: int ttqNetSocketGetAddress(ttq_sock_t sock, char *buf, size_t len,
      uint16_t *remote_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lim
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: memory__set_limit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void memory__set_limit(size_t lim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:47,1
    - Dst: malloc_usable_size
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: ttq_calloc
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c
    functionUses: 5
    functionsReached:
    - malloc_usable_size
    - calloc
    linkageType: ''
    returnType: void
    signature: void *ttq_calloc(size_t nmemb, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc_usable_size
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:66,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: ttq_free
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c
    functionUses: 14
    functionsReached:
    - free
    - malloc_usable_size
    linkageType: ''
    returnType: void
    signature: void ttq_free(void *mem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:80,1
    - Dst: malloc_usable_size
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: ttq_malloc
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c
    functionUses: 6
    functionsReached:
    - malloc
    - malloc_usable_size
    linkageType: ''
    returnType: void
    signature: void *ttq_malloc(size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc_usable_size
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:101,1
    - Dst: realloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:104,1
    - Dst: malloc_usable_size
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: ttq_realloc
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c
    functionUses: 4
    functionsReached:
    - realloc
    - malloc_usable_size
    linkageType: ''
    returnType: void
    signature: void *ttq_realloc(void *ptr, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:121,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:125,1
    - Dst: malloc_usable_size
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: ttq_strdup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMemory.c
    functionUses: 1
    functionsReached:
    - strlen
    - strdup
    - malloc_usable_size
    linkageType: ''
    returnType: char
    signature: char *ttq_strdup(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:34,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:34,1
    - Dst: send__simple_command
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:36,1
    - Dst: tmqtt_time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: send__pingreq
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c
    functionUses: 0
    functionsReached:
    - SAFE_PRINT
    - ttq_log
    - tmqtt_time
    - send__simple_command
    linkageType: ''
    returnType: int
    signature: int send__pingreq(struct tmqtt *ttq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:44,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:44,1
    - Dst: send__simple_command
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: ttq_send_pingresp
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c
    functionUses: 0
    functionsReached:
    - SAFE_PRINT
    - ttq_log
    - send__simple_command
    linkageType: ''
    returnType: int
    signature: int ttq_send_pingresp(struct tmqtt *ttq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:50,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:50,1
    - Dst: util__increment_receive_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:52,1
    - Dst: send__command_with_mid
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ttq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct tmqtt*
    - uint16_t
    - uint8_t
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: send__puback
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c
    functionUses: 0
    functionsReached:
    - SAFE_PRINT
    - ttq_log
    - util__increment_receive_quota
    - send__command_with_mid
    linkageType: ''
    returnType: int
    signature: int send__puback(struct tmqtt *ttq, uint16_t mid, uint8_t reason_code,
      const tmqtt_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:58,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:58,1
    - Dst: util__increment_receive_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:60,1
    - Dst: send__command_with_mid
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ttq
    - mid
    - properties
    argTypes:
    - struct tmqtt*
    - uint16_t
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: send__pubcomp
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c
    functionUses: 0
    functionsReached:
    - SAFE_PRINT
    - ttq_log
    - util__increment_receive_quota
    - send__command_with_mid
    linkageType: ''
    returnType: int
    signature: int send__pubcomp(struct tmqtt *ttq, uint16_t mid, const tmqtt_property
      *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:66,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:66,1
    - Dst: util__increment_receive_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:69,1
    - Dst: send__command_with_mid
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ttq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct tmqtt*
    - uint16_t
    - uint8_t
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: send__pubrec
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c
    functionUses: 0
    functionsReached:
    - SAFE_PRINT
    - ttq_log
    - util__increment_receive_quota
    - send__command_with_mid
    linkageType: ''
    returnType: int
    signature: int send__pubrec(struct tmqtt *ttq, uint16_t mid, uint8_t reason_code,
      const tmqtt_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:76,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:76,1
    - Dst: send__command_with_mid
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ttq
    - mid
    - properties
    argTypes:
    - struct tmqtt*
    - uint16_t
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: send__pubrel
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c
    functionUses: 0
    functionsReached:
    - SAFE_PRINT
    - ttq_log
    - send__command_with_mid
    linkageType: ''
    returnType: int
    signature: int send__pubrel(struct tmqtt *ttq, uint16_t mid, const tmqtt_property
      *properties)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:87,1
    - Dst: property__get_remaining_length
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:102,1
    - Dst: packet__alloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:106,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:108,1
    - Dst: packet__write_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:112,1
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:116,1
    - Dst: property__write_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:119,1
    - Dst: packet__queue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 6
    argNames:
    - ttq
    - command
    - mid
    - dup
    - reason_code
    - properties
    argTypes:
    - struct tmqtt*
    - uint8_t
    - uint16_t
    - bool
    - uint8_t
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 124
    functionName: send__command_with_mid
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c
    functionUses: 4
    functionsReached:
    - property__write_all
    - ttq_free
    - packet__alloc
    - packet__write_byte
    - packet__queue
    - property__get_remaining_length
    - packet__write_uint16
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: "int send__command_with_mid(struct tmqtt *ttq, uint8_t command, uint16_t
      mid, bool dup, uint8_t reason_code,\n                           const tmqtt_property
      *properties)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:131,1
    - Dst: packet__alloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:137,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:139,1
    - Dst: packet__queue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ttq
    - command
    argTypes:
    - struct tmqtt*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 144
    functionName: send__simple_command
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c
    functionUses: 2
    functionsReached:
    - ttq_free
    - packet__queue
    - packet__alloc
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int send__simple_command(struct tmqtt *ttq, uint8_t command)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:150,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:150,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:152,1
    - Dst: property__get_remaining_length
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:159,1
    - Dst: packet__alloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:165,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:167,1
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:171,1
    - Dst: property__write_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:173,1
    - Dst: packet__queue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c:177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - ttq
    - reason_code
    - properties
    argTypes:
    - struct tmqtt*
    - uint8_t
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 178
    functionName: ttq_send_disconnect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSend.c
    functionUses: 1
    functionsReached:
    - property__write_all
    - SAFE_PRINT
    - ttq_free
    - packet__alloc
    - packet__write_byte
    - packet__queue
    - property__get_remaining_length
    - ttq_log
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int ttq_send_disconnect(struct tmqtt *ttq, uint8_t reason_code, const
      tmqtt_property *properties)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:40,1
    - Dst: fopen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:41,1
    - Dst: umask
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:42,1
    - Dst: fopen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:44,1
    - Dst: fstat
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:48,1
    - Dst: fileno
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:48,1
    - Dst: fclose
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:49,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:55,1
    - Dst: getuid
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:60,1
    - Dst: getpwuid_r
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:64,1
    - Dst: getuid
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:64,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:66,1
    - Dst: getgid
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:72,1
    - Dst: getgrgid_r
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:76,1
    - Dst: getgid
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:76,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:78,1
    - Dst: S_ISREG
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:85,1
    - Dst: S_ISLNK
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:85,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:86,1
    - Dst: fclose
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:87,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - path
    - mode
    - restrict_read
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 91
    functionName: tmqtt__fopen
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c
    functionUses: 1
    functionsReached:
    - S_ISLNK
    - getgid
    - fileno
    - S_ISREG
    - umask
    - fclose
    - getuid
    - fopen
    - ttq_log
    - getpwuid_r
    - fstat
    - getgrgid_r
    linkageType: ''
    returnType: FILE
    signature: FILE *tmqtt__fopen(const char *path, const char *mode, bool restrict_read)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:98,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:101,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: misc__trimblanks
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqMisc.c
    functionUses: 0
    functionsReached:
    - strlen
    - isspace
    linkageType: ''
    returnType: char
    signature: char *misc__trimblanks(char *str)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:59,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:60,1
    - Dst: tmqtt_topic_matches_sub
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:75,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:80,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:84,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:84,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:85,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:85,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:86,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:96,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:96,1
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:97,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:99,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:102,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:104,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:107,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:108,1
    - Dst: G_PUB_BYTES_SENT_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:109,1
    - Dst: send__real_publish
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:110,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:112,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:119,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:119,1
    - Dst: G_PUB_BYTES_SENT_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:121,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:123,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:124,1
    - Dst: send__real_publish
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:127,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 11
    argNames:
    - ttq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - dup
    - cmsg_props
    - store_props
    - expiry_interval
    argTypes:
    - struct tmqtt*
    - uint16_t
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - bool
    - tmqtt_property*
    - tmqtt_property*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 129
    functionName: send__publish
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c
    functionUses: 0
    functionsReached:
    - tmqtt_topic_matches_sub
    - strlen
    - G_PUB_BYTES_SENT_INC
    - SAFE_PRINT
    - strncmp
    - snprintf
    - send__real_publish
    - ttq_free
    - ttq_log
    - ttq_malloc
    - ttq_strdup
    linkageType: ''
    returnType: int
    signature: "int send__publish(struct tmqtt *ttq, uint16_t mid, const char *topic,
      uint32_t payloadlen, const void *payload,\n                  uint8_t qos, bool
      retain, bool dup, const tmqtt_property *cmsg_props,\n                  const
      tmqtt_property *store_props, uint32_t expiry_interval)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:141,1
    - Dst: property__get_length_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:148,1
    - Dst: property__get_length_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:149,1
    - Dst: property__get_length_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:156,1
    - Dst: packet__varint_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:159,1
    - Dst: packet__check_oversize
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:169,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:171,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:171,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:174,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:179,1
    - Dst: packet__alloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:185,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:187,1
    - Dst: packet__write_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:192,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:192,1
    - Dst: packet__write_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:194,1
    - Dst: packet__write_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:197,1
    - Dst: packet__write_varint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:201,1
    - Dst: property__write_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:202,1
    - Dst: property__write_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:203,1
    - Dst: property__write_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:205,1
    - Dst: packet__write_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:211,1
    - Dst: packet__queue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c:214,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 11
    argNames:
    - ttq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - dup
    - cmsg_props
    - store_props
    - expiry_interval
    argTypes:
    - struct tmqtt*
    - uint16_t
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - bool
    - tmqtt_property*
    - tmqtt_property*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 215
    functionName: send__real_publish
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSendPublish.c
    functionUses: 1
    functionsReached:
    - packet__write_varint
    - packet__varint_bytes
    - strlen
    - property__write_all
    - SAFE_PRINT
    - ttq_free
    - packet__alloc
    - packet__check_oversize
    - packet__queue
    - packet__write_string
    - packet__write_bytes
    - property__get_length_all
    - ttq_log
    - packet__write_uint16
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: "int send__real_publish(struct tmqtt *ttq, uint16_t mid, const char
      *topic, uint32_t payloadlen, const void *payload,\n                       uint8_t
      qos, bool retain, bool dup, const tmqtt_property *cmsg_props,\n                       const
      tmqtt_property *store_props, uint32_t expiry_interval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: nibble_to_hex
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char nibble_to_hex(uint8_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: util__random_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:46,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:50,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:55,1
    - Dst: nibble_to_hex
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:60,1
    - Dst: nibble_to_hex
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - idlen
    - auto_id_prefix
    - auto_id_prefix_len
    argTypes:
    - uint16_t*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: client_id_gen
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c
    functionUses: 0
    functionsReached:
    - nibble_to_hex
    - memcpy
    - util__random_bytes
    - ttq_calloc
    linkageType: ''
    returnType: char
    signature: char *client_id_gen(uint16_t *idlen, const char *auto_id_prefix, uint16_t
      auto_id_prefix_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:78,1
    - Dst: tmqttAclCheck
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:84,1
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:86,1
    - Dst: ttqDbMsgStoreRefDec
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:87,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:88,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - context
    - head
    argTypes:
    - struct tmqtt*
    - struct tmqtt_client_msg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: connection_check_acl
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c
    functionUses: 0
    functionsReached:
    - tmqttAclCheck
    - DL_DELETE
    - DL_FOREACH_SAFE
    - tmqtt_property_free_all
    - ttq_free
    - ttqDbMsgStoreRefDec
    linkageType: ''
    returnType: void
    signature: void connection_check_acl(struct tmqtt *context, struct tmqtt_client_msg
      **head)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:105,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:105,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:115,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:131,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:132,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:134,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:135,1
    - Dst: ttqDbMessageReconnectReset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:142,1
    - Dst: ttqSubCleanSession
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:174,1
    - Dst: ttqSessionExpiryRemove
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:182,1
    - Dst: tmqtt__set_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:188,1
    - Dst: ttq_send_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:191,1
    - Dst: ttqDisconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:193,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:205,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:209,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:214,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:218,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:224,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:227,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:229,1
    - Dst: connection_check_acl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:236,1
    - Dst: connection_check_acl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:237,1
    - Dst: connection_check_acl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:238,1
    - Dst: connection_check_acl
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:239,1
    - Dst: ttqCxtAddToById
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:241,1
    - Dst: tmqtt_property_add_int16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:253,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:258,1
    - Dst: tmqtt_property_add_int16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:266,1
    - Dst: tmqtt_property_add_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:272,1
    - Dst: tmqtt_property_add_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:278,1
    - Dst: tmqtt_property_add_binary
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:284,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:292,1
    - Dst: ttqKeepaliveAdd
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:295,1
    - Dst: tmqtt__set_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:297,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:298,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:299,1
    - Dst: ttqDbExpireAllMessages
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:301,1
    - Dst: ttqDbMessageWriteQueuedOut
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:302,1
    - Dst: ttqDbMessageWriteInflightOutAll
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:304,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:307,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:308,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 164
    argCount: 3
    argNames:
    - context
    - auth_data_out
    - auth_data_out_len
    argTypes:
    - struct tmqtt*
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 310
    functionName: ttqCxtOnAuthorised
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c
    functionUses: 0
    functionsReached:
    - ttqSessionExpiryRemove
    - connection_check_acl
    - ttqCxtAddToById
    - ttqDbMessageWriteQueuedOut
    - tmqtt__set_state
    - tmqtt_property_add_int16
    - ttqSubCleanSession
    - ttqDisconnect
    - strlen
    - memset
    - ttqKeepaliveAdd
    - ttqDbMessageWriteInflightOutAll
    - ttqDbMessageReconnectReset
    - tmqtt_property_add_binary
    - tmqtt_property_add_string
    - ttq_log
    - HASH_FIND
    - free
    - ttq_send_disconnect
    - ttqDbExpireAllMessages
    - memcpy
    - tmqtt_property_free_all
    - ttqSendConnack
    linkageType: ''
    returnType: int
    signature: int ttqCxtOnAuthorised(struct tmqtt *context, void *auth_data_out,
      uint16_t auth_data_out_len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt_property_copy_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:411,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:417,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:419,1
    - Dst: tmqtt_property_add_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:426,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:428,1
    - Dst: tmqtt_property_add_int32
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:433,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:435,1
    - Dst: tmqtt_property_add_int16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:440,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:442,1
    - Dst: tmqtt_property_add_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:447,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:449,1
    - Dst: property__get_remaining_length
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:454,1
    - Dst: packet__check_oversize
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:457,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:458,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:462,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:464,1
    - Dst: packet__alloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:471,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:473,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:474,1
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:477,1
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:478,1
    - Dst: property__write_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:480,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:482,1
    - Dst: packet__queue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:484,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 4
    argNames:
    - context
    - ack
    - reason_code
    - properties
    argTypes:
    - struct tmqtt*
    - uint8_t
    - uint8_t
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 485
    functionName: ttqSendConnack
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c
    functionUses: 1
    functionsReached:
    - property__write_all
    - tmqtt_property_copy_all
    - ttq_free
    - packet__alloc
    - tmqtt_property_add_int32
    - tmqtt_property_add_int16
    - tmqtt_property_free_all
    - packet__check_oversize
    - packet__write_byte
    - packet__queue
    - tmqtt_property_add_byte
    - property__get_remaining_length
    - ttq_log
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int ttqSendConnack(struct tmqtt *context, uint8_t ack, uint8_t reason_code,
      const tmqtt_property *properties)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - context
    - props
    argTypes:
    - struct tmqtt*
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 514
    functionName: property__process_connect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int property__process_connect(struct tmqtt *context, tmqtt_property
      **props)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: G_CONNECTION_COUNT_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:534,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:541,1
    - Dst: packet__read_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:546,1
    - Dst: packet__read_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:554,1
    - Dst: packet__read_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:560,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:564,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:567,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:570,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:578,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:589,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:592,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:603,1
    - Dst: packet__read_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:612,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:634,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:644,1
    - Dst: packet__read_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:650,1
    - Dst: property__read_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:656,1
    - Dst: property__process_connect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:659,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:663,1
    - Dst: tmqtt_property_read_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:669,1
    - Dst: tmqtt_property_read_binary
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:670,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:673,1
    - Dst: packet__read_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:675,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:682,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:686,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:697,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:699,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:724,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:724,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:726,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:728,1
    - Dst: packet__read_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:748,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:765,1
    - Dst: packet__read_binary
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:773,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:810,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:811,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:818,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:820,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:833,1
    - Dst: tmq_ctx_auth
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:870,1
    - Dst: ttqSendConnack
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:871,1
    - Dst: ttqCxtOnAuthorised
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:878,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:882,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:883,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:884,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:885,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:886,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:888,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:889,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:890,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:891,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:894,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:895,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:896,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c:897,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 313
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 906
    functionName: ttqHandleConnect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleConnect.c
    functionUses: 0
    functionsReached:
    - tmqtt_property_read_string
    - packet__read_uint16
    - strncmp
    - strcmp
    - G_CONNECTION_COUNT_INC
    - ttq_strdup
    - tmqtt_property_read_binary
    - property__read_all
    - strlen
    - packet__read_binary
    - packet__read_byte
    - property__process_connect
    - packet__read_bytes
    - packet__read_string
    - ttq_log
    - ttqCxtOnAuthorised
    - tmqtt_property_free_all
    - ttqSendConnack
    - ttq_free
    - tmq_ctx_auth
    linkageType: ''
    returnType: int
    signature: int ttqHandleConnect(struct tmqtt *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - context
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - access
    argTypes:
    - struct tmqtt*
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: tmqttAclCheck
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tmqttAclCheck(struct tmqtt *context, const char *topic, uint32_t
      payloadlen, void *payload, uint8_t qos,\n                    bool retain, int
      access)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tmqttAclCheck
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:73,1
    - Dst: tmqtt__mid_generate
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:90,1
    - Dst: tmqtt_property_add_varint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:100,1
    - Dst: ttqDbMessageInsert
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - leaf
    - topic
    - qos
    - retain
    - stored
    argTypes:
    - struct tmqtt__subleaf*
    - char*
    - uint8_t
    - int
    - struct tmqtt_msg_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 110
    functionName: subs__send
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - tmqtt__mid_generate
    - tmqttAclCheck
    - tmqtt_property_add_varint
    - ttqDbMessageInsert
    linkageType: ''
    returnType: int
    signature: "int subs__send(struct tmqtt__subleaf *leaf, const char *topic, uint8_t
      qos, int retain,\n                      struct tmqtt_msg_store *stored)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:118,1
    - Dst: subs__send
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:120,1
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:122,1
    - Dst: DL_APPEND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - hier
    - topic
    - qos
    - retain
    - stored
    argTypes:
    - struct tmqtt__subhier*
    - char*
    - uint8_t
    - int
    - struct tmqtt_msg_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: subs__shared_process
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - DL_DELETE
    - subs__send
    - HASH_ITER
    - DL_APPEND
    linkageType: ''
    returnType: int
    signature: "int subs__shared_process(struct tmqtt__subhier *hier, const char *topic,
      uint8_t qos, int retain,\n                                struct tmqtt_msg_store
      *stored)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: subs__shared_process
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:137,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:141,1
    - Dst: subs__send
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - hier
    - source_id
    - topic
    - qos
    - retain
    - stored
    argTypes:
    - struct tmqtt__subhier*
    - char*
    - char*
    - uint8_t
    - int
    - struct tmqtt_msg_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: subs__process
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - subs__send
    - subs__shared_process
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int subs__process(struct tmqtt__subhier *hier, const char *source_id,
      const char *topic, uint8_t qos, int retain,\n                         struct
      tmqtt_msg_store *stored)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:166,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:176,1
    - Dst: DL_APPEND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - context
    - qos
    - identifier
    - options
    - head
    - newleaf
    argTypes:
    - struct tmqtt*
    - uint8_t
    - uint32_t
    - int
    - struct tmqtt__subleaf**
    - struct tmqtt__subleaf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 188
    functionName: ttqSubAdd_leaf
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - DL_APPEND
    - ttq_calloc
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int ttqSubAdd_leaf(struct tmqtt *context, uint8_t qos, uint32_t identifier,
      int options,\n                         struct tmqtt__subleaf **head, struct
      tmqtt__subleaf **newleaf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:192,1
    - Dst: HASH_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:194,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:195,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:196,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - subhier
    - shared
    - leaf
    argTypes:
    - struct tmqtt__subhier*
    - struct tmqtt__subshared*
    - struct tmqtt__subleaf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: ttqSubRemmove_shared_leaf
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - DL_DELETE
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: "void ttqSubRemmove_shared_leaf(struct tmqtt__subhier *subhier, struct
      tmqtt__subshared *shared,\n                                    struct tmqtt__subleaf
      *leaf)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:211,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:213,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:215,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:219,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:221,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:225,1
    - Dst: ttqSubAdd_leaf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:228,1
    - Dst: HASH_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:231,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:232,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:233,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:239,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:240,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:242,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:253,1
    - Dst: ttqSubRemmove_shared_leaf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:255,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:256,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:257,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 7
    argNames:
    - context
    - sub
    - qos
    - identifier
    - options
    - subhier
    - sharename
    argTypes:
    - struct tmqtt*
    - char*
    - uint8_t
    - uint32_t
    - int
    - struct tmqtt__subhier*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 276
    functionName: ttqSubAdd_shared
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - strlen
    - HASH_ADD_KEYPTR
    - memcpy
    - ttq_realloc
    - HASH_DELETE
    - ttqSubRemmove_shared_leaf
    - ttq_free
    - ttqSubAdd_leaf
    - HASH_FIND
    - ttq_strdup
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: "int ttqSubAdd_shared(struct tmqtt *context, const char *sub, uint8_t
      qos, uint32_t identifier, int options,\n                           struct tmqtt__subhier
      *subhier, const char *sharename)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ttqSubAdd_leaf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:287,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:293,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:294,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:296,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:307,1
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:309,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:310,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:311,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 6
    argNames:
    - context
    - sub
    - qos
    - identifier
    - options
    - subhier
    argTypes:
    - struct tmqtt*
    - char*
    - uint8_t
    - uint32_t
    - int
    - struct tmqtt__subhier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 330
    functionName: ttqSubAdd_normal
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - strlen
    - DL_DELETE
    - memcpy
    - ttq_realloc
    - ttq_free
    - ttqSubAdd_leaf
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: "int ttqSubAdd_normal(struct tmqtt *context, const char *sub, uint8_t
      qos, uint32_t identifier, int options,\n                           struct tmqtt__subhier
      *subhier)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:341,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:345,1
    - Dst: ttqSubAddHierEntry
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:348,1
    - Dst: ttqSubAdd_shared
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:358,1
    - Dst: ttqSubAdd_normal
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 8
    argNames:
    - context
    - topic_filter
    - qos
    - identifier
    - options
    - subhier
    - topics
    - sharename
    argTypes:
    - struct tmqtt*
    - char*
    - uint8_t
    - uint32_t
    - int
    - struct tmqtt__subhier*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 365
    functionName: ttqSubAdd_context
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - strlen
    - ttqSubAddHierEntry
    - ttqSubAdd_shared
    - ttqSubAdd_normal
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: "int ttqSubAdd_context(struct tmqtt *context, const char *topic_filter,
      uint8_t qos, uint32_t identifier,\n                            int options,
      struct tmqtt__subhier *subhier, char *const *const topics,\n                            const
      char *sharename)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:377,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:378,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - context
    - subhier
    - reason
    argTypes:
    - struct tmqtt*
    - struct tmqtt__subhier*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 397
    functionName: ttqSubRemmove_normal
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - DL_DELETE
    linkageType: ''
    returnType: int
    signature: int ttqSubRemmove_normal(struct tmqtt *context, struct tmqtt__subhier
      *subhier, uint8_t *reason)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:405,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:405,1
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:413,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:414,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:422,1
    - Dst: HASH_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:429,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:430,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:431,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - context
    - subhier
    - reason
    - sharename
    argTypes:
    - struct tmqtt*
    - struct tmqtt__subhier*
    - uint8_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 443
    functionName: ttqSubRemmove_shared
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - strlen
    - DL_DELETE
    - HASH_DELETE
    - ttq_free
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: "int ttqSubRemmove_shared(struct tmqtt *context, struct tmqtt__subhier
      *subhier, uint8_t *reason,\n                              const char *sharename)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ttqSubRemmove_shared
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:451,1
    - Dst: ttqSubRemmove_normal
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:453,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:457,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:457,1
    - Dst: ttqSubRemmove_recurse
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:459,1
    - Dst: HASH_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:461,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:462,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - context
    - subhier
    - topics
    - reason
    - sharename
    argTypes:
    - struct tmqtt*
    - struct tmqtt__subhier*
    - char**
    - uint8_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 467
    functionName: ttqSubRemmove_recurse
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 1
    functionsReached:
    - ttqSubRemmove_shared
    - strlen
    - ttqSubRemmove_recurse
    - ttqSubRemmove_normal
    - HASH_DELETE
    - ttq_free
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: "int ttqSubRemmove_recurse(struct tmqtt *context, struct tmqtt__subhier
      *subhier, char **topics, uint8_t *reason,\n                               const
      char *sharename)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:478,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:478,1
    - Dst: sub__search
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:481,1
    - Dst: subs__process
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:488,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:498,1
    - Dst: sub__search
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:501,1
    - Dst: subs__process
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:508,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:519,1
    - Dst: subs__process
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:525,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 7
    argNames:
    - subhier
    - split_topics
    - source_id
    - topic
    - qos
    - retain
    - stored
    argTypes:
    - struct tmqtt__subhier*
    - char**
    - char*
    - char*
    - uint8_t
    - int
    - struct tmqtt_msg_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 538
    functionName: sub__search
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 1
    functionsReached:
    - sub__search
    - subs__process
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: "int sub__search(struct tmqtt__subhier *subhier, char **split_topics,
      const char *source_id, const char *topic,\n                       uint8_t qos,
      int retain, struct tmqtt_msg_store *stored)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:544,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:546,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:551,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:554,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:555,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - parent
    - sibling
    - topic
    - len
    argTypes:
    - struct tmqtt__subhier*
    - struct tmqtt__subhier**
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 562
    functionName: ttqSubAddHierEntry
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 1
    functionsReached:
    - HASH_ADD_KEYPTR
    - ttq_free
    - ttq_log
    - ttq_strdup
    - ttq_calloc
    linkageType: ''
    returnType: struct tmqtt__subhier
    signature: "struct tmqtt__subhier *ttqSubAddHierEntry(struct tmqtt__subhier *parent,
      struct tmqtt__subhier **sibling,\n                                           const
      char *topic, uint16_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ttqSubTopicTokenise
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:572,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:575,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:577,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:578,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:583,1
    - Dst: ttqSubAddHierEntry
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:585,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:587,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:588,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:589,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:594,1
    - Dst: ttqSubAddHierEntry
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:596,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:598,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:599,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:600,1
    - Dst: ttqSubAdd_context
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:605,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:607,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 5
    argNames:
    - context
    - sub
    - qos
    - identifier
    - options
    argTypes:
    - struct tmqtt*
    - char*
    - uint8_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 564
    functionDepth: 4
    functionLinenumber: 564
    functionLinenumberEnd: 611
    functionName: ttqSubAdd
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 1
    functionsReached:
    - ttqSubTopicTokenise
    - strlen
    - ttqSubAddHierEntry
    - ttqSubAdd_context
    - ttq_free
    - ttq_log
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int ttqSubAdd(struct tmqtt *context, const char *sub, uint8_t qos,
      uint32_t identifier, int options)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttqSubTopicTokenise
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:620,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:624,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:624,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:626,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:626,1
    - Dst: ttqSubRemmove_recurse
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:630,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:633,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - context
    - sub
    - reason
    argTypes:
    - struct tmqtt*
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 637
    functionName: ttqSubRemmove
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 1
    functionsReached:
    - ttqSubTopicTokenise
    - strlen
    - ttqSubRemmove_recurse
    - ttq_free
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int ttqSubRemmove(struct tmqtt *context, const char *sub, uint8_t *reason)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ttqSubTopicTokenise
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:647,1
    - Dst: ttqDbMsgStoreRefInc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:653,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:655,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:655,1
    - Dst: sub__search
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:657,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:664,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:664,1
    - Dst: sub__search
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:666,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:683,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:684,1
    - Dst: ttqDbMsgStoreRefDec
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:686,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - source_id
    - topic
    - qos
    - retain
    - stored
    argTypes:
    - char*
    - char*
    - uint8_t
    - int
    - struct tmqtt_msg_store**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 639
    functionDepth: 5
    functionLinenumber: 639
    functionLinenumberEnd: 689
    functionName: ttqSubMessagesQueue
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - ttqSubTopicTokenise
    - strlen
    - sub__search
    - HASH_FIND
    - ttq_free
    - ttqDbMsgStoreRefInc
    - ttqDbMsgStoreRefDec
    linkageType: ''
    returnType: int
    signature: "int ttqSubMessagesQueue(const char *source_id, const char *topic,
      uint8_t qos, int retain,\n                        struct tmqtt_msg_store **stored)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:704,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:705,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:706,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - sub
    argTypes:
    - struct tmqtt__subhier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 713
    functionName: tmp_remove_subs
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - HASH_DELETE
    linkageType: ''
    returnType: struct tmqtt__subhier
    signature: struct tmqtt__subhier *tmp_remove_subs(struct tmqtt__subhier *sub)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ttqSubRemmove_shared_leaf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:736,1
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:748,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:749,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:755,1
    - Dst: tmp_remove_subs
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:760,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:764,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 769
    functionName: ttqSubCleanSession
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 1
    functionsReached:
    - ttq_free
    - DL_DELETE
    - tmp_remove_subs
    - ttqSubRemmove_shared_leaf
    linkageType: ''
    returnType: int
    signature: int ttqSubCleanSession(struct tmqtt *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:779,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:781,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:785,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:787,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:791,1
    - Dst: ttqSubTreePrint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - root
    - level
    argTypes:
    - struct tmqtt__subhier*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 796
    functionName: ttqSubTreePrint
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 2
    functionsReached:
    - printf
    - ttqSubTreePrint
    linkageType: ''
    returnType: void
    signature: void ttqSubTreePrint(struct tmqtt__subhier *root, int level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:779,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:781,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:785,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:787,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:791,1
    - Dst: ttqSubTreePrint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 795
    functionName: HASH_ITER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 1
    functionsReached:
    - printf
    - ttqSubTreePrint
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, root, branch, branch_tmp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - str
    - saveptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 822
    functionName: strtok_hier
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *strtok_hier(char *str, char **saveptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:832,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:837,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:843,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:846,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:848,1
    - Dst: strtok_hier
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:857,1
    - Dst: strtok_hier
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:861,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:864,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:865,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:866,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c:867,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - subtopic
    - local_sub
    - topics
    - sharename
    argTypes:
    - char*
    - char**
    - char***
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 882
    functionName: ttqSubTopicTokenise
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSubs.c
    functionUses: 5
    functionsReached:
    - strlen
    - strtok_hier
    - strcmp
    - strchr
    - ttq_free
    - ttq_strdup
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int ttqSubTopicTokenise(const char *subtopic, char **local_sub, char
      ***topics, const char **sharename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt__get_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:27,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:31,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:31,1
    - Dst: ttq_send_pingresp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: ttq_handle_pingreq
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c
    functionUses: 0
    functionsReached:
    - SAFE_PRINT
    - ttq_log
    - tmqtt__get_state
    - ttq_send_pingresp
    linkageType: ''
    returnType: int
    signature: int ttq_handle_pingreq(struct tmqtt *ttq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt__get_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:43,1
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:52,1
    - Dst: util__increment_send_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:53,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:54,1
    - Dst: packet__read_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:56,1
    - Dst: packet__read_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:68,1
    - Dst: property__read_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:74,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:83,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:88,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:92,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:92,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:95,1
    - Dst: ttqDbMessageDeleteOutgoing
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:97,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:99,1
    - Dst: SAFE_PRINT
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:100,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 105
    functionName: ttq_handle_puback
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c
    functionUses: 0
    functionsReached:
    - ttq_pthread_mutex_unlock
    - property__read_all
    - ttqDbMessageDeleteOutgoing
    - packet__read_byte
    - SAFE_PRINT
    - packet__read_uint16
    - ttq_pthread_mutex_lock
    - tmqtt_property_free_all
    - ttq_log
    - tmqtt__get_state
    - util__increment_send_quota
    linkageType: ''
    returnType: int
    signature: int ttq_handle_puback(struct tmqtt *ttq)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - context
    - props
    argTypes:
    - struct tmqtt*
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: property__process_disconnect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int property__process_disconnect(struct tmqtt *context, tmqtt_property
      **props)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:137,1
    - Dst: property__read_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:141,1
    - Dst: property__process_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:145,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:147,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:150,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:155,1
    - Dst: ttqDisconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:158,1
    - Dst: tmqtt__set_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:164,1
    - Dst: tmqtt__set_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:167,1
    - Dst: ttqDisconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:170,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 173
    functionName: ttq_handle_disconnect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c
    functionUses: 0
    functionsReached:
    - property__read_all
    - property__process_disconnect
    - packet__read_byte
    - tmqtt__set_state
    - tmqtt_property_free_all
    - ttq_log
    - ttqDisconnect
    linkageType: ''
    returnType: int
    signature: int ttq_handle_disconnect(struct tmqtt *context)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ttq_handle_pingreq
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:182,1
    - Dst: ttq_handle_puback
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:185,1
    - Dst: ttqHandleConnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:188,1
    - Dst: ttq_handle_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:190,1
    - Dst: ttqHandleSub
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:193,1
    - Dst: ttqHandleUnsub
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:196,1
    - Dst: ttq_send_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:210,1
    - Dst: ttq_send_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:212,1
    - Dst: ttq_send_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:214,1
    - Dst: ttq_send_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:216,1
    - Dst: ttq_send_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:218,1
    - Dst: ttq_send_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c:220,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 225
    functionName: ttqHandlePacket
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqHandleRead.c
    functionUses: 1
    functionsReached:
    - ttqHandleConnect
    - ttqHandleSub
    - ttq_handle_disconnect
    - ttq_handle_pingreq
    - ttq_handle_puback
    - ttqHandleUnsub
    - ttq_send_disconnect
    linkageType: ''
    returnType: int
    signature: int ttqHandlePacket(struct tmqtt *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt_time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:61,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:68,1
    - Dst: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:69,1
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:73,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:76,1
    - Dst: tmqtt__get_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:78,1
    - Dst: send__pingreq
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:80,1
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:82,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:85,1
    - Dst: ttqCxtSendWill
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:90,1
    - Dst: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:93,1
    - Dst: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:95,1
    - Dst: tmqtt__get_state
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:96,1
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:102,1
    - Dst: struct tmqtt*::on_disconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:105,1
    - Dst: struct tmqtt*::on_disconnect_v5
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:110,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:113,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 120
    functionName: tmqtt__check_keepalive
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 0
    functionsReached:
    - ttq_pthread_mutex_unlock
    - ttqCxtSendWill
    - net__socket_close
    - send__pingreq
    - ttq_pthread_mutex_lock
    - tmqtt_time
    - struct tmqtt*::on_disconnect
    - struct tmqtt*::on_disconnect_v5
    - ttq_log
    - tmqtt__get_state
    linkageType: ''
    returnType: int
    signature: int tmqtt__check_keepalive(struct tmqtt *ttq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:125,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: tmqtt__mid_generate
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 2
    functionsReached:
    - ttq_pthread_mutex_unlock
    - ttq_pthread_mutex_lock
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t tmqtt__mid_generate(struct tmqtt *ttq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt__hex2bin
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:138,1
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:142,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hex
    - bin
    argTypes:
    - char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: tmqtt__hex2bin_sha1
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 0
    functionsReached:
    - tmqtt__hex2bin
    - memcpy
    - ttq_malloc
    linkageType: ''
    returnType: int
    signature: int tmqtt__hex2bin_sha1(const char *hex, unsigned char **bin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:159,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:160,1
    - Dst: BN_hex2bn
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:169,1
    - Dst: BN_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:170,1
    - Dst: BN_num_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:173,1
    - Dst: BN_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:174,1
    - Dst: BN_bn2bin
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:178,1
    - Dst: BN_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - hex
    - bin
    - bin_max_len
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 181
    functionName: tmqtt__hex2bin
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 3
    functionsReached:
    - strlen
    - BN_num_bytes
    - BN_free
    - BN_hex2bn
    - BN_bn2bin
    - strncmp
    linkageType: ''
    returnType: int
    signature: int tmqtt__hex2bin(const char *hex, unsigned char *bin, int bin_max_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: util__increment_receive_quota
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__increment_receive_quota(struct tmqtt *ttq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: util__increment_send_quota
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__increment_send_quota(struct tmqtt *ttq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: util__decrement_receive_quota
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__decrement_receive_quota(struct tmqtt *ttq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: util__decrement_send_quota
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__decrement_send_quota(struct tmqtt *ttq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:212,1
    - Dst: getrandom
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:216,1
    - Dst: random
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bytes
    - count
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: util__random_bytes
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 1
    functionsReached:
    - random
    - RAND_bytes
    - getrandom
    linkageType: ''
    returnType: int
    signature: int util__random_bytes(void *bytes, int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:231,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ttq
    - state
    argTypes:
    - struct tmqtt*
    - enum tmqtt_client_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: tmqtt__set_state
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 3
    functionsReached:
    - ttq_pthread_mutex_unlock
    - ttq_pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int tmqtt__set_state(struct tmqtt *ttq, enum tmqtt_client_state state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:246,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: tmqtt__get_state
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 5
    functionsReached:
    - ttq_pthread_mutex_unlock
    - ttq_pthread_mutex_lock
    linkageType: ''
    returnType: enum tmqtt_client_state
    signature: enum tmqtt_client_state tmqtt__get_state(struct tmqtt *ttq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:255,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ttq
    - request_disconnect
    argTypes:
    - struct tmqtt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: tmqtt__set_request_disconnect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 0
    functionsReached:
    - ttq_pthread_mutex_unlock
    - ttq_pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void tmqtt__set_request_disconnect(struct tmqtt *ttq, bool request_disconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_pthread_mutex_lock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:263,1
    - Dst: ttq_pthread_mutex_unlock
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: tmqtt__get_request_disconnect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtil.c
    functionUses: 0
    functionsReached:
    - ttq_pthread_mutex_unlock
    - ttq_pthread_mutex_lock
    linkageType: ''
    returnType: bool
    signature: bool tmqtt__get_request_disconnect(struct tmqtt *ttq)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - struct session_expiry_list*
    - struct session_expiry_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: session_expiry__cmp
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int session_expiry__cmp(struct session_expiry_list *i1, struct session_expiry_list
      *i2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: set_session_expiry_time
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_session_expiry_time(struct tmqtt *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:68,1
    - Dst: set_session_expiry_time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:72,1
    - Dst: DL_INSERT_INORDER
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: ttqSessionExpiryAdd
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c
    functionUses: 0
    functionsReached:
    - set_session_expiry_time
    - DL_INSERT_INORDER
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int ttqSessionExpiryAdd(struct tmqtt *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:91,1
    - Dst: set_session_expiry_time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:98,1
    - Dst: DL_INSERT_INORDER
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - context
    - expiry_time
    argTypes:
    - struct tmqtt*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: ttqSessionExpiryAddFromPersistence
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c
    functionUses: 0
    functionsReached:
    - set_session_expiry_time
    - DL_INSERT_INORDER
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int ttqSessionExpiryAddFromPersistence(struct tmqtt *context, time_t
      expiry_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:109,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: ttqSessionExpiryRemove
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c
    functionUses: 1
    functionsReached:
    - ttq_free
    - DL_DELETE
    linkageType: ''
    returnType: void
    signature: void ttqSessionExpiryRemove(struct tmqtt *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttqSessionExpiryRemove
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:122,1
    - Dst: ttqCxtDisconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: ttqSessionExpiryRemoveAll
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c
    functionUses: 0
    functionsReached:
    - ttqCxtDisconnect
    - ttqSessionExpiryRemove
    linkageType: ''
    returnType: void
    signature: void ttqSessionExpiryRemoveAll(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttqSessionExpiryRemove
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:122,1
    - Dst: ttqCxtDisconnect
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c
    functionUses: 2
    functionsReached:
    - ttqCxtDisconnect
    - ttqSessionExpiryRemove
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE(expiry_list, item, tmp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttqSessionExpiryRemove
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:141,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:144,1
    - Dst: G_CLIENTS_EXPIRED_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:146,1
    - Dst: ttqCxtAddToDisused
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 159
    functionName: ttqSessionExpiryCheck
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c
    functionUses: 1
    functionsReached:
    - ttq_log
    - G_CLIENTS_EXPIRED_INC
    - ttqSessionExpiryRemove
    - ttqCxtAddToDisused
    linkageType: ''
    returnType: void
    signature: void ttqSessionExpiryCheck(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ttqSessionExpiryRemove
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:141,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:144,1
    - Dst: G_CLIENTS_EXPIRED_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:146,1
    - Dst: ttqCxtAddToDisused
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 158
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqSessionExpiry.c
    functionUses: 2
    functionsReached:
    - ttq_log
    - G_CLIENTS_EXPIRED_INC
    - ttqSessionExpiryRemove
    - ttqCxtAddToDisused
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE(expiry_list, item, tmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqTime.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: tmqtt_time_init
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqTime.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void tmqtt_time_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqTime.c:46,1
    - Dst: mach_absolute_time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqTime.c:54,1
    - Dst: mach_timebase_info
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqTime.c:57,1
    - Dst: time
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqTime.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: tmqtt_time
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqTime.c
    functionUses: 5
    functionsReached:
    - mach_absolute_time
    - time
    - mach_timebase_info
    - clock_gettime
    linkageType: ''
    returnType: time_t
    signature: time_t tmqtt_time(void)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:62,1
    - Dst: tmqtt_reason_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 67
    argCount: 1
    argNames:
    - ttq_errno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 92
    functionName: tmqtt_strerror
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c
    functionUses: 1
    functionsReached:
    - strerror
    - tmqtt_reason_string
    linkageType: ''
    returnType: char
    signature: char *tmqtt_strerror(int ttq_errno)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - connack_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: tmqtt_connack_string
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *tmqtt_connack_string(int connack_code)
  - BBCount: 45
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 91
    argCount: 1
    argNames:
    - reason_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 205
    functionName: tmqtt_reason_string
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *tmqtt_reason_string(int reason_code)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:208,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:210,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:212,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:214,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:216,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:218,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:220,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:222,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:224,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:226,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:228,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c:230,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - str
    - cmd
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 236
    functionName: tmqtt_string_to_command
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqStrings.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int tmqtt_string_to_command(const char *str, int *cmd)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - context
    - dir
    - qos
    argTypes:
    - struct tmqtt*
    - enum tmqtt_msg_direction
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 84
    functionName: ttqDbReadyForFlight
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ttqDbReadyForFlight(struct tmqtt *context, enum tmqtt_msg_direction
      dir, int qos)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - context
    - qos
    - msg_data
    argTypes:
    - struct tmqtt*
    - int
    - struct tmqtt_msg_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 131
    functionName: ttqDbReadyForQueue
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ttqDbReadyForQueue(struct tmqtt *context, int qos, struct tmqtt_msg_data
      *msg_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg_data
    - msg
    argTypes:
    - struct tmqtt_msg_data*
    - struct tmqtt_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: ttqDbMsgAddToInflightStats
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ttqDbMsgAddToInflightStats(struct tmqtt_msg_data *msg_data, struct
      tmqtt_client_msg *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg_data
    - msg
    argTypes:
    - struct tmqtt_msg_data*
    - struct tmqtt_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: db__msg_remove_from_inflight_stats
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void db__msg_remove_from_inflight_stats(struct tmqtt_msg_data *msg_data,
      struct tmqtt_client_msg *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg_data
    - msg
    argTypes:
    - struct tmqtt_msg_data*
    - struct tmqtt_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: ttqDbMsgAddToQueuedStats
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ttqDbMsgAddToQueuedStats(struct tmqtt_msg_data *msg_data, struct
      tmqtt_client_msg *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg_data
    - msg
    argTypes:
    - struct tmqtt_msg_data*
    - struct tmqtt_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: db__msg_remove_from_queued_stats
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void db__msg_remove_from_queued_stats(struct tmqtt_msg_data *msg_data,
      struct tmqtt_client_msg *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ttqSubAddHierEntry
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:190,1
    - Dst: ttqSubAddHierEntry
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:193,1
    - Dst: ttqSubAddHierEntry
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:196,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:196,1
    - Dst: persist__restore
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct tmqtt__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 209
    functionName: ttqDbOpen
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - strlen
    - persist__restore
    - ttqSubAddHierEntry
    linkageType: ''
    returnType: int
    signature: int ttqDbOpen(struct tmqtt__config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:215,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:219,1
    - Dst: subhier_clean
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:222,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:223,1
    - Dst: HASH_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:225,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - subhier
    argTypes:
    - struct tmqtt__subhier**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 228
    functionName: subhier_clean
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 1
    functionsReached:
    - ttq_free
    - HASH_ITER
    - HASH_DELETE
    - subhier_clean
    linkageType: ''
    returnType: void
    signature: void subhier_clean(struct tmqtt__subhier **subhier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subhier_clean
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:231,1
    - Dst: subhier_clean
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:232,1
    - Dst: ttqDbMsgStoreClean
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: ttqDbClose
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - ttqDbMsgStoreClean
    - subhier_clean
    linkageType: ''
    returnType: int
    signature: int ttqDbClose(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - store
    argTypes:
    - struct tmqtt_msg_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: ttqDbMsgStoreAdd
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ttqDbMsgStoreAdd(struct tmqtt_msg_store *store)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:251,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:252,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:255,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:257,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:259,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:260,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:261,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - store
    argTypes:
    - struct tmqtt_msg_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 263
    functionName: ttqDbMsgStoreFree
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 1
    functionsReached:
    - ttq_free
    - tmqtt_property_free_all
    linkageType: ''
    returnType: void
    signature: void ttqDbMsgStoreFree(struct tmqtt_msg_store *store)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttqDbMsgStoreFree
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - store
    argTypes:
    - struct tmqtt_msg_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 281
    functionName: ttqDbMsgStoreRemove
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - ttqDbMsgStoreFree
    linkageType: ''
    returnType: void
    signature: void ttqDbMsgStoreRemove(struct tmqtt_msg_store *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttqDbMsgStoreRemove
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: ttqDbMsgStoreClean
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 1
    functionsReached:
    - ttqDbMsgStoreRemove
    linkageType: ''
    returnType: void
    signature: void ttqDbMsgStoreClean(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - store
    argTypes:
    - struct tmqtt_msg_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: ttqDbMsgStoreRefInc
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ttqDbMsgStoreRefInc(struct tmqtt_msg_store *store)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttqDbMsgStoreRemove
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - store
    argTypes:
    - struct tmqtt_msg_store**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: ttqDbMsgStoreRefDec
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 2
    functionsReached:
    - ttqDbMsgStoreRemove
    linkageType: ''
    returnType: void
    signature: void ttqDbMsgStoreRefDec(struct tmqtt_msg_store **store)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttqDbMsgStoreRemove
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 316
    functionName: ttqDbMsgStoreCompact
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - ttqDbMsgStoreRemove
    linkageType: ''
    returnType: void
    signature: void ttqDbMsgStoreCompact(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:323,1
    - Dst: db__msg_remove_from_inflight_stats
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:325,1
    - Dst: ttqDbMsgStoreRefDec
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:326,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:329,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - msg_data
    - item
    argTypes:
    - struct tmqtt_msg_data*
    - struct tmqtt_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 4
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: db__message_remove_from_inflight
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - DL_DELETE
    - db__msg_remove_from_inflight_stats
    - tmqtt_property_free_all
    - ttq_free
    - ttqDbMsgStoreRefDec
    linkageType: ''
    returnType: void
    signature: void db__message_remove_from_inflight(struct tmqtt_msg_data *msg_data,
      struct tmqtt_client_msg *item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:338,1
    - Dst: ttqDbMsgStoreRefDec
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:340,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:343,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - msg_data
    - item
    argTypes:
    - struct tmqtt_msg_data*
    - struct tmqtt_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: db__message_remove_from_queued
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - tmqtt_property_free_all
    - DL_DELETE
    - ttq_free
    - ttqDbMsgStoreRefDec
    linkageType: ''
    returnType: void
    signature: void db__message_remove_from_queued(struct tmqtt_msg_data *msg_data,
      struct tmqtt_client_msg *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:350,1
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:353,1
    - Dst: DL_APPEND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:354,1
    - Dst: db__msg_remove_from_queued_stats
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:359,1
    - Dst: ttqDbMsgAddToInflightStats
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - context
    - msg_data
    argTypes:
    - struct tmqtt*
    - struct tmqtt_msg_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: ttqDbMessageDequeueFirst
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - db__msg_remove_from_queued_stats
    - DL_DELETE
    - UNUSED
    - DL_APPEND
    - ttqDbMsgAddToInflightStats
    linkageType: ''
    returnType: void
    signature: void ttqDbMessageDequeueFirst(struct tmqtt *context, struct tmqtt_msg_data
      *msg_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:369,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:378,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:383,1
    - Dst: ttqDbReadyForFlight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:384,1
    - Dst: ttqDbMessageDequeueFirst
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:401,1
    - Dst: ttqDbMessageWriteInflightOutLatest
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:407,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - context
    - mid
    - expect_state
    - qos
    argTypes:
    - struct tmqtt*
    - uint16_t
    - enum tmqtt_msg_state
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 408
    functionName: ttqDbMessageDeleteOutgoing
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 1
    functionsReached:
    - ttqDbMessageWriteInflightOutLatest
    - DL_FOREACH_SAFE
    - ttqDbReadyForFlight
    - db__message_remove_from_inflight
    - ttqDbMessageDequeueFirst
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageDeleteOutgoing(struct tmqtt *context, uint16_t mid,
      enum tmqtt_msg_state expect_state, int qos)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:439,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:441,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:450,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:454,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:460,1
    - Dst: ttqDbReadyForFlight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:466,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:483,1
    - Dst: ttqDbReadyForQueue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:487,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:494,1
    - Dst: G_MSGS_DROPPED_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:496,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:497,1
    - Dst: ttqDbReadyForQueue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:501,1
    - Dst: G_MSGS_DROPPED_INC
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:504,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:507,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:509,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:520,1
    - Dst: ttqDbMsgStoreRefInc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:525,1
    - Dst: DL_APPEND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:540,1
    - Dst: ttqDbMsgAddToQueuedStats
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:541,1
    - Dst: DL_APPEND
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:543,1
    - Dst: ttqDbMsgAddToInflightStats
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:544,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:555,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:559,1
    - Dst: util__decrement_send_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:569,1
    - Dst: util__decrement_receive_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:571,1
    - Dst: ttqDbMessageWriteInflightOutLatest
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:575,1
    - Dst: ttqDbMessageWriteQueuedOut
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:577,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 140
    argCount: 8
    argNames:
    - context
    - mid
    - dir
    - qos
    - retain
    - stored
    - properties
    - update
    argTypes:
    - struct tmqtt*
    - uint16_t
    - enum tmqtt_msg_direction
    - uint8_t
    - bool
    - struct tmqtt_msg_store*
    - tmqtt_property*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 582
    functionName: ttqDbMessageInsert
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 2
    functionsReached:
    - G_MSGS_DROPPED_INC
    - ttq_strdup
    - ttqDbMessageWriteQueuedOut
    - ttqDbReadyForQueue
    - ttqDbMessageWriteInflightOutLatest
    - ttq_realloc
    - util__decrement_receive_quota
    - tmqtt_property_free_all
    - ttqDbReadyForFlight
    - util__decrement_send_quota
    - ttq_calloc
    - ttq_log
    - DL_APPEND
    - ttqDbMsgStoreRefInc
    - ttqDbMsgAddToInflightStats
    - ttqDbMsgAddToQueuedStats
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int ttqDbMessageInsert(struct tmqtt *context, uint16_t mid, enum tmqtt_msg_direction
      dir, uint8_t qos, bool retain,\n                       struct tmqtt_msg_store
      *stored, tmqtt_property *properties, bool update)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - context
    - mid
    - state
    - qos
    argTypes:
    - struct tmqtt*
    - uint16_t
    - enum tmqtt_msg_state
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 598
    functionName: ttqDbMessageUpdateOutgoing
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - DL_FOREACH
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageUpdateOutgoing(struct tmqtt *context, uint16_t mid,
      enum tmqtt_msg_state state, int qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:603,1
    - Dst: DL_DELETE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:604,1
    - Dst: ttqDbMsgStoreRefDec
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:605,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:606,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct tmqtt_client_msg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 600
    functionDepth: 4
    functionLinenumber: 600
    functionLinenumberEnd: 610
    functionName: ttqDbMessageDelete_list
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - DL_DELETE
    - DL_FOREACH_SAFE
    - tmqtt_property_free_all
    - ttq_free
    - ttqDbMsgStoreRefDec
    linkageType: ''
    returnType: void
    signature: void ttqDbMessageDelete_list(struct tmqtt_client_msg **head)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttqDbMessageDelete_list
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:616,1
    - Dst: ttqDbMessageDelete_list
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:617,1
    - Dst: ttqDbMessageDelete_list
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:630,1
    - Dst: ttqDbMessageDelete_list
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:631,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - context
    - force_free
    argTypes:
    - struct tmqtt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 612
    functionDepth: 5
    functionLinenumber: 612
    functionLinenumberEnd: 643
    functionName: ttqDbMessageDelete
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - ttqDbMessageDelete_list
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageDelete(struct tmqtt *context, bool force_free)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:654,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:657,1
    - Dst: ttqDbMsgStoreFree
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:659,1
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:672,1
    - Dst: ttqDbMsgStoreFree
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:674,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:679,1
    - Dst: ttqDbMessageStore
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:697,1
    - Dst: ttqSubMessagesQueue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:699,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 8
    argNames:
    - context
    - topic
    - qos
    - payloadlen
    - payload
    - retain
    - message_expiry_interval
    - properties
    argTypes:
    - struct tmqtt*
    - char*
    - uint8_t
    - uint32_t
    - void*
    - int
    - uint32_t
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 645
    functionDepth: 6
    functionLinenumber: 645
    functionLinenumberEnd: 700
    functionName: ttqDbMessageEasyQueue
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ttqDbMsgStoreFree
    - ttqSubMessagesQueue
    - ttq_malloc
    - ttqDbMessageStore
    - ttq_strdup
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: "int ttqDbMessageEasyQueue(struct tmqtt *context, const char *topic,
      uint8_t qos, uint32_t payloadlen,\n                            const void *payload,
      int retain, uint32_t message_expiry_interval,\n                            tmqtt_property
      **properties)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:707,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:709,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:712,1
    - Dst: ttqDbMsgStoreFree
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:713,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:718,1
    - Dst: ttqDbMsgStoreFree
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:720,1
    - Dst: ttqDbMsgStoreAdd
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:746,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - source
    - stored
    - message_expiry_interval
    - store_id
    - origin
    argTypes:
    - struct tmqtt*
    - struct tmqtt_msg_store*
    - uint32_t
    - dbid_t
    - enum tmqtt_msg_origin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 749
    functionName: ttqDbMessageStore
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 2
    functionsReached:
    - ttq_log
    - ttqDbMsgStoreAdd
    - ttq_strdup
    - ttqDbMsgStoreFree
    linkageType: ''
    returnType: int
    signature: "int ttqDbMessageStore(const struct tmqtt *source, struct tmqtt_msg_store
      *stored, uint32_t message_expiry_interval,\n                      dbid_t store_id,
      enum tmqtt_msg_origin origin)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:758,1
    - Dst: DL_FOREACH
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - context
    - mid
    - client_msg
    argTypes:
    - struct tmqtt*
    - uint16_t
    - struct tmqtt_client_msg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 773
    functionName: ttqDbMessageStore_find
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - DL_FOREACH
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageStore_find(struct tmqtt *context, uint16_t mid, struct
      tmqtt_client_msg **client_msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:790,1
    - Dst: ttqDbMsgAddToInflightStats
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:791,1
    - Dst: util__decrement_send_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:793,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:818,1
    - Dst: ttqDbMsgAddToQueuedStats
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:819,1
    - Dst: ttqDbReadyForFlight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:820,1
    - Dst: ttqDbMessageDequeueFirst
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:832,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 837
    functionName: ttqDbMessageReconnectReset_outgoing
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - DL_FOREACH_SAFE
    - ttqDbReadyForFlight
    - util__decrement_send_quota
    - ttqDbMessageDequeueFirst
    - ttqDbMsgAddToQueuedStats
    - ttqDbMsgAddToInflightStats
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageReconnectReset_outgoing(struct tmqtt *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:853,1
    - Dst: ttqDbMsgAddToInflightStats
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:854,1
    - Dst: util__decrement_receive_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:856,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:862,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:876,1
    - Dst: ttqDbMsgAddToQueuedStats
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:878,1
    - Dst: ttqDbReadyForFlight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:879,1
    - Dst: ttqDbMessageDequeueFirst
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:891,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 840
    functionDepth: 5
    functionLinenumber: 840
    functionLinenumberEnd: 896
    functionName: ttqDbMessageReconnectReset_incoming
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - DL_FOREACH_SAFE
    - ttqDbReadyForFlight
    - db__message_remove_from_inflight
    - ttqDbMessageDequeueFirst
    - util__decrement_receive_quota
    - ttqDbMsgAddToQueuedStats
    - ttqDbMsgAddToInflightStats
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageReconnectReset_incoming(struct tmqtt *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttqDbMessageReconnectReset_outgoing
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:901,1
    - Dst: ttqDbMessageReconnectReset_incoming
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 898
    functionDepth: 6
    functionLinenumber: 898
    functionLinenumberEnd: 904
    functionName: ttqDbMessageReconnectReset
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 1
    functionsReached:
    - ttqDbMessageReconnectReset_outgoing
    - ttqDbMessageReconnectReset_incoming
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageReconnectReset(struct tmqtt *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:911,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - context
    - mid
    argTypes:
    - struct tmqtt*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 906
    functionDepth: 5
    functionLinenumber: 906
    functionLinenumberEnd: 922
    functionName: ttqDbMessageRemoveIncoming
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - db__message_remove_from_inflight
    - DL_FOREACH_SAFE
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageRemoveIncoming(struct tmqtt *context, uint16_t mid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:935,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:950,1
    - Dst: ttqSubMessagesQueue
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:953,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:955,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:964,1
    - Dst: ttqDbReadyForFlight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:965,1
    - Dst: send__pubrec
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:973,1
    - Dst: ttqDbMessageDequeueFirst
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:975,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - context
    - mid
    argTypes:
    - struct tmqtt*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 924
    functionDepth: 6
    functionLinenumber: 924
    functionLinenumberEnd: 983
    functionName: ttqDbMessageReleaseIncoming
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - send__pubrec
    - DL_FOREACH_SAFE
    - ttqDbReadyForFlight
    - db__message_remove_from_inflight
    - ttqDbMessageDequeueFirst
    - ttqSubMessagesQueue
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageReleaseIncoming(struct tmqtt *context, uint16_t mid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:988,1
    - Dst: util__increment_send_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:991,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:993,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:996,1
    - Dst: db__message_remove_from_queued
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:998,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1001,1
    - Dst: util__increment_receive_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1004,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1006,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1009,1
    - Dst: db__message_remove_from_queued
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1011,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 985
    functionDepth: 5
    functionLinenumber: 985
    functionLinenumberEnd: 1014
    functionName: ttqDbExpireAllMessages
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 1
    functionsReached:
    - db__message_remove_from_queued
    - util__increment_receive_quota
    - DL_FOREACH_SAFE
    - db__message_remove_from_inflight
    - util__increment_send_quota
    linkageType: ''
    returnType: void
    signature: void ttqDbExpireAllMessages(struct tmqtt *context)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: util__increment_send_quota
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1033,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1035,1
    - Dst: send__publish
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1053,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1056,1
    - Dst: send__publish
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1063,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1070,1
    - Dst: send__publish
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1077,1
    - Dst: db__message_remove_from_inflight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1084,1
    - Dst: send__pubrel
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1091,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 2
    argNames:
    - context
    - msg
    argTypes:
    - struct tmqtt*
    - struct tmqtt_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1016
    functionDepth: 5
    functionLinenumber: 1016
    functionLinenumberEnd: 1110
    functionName: db__message_write_inflight_out_single
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - db__message_remove_from_inflight
    - send__publish
    - util__increment_send_quota
    - send__pubrel
    linkageType: ''
    returnType: int
    signature: int db__message_write_inflight_out_single(struct tmqtt *context, struct
      tmqtt_client_msg *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1120,1
    - Dst: db__message_write_inflight_out_single
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1112
    functionDepth: 6
    functionLinenumber: 1112
    functionLinenumberEnd: 1125
    functionName: ttqDbMessageWriteInflightOutAll
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 1
    functionsReached:
    - db__message_write_inflight_out_single
    - DL_FOREACH_SAFE
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageWriteInflightOutAll(struct tmqtt *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: db__message_write_inflight_out_single
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1137,1
    - Dst: db__message_write_inflight_out_single
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1158,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1127
    functionDepth: 6
    functionLinenumber: 1127
    functionLinenumberEnd: 1163
    functionName: ttqDbMessageWriteInflightOutLatest
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 3
    functionsReached:
    - db__message_write_inflight_out_single
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageWriteInflightOutLatest(struct tmqtt *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1173,1
    - Dst: ttqDbMessageDequeueFirst
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1180,1
    - Dst: send__pubrec
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1165
    functionDepth: 2
    functionLinenumber: 1165
    functionLinenumberEnd: 1190
    functionName: ttqDbMessageWriteQueuedIn
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 0
    functionsReached:
    - send__pubrec
    - ttqDbMessageDequeueFirst
    - DL_FOREACH_SAFE
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageWriteQueuedIn(struct tmqtt *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1199,1
    - Dst: ttqDbReadyForFlight
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1200,1
    - Dst: ttqDbMessageDequeueFirst
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c:1215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1218
    functionName: ttqDbMessageWriteQueuedOut
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqDb.c
    functionUses: 3
    functionsReached:
    - ttqDbReadyForFlight
    - ttqDbMessageDequeueFirst
    - DL_FOREACH_SAFE
    linkageType: ''
    returnType: int
    signature: int ttqDbMessageWriteQueuedOut(struct tmqtt *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: tmqtt_pub_topic_check
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtilTopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tmqtt_pub_topic_check(const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 93
    functionName: tmqtt_pub_topic_check2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtilTopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tmqtt_pub_topic_check2(const char *str, size_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: tmqtt_sub_topic_check
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtilTopic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tmqtt_sub_topic_check(const char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: tmqtt_sub_topic_check2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtilTopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tmqtt_sub_topic_check2(const char *str, size_t len)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 101
    argCount: 3
    argNames:
    - sub
    - topic
    - result
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 292
    functionName: tmqtt_topic_matches_sub
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtilTopic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tmqtt_topic_matches_sub(const char *sub, const char *topic, bool
      *result)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 98
    argCount: 5
    argNames:
    - sub
    - sublen
    - topic
    - topiclen
    - result
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 409
    functionName: tmqtt_topic_matches_sub2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqUtilTopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tmqtt_topic_matches_sub2(const char *sub, size_t sublen, const
      char *topic, size_t topiclen, bool *result)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_varint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:39,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:45,1
    - Dst: packet__read_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:58,1
    - Dst: packet__read_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:68,1
    - Dst: packet__read_uint32
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:78,1
    - Dst: packet__read_varint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:85,1
    - Dst: packet__read_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:98,1
    - Dst: packet__read_binary
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:107,1
    - Dst: packet__read_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:115,1
    - Dst: packet__read_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:119,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:121,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:134,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 96
    argCount: 3
    argNames:
    - packet
    - len
    - property
    argTypes:
    - struct tmqtt__packet*
    - uint32_t*
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 140
    functionName: property__read
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached:
    - packet__read_binary
    - packet__read_byte
    - memset
    - packet__read_uint16
    - packet__read_string
    - packet__read_uint32
    - ttq_free
    - ttq_log
    - packet__read_varint
    linkageType: ''
    returnType: int
    signature: int property__read(struct tmqtt__packet *packet, uint32_t *len, tmqtt_property
      *property)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_varint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:147,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:155,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:157,1
    - Dst: property__read
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:161,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:163,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:164,1
    - Dst: tmqtt_property_check_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:176,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - command
    - packet
    - properties
    argTypes:
    - int
    - struct tmqtt__packet*
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 182
    functionName: property__read_all
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 5
    functionsReached:
    - tmqtt_property_free_all
    - property__read
    - tmqtt_property_check_all
    - ttq_free
    - packet__read_varint
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int property__read_all(int command, struct tmqtt__packet *packet, tmqtt_property
      **properties)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:195,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:200,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:204,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:205,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - property
    argTypes:
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 231
    functionName: property__free
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - ttq_free
    linkageType: ''
    returnType: void
    signature: void property__free(tmqtt_property **property)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: property__free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - property
    argTypes:
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: tmqtt_property_free_all
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 15
    functionsReached:
    - property__free
    linkageType: ''
    returnType: void
    signature: void tmqtt_property_free_all(tmqtt_property **property)
  - BBCount: 34
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 1
    argNames:
    - property
    argTypes:
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 313
    functionName: property__get_length
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int property__get_length(const tmqtt_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: property__get_length
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - property
    argTypes:
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: property__get_length_all
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - property__get_length
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int property__get_length_all(const tmqtt_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: property__get_length_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:332,1
    - Dst: packet__varint_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - props
    argTypes:
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: property__get_remaining_length
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 5
    functionsReached:
    - property__get_length_all
    - packet__varint_bytes
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int property__get_remaining_length(const tmqtt_property *props)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: packet__write_varint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:340,1
    - Dst: packet__write_byte
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:352,1
    - Dst: packet__write_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:359,1
    - Dst: packet__write_uint32
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:366,1
    - Dst: packet__write_varint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:370,1
    - Dst: packet__write_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:379,1
    - Dst: packet__write_uint16
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:384,1
    - Dst: packet__write_bytes
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:385,1
    - Dst: packet__write_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:389,1
    - Dst: packet__write_string
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:390,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:395,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 2
    argNames:
    - packet
    - property
    argTypes:
    - struct tmqtt__packet*
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 401
    functionName: property__write
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached:
    - packet__write_varint
    - packet__write_byte
    - packet__write_string
    - packet__write_bytes
    - ttq_log
    - packet__write_uint16
    - packet__write_uint32
    linkageType: ''
    returnType: int
    signature: int property__write(struct tmqtt__packet *packet, const tmqtt_property
      *property)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: packet__write_varint
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:408,1
    - Dst: property__get_length_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:408,1
    - Dst: property__write
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - packet
    - properties
    - write_len
    argTypes:
    - struct tmqtt__packet*
    - tmqtt_property*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: property__write_all
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 6
    functionsReached:
    - packet__write_varint
    - property__write
    - property__get_length_all
    linkageType: ''
    returnType: int
    signature: int property__write_all(struct tmqtt__packet *packet, const tmqtt_property
      *properties, bool write_len)
  - BBCount: 40
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 78
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 512
    functionName: tmqtt_property_check_command
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_check_command(int command, int identifier)
  - BBCount: 29
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 573
    functionName: tmqtt_property_identifier_to_string
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *tmqtt_property_identifier_to_string(int identifier)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:578,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:581,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:584,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:587,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:590,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:593,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:596,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:599,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:602,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:605,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:608,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:611,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:614,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:617,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:620,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:623,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:626,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:629,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:632,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:635,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:638,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:641,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:644,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:647,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:650,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:653,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:656,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 114
    argCount: 3
    argNames:
    - propname
    - identifier
    - type
    argTypes:
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 663
    functionName: tmqtt_string_to_property_info
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int tmqtt_string_to_property_info(const char *propname, int *identifier,
      int *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - proplist
    - prop
    argTypes:
    - tmqtt_property**
    - struct mqtt5__property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 678
    functionName: property__add
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void property__add(tmqtt_property **proplist, struct mqtt5__property
      *prop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:691,1
    - Dst: property__add
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:698,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - tmqtt_property**
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 700
    functionName: tmqtt_property_add_byte
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - property__add
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_add_byte(tmqtt_property **proplist, int identifier,
      uint8_t value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:711,1
    - Dst: property__add
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:718,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - tmqtt_property**
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 720
    functionName: tmqtt_property_add_int16
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 2
    functionsReached:
    - property__add
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_add_int16(tmqtt_property **proplist, int identifier,
      uint16_t value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:731,1
    - Dst: property__add
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:738,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - tmqtt_property**
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 740
    functionName: tmqtt_property_add_int32
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - property__add
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_add_int32(tmqtt_property **proplist, int identifier,
      uint32_t value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:748,1
    - Dst: property__add
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - tmqtt_property**
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 757
    functionName: tmqtt_property_add_varint
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - property__add
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_add_varint(tmqtt_property **proplist, int identifier,
      uint32_t value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:767,1
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:774,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:776,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:780,1
    - Dst: property__add
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - len
    argTypes:
    - tmqtt_property**
    - int
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 786
    functionName: tmqtt_property_add_binary
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - memcpy
    - property__add
    - ttq_free
    - ttq_malloc
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_add_binary(tmqtt_property **proplist, int identifier,
      const void *value, uint16_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:794,1
    - Dst: tmqtt_validate_utf8
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:795,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:805,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:811,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:813,1
    - Dst: property__add
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:819,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - tmqtt_property**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 821
    functionName: tmqtt_property_add_string
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - strlen
    - property__add
    - tmqtt_validate_utf8
    - ttq_free
    - ttq_strdup
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_add_string(tmqtt_property **proplist, int identifier,
      const char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:830,1
    - Dst: tmqtt_validate_utf8
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:831,1
    - Dst: tmqtt_validate_utf8
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:834,1
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:837,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:844,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:846,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:849,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:853,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:855,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:856,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:859,1
    - Dst: property__add
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:862,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - proplist
    - identifier
    - name
    - value
    argTypes:
    - tmqtt_property**
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 864
    functionName: tmqtt_property_add_string_pair
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached:
    - strlen
    - property__add
    - tmqtt_validate_utf8
    - ttq_free
    - ttq_strdup
    - ttq_calloc
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_add_string_pair(tmqtt_property **proplist, int identifier,
      const char *name, const char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt_pub_topic_check
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:890,1
    - Dst: tmqtt_property_check_command
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:896,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 2
    argNames:
    - command
    - properties
    argTypes:
    - int
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 914
    functionName: tmqtt_property_check_all
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - tmqtt_pub_topic_check
    - tmqtt_property_check_command
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_check_all(int command, const tmqtt_property *properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - proplist
    - identifier
    - skip_first
    argTypes:
    - tmqtt_property*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 932
    functionName: property__get_property
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmqtt_property
    signature: tmqtt_property *property__get_property(const tmqtt_property *proplist,
      int identifier, bool skip_first)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - property
    argTypes:
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 938
    functionName: tmqtt_property_identifier
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_identifier(const tmqtt_property *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - proplist
    argTypes:
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 944
    functionName: tmqtt_property_next
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmqtt_property
    signature: tmqtt_property *tmqtt_property_next(const tmqtt_property *proplist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:951,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - skip_first
    argTypes:
    - tmqtt_property*
    - int
    - uint8_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 963
    functionName: tmqtt_property_read_byte
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached:
    - property__get_property
    linkageType: ''
    returnType: tmqtt_property
    signature: "tmqtt_property *tmqtt_property_read_byte(const tmqtt_property *proplist,
      int identifier, uint8_t *value,\n                                               bool
      skip_first)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:970,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - skip_first
    argTypes:
    - tmqtt_property*
    - int
    - uint16_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 980
    functionName: tmqtt_property_read_int16
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached:
    - property__get_property
    linkageType: ''
    returnType: tmqtt_property
    signature: "tmqtt_property *tmqtt_property_read_int16(const tmqtt_property *proplist,
      int identifier, uint16_t *value,\n                                                bool
      skip_first)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:987,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - skip_first
    argTypes:
    - tmqtt_property*
    - int
    - uint32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 997
    functionName: tmqtt_property_read_int32
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 0
    functionsReached:
    - property__get_property
    linkageType: ''
    returnType: tmqtt_property
    signature: "tmqtt_property *tmqtt_property_read_int32(const tmqtt_property *proplist,
      int identifier, uint32_t *value,\n                                                bool
      skip_first)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - skip_first
    argTypes:
    - tmqtt_property*
    - int
    - uint32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1013
    functionName: tmqtt_property_read_varint
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - property__get_property
    linkageType: ''
    returnType: tmqtt_property
    signature: "tmqtt_property *tmqtt_property_read_varint(const tmqtt_property *proplist,
      int identifier, uint32_t *value,\n                                                 bool
      skip_first)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1022,1
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1030,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1033,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - proplist
    - identifier
    - value
    - len
    - skip_first
    argTypes:
    - tmqtt_property*
    - int
    - void**
    - uint16_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1037
    functionName: tmqtt_property_read_binary
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - property__get_property
    - memcpy
    - calloc
    linkageType: ''
    returnType: tmqtt_property
    signature: "tmqtt_property *tmqtt_property_read_binary(const tmqtt_property *proplist,
      int identifier, void **value,\n                                                 uint16_t
      *len, bool skip_first)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1044,1
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1054,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1057,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - skip_first
    argTypes:
    - tmqtt_property*
    - int
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1061
    functionName: tmqtt_property_read_string
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - property__get_property
    - memcpy
    - calloc
    linkageType: ''
    returnType: tmqtt_property
    signature: "tmqtt_property *tmqtt_property_read_string(const tmqtt_property *proplist,
      int identifier, char **value,\n                                                 bool
      skip_first)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1071,1
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1076,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1078,1
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1082,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1085,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1090,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - proplist
    - identifier
    - name
    - value
    - skip_first
    argTypes:
    - tmqtt_property*
    - int
    - char**
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1094
    functionName: tmqtt_property_read_string_pair
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - ttq_free
    - property__get_property
    - memcpy
    - calloc
    linkageType: ''
    returnType: tmqtt_property
    signature: "tmqtt_property *tmqtt_property_read_string_pair(const tmqtt_property
      *proplist, int identifier, char **name,\n                                                      char
      **value, bool skip_first)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1105,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1107,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1157,1
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1157,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1159,1
    - Dst: malloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1167,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1169,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1172,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1177,1
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1177,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1179,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1184,1
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1184,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1186,1
    - Dst: tmqtt_property_free_all
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c:1192,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 91
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - tmqtt_property**
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1200
    functionName: tmqtt_property_copy_all
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/ttqProperty.c
    functionUses: 1
    functionsReached:
    - memcpy
    - malloc
    - strdup
    - tmqtt_property_free_all
    - calloc
    linkageType: ''
    returnType: int
    signature: int tmqtt_property_copy_all(tmqtt_property **dest, const tmqtt_property
      *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/backup/ttqAlias.c:27,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/backup/ttqAlias.c:28,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/backup/ttqAlias.c:38,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/backup/ttqAlias.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ttq
    - topic
    - alias
    argTypes:
    - struct tmqtt*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 50
    functionName: alias__add
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/backup/ttqAlias.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - ttq_realloc
    - ttq_strdup
    linkageType: ''
    returnType: int
    signature: int alias__add(struct tmqtt *ttq, const char *topic, uint16_t alias)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/backup/ttqAlias.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ttq
    - topic
    - alias
    argTypes:
    - struct tmqtt*
    - char**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: alias__find
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/backup/ttqAlias.c
    functionUses: 0
    functionsReached:
    - ttq_strdup
    linkageType: ''
    returnType: int
    signature: int alias__find(struct tmqtt *ttq, char **topic, uint16_t alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/backup/ttqAlias.c:72,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/ttq/src/backup/ttqAlias.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ttq
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: alias__free_all
    functionSourceFile: /src/tdengine/source/libs/tmqtt/ttq/src/backup/ttqAlias.c
    functionUses: 0
    functionsReached:
    - ttq_free
    linkageType: ''
    returnType: void
    signature: void alias__free_all(struct tmqtt *ttq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:90,1
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:92,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:94,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:94,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:95,1
    - Dst: taos_cleanup
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:96,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:106,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:108,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:110,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:111,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:113,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:114,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:116,1
    - Dst: Sleep
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:118,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:120,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:123,1
    - Dst: taos_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 126
    functionName: prep_data
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - usleep
    - taos_close
    - taos_connect
    - taos_errno
    - fprintf
    - snprintf
    - taos_cleanup
    - taos_query
    - taos_free_result
    - Sleep
    - taos_errstr
    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:130,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:131,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:132,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:137,1
    - Dst: taos_num_fields
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:141,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:145,1
    - Dst: taos_print_row
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:149,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - msg
    argTypes:
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 157
    functionName: msg_process
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 2
    functionsReached:
    - taos_fetch_fields
    - taos_fetch_row
    - tmq_get_vgroup_id
    - tmq_get_topic_name
    - taos_print_row
    - printf
    - tmq_get_db_name
    - taos_num_fields
    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:166,1
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:168,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:170,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:170,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:171,1
    - Dst: taos_cleanup
      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:178,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:180,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:181,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:183,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:183,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:186,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:188,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:190,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:191,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:193,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:193,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:196,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:199,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:201,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:202,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:204,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:204,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:207,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:210,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:212,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:213,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:215,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:215,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:218,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:223,1
    - Dst: taos_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 226
    functionName: init_env
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 1
    functionsReached:
    - taos_close
    - taos_connect
    - taos_errno
    - fprintf
    - taos_cleanup
    - taos_query
    - taos_free_result
    - 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:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    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:237,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:241,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:242,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:243,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:244,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:244,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:247,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:249,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:250,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:252,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:252,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 257
    functionName: create_topics
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - taos_errno
    - fprintf
    - taos_query
    - taos_free_result
    - 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:269,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:271,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:271,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:272,1
    - Dst: taos_cleanup
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:273,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:279,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:280,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:282,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:282,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:285,1
    - Dst: taos_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 291
    functionName: drop_topic_with_connect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - taos_close
    - taos_connect
    - taos_errno
    - fprintf
    - taos_cleanup
    - taos_query
    - taos_free_result
    - 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:298,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:302,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:303,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:304,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:305,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:305,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:308,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:310,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:311,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:313,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:313,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 318
    functionName: drop_topic_without_connect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - taos_errno
    - fprintf
    - taos_query
    - taos_free_result
    - 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:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tmq
    - code
    - param
    argTypes:
    - tmq_t*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    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:330,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:333,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:335,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:338,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:340,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:343,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:345,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:348,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:350,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:353,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:355,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:358,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:360,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:363,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:365,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:368,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:370,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:373,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:375,1
    - Dst: tmq_conf_set_auto_commit_cb
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:380,1
    - Dst: tmq_consumer_new
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:382,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:386,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 1
    argNames:
    - config
    argTypes:
    - ConsumerConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 388
    functionName: build_consumer
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 1
    functionsReached:
    - tmq_conf_new
    - tmq_conf_destroy
    - tmq_conf_set_auto_commit_cb
    - 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:393,1
    - Dst: tmq_list_append
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:396,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:399,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:400,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 407
    functionName: build_topic_list
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 1
    functionsReached:
    - tmq_list_new
    - fprintf
    - tmq_list_append
    - tmq_err2str
    - tmq_list_destroy
    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:416,1
    - Dst: msg_process
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:421,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:424,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 434
    functionName: basic_consume_loop
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 2
    functionsReached:
    - msg_process
    - taos_free_result
    - 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:441,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:443,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:444,1
    - Dst: tmq_offset_seek
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:452,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:454,1
    - Dst: tmq_err2str
      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:460,1
    - Dst: tmq_free_assignment
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:463,1
    - Dst: basic_consume_loop
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 467
    functionName: consume_repeatly
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 1
    functionsReached:
    - basic_consume_loop
    - fprintf
    - tmq_free_assignment
    - tmq_get_topic_assignment
    - tmq_err2str
    - tmq_offset_seek
    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:476,1
    - Dst: msg_process
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:480,1
    - Dst: tmq_commit_sync
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:482,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:484,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:486,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:488,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:491,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:494,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 504
    functionName: manual_commit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - fprintf
    - taos_free_result
    - tmq_consumer_poll
    - msg_process
    - tmq_err2str
    - tmq_commit_sync
    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:507,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:509,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:513,1
    - Dst: create_topics
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:515,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:516,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:520,1
    - Dst: deinit_env
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 525
    functionName: topic_create
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - create_topics
    - deinit_env
    - fprintf
    - init_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:528,1
    - Dst: drop_topic_with_connect
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:530,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:531,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 538
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:543,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:544,1
    - Dst: pthread_join
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 552
    functionName: topic_prep
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - pthread_create
    - fprintf
    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:562,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:566,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:567,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:568,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:569,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:569,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:572,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: 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
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: drop_topic_without_connect_default
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - taos_errno
    - fprintf
    - taos_query
    - taos_free_result
    - 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:586,1
    - Dst: tmq_list_append
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:589,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:592,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:593,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - topic_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 600
    functionName: build_topiclist
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - tmq_list_new
    - fprintf
    - tmq_list_append
    - tmq_err2str
    - tmq_list_destroy
    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:610,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:612,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:616,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:617,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:618,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:623,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:624,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:625,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_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:638,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:639,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:640,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:644,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:646,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:647,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: 652
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 652
    functionName: tmq_ctx_do_topic
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - cJSON_AddArrayToObject
    - printf
    - cJSON_AddNumberToObject
    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: 660
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 660
    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: 661
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 661
    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: 662
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: varDataLen
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 80
    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: 703
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 703
    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:707,1
    - Dst: valueOf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:717,1
    - Dst: valueOf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:718,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: 722
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 722
    functionName: taosAscii2Hex
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 4
    functionsReached:
    - valueOf
    - calloc
    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:729,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:738,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:743,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:748,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:753,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:758,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:763,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:768,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:774,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:779,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:784,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:786,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:791,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:793,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:800,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:801,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:805,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:806,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:810,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:814,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:818,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:823,1
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:828,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:832,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:835,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:836,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:839,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:846,1
    - Dst: doAsText
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:851,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:856,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:857,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:861,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:866,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:871,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: 879
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 879
    functionName: tmq_ctx_do_fields
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - taosAscii2Hex
    - varDataLen
    - initCtxAsText
    - GET_DOUBLE_VAL
    - cJSON_AddStringToObject
    - memcpy
    - cJSON_AddBoolToObject
    - geosFreeBuffer
    - printf
    - cJSON_AddNumberToObject
    - calloc
    - doAsText
    - free
    - cJSON_AddNullToObject
    - 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:886,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:889,1
    - Dst: tmq_get_table_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:890,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:891,1
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:893,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:894,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:895,1
    - Dst: tmq_ctx_do_topic
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:897,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:899,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:904,1
    - Dst: taos_num_fields
      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: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:908,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:912,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:914,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:915,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:919,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:921,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:922,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:925,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:926,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:927,1
    - Dst: tmq_ctx_do_fields
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:931,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:933,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:934,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:941,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:943,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:944,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:947,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:949,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:950,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - msg
    argTypes:
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 953
    functionName: json_msg_process
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - tmq_ctx_do_topic
    - cJSON_Parse
    - tmq_get_table_name
    - taos_fetch_fields
    - cJSON_CreateObject
    - tmq_get_vgroup_id
    - taos_fetch_row
    - tmq_get_topic_name
    - printf
    - tmq_ctx_do_fields
    - cJSON_PrintUnformatted
    - cJSON_AddItemToArray
    - tmq_get_db_name
    - taos_num_fields
    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:962,1
    - Dst: json_msg_process
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:967,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:970,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 980
    functionName: json_consume_loop
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - tmq_consumer_poll
    - json_msg_process
    - fprintf
    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:990,1
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:992,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:994,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:994,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:995,1
    - Dst: taos_cleanup
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:996,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1000,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1001,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1002,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1003,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1003,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1006,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1010,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1011,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1013,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1013,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1016,1
    - Dst: build_consumer
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1022,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1024,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1028,1
    - Dst: build_topiclist
      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:1034,1
    - Dst: tmq_subscribe
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1039,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1040,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1042,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1044,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1047,1
    - Dst: clock
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1049,1
    - Dst: basic_consume_loop
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1051,1
    - Dst: json_consume_loop
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1053,1
    - Dst: clock
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1055,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1057,1
    - Dst: consume_repeatly
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1061,1
    - Dst: manual_commit
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1063,1
    - Dst: tmq_unsubscribe
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1066,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1068,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1070,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1072,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1076,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1078,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1079,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1081,1
    - Dst: drop_topic_without_connect_default
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1086,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1087,1
    - Dst: deinit_env
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1091,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 1094
    functionName: topic_consume
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - basic_consume_loop
    - json_consume_loop
    - consume_repeatly
    - tmq_subscribe
    - drop_topic_without_connect_default
    - taos_cleanup
    - build_topiclist
    - taos_errno
    - fprintf
    - taos_query
    - tmq_consumer_close
    - taos_free_result
    - build_consumer
    - manual_commit
    - tmq_err2str
    - taos_errstr
    - deinit_env
    - taos_connect
    - clock
    - tmq_list_destroy
    - tmq_unsubscribe
    linkageType: ''
    returnType: int
    signature: int topic_consume(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1100,1
    - Dst: topic_create
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1101,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1102,1
    - Dst: topic_drop
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1103,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1104,1
    - Dst: topic_consume
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1105,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1106,1
    - Dst: topic_prep
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1107,1
    - Dst: init_env
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1113,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1115,1
    - Dst: create_topics
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1119,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1120,1
    - Dst: pthread_create
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1124,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1125,1
    - Dst: build_consumer
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1129,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1131,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1135,1
    - Dst: build_topic_list
      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:1141,1
    - Dst: tmq_subscribe
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1146,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1147,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1149,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1151,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1154,1
    - Dst: basic_consume_loop
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1156,1
    - Dst: tmq_unsubscribe
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1164,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1166,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1168,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1170,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1174,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1176,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1177,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1179,1
    - Dst: pthread_join
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1183,1
    - Dst: drop_topic_without_connect
      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:1186,1
    - Dst: deinit_env
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1190,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1193
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 2
    functionsReached:
    - basic_consume_loop
    - tmq_subscribe
    - pthread_join
    - pthread_create
    - strcmp
    - topic_create
    - topic_drop
    - fprintf
    - topic_consume
    - init_env
    - topic_prep
    - tmq_consumer_close
    - build_topic_list
    - build_consumer
    - drop_topic_without_connect
    - tmq_err2str
    - deinit_env
    - create_topics
    - tmq_list_destroy
    - tmq_unsubscribe
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: UNUSED
    functionSourceFile: /src/tdengine/source/libs/tmqtt/inc/tmqttInt.h
    functionUses: 533
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - 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: 4
    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: 2
    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: 13
    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: 2
    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: 12
    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: 1
    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: 10
    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: 2
    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: 6
    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: 2
    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: 2
    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: 1
    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: 1
    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: 1
    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: 1
    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: 1
    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: 1
    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: 1
    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: 2
    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: 2
    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: 1
    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: 1
    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: 1
    functionsReached:
    - bndError
    - taos_errno
    - taos_errstr
    - taos_connect
    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_destroy
    - tmq_conf_set_auto_commit_cb
    - 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: 2
    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_new
    - tmq_list_to_c_array
    - bndError
    - tmq_list_append
    - tmq_list_get_size
    - tmq_err2str
    - tmq_list_destroy
    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_new
    - bndError
    - tmq_list_get_size
    - tmq_list_append
    - tmq_err2str
    - tmq_list_to_c_array
    - tmq_list_destroy
    - 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: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:249,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:251,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: 3
    functionLinenumber: 241
    functionLinenumberEnd: 327
    functionName: tmq_ctx_topic_exists
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 1
    functionsReached:
    - tmq_ctx_append_topic
    - strlen
    - HASH_ADD_KEYPTR
    - tmq_subscribe
    - tmq_consumer_close
    - bndInfo
    - snprintf
    - tmq_ctx_init_consumer
    - bndError
    - tmq_list_get_size
    - HASH_FIND
    - ttq_free
    - taosMemoryCalloc
    - tmq_err2str
    - tmq_list_destroy
    - ttq_strdup
    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
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 4
    argNames:
    - context
    - topic_name
    - cid
    - sn
    argTypes:
    - struct tmq_ctx*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 409
    functionName: tmq_ctx_unsub_topic
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 1
    functionsReached:
    - strlen
    - tmq_ctx_remove_topic
    - tmq_subscribe
    - tmq_consumer_close
    - bndInfo
    - snprintf
    - tmq_ctx_init_consumer
    - bndError
    - HASH_DELETE
    - tmq_list_get_size
    - HASH_FIND
    - tmq_err2str
    - tmq_list_destroy
    - tmq_commit_sync
    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:415,1
    - Dst: HASH_ITER
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:422,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:423,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:424,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:430,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:435,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmq_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 443
    functionName: tmq_ctx_cleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - HASH_ITER
    - taos_close
    - tmq_consumer_close
    - ttq_free
    - tmq_list_destroy
    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:453,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:459,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:461,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:467,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:469,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:470,1
    - Dst: DL_APPEND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:479,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: 482
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 482
    functionName: ttq_broker_publish
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - DL_APPEND
    - ttq_malloc
    - ttq_strdup
    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:492,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:494,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:498,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:499,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:500,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:505,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:506,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:507,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:513,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:514,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:515,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:520,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:521,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:522,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:526,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:528,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:529,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: 534
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 534
    functionName: tmq_ctx_do_topic
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - cJSON_AddArrayToObject
    - bndError
    - cJSON_AddNumberToObject
    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:541,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:550,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:555,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:560,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:565,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:570,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:575,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:580,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:586,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:591,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:596,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:598,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:603,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:605,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:612,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:613,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:617,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:618,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:622,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:626,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:630,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:635,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:640,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:644,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:647,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:648,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:651,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:657,1
    - Dst: doAsText
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:662,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:667,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:668,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:672,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:676,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:681,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: 689
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 689
    functionName: tmq_ctx_do_fields
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 1
    functionsReached:
    - taosAscii2Hex
    - varDataLen
    - initCtxAsText
    - GET_DOUBLE_VAL
    - cJSON_AddStringToObject
    - memcpy
    - cJSON_AddBoolToObject
    - geosFreeBuffer
    - bndError
    - cJSON_AddNumberToObject
    - doAsText
    - taosMemoryCalloc
    - cJSON_AddNullToObject
    - taosMemoryFree
    - 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:697,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:699,1
    - Dst: tmqtt_property_add_byte
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:704,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:706,1
    - Dst: tmqtt_property_add_string
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:711,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - props
    argTypes:
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 719
    functionName: tmq_ctx_do_props
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - bndError
    - tmqtt_property_add_int32
    - tmqtt_property_add_byte
    - tmqtt_property_add_string
    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:726,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:729,1
    - Dst: tmq_get_table_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:730,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:731,1
    - Dst: tmq_ctx_do_topic
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:733,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:735,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:740,1
    - Dst: taos_num_fields
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:741,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:743,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:744,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:748,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:750,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:751,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:755,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:757,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:758,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:761,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:762,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:763,1
    - Dst: tmq_ctx_do_fields
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:767,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:769,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:770,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:777,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:779,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:780,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:783,1
    - Dst: tmq_ctx_do_props
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:787,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:789,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:790,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:796,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:799,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:799,1
    - Dst: ttq_broker_publish
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:805,1
    - Dst: ttq_broker_publish
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:807,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:810,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:811,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 2
    argNames:
    - ctxt
    - msg
    argTypes:
    - struct tmqtt*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 721
    functionDepth: 4
    functionLinenumber: 721
    functionLinenumberEnd: 813
    functionName: tmq_ctx_do_msg
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateObject
    - tmq_get_topic_name
    - bndError
    - cJSON_PrintUnformatted
    - cJSON_AddItemToArray
    - taos_num_fields
    - taos_fetch_fields
    - tmq_ctx_do_props
    - tmq_get_db_name
    - ttq_broker_publish
    - strlen
    - tmq_get_table_name
    - tmq_ctx_do_fields
    - HASH_FIND
    - cJSON_Delete
    - tmq_ctx_do_topic
    - tmq_get_vgroup_id
    - taos_fetch_row
    - ttq_free
    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:817,1
    - Dst: tmq_get_json_meta
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:820,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:822,1
    - Dst: tmq_ctx_do_props
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:828,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:830,1
    - Dst: tmq_free_json_meta
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:831,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:837,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:840,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:840,1
    - Dst: ttq_broker_publish
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:845,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:847,1
    - Dst: tmq_free_json_meta
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:848,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ctxt
    - msg
    argTypes:
    - struct tmqtt*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 815
    functionDepth: 4
    functionLinenumber: 815
    functionLinenumberEnd: 850
    functionName: tmq_ctx_do_msg_meta
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_get_json_meta
    - strlen
    - tmq_free_json_meta
    - tmq_get_topic_name
    - bndError
    - tmq_ctx_do_props
    - HASH_FIND
    - ttq_broker_publish
    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:853,1
    - Dst: tmq_ctx_do_msg
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:855,1
    - Dst: tmq_ctx_do_msg_meta
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctxt
    - msg
    argTypes:
    - struct tmqtt*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 852
    functionDepth: 5
    functionLinenumber: 852
    functionLinenumberEnd: 861
    functionName: tmq_ctx_msg_to_json
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_ctx_do_msg
    - tmq_get_res_type
    - tmq_ctx_do_msg_meta
    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:869,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:871,1
    - Dst: tmqtt_property_add_byte
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:876,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:878,1
    - Dst: tmqtt_property_add_string
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:883,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - props
    argTypes:
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 891
    functionName: tmq_ctx_rawb_props
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - bndError
    - tmqtt_property_add_int32
    - tmqtt_property_add_byte
    - tmqtt_property_add_string
    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:899,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:900,1
    - Dst: tmq_get_table_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:901,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:902,1
    - Dst: taos_fetch_raw_block
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:908,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:910,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:911,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:922,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:931,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:935,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:936,1
    - Dst: tmq_ctx_rawb_props
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:943,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:945,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:946,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:954,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:954,1
    - Dst: ttq_broker_publish
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:959,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:961,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:962,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - ctxt
    - msg
    argTypes:
    - struct tmqtt*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 893
    functionDepth: 4
    functionLinenumber: 893
    functionLinenumberEnd: 964
    functionName: tmq_ctx_rawb_pub
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - strlen
    - tmq_ctx_rawb_props
    - memcpy
    - tmq_get_table_name
    - ttq_realloc
    - tmq_get_vgroup_id
    - tmq_get_topic_name
    - bndError
    - HASH_FIND
    - ttq_free
    - tmq_err2str
    - tmq_get_db_name
    - taos_fetch_raw_block
    - ttq_broker_publish
    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:967,1
    - Dst: tmq_ctx_rawb_pub
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:969,1
    - Dst: tmq_ctx_do_msg_meta
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:971,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctxt
    - msg
    argTypes:
    - struct tmqtt*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 966
    functionDepth: 5
    functionLinenumber: 966
    functionLinenumberEnd: 975
    functionName: tmq_ctx_msg_to_rawb
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_ctx_rawb_pub
    - tmq_get_res_type
    - tmq_ctx_do_msg_meta
    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:982,1
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:989,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:991,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:991,1
    - Dst: tmq_ctx_msg_to_json
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:999,1
    - Dst: tmq_ctx_msg_to_rawb
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:1001,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:1005,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ctxt
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 977
    functionDepth: 6
    functionLinenumber: 977
    functionLinenumberEnd: 1007
    functionName: tmq_ctx_poll_single
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - strlen
    - tmq_ctx_msg_to_rawb
    - tmq_get_topic_name
    - tmq_ctx_msg_to_json
    - taos_free_result
    - tmq_consumer_poll
    - 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:1013,1
    - Dst: tmq_ctx_poll_single
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1009
    functionDepth: 7
    functionLinenumber: 1009
    functionLinenumberEnd: 1019
    functionName: tmq_ctx_poll_msgs
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 1
    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: udfdProcessRpcRsp
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - uv_sem_post
    - tstrerror
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - abs
    - updateEpSet_s
    - tDeserializeSConnectRsp
    - tDeserializeSRetrieveFuncRsp
    - taosArrayGet
    - taosGetTimestampSec
    - isEpsetEqual
    - bndError
    - rpcFreeCont
    - tFreeSFuncInfo
    linkageType: ''
    returnType: void
    signature: void udfdProcessRpcRsp(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
    - udfName
    - udf
    argTypes:
    - void*
    - char*
    - SUdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 194
    functionDepth: 6
    functionLinenumber: 194
    functionLinenumberEnd: 241
    functionName: udfdFillUdfInfoFromMNode
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - uv_sem_destroy
    - rpcSendRequest
    - TAOS_MQTT_MGMT_CHECK_PTR_RCODE
    - uv_sem_wait
    - rpcMallocCont
    - tSerializeSRetrieveFuncReq
    - taosMemoryCalloc
    - taosMemoryFree
    - rpcFreeCont
    - uv_sem_init
    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: 255
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: udfdRpcRfp
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.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/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:
    - taosGetFqdnPortFromEp
    - strlen
    - 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: udfdOpenClientRpc
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosVersionStrToInt
    - strlen
    - memcpy
    - TMAX
    - bndError
    - rpcOpen
    - TMIN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdOpenClientRpc()
  - 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: udfdCloseClientRpc
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - rpcClose
    - bndInfo
    linkageType: ''
    returnType: void
    signature: void udfdCloseClientRpc()
  - 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: udfdOnWrite
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - bndError
    - uv_err_name
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void udfdOnWrite(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: udfdSendResponse
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - uv_strerror
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - uv_write
    - bndError
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void udfdSendResponse(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: udfdAllocBuffer
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - bndError
    - taosMemoryRealloc
    - TAOS_MQTT_MGMT_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: 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:
    - SUdfdUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: isUdfdUvMsgComplete
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - bndError
    - bndDebug
    linkageType: ''
    returnType: bool
    signature: bool isUdfdUvMsgComplete(SUdfdUvConn *pipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:469,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:477,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:478,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 480
    functionName: udfdPipeCloseCb
    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 udfdPipeCloseCb(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:483,1
    - Dst: bndDebug
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:484,1
    - Dst: isUdfdUvMsgComplete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:491,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:501,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:503,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:503,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: 507
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 507
    functionName: udfdPipeRead
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - isUdfdUvMsgComplete
    - bndInfo
    - bndError
    - uv_err_name
    - bndDebug
    linkageType: ''
    returnType: void
    signature: void udfdPipeRead(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:510,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:512,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:512,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:517,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:519,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:522,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:524,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:524,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:525,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:528,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:529,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:531,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:541,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:543,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:543,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:545,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:546,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:551,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:552,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - server
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 553
    functionName: udfdOnNewConnection
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - uv_strerror
    - uv_close
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - uv_accept
    - bndError
    - uv_read_start
    - uv_pipe_init
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void udfdOnNewConnection(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:556,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:557,1
    - Dst: uv_fs_unlink
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:559,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:561,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:561,1
    - Dst: uv_signal_stop
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:563,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:565,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:565,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - signum
    argTypes:
    - uv_signal_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: udfdIntrSignalHandler
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_strerror
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - uv_fs_unlink
    - bndInfo
    - bndError
    - uv_stop
    - uv_signal_stop
    linkageType: ''
    returnType: void
    signature: void udfdIntrSignalHandler(uv_signal_t *handle, int signum)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:572,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:574,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:575,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:576,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:579,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:581,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:582,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:585,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:587,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:589,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:590,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 600
    functionName: mqttdParseArgs
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - bndError
    - printf
    - atoi
    - 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:603,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:604,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 606
    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:610,1
    - Dst: taosInitLogOutput
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:610,1
    - Dst: taosCreateLog
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 612
    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:615,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:616,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:618,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: 622
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: udfdCtrlAllocBufCb
    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 udfdCtrlAllocBufCb(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:625,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: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:628,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:629,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:630,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:633,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:634,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: 635
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 635
    functionName: udfdCtrlReadCb
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_close
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - bndError
    - uv_err_name
    - uv_stop
    - taosMemoryFree
    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/tmqtt/mqtt/src/tmqttDaemon.c:639,1
    - Dst: uv_fs_req_cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:640,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:642,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 644
    functionName: removeListeningPipe
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_fs_req_cleanup
    - uv_strerror
    - uv_fs_unlink
    - bndInfo
    linkageType: ''
    returnType: void
    signature: void removeListeningPipe()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:647,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:647,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:650,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:650,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:651,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:651,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:652,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:652,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:658,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:658,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:660,1
    - Dst: uv_signal_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:660,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:661,1
    - Dst: uv_signal_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:661,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:664,1
    - Dst: uv_pipe_bind
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:665,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:666,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:666,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:667,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:670,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:671,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:671,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 676
    functionName: udfdUvInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_signal_init
    - uv_signal_start
    - uv_listen
    - uv_pipe_open
    - uv_loop_init
    - uv_pipe_bind
    - bndInfo
    - bndError
    - uv_err_name
    - uv_read_start
    - removeListeningPipe
    - uv_pipe_init
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdUvInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:679,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 682
    functionName: udfdCloseWalkCb
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_close
    - uv_is_closing
    linkageType: ''
    returnType: void
    signature: void udfdCloseWalkCb(uv_handle_t *handle, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:685,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:687,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:697,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:697,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:703,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 709
    functionName: udfdGlobalDataInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosHashInit
    - bndError
    - taosGetDefaultHashFunction
    - uv_mutex_init
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdGlobalDataInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:712,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:714,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 716
    functionName: udfdGlobalDataDeinit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - uv_mutex_destroy
    - bndInfo
    linkageType: ''
    returnType: void
    signature: void udfdGlobalDataDeinit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:719,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:720,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:722,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:724,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:726,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:728,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:729,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:731,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 734
    functionName: udfdRun
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_run
    - bndInfo
    - uv_walk
    - bndError
    - uv_loop_close
    linkageType: ''
    returnType: void
    signature: void udfdRun()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:737,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:738,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:740,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:741,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:743,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 746
    functionName: udfdCreateUdfSourceDir
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - snprintf
    - tstrerror
    - taosMkDir
    - bndInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCreateUdfSourceDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:749,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: udfdDestroyUdfSourceDir
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosRemoveDir
    - bndInfo
    linkageType: ''
    returnType: void
    signature: void udfdDestroyUdfSourceDir()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckSystemIsLittleEnd
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:764,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:765,1
    - Dst: mqttdParseArgs
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:769,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:770,1
    - Dst: mqttdPrintVersion
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:775,1
    - Dst: mqttdInitLog
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:779,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:782,1
    - Dst: taosInitCfg
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:787,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:788,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:793,1
    - Dst: initEpSetFromCfg
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:795,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:796,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:800,1
    - Dst: ttq_main
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:802,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:804,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:854,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:857,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 861
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 3
    functionsReached:
    - ttq_main
    - initEpSetFromCfg
    - taosCloseLog
    - mqttdParseArgs
    - mqttdPrintVersion
    - bndInfo
    - bndError
    - taosCheckSystemIsLittleEnd
    - taosInitCfg
    - taosCleanupCfg
    - mqttdInitLog
    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: 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: 2
    functionLinenumber: 28
    functionLinenumberEnd: 90
    functionName: ttqCxtInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 1
    functionsReached:
    - packet__cleanup
    - HASH_ADD
    - tmqtt__set_state
    - ttqNetSocketGetAddress
    - ttq_free
    - ttq_strdup
    - ttq_calloc
    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: 2
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: ttqCxtCleanup_out_packets
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - packet__cleanup
    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: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:130,1
    - Dst: ttqSubCleanSession
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:132,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: 6
    functionLinenumber: 111
    functionLinenumberEnd: 154
    functionName: ttqCxtCleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 1
    functionsReached:
    - packet__cleanup
    - tmq_ctx_cleanup
    - net__socket_close
    - ttqCxtRemoveFromById
    - ttqSubCleanSession
    - ttq_free
    - ttqDbMessageDelete
    - ttqCxtCleanup_out_packets
    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: 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: ttqSessionExpiryAdd
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:191,1
    - Dst: ttqKeepaliveRemove
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:194,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: 2
    functionLinenumber: 174
    functionLinenumberEnd: 196
    functionName: ttqCxtDisconnect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 3
    functionsReached:
    - ttqKeepaliveRemove
    - ttqSessionExpiryAdd
    - net__socket_close
    - tmqtt__set_state
    - tmqtt__get_state
    - ttqCxtAddToDisused
    linkageType: ''
    returnType: void
    signature: void ttqCxtDisconnect(struct tmqtt *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - 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: 2
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: ttqCxtAddToDisused
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 3
    functionsReached:
    - ttq_free
    - ttqCxtRemoveFromById
    - tmqtt__set_state
    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: 7
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: ttqCxtFreeDisused
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 1
    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: 1
    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_FIND
    - HASH_DELETE
    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: 1
    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: 2
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: ttqKeepaliveCheck
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttKeepalive.c
    functionUses: 1
    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: 1
    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: 6
    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: 7
    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: 8
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: listeners__start
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - listeners__add_local
    - ttq_free
    - memset
    - ttq_realloc
    linkageType: ''
    returnType: int
    signature: int listeners__start(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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
    linkageType: ''
    returnType: void
    signature: void listeners__stop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: 1
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: ttq_rand_init
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - srand
    - 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: 4
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: ttq_db_open
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - memset
    - tmqtt_time
    - ttqDbOpen
    - time
    - ttq_log
    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: 8
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: ttq_cxt_cleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttqCxtFreeDisused
    - HASH_ITER
    - ttqCxtCleanup
    linkageType: ''
    returnType: void
    signature: void ttq_cxt_cleanup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ttq_rand_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:257,1
    - Dst: ttqNetBrokerInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:258,1
    - Dst: ttqConfigInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:260,1
    - Dst: ttqConfigParseArgs
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:261,1
    - Dst: ttq_db_open
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:264,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:266,1
    - Dst: ttqLogInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:271,1
    - Dst: ttq_log_starting
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:276,1
    - Dst: ttq_security_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:278,1
    - Dst: ttq_cxt_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:281,1
    - Dst: listeners__start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:283,1
    - Dst: ttqMuxInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:285,1
    - Dst: ttq_log_running
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - argc
    - argv
    - config
    argTypes:
    - int
    - char*[]
    - struct tmqtt__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 254
    functionDepth: 9
    functionLinenumber: 254
    functionLinenumberEnd: 293
    functionName: ttq_init
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttq_security_start
    - ttq_log_starting
    - ttq_cxt_init
    - ttqConfigParseArgs
    - ttqConfigInit
    - ttq_db_open
    - ttqLogInit
    - listeners__start
    - ttqNetBrokerInit
    - ttq_log
    - ttq_log_running
    - ttq_rand_init
    - ttqMuxInit
    linkageType: ''
    returnType: int
    signature: int ttq_init(int argc, char *argv[], struct tmqtt__config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttqMuxCleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:296,1
    - Dst: ttq_log_stopping
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:298,1
    - Dst: persist__backup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:301,1
    - Dst: ttqSessionExpiryRemoveAll
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:304,1
    - Dst: ttq_cxt_cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:305,1
    - Dst: listeners__stop
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:306,1
    - Dst: ttqDbClose
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:307,1
    - Dst: ttqLogClose
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:309,1
    - Dst: ttqConfigCleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:310,1
    - Dst: ttqNetBrokerCleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 295
    functionDepth: 9
    functionLinenumber: 295
    functionLinenumberEnd: 312
    functionName: ttq_cleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttqDbClose
    - ttqLogClose
    - ttqConfigCleanup
    - ttq_log_stopping
    - ttqNetBrokerCleanup
    - ttq_cxt_cleanup
    - persist__backup
    - ttqMuxCleanup
    - listeners__stop
    - 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:318,1
    - Dst: ttqMainloop
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:321,1
    - Dst: ttq_cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 314
    functionDepth: 10
    functionLinenumber: 314
    functionLinenumberEnd: 326
    functionName: ttq_main
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 1
    functionsReached:
    - ttq_cleanup
    - ttqMainloop
    - ttq_init
    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: 1
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: dlt_fifo_check
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - open
    - memset
    - close
    - stat
    - S_ISFIFO
    linkageType: ''
    returnType: void
    signature: void dlt_fifo_check(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:86,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ti
    argTypes:
    - struct tm**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: get_time
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - localtime
    - fprintf
    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:102,1
    - Dst: tmqtt__fopen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:106,1
    - Dst: setvbuf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:108,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:112,1
    - Dst: setvbuf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:116,1
    - Dst: dlt_fifo_check
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:120,1
    - Dst: DLT_REGISTER_APP
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:122,1
    - Dst: dlt_register_context
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct tmqtt__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 128
    functionName: ttqLogInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 2
    functionsReached:
    - dlt_register_context
    - setvbuf
    - tmqtt__fopen
    - dlt_fifo_check
    - DLT_REGISTER_APP
    - ttq_log
    - openlog
    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:132,1
    - Dst: fclose
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:136,1
    - Dst: dlt_unregister_context
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:143,1
    - Dst: DLT_UNREGISTER_APP
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct tmqtt__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 149
    functionName: ttqLogClose
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 2
    functionsReached:
    - dlt_unregister_context
    - DLT_UNREGISTER_APP
    - fclose
    - closelog
    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: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    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: 191
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 191
    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: get_time
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:254,1
    - Dst: strftime
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:255,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:257,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:260,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:271,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:275,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:278,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:281,1
    - Dst: syslog
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:284,1
    - Dst: DLT_LOG_STRING
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:291,1
    - Dst: get_dlt_level
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:291,1
    - Dst: get_xnd_level
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:294,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:296,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:299,1
    - Dst: bndTrace
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:302,1
    - Dst: bndDebug
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:306,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 99
    argCount: 3
    argNames:
    - priority
    - fmt
    - va
    argTypes:
    - unsigned int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 312
    functionName: log__vprintf
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - bndDebug
    - syslog
    - get_dlt_level
    - fprintf
    - bndInfo
    - snprintf
    - get_time
    - bndError
    - get_xnd_level
    - strftime
    - DLT_LOG_STRING
    - vsnprintf
    - bndTrace
    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:318,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:320,1
    - Dst: log__vprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:321,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ttq
    - priority
    - fmt
    argTypes:
    - struct tmqtt*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: ttq_log
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 58
    functionsReached:
    - va_start
    - UNUSED
    - va_end
    - log__vprintf
    linkageType: ''
    returnType: int
    signature: int 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:332,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:333,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:334,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:337,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 342
    functionName: ttqLogInternal
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - ttq_log
    - va_start
    - va_end
    - vsnprintf
    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:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - fmt
    - va
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 344
    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:349,1
    - Dst: log__vprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:350,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: tmqttLog
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - log__vprintf
    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:
    - taosMemoryMalloc
    - getenv
    - snprintf
    - bndError
    - TAOS_STRNCAT
    - TAOS_DIRNAME
    - _NSGetExecutablePath
    - taosGetCpuCores
    - GetModuleFileName
    - uv_strerror
    - uv_spawn
    - TAOS_MQTT_MGMT_CHECK_PTR_RCODE
    - TAOS_UV_LIB_ERROR_RET
    - taosMemoryCalloc
    - uv_pipe_init
    - strlen
    - tstrncpy
    - ARRAY_SIZE
    - TAOS_STRCAT
    - bndInfo
    - TMAX
    - TAOS_STRNCPY
    - taosMemoryFree
    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
    - uv_async_send
    - bndInfo
    - bndError
    - atomic_load_32
    - mqttMgmtSpawnMqttd
    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_close
    - uv_is_closing
    - 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:
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - uv_stop
    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:
    - uv_run
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - uv_loop_init
    - atomic_store_32
    - bndInfo
    - uv_async_init
    - uv_walk
    - bndError
    - mqttMgmtSpawnMqttd
    - TAOS_UV_CHECK_ERRNO
    - uv_loop_close
    - uv_barrier_wait
    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_barrier_destroy
    - atomic_store_32
    - uv_thread_join
    - uv_async_send
    - bndInfo
    - snprintf
    - uv_barrier_init
    - bndError
    - uv_os_setenv
    - atomic_load_32
    - uv_thread_create
    - uv_barrier_wait
    - TAOS_CHECK_GOTO
    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: 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_store_32
    - uv_thread_join
    - bndInfo
    - bndError
    - atomic_load_32
    - uv_process_kill
    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
    - Sleep
    - udfColDataSet
    - udfColDataSetNull
    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:
    - udfColDataIsNull
    - udfColDataGetData
    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
    - Sleep
    - udfColDataSet
    - udfColDataSetNull
    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:
    - udfColDataIsNull
    - udfColDataGetData
    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
    - Sleep
    - udfColDataSet
    - udfColDataSetNull
    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:
    - usleep
    - udfColDataGetDataLen
    - udfColDataGetData
    - memcpy
    - malloc
    - udfColDataSet
    - udfColDataIsNull
    - Sleep
    - reverse_data
    - udfColDataSetNull
    - free
    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:
    - colDataSetInt32
    - taosArrayDestroy
    - doCallUdfScalarFunc
    - doSetupUdf
    - taosArrayGet
    - colDataDestroy
    - taosMemoryFree
    - fnError
    - doTeardownUdf
    - TAOSFPRINTF
    - createColumnInfoData
    - blockDataAppendColInfo
    - blockDataEnsureCapacity
    - taosGetTimestampUs
    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:
    - colDataSetInt32
    - blockDataEnsureCapacity
    - taosArrayDestroy
    - doCallUdfAggProcess
    - bdGetColumnInfoData
    - doSetupUdf
    - fnError
    - doTeardownUdf
    - doCallUdfAggInit
    - TAOSFPRINTF
    - taosArrayGetSize
    - createColumnInfoData
    - doCallUdfAggFinalize
    - blockDataAppendColInfo
    - freeUdfInterBuf
    - createDataBlock
    - blockDataDestroy
    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:
    - scalarFuncTest
    - uv_sleep
    - udfcClose
    - aggregateFuncTest
    - fnError
    - taosInitCfg
    - udfcOpen
    - parseArgs
    - initLog
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - 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: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    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: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    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: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    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: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    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: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    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: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    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: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    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: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    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: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    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: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    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: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    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: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    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: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    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: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    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:
    - memset
    - GET_ROWCELL_INTERBUF
    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: 110
    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: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    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: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    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: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    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: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    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: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    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:58,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:61,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:62,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:62,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:66,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:67,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - udfCtx
    - udfName
    argTypes:
    - SUdfCPluginCtx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: udfdCPluginUdfInitLoadInitDestoryFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_dlsym
    - TAOS_CHECK_RETURN
    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:72,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:74,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:75,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:75,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:79,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:80,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:80,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:84,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:85,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - udfCtx
    - udfName
    argTypes:
    - SUdfCPluginCtx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: udfdCPluginUdfInitLoadAggFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_dlsym
    - TAOS_CHECK_RETURN
    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:91,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:93,1
    - Dst: uv_dlopen
      Src: /src/tdengine/source/libs/function/src/udfd.c:97,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:99,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:99,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:100,1
    - Dst: udfdCPluginUdfInitLoadInitDestoryFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:105,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:107,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:114,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:115,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:116,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:116,1
    - Dst: udfdCPluginUdfInitLoadAggFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:121,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:123,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:132,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:139,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:140,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - udf
    - pUdfCtx
    argTypes:
    - SScriptUdfInfo*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 142
    functionName: udfdCPluginUdfInit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_strerror
    - uv_dlclose
    - fnError
    - udfdCPluginUdfInitLoadInitDestoryFuncs
    - snprintf
    - uv_dlsym
    - udfdCPluginUdfInitLoadAggFuncs
    - taosMemoryCalloc
    - uv_dlopen
    - taosMemoryFree
    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:145,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - udfCtx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: udfdCPluginUdfDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - taosMemoryFree
    - uv_dlclose
    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:157,1
    - Dst: SUdfCPluginCtx*::scalarProcFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:160,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - block
    - resultCol
    - udfCtx
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: udfdCPluginUdfScalarProc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - TAOS_UDF_CHECK_PTR_RCODE
    - SUdfCPluginCtx*::scalarProcFunc
    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:168,1
    - Dst: SUdfCPluginCtx*::aggStartFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:171,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: udfdCPluginUdfAggStart
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - SUdfCPluginCtx*::aggStartFunc
    - fnError
    - 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:180,1
    - Dst: SUdfCPluginCtx*::aggProcFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:183,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - block
    - interBuf
    - newInterBuf
    - udfCtx
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: udfdCPluginUdfAggProc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - TAOS_UDF_CHECK_PTR_RCODE
    - SUdfCPluginCtx*::aggProcFunc
    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:203,1
    - Dst: SUdfCPluginCtx*::aggFinishFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:206,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - resultData
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: udfdCPluginUdfAggFinish
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - TAOS_UDF_CHECK_PTR_RCODE
    - SUdfCPluginCtx*::aggFinishFunc
    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:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SUdfdUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    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:365,1
    - Dst: SUdfScriptPlugin*::openFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 381
    functionName: udfdInitializeCPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - SUdfScriptPlugin*::openFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdInitializeCPlugin(SUdfScriptPlugin *plugin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:384,1
    - Dst: uv_dlopen
      Src: /src/tdengine/source/libs/function/src/udfd.c:385,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:387,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:387,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:392,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - libPath
    - pLib
    - funcName
    - func
    - numOfFuncs
    argTypes:
    - char*
    - uv_lib_t*
    - char*[]
    - void**[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: udfdLoadSharedLib
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_strerror
    - fnError
    - uv_dlsym
    - uv_dlopen
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdLoadSharedLib(char *libPath, uv_lib_t *pLib, const char
      *funcName[], void **func[], int numOfFuncs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:401,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:404,1
    - Dst: udfdLoadSharedLib
      Src: /src/tdengine/source/libs/function/src/udfd.c:413,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:415,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:421,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:421,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:422,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:424,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:428,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:430,1
    - Dst: SUdfScriptPlugin*::openFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:433,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:434,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:437,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 444
    functionName: udfdInitializePythonPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TAOS_UDF_CHECK_PTR_RCODE
    - strlen
    - uv_dlclose
    - SUdfScriptPlugin*::openFunc
    - snprintf
    - fnError
    - udfdLoadSharedLib
    - taosMemoryFree
    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:447,1
    - Dst: SUdfScriptPlugin*::closeFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:449,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 463
    functionName: udfdDeinitCPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - SUdfScriptPlugin*::closeFunc
    - fnError
    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:466,1
    - Dst: SUdfScriptPlugin*::closeFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:468,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:469,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 485
    functionName: udfdDeinitPythonPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - SUdfScriptPlugin*::closeFunc
    - fnError
    - uv_dlclose
    linkageType: ''
    returnType: void
    signature: void udfdDeinitPythonPlugin(SUdfScriptPlugin *plugin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:488,1
    - Dst: udfdInitializeCPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:495,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:497,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:498,1
    - Dst: udfdInitializePythonPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:503,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:505,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:506,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:512,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - scriptType
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 519
    functionName: udfdInitScriptPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - udfdInitializePythonPlugin
    - fnError
    - taosMemoryCalloc
    - taosMemoryFree
    - udfdInitializeCPlugin
    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:525,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:526,1
    - Dst: udfdDeinitCPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:532,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 537
    functionName: udfdDeinitScriptPlugins
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - udfdDeinitCPlugin
    - taosMemoryFree
    - udfdDeinitPythonPlugin
    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:540,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:543,1
    - Dst: decodeUdfRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:547,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:549,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:550,1
    - Dst: udfdProcessSetupRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:556,1
    - Dst: udfdProcessCallRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:561,1
    - Dst: udfdProcessTeardownRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:565,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_work_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 572
    functionName: udfdProcessRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - decodeUdfRequest
    - udfdProcessSetupRequest
    - taosMemoryFreeClear
    - udfdProcessCallRequest
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - udfdProcessTeardownRequest
    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: 588
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 588
    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:591,1
    - Dst: udfdFillUdfInfoFromMNode
      Src: /src/tdengine/source/libs/function/src/udfd.c:593,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:595,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:599,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:603,1
    - Dst: udfdInitScriptPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:606,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:608,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:609,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:613,1
    - Dst: convertUdf2UdfInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:617,1
    - Dst: SUdf*::scriptPlugin::udfInitFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:618,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:620,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - udfName
    - udf
    argTypes:
    - char*
    - SUdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 590
    functionDepth: 4
    functionLinenumber: 590
    functionLinenumberEnd: 626
    functionName: udfdInitUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - TAOS_UDF_CHECK_PTR_RCODE
    - udfdFillUdfInfoFromMNode
    - uv_mutex_lock
    - SUdf*::scriptPlugin::udfInitFunc
    - uv_mutex_unlock
    - fnError
    - convertUdf2UdfInfo
    - udfdInitScriptPlugin
    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:629,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:630,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/function/src/udfd.c:635,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:636,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:639,1
    - Dst: uv_cond_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:640,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/udfd.c:644,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:645,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/udfd.c:646,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - pUdf
    - udfName
    argTypes:
    - SUdf**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 653
    functionName: udfdNewUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - tstrncpy
    - taosGetTimestampMs
    - taosArrayGet
    - uv_cond_init
    - taosArrayGetSize
    - taosMemoryCalloc
    - uv_mutex_init
    - strcmp
    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:662,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:663,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:667,1
    - Dst: uv_cond_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:668,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 670
    functionName: udfdFreeUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_mutex_destroy
    - uv_cond_destroy
    - SUdf*::scriptPlugin::udfDestroyFunc
    - fnError
    - taosMemoryFree
    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:673,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:674,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:675,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:675,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/function/src/udfd.c:676,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:683,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:684,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:689,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/function/src/udfd.c:691,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:691,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:692,1
    - Dst: udfdNewUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:697,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:699,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/udfd.c:703,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:703,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:704,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - ppUdf
    - udfName
    argTypes:
    - SUdf**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 710
    functionName: udfdGetOrCreateUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - TAOS_UDF_CHECK_PTR_RCODE
    - strlen
    - taosHashGet
    - uv_mutex_lock
    - uv_mutex_unlock
    - taosGetTimestampMs
    - fnError
    - taosHashPut
    - taosHashRemove
    - udfdNewUdf
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdGetOrCreateUdf(SUdf **ppUdf, const char *udfName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:713,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:715,1
    - Dst: udfdGetOrCreateUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:721,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:723,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:726,1
    - Dst: udfdInitUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:729,1
    - Dst: uv_cond_broadcast
      Src: /src/tdengine/source/libs/function/src/udfd.c:735,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:736,1
    - Dst: uv_cond_wait
      Src: /src/tdengine/source/libs/function/src/udfd.c:739,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:741,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:743,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:745,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:761,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:763,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:767,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:769,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:773,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:774,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:775,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:779,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:781,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 2
    argNames:
    - uvUdf
    - request
    argTypes:
    - SUvUdfWork*
    - SUdfRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 712
    functionDepth: 5
    functionLinenumber: 712
    functionLinenumberEnd: 783
    functionName: udfdProcessSetupRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - fnInfo
    - taosMemoryMalloc
    - uv_mutex_lock
    - uv_buf_init
    - uv_mutex_unlock
    - udfdGetOrCreateUdf
    - taosMemoryFreeClear
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - udfdInitUdf
    - uv_cond_broadcast
    - uv_cond_wait
    - taosMemoryFree
    - encodeUdfResponse
    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:790,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/src/udfd.c:796,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/udfd.c:797,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:798,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:799,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:803,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - block
    - output
    argTypes:
    - SSDataBlock*
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 813
    functionName: checkUDFScalaResult
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - udfColDataIsNull
    - TAOS_UDF_CHECK_CONDITION
    - 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:820,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:823,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - block
    - output
    argTypes:
    - SSDataBlock*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 826
    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:829,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:831,1
    - Dst: udfColEnsureCapacity
      Src: /src/tdengine/source/libs/function/src/udfd.c:847,1
    - Dst: convertDataBlockToUdfDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:849,1
    - Dst: SUdf*::scriptPlugin::udfScalarProcFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:850,1
    - Dst: freeUdfDataDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:851,1
    - Dst: checkUDFScalaResult
      Src: /src/tdengine/source/libs/function/src/udfd.c:852,1
    - Dst: convertUdfColumnToDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:853,1
    - Dst: freeUdfColumn
      Src: /src/tdengine/source/libs/function/src/udfd.c:855,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:859,1
    - Dst: SUdf*::scriptPlugin::udfAggStartFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:861,1
    - Dst: convertDataBlockToUdfDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:870,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:871,1
    - Dst: SUdf*::scriptPlugin::udfAggProcFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:873,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:874,1
    - Dst: checkUDFAggResult
      Src: /src/tdengine/source/libs/function/src/udfd.c:875,1
    - Dst: freeUdfDataDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:881,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:899,1
    - Dst: SUdf*::scriptPlugin::udfAggFinishFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:901,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:902,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:919,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:921,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:925,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:927,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:931,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:932,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:933,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:937,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/udfd.c:942,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/udfd.c:943,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:947,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/udfd.c:951,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:952,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:960,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:967,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 107
    argCount: 2
    argNames:
    - uvUdf
    - request
    argTypes:
    - SUvUdfWork*
    - SUdfRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 969
    functionName: udfdProcessCallRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - blockDataFreeRes
    - fnError
    - freeUdfInterBuf
    - udfColEnsureCapacity
    - freeUdfDataDataBlock
    - SUdf*::scriptPlugin::udfAggProcFunc
    - fnDebug
    - checkUDFAggResult
    - uv_buf_init
    - taosMemoryFreeClear
    - SUdf*::scriptPlugin::udfAggStartFunc
    - TAOS_UDF_CHECK_PTR_RVOID
    - checkUDFScalaResult
    - convertDataBlockToUdfDataBlock
    - freeUdfColumn
    - SUdf*::scriptPlugin::udfAggFinishFunc
    - SUdf*::scriptPlugin::udfScalarProcFunc
    - convertUdfColumnToDataBlock
    - taosMemoryFree
    - encodeUdfResponse
    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:972,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:974,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:980,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/function/src/udfd.c:984,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:984,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:986,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:986,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:987,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:991,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:993,1
    - Dst: uv_cond_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:994,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:995,1
    - Dst: SUdf*::scriptPlugin::udfDestroyFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:996,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:997,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:998,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1002,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:1008,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1010,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1014,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1016,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:1020,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1021,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1022,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1025,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - uvUdf
    - request
    argTypes:
    - SUvUdfWork*
    - SUdfRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1029
    functionName: udfdProcessTeardownRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - fnInfo
    - uv_mutex_destroy
    - uv_mutex_lock
    - strlen
    - taosMemoryMalloc
    - tstrerror
    - uv_mutex_unlock
    - uv_buf_init
    - uv_cond_destroy
    - SUdf*::scriptPlugin::udfDestroyFunc
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - fnDebug
    - taosHashRemove
    - taosMemoryFree
    - encodeUdfResponse
    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:1032,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1035,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1037,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1042,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1044,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1048,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - udf
    - path
    argTypes:
    - SUdf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1053
    functionName: udfdGetFuncBodyPath
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - snprintf
    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:1056,1
    - Dst: osDataSpaceAvailable
      Src: /src/tdengine/source/libs/function/src/udfd.c:1057,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1059,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/function/src/udfd.c:1059,1
    - Dst: udfdGetFuncBodyPath
      Src: /src/tdengine/source/libs/function/src/udfd.c:1064,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1065,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1067,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1068,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1072,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1074,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1074,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1077,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1079,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1082,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1083,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - pFuncInfo
    - udf
    argTypes:
    - SFuncInfo*
    - SUdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1055
    functionDepth: 2
    functionLinenumber: 1055
    functionLinenumberEnd: 1089
    functionName: udfdSaveFuncBodyToFile
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - TAOS_UDF_CHECK_PTR_RCODE
    - udfdGetFuncBodyPath
    - tstrncpy
    - taosWriteFile
    - taosCloseFile
    - terrstr
    - taosStatFile
    - fnError
    - strerror
    - taosOpenFile
    - osDataSpaceAvailable
    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:1092,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/function/src/udfd.c:1096,1
    - Dst: updateEpSet_s
      Src: /src/tdengine/source/libs/function/src/udfd.c:1097,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1102,1
    - Dst: tDeserializeSConnectRsp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1109,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1110,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/function/src/udfd.c:1114,1
    - Dst: abs
      Src: /src/tdengine/source/libs/function/src/udfd.c:1115,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/function/src/udfd.c:1126,1
    - Dst: updateEpSet_s
      Src: /src/tdengine/source/libs/function/src/udfd.c:1127,1
    - Dst: tDeserializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1132,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1133,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:1137,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:1145,1
    - Dst: udfdSaveFuncBodyToFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1148,1
    - Dst: tFreeSFuncInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1152,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1153,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1154,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/function/src/udfd.c:1158,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/udfd.c:1159,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1091
    functionDepth: 3
    functionLinenumber: 1091
    functionLinenumberEnd: 1161
    functionName: udfdProcessRpcRsp
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - uv_sem_post
    - udfdSaveFuncBodyToFile
    - tstrerror
    - abs
    - updateEpSet_s
    - tDeserializeSConnectRsp
    - tDeserializeSRetrieveFuncRsp
    - taosArrayGet
    - taosGetTimestampSec
    - isEpsetEqual
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - rpcFreeCont
    - tFreeSFuncInfo
    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:1164,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1167,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/udfd.c:1168,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1169,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/function/src/udfd.c:1173,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1175,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/function/src/udfd.c:1178,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/function/src/udfd.c:1179,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1180,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/function/src/udfd.c:1181,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1184,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1186,1
    - Dst: uv_sem_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1192,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1193,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:1202,1
    - Dst: uv_sem_wait
      Src: /src/tdengine/source/libs/function/src/udfd.c:1204,1
    - Dst: uv_sem_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1205,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 3
    argNames:
    - clientRpc
    - udfName
    - udf
    argTypes:
    - void*
    - char*
    - SUdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1163
    functionDepth: 6
    functionLinenumber: 1163
    functionLinenumberEnd: 1210
    functionName: udfdFillUdfInfoFromMNode
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - uv_sem_destroy
    - rpcSendRequest
    - uv_sem_wait
    - rpcMallocCont
    - tSerializeSRetrieveFuncReq
    - taosMemoryCalloc
    - taosMemoryFree
    - rpcFreeCont
    - uv_sem_init
    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: 1224
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1224
    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:1235,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1240,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1250,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1255,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - firstEp
    - secondEp
    - pEpSet
    argTypes:
    - char*
    - char*
    - SCorEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1269
    functionName: initEpSetFromCfg
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - fnError
    - taosGetFqdnPortFromEp
    - strlen
    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:1285,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1286,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1291,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1291,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1292,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1292,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1293,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1293,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1294,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1294,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1295,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1295,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1296,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/function/src/udfd.c:1296,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1298,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1271
    functionDepth: 3
    functionLinenumber: 1271
    functionLinenumberEnd: 1304
    functionName: udfdOpenClientRpc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosVersionStrToInt
    - strlen
    - memcpy
    - fnError
    - TMAX
    - rpcOpen
    - TMIN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdOpenClientRpc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1307,1
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/function/src/udfd.c:1308,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1306
    functionDepth: 3
    functionLinenumber: 1306
    functionLinenumberEnd: 1310
    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:1313,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1316,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1316,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1326,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1329,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1330,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1332
    functionName: udfdOnWrite
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - uv_err_name
    - taosMemoryFree
    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:1335,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1339,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1342,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/function/src/udfd.c:1346,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1348,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1348,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1349,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - work
    - status
    argTypes:
    - uv_work_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1353
    functionName: udfdSendResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - uv_strerror
    - uv_write
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - taosMemoryFree
    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:1356,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1360,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1369,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1377,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1383,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: 1387
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1387
    functionName: udfdAllocBuffer
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - taosMemoryRealloc
    - taosMemoryMalloc
    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:1391,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - SUdfdUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1402
    functionName: isUdfdUvMsgComplete
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    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:1405,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1409,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1411,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1414,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1416,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1417,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1423,1
    - Dst: uv_queue_work
      Src: /src/tdengine/source/libs/function/src/udfd.c:1429,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1431,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SUdfdUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1435
    functionName: udfdHandleRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - uv_buf_init
    - uv_queue_work
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - taosMemoryFree
    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:1438,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1446,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1447,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1449
    functionName: udfdPipeCloseCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - taosMemoryFree
    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:1452,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1453,1
    - Dst: isUdfdUvMsgComplete
      Src: /src/tdengine/source/libs/function/src/udfd.c:1460,1
    - Dst: udfdHandleRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:1461,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1470,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1472,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1472,1
    - Dst: udfdUvHandleError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1474,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: 1476
      start: 1451
    functionDepth: 2
    functionLinenumber: 1451
    functionLinenumberEnd: 1476
    functionName: udfdPipeRead
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - isUdfdUvMsgComplete
    - udfdUvHandleError
    - udfdHandleRequest
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - fnDebug
    - uv_err_name
    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:1479,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1481,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1481,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1486,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1488,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1491,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1493,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1493,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1494,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/function/src/udfd.c:1497,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1498,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1500,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/function/src/udfd.c:1510,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1512,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1512,1
    - Dst: udfdUvHandleError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1513,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1514,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1515,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1520,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - server
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1522
    functionName: udfdOnNewConnection
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - uv_strerror
    - uv_close
    - udfdUvHandleError
    - uv_accept
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - uv_read_start
    - uv_pipe_init
    - taosMemoryFree
    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:1525,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1526,1
    - Dst: uv_fs_unlink
      Src: /src/tdengine/source/libs/function/src/udfd.c:1528,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1530,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1530,1
    - Dst: uv_signal_stop
      Src: /src/tdengine/source/libs/function/src/udfd.c:1532,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1534,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1534,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/udfd.c:1536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - signum
    argTypes:
    - uv_signal_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1537
    functionName: udfdIntrSignalHandler
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - uv_strerror
    - uv_fs_unlink
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - uv_stop
    - uv_signal_stop
    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:1541,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1543,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1544,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1547,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1549,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1559
    functionName: udfdParseArgs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - strlen
    - printf
    - tstrncpy
    - 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:1562,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1563,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1565
    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:1569,1
    - Dst: taosInitLogOutput
      Src: /src/tdengine/source/libs/function/src/udfd.c:1569,1
    - Dst: taosCreateLog
      Src: /src/tdengine/source/libs/function/src/udfd.c:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    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:1574,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1575,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1577,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: 1581
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1581
    functionName: udfdCtrlAllocBufCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - taosMemoryMalloc
    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:1584,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1586,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1587,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1588,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/udfd.c:1589,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1592,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1593,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: 1594
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1594
    functionName: udfdCtrlReadCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_close
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - uv_err_name
    - uv_stop
    - taosMemoryFree
    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:1598,1
    - Dst: uv_fs_req_cleanup
      Src: /src/tdengine/source/libs/function/src/udfd.c:1599,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1601,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1603
    functionName: removeListeningPipe
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - uv_fs_req_cleanup
    - fnInfo
    - uv_strerror
    - uv_fs_unlink
    linkageType: ''
    returnType: void
    signature: void removeListeningPipe()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1606,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1606,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1609,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1609,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1610,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/function/src/udfd.c:1610,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1611,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/function/src/udfd.c:1611,1
    - Dst: getUdfdPipeName
      Src: /src/tdengine/source/libs/function/src/udfd.c:1613,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1615,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1617,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1617,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1619,1
    - Dst: uv_signal_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1619,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1620,1
    - Dst: uv_signal_start
      Src: /src/tdengine/source/libs/function/src/udfd.c:1620,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1623,1
    - Dst: uv_pipe_bind
      Src: /src/tdengine/source/libs/function/src/udfd.c:1624,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1625,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1625,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1626,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1629,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1630,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1630,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1635
    functionName: udfdUvInit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - uv_signal_init
    - uv_signal_start
    - uv_listen
    - uv_pipe_open
    - uv_loop_init
    - getUdfdPipeName
    - uv_pipe_bind
    - fnError
    - uv_err_name
    - uv_read_start
    - removeListeningPipe
    - uv_pipe_init
    - TAOS_CHECK_RETURN
    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:1638,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1641
    functionName: udfdCloseWalkCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_close
    - uv_is_closing
    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:1644,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1646,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1651,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1652,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1656,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/udfd.c:1656,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1662,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1668
    functionName: udfdGlobalDataInit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosHashInit
    - fnError
    - taosGetDefaultHashFunction
    - uv_mutex_init
    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:1671,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1672,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:1673,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1675
    functionName: udfdGlobalDataDeinit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - uv_mutex_destroy
    - fnInfo
    linkageType: ''
    returnType: void
    signature: void udfdGlobalDataDeinit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1678,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/udfd.c:1679,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1681,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1683,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1685,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/function/src/udfd.c:1687,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/udfd.c:1688,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1690,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1693
    functionName: udfdRun
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - uv_run
    - fnError
    - 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:1696,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1700,1
    - Dst: strtok_r
      Src: /src/tdengine/source/libs/function/src/udfd.c:1703,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1705,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1706,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/udfd.c:1707,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1695
    functionDepth: 1
    functionLinenumber: 1695
    functionLinenumberEnd: 1715
    functionName: udfdInitResidentFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - strlen
    - tstrncpy
    - taosArrayPush
    - taosArrayInit
    - 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:1718,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:1719,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:1720,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1720,1
    - Dst: SUdf*::scriptPlugin::udfDestroyFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1725,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1726,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/function/src/udfd.c:1728,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1728,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1730,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1732,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/udfd.c:1735,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1736,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1738
    functionName: udfdDeinitResidentFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - taosHashGet
    - strlen
    - taosArrayDestroy
    - taosArrayGet
    - SUdf*::scriptPlugin::udfDestroyFunc
    - fnError
    - fnDebug
    - taosArrayGetSize
    - taosHashRemove
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void udfdDeinitResidentFuncs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1741,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:1742,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1744,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:1745,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1747,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1750
    functionName: udfdCreateUdfSourceDir
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fnInfo
    - tstrerror
    - taosMkDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCreateUdfSourceDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1753,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:1754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1752
    functionDepth: 1
    functionLinenumber: 1752
    functionLinenumberEnd: 1755
    functionName: udfdDestroyUdfSourceDir
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - taosRemoveDir
    linkageType: ''
    returnType: void
    signature: void udfdDestroyUdfSourceDir()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckSystemIsLittleEnd
      Src: /src/tdengine/source/libs/function/src/udfd.c:1766,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1767,1
    - Dst: udfdParseArgs
      Src: /src/tdengine/source/libs/function/src/udfd.c:1771,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1772,1
    - Dst: udfdPrintVersion
      Src: /src/tdengine/source/libs/function/src/udfd.c:1777,1
    - Dst: udfdInitLog
      Src: /src/tdengine/source/libs/function/src/udfd.c:1781,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1783,1
    - Dst: taosInitCfg
      Src: /src/tdengine/source/libs/function/src/udfd.c:1788,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1789,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1794,1
    - Dst: initEpSetFromCfg
      Src: /src/tdengine/source/libs/function/src/udfd.c:1796,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1797,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1801,1
    - Dst: udfdOpenClientRpc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1802,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1803,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1807,1
    - Dst: udfdCreateUdfSourceDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:1810,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1811,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1816,1
    - Dst: udfdGlobalDataInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1818,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1819,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1824,1
    - Dst: udfdUvInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1826,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1827,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1831,1
    - Dst: udfdInitResidentFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:1833,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1834,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1839,1
    - Dst: udfdRun
      Src: /src/tdengine/source/libs/function/src/udfd.c:1841,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1842,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1844,1
    - Dst: udfdDeinitResidentFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:1848,1
    - Dst: udfdDeinitScriptPlugins
      Src: /src/tdengine/source/libs/function/src/udfd.c:1850,1
    - Dst: udfdGlobalDataDeinit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1852,1
    - Dst: udfdDestroyUdfSourceDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:1855,1
    - Dst: udfdCloseClientRpc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1858,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/libs/function/src/udfd.c:1861,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/function/src/udfd.c:1864,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1868
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 3
    functionsReached:
    - fnInfo
    - initEpSetFromCfg
    - taosCloseLog
    - udfdGlobalDataDeinit
    - udfdDeinitScriptPlugins
    - udfdCreateUdfSourceDir
    - fnError
    - printf
    - taosInitCfg
    - udfdGlobalDataInit
    - udfdRun
    - udfdParseArgs
    - udfdUvInit
    - udfdInitResidentFuncs
    - udfdDeinitResidentFuncs
    - udfdOpenClientRpc
    - udfdDestroyUdfSourceDir
    - udfdInitLog
    - udfdPrintVersion
    - taosCleanupCfg
    - udfdCloseClientRpc
    - taosCheckSystemIsLittleEnd
    - removeListeningPipe
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:36,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:36,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:43,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: doInitFunctionTable
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void doInitFunctionTable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:52,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - funcId
    - classification
    argTypes:
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    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:70,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:70,1
    - Dst: translateFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:74,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:79,1
    - Dst: translateFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pFunc
    - pMsg
    - msgLen
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: fmGetFuncInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 17
    functionsReached:
    - translateFunc
    - taosHashGet
    - strlen
    - strcmp
    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:90,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:92,1
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: fmGetFuncReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - fmIsIndefiniteRowsFunc
    - estimateReturnRowsFunc
    - fmIsMultiRowsFunc
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows fmGetFuncReturnRows(SFunctionNode* pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:97,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: fmIsBuiltinFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool fmIsBuiltinFunc(const char* pFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:101,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: fmGetFuncType
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - strlen
    linkageType: ''
    returnType: EFunctionType
    signature: EFunctionType fmGetFuncType(const char* pFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: fmGetFuncTypeFromId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    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:116,1
    - Dst: dataRequiredFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pFunc
    - pTimeWindow
    argTypes:
    - SFunctionNode*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: fmFuncDataRequired
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached:
    - dataRequiredFunc
    - fmIsUserDefinedFunc
    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:126,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:131,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:131,1
    - Dst: dynDataRequiredFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - funcId
    - pRes
    - pBlockInfo
    argTypes:
    - int32_t
    - void*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: fmFuncDynDataRequired
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - dynDataRequiredFunc
    - fmIsUserDefinedFunc
    - 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:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SFuncExecFuncs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    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:159,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SFuncExecFuncs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    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:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SScalarFuncExecFuncs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: fmGetScalarFuncExecFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 5
    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:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: fmIsAggFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 7
    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:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: fmIsScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 9
    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:185,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 185
    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:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 187
    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:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: fmIsSelectFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 7
    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:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 191
    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:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 193
    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:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: fmIsPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 13
    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:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 197
    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:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: fmIsWindowPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 7
    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:201,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: fmIsWindowClauseFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - fmIsAggFunc
    - fmIsWindowPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsWindowClauseFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowClauseFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:203,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 203
    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:205,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 205
    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: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: fmIsIndefiniteRowsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 12
    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:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 211
    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:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 215
    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: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: 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: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: 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: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: fmIsUserDefinedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 11
    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: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: 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: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: 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:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 227
    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:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: fmIsImplicitTsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    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:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: fmIsClientPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    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: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: 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:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: fmIsKeepOrderFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsKeepOrderFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 237
    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:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 239
    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: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    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:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 248
    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: 255
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 255
    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: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: 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: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: fmIsImputationFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsImputationFunc(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: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    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: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    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: 296
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 296
    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: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: fmIsSelectValueFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    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: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: fmIsGroupKeyFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 12
    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: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: fmisSelectGroupConstValueFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    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: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    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: 331
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 331
    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: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    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:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: fmIsProcessByRowFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    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:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 342
    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:346,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 349
    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:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SFuncExecFuncs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 358
    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: 380
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 380
    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:384,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 390
    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: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: 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: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: 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:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: fmIsPlaceHolderFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 16
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsPlaceHolderFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pType
    - pkBytes
    argTypes:
    - SDataType*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 402
    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:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 407
    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:410,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:414,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:416,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pName
    - pParameterList
    - ppFunc
    argTypes:
    - char*
    - SNodeList*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: createFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 5
    functionsReached:
    - snprintf
    - getFuncInfo
    - nodesDestroyNode
    - nodesMakeNode
    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: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    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:434,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:443,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:445,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:448,1
    - Dst: resetOutputChangedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - pName
    - pSrcFunc
    - pParameterList
    - ppFunc
    argTypes:
    - char*
    - SFunctionNode*
    - SNodeList*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 433
    functionDepth: 5
    functionLinenumber: 433
    functionLinenumberEnd: 456
    functionName: createFunctionWithSrcFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - snprintf
    - nodesMakeNode
    - nodesDestroyNode
    - resetOutputChangedFunc
    - getFuncInfo
    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:459,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pFunc
    - ppCol
    argTypes:
    - SFunctionNode*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 5
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: createColumnByFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - nodesMakeNode
    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:469,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: fmIsDistExecFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached:
    - fmIsVectorFunc
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsDistExecFunc(int32_t funcId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:480,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:485,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:487,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:494,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:495,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pSrcFunc
    - pPartialFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 478
    functionDepth: 6
    functionLinenumber: 478
    functionLinenumberEnd: 500
    functionName: createPartialFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosHashBinary
    - nodesDestroyList
    - createFunctionWithSrcFunc
    - tsnprintf
    - 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:505,1
    - Dst: createMergeParaFuc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:510,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pSrcFunc
    - pPartialFunc
    - pParameterList
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 502
    functionDepth: 6
    functionLinenumber: 502
    functionLinenumberEnd: 514
    functionName: createMergeFuncPara
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - createMergeParaFuc
    - createColumnByFunc
    - 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:521,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:524,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:526,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:530,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pSrcFunc
    - pPartialFunc
    - pMidFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 516
    functionDepth: 7
    functionLinenumber: 516
    functionLinenumberEnd: 539
    functionName: createMidFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - createMergeFuncPara
    - createFunctionWithSrcFunc
    - tstrncpy
    - nodesDestroyList
    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:546,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:548,1
    - Dst: fmIsSameInOutType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:554,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:557,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pSrcFunc
    - pPartialFunc
    - pMergeFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 541
    functionDepth: 7
    functionLinenumber: 541
    functionLinenumberEnd: 566
    functionName: createMergeFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - createMergeFuncPara
    - tstrncpy
    - nodesDestroyList
    - createFunctionWithSrcFunc
    - fmIsSameInOutType
    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:570,1
    - Dst: createPartialFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:574,1
    - Dst: createMidFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:576,1
    - Dst: createMergeFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:579,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:583,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:584,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - pFunc
    - pPartialFunc
    - pMidFunc
    - pMergeFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    - SFunctionNode**
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 568
    functionDepth: 8
    functionLinenumber: 568
    functionLinenumberEnd: 589
    functionName: fmGetDistMethod
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - createMergeFunction
    - createPartialFunction
    - createMidFunction
    - nodesDestroyNode
    - fmIsDistExecFunc
    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:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 596
    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:603,1
    - Dst: createFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:605,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:607,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:610,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pFunc
    - pStateFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 600
    functionDepth: 6
    functionLinenumber: 600
    functionLinenumberEnd: 614
    functionName: fmCreateStateFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - createFunction
    - tstrncpy
    - nodesDestroyList
    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:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - func_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 616
    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:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - func_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 618
    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:626,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:628,1
    - Dst: fmCreateStateFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:630,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:638,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:639,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 620
    functionDepth: 7
    functionLinenumber: 620
    functionLinenumberEnd: 644
    functionName: fmCreateStateFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - REPLACE_NODE
    - fmCreateStateFunc
    - fmIsTSMASupportedFunc
    - nodesDestroyNode
    - fmGetFuncInfo
    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:626,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:628,1
    - Dst: fmCreateStateFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:630,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:638,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:639,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 624
    functionDepth: 7
    functionLinenumber: 624
    functionLinenumberEnd: 642
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 215
    functionsReached:
    - REPLACE_NODE
    - fmCreateStateFunc
    - fmIsTSMASupportedFunc
    - nodesDestroyNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:649,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:651,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:653,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:656,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pFunc
    - pStateMergeFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 646
    functionDepth: 6
    functionLinenumber: 646
    functionLinenumberEnd: 660
    functionName: fmCreateStateMergeFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - createFunctionWithSrcFunc
    - tstrncpy
    - nodesDestroyList
    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:668,1
    - Dst: fmCreateStateMergeFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:670,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:678,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 662
    functionDepth: 7
    functionLinenumber: 662
    functionLinenumberEnd: 684
    functionName: fmCreateStateMergeFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - fmIsTSMASupportedFunc
    - nodesDestroyNode
    - REPLACE_NODE
    - fmCreateStateMergeFunc
    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:668,1
    - Dst: fmCreateStateMergeFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:670,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:678,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 666
    functionDepth: 7
    functionLinenumber: 666
    functionLinenumberEnd: 682
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 215
    functionsReached:
    - fmIsTSMASupportedFunc
    - nodesDestroyNode
    - REPLACE_NODE
    - fmCreateStateMergeFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:688,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:688,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 700
    functionName: fmGetFuncId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached:
    - taosHashGet
    - strlen
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetFuncId(const char* name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:708,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:709,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - funcId
    - stateFuncId
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 715
    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:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 719
    functionName: fmIsCountLikeFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    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: 726
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 726
    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: 733
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 733
    functionName: fmIsGroupIdFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsGroupIdFunc(int32_t funcId)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - funcId
    - pStreamRuntimeFuncInfo
    argTypes:
    - int32_t
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 768
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 773
    functionName: fmIsStreamPesudoColVal
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    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:777,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:781,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:781,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:783,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - funcId
    - pParamNodes
    - pEnv
    argTypes:
    - int32_t
    - SNodeList*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 791
    functionName: fmGetStreamPesudoFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - uError
    - nodesListGetNode
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetStreamPesudoFuncEnv(int32_t funcId, SNodeList* pParamNodes,
      SFuncExecEnv *pEnv)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:796,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:801,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:802,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:803,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:803,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:808,1
    - Dst: fmGetStreamPesudoFuncVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:812,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:814,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:814,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:816,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:816,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:820,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:821,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:822,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:822,1
    - Dst: fmGetStreamPesudoFuncVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:825,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:827,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:828,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:828,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:831,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:833,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:833,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:838,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:841,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:842,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:846,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:848,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:848,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:849,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:851,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:851,1
    - Dst: fmGetStreamPesudoFuncVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:856,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:857,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:858,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:860,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:861,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:866,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:866,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:867,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:871,1
    - Dst: fmGetStreamPesudoFuncVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:873,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:875,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:878,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:880,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:880,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:884,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 3
    argNames:
    - funcId
    - pParamNodes
    - pStreamRuntimeInfo
    argTypes:
    - int32_t
    - SNodeList*
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 889
    functionName: fmSetStreamPseudoFuncParamVal
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - fmGetStreamPesudoFuncVal
    - nodesListGetNode
    - varDataLen
    - tstrerror
    - nodeType
    - varDataVal
    - VALUE_GET_DATUM
    - taosArrayGet
    - memcpy
    - uDebug
    - taosMemoryFreeClear
    - nodesSetValueNodeValue
    - IS_VAR_DATA_TYPE
    - uError
    - taosArrayGetSize
    - taosMemoryCalloc
    - taosMemoryFree
    - LIST_LENGTH
    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:
    - taosHashGet
    - getGroupId
    - taosArrayGet
    - memcpy
    - taosSort
    - getBufPage
    - taosArrayGetSize
    - taosMemoryCalloc
    - taosMemoryFree
    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_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_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_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_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:
    - taosHashGet
    - GET_TYPED_DATA
    - getGroupId
    - taosArrayGet
    - releaseBufPage
    - getBufPage
    - qError
    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: 2
    functionLinenumber: 217
    functionLinenumberEnd: 250
    functionName: tBucketDoubleHash
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - isnan
    - fabs
    - GET_DOUBLE_VAL
    - isinf
    - qError
    - GET_FLOAT_VAL
    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_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_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:
    - resetSlotInfo
    - createDiskbasedBuf
    - taosHashInit
    - tMemBucketDestroy
    - osTempSpaceAvailable
    - setBoundingBox
    - getHashFunc
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - TMIN
    - getKeyComparFunc
    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:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - destroyDiskbasedBuf
    - taosHashIterate
    - taosHashCleanup
    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:
    - qError
    - IS_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    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:
    - taosHashGet
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    - getGroupId
    - releaseBufPage
    - memcpy
    - tMemBucketUpdateBoundingBox
    - setBufPageDirty
    - getNewBufPage
    - taosHashPut
    - qError
    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_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_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:
    - isIdenticalData
    - taosHashGet
    - getIdenticalDataVal
    - getPercentileImpl
    - getGroupId
    - IS_SIGNED_NUMERIC_TYPE
    - loadDataFromFilePage
    - taosMemoryFreeClear
    - tMemBucketDestroy
    - taosArrayGet
    - releaseBufPage
    - IS_UNSIGNED_NUMERIC_TYPE
    - tMemBucketCreate
    - getBufPage
    - setBufPageDirty
    - qError
    - tMemBucketPut
    - getMinMaxEntryOfNextSlotWithData
    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:
    - findOnlyResult
    - getPercentileImpl
    - fabs
    - IS_SIGNED_NUMERIC_TYPE
    - 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: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    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: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    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: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: SET_VAL
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    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: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    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: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    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: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    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: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    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: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    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: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    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: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    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: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    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: 150
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 150
    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: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    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: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    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: 189
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 189
    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: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    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: 215
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 215
    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:236,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:237,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:242,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:244,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:246,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:249,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:250,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:252,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:254,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:255,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:258,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:259,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:261,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:278,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:279,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:280,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:297,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:298,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:299,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:308,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:309,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:311,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:314,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:314,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:316,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:318,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:319,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:322,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:322,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 97
    argCount: 3
    argNames:
    - pIter
    - pRow
    - res
    argTypes:
    - SFuncInputRowIter*
    - SFuncInputRow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 329
    functionName: funcInputGetNextRowDescPk
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - colDataGetData
    - colDataIsNull_f
    - blockDataExtractBlock
    - qError
    - taosMemoryFree
    - 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: 337
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 337
    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_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:342,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:343,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:344,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: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: setInputRowInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_f
    - 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:361,1
    - Dst: forwardToNextDiffTsRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:362,1
    - Dst: setInputRowInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:367,1
    - Dst: forwardToNextDiffTsRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - pIter
    - pRow
    argTypes:
    - SFuncInputRowIter*
    - SFuncInputRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 383
    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:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pIter
    - pRow
    argTypes:
    - SFuncInputRowIter*
    - SFuncInputRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 393
    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: funcInputGetNextRowAscPk
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:399,1
    - Dst: funcInputGetNextRowDescPk
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:402,1
    - Dst: funcInputGetNextRowNoPk
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pCtx
    - pRow
    - res
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 409
    functionName: funcInputGetNextRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - funcInputGetNextRowAscPk
    - funcInputGetNextRowNoPk
    - 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:425,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:430,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:435,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:439,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:440,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:442,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: 449
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 449
    functionName: appendSelectivityCols
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataIsNull_s
    - colDataSetNULL
    - colDataSetVal
    - colDataGetData
    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:462,1
    - Dst: initResultRowEntry
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 467
    functionName: functionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - initResultRowEntry
    - memset
    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:472,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:476,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:479,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: functionFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetVal
    - taosArrayGet
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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:486,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:487,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:490,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:491,1
    - Dst: firstLastTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:493,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 498
    functionName: firstCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - firstLastTransferInfoImpl
    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:502,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:506,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCtx
    - pBlock
    - finalResult
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 513
    functionName: functionFinalizeWithResultBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetVal
    - taosArrayGet
    - GET_RES_INFO
    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:516,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pFunc
    - pTimeWindow
    argTypes:
    - SFunctionNode*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 521
    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: 526
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 526
    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:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 558
    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:567,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:572,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:574,1
    - Dst: getNumOfElems
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:579,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:582,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 591
    functionName: countFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - taosSetInt64Aligned
    - getNumOfElems
    - GET_RES_INFO
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    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:594,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:595,1
    - 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: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: combineFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SET_VAL
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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:614,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:614,1
    - Dst: SUM_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:615,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:617,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:625,1
    - Dst: SUM_RES_INC_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:626,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:627,1
    - Dst: SUM_RES_INC_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:628,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:629,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:630,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:630,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:631,1
    - Dst: SUM_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:632,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:633,1
    - Dst: decimal128AddCheckOverflow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:634,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:634,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:635,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:638,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:638,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:638,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:646,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:656,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:670,1
    - Dst: SUM_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:671,1
    - Dst: LIST_ADD_DECIMAL_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:674,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      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:676,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:676,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:683,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:683,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:683,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:683,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:683,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:690,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:695,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:695,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 605
    functionDepth: 4
    functionLinenumber: 605
    functionLinenumberEnd: 697
    functionName: sumFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_FLOAT_TYPE
    - SUM_RES_INC_DSUM
    - IS_SIGNED_NUMERIC_TYPE
    - IS_DECIMAL_TYPE
    - SUM_RES_SET_TYPE
    - LIST_ADD_DECIMAL_N
    - IS_UNSIGNED_NUMERIC_TYPE
    - GET_ROWCELL_INTERBUF
    - IS_NULL_TYPE
    - isinf
    - SUM_RES_GET_DSUM
    - SET_VAL
    - SUM_RES_INC_ISUM
    - getDecimalOps
    - decimal128AddCheckOverflow
    - SDecimalOps*::add
    - GET_RES_INFO
    - isnan
    - GET_DOUBLE_VAL
    - DECIMAL_WORD_NUM
    - SUM_RES_GET_DECIMAL_SUM
    - fmIsCountLikeFunc
    - SUM_RES_INC_USUM
    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:700,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:701,1
    - Dst: SUM_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:702,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:704,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:705,1
    - Dst: SUM_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:706,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:708,1
    - Dst: SUM_RES_INC_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:709,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:709,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:710,1
    - Dst: SUM_RES_INC_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:711,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:711,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:712,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:714,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:714,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:716,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:716,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:718,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 721
    functionName: sumCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SUM_RES_GET_ISUM
    - SUM_RES_INC_ISUM
    - SUM_RES_GET_TYPE
    - SUM_RES_INC_DSUM
    - IS_SIGNED_NUMERIC_TYPE
    - SUM_RES_GET_USUM
    - IS_DECIMAL_TYPE
    - TMAX
    - GET_RES_INFO
    - SUM_RES_GET_DSUM
    - SUM_RES_GET_DECIMAL_SUM
    - SUM_RES_INC_DECIMAL_SUM
    - SUM_RES_INC_USUM
    - IS_UNSIGNED_NUMERIC_TYPE
    - GET_ROWCELL_INTERBUF
    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:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 726
    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:742,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:743,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 751
    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:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pFunc
    - pTimeWindow
    argTypes:
    - SFunctionNode*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 3
    functionLinenumber: 753
    functionLinenumberEnd: 758
    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:764,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 776
    functionName: minmaxFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 782
    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:786,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:790,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 792
    functionName: minFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SET_VAL
    - GET_RES_INFO
    - doMinMaxHelper
    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:796,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:800,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 802
    functionName: maxFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SET_VAL
    - GET_RES_INFO
    - doMinMaxHelper
    linkageType: ''
    returnType: int32_t
    signature: int32_t maxFunction(SqlFunctionCtx* pCtx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:811,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:812,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:817,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:832,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:836,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:841,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:844,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:847,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:848,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:854,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:861,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:864,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:868,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:871,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:871,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:874,1
    - Dst: setNullSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:876,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 881
    functionName: minmaxFunctionFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetInt32
    - colDataSetInt16
    - taosArrayGet
    - colDataSetInt8
    - taosMemoryFreeClear
    - setNullSelectivityValue
    - IS_VAR_DATA_TYPE
    - colDataSetNULL
    - colDataSetDouble
    - colDataSetVal
    - GET_RES_INFO
    - setSelectivityValue
    - colDataSetFloat
    - GET_ROWCELL_INTERBUF
    - 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:892,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCtx
    - pBlock
    - rowIndex
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 900
    functionName: setNullSelectivityValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    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:911,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:913,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:913,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:926,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:931,1
    - Dst: colDataSetValOrCover
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:933,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: 943
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 943
    functionName: setSelectivityValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - colDataSetValOrCover
    - taosArrayGet
    - terrstr
    - colDataSetNULL
    - loadTupleData
    - qError
    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:960,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:965,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:970,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:975,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:976,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:978,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pCtx
    - rowIndex
    - pos
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 985
    functionName: appendSelectivityValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataIsNull_s
    - colDataSetNULL
    - colDataSetVal
    - colDataGetData
    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: 987
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 987
    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: 990
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 990
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:991,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:992,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:994,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:995,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1003,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1011,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1019,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1028,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1036,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1042,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1044,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1044,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1046,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1051,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1052,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1052,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1054,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1055,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1060,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1061,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1061,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1062,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1067,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 71
    argCount: 3
    argNames:
    - pDestCtx
    - pSourceCtx
    - isMinFunc
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 1070
    functionName: minMaxCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - getDecimalOps
    - memcpy
    - DECIMAL_WORD_NUM
    - strcmp
    - replaceTupleData
    - TMAX
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - SDecimalOps*::lt
    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:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1072
    functionDepth: 3
    functionLinenumber: 1072
    functionLinenumberEnd: 1074
    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:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1077
    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: 1079
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1079
    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: 1084
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1084
    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:1090,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1094,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1097
    functionName: stdFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memset
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:1106,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1106,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1115,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1124,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1147,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1169,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1192,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1214,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1237,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1259,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1282,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1304,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1326,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1351,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1351,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 175
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1353
    functionName: stdFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataIsNull_f
    - GET_RES_INFO
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    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:1356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SStdRes*
    - SStdRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1379
    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:1385,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1386,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1386,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1394,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1394,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1397,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1398,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1399,1
    - Dst: stdTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1400,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1403,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1381
    functionDepth: 2
    functionLinenumber: 1381
    functionLinenumberEnd: 1405
    functionName: stdFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - stdTransferInfo
    - colDataIsNull_s
    - colDataGetData
    - GET_RES_INFO
    - SET_VAL
    - varDataVal
    - GET_ROWCELL_INTERBUF
    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:1409,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1409,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1414,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1415,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1421,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1425,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1425,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1426,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1407
    functionDepth: 2
    functionLinenumber: 1407
    functionLinenumberEnd: 1430
    functionName: stddevFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - isnan
    - functionFinalize
    - isinf
    - GET_RES_INFO
    - sqrt
    - GET_ROWCELL_INTERBUF
    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:1434,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1434,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1439,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1440,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1450,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1450,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1451,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1432
    functionDepth: 2
    functionLinenumber: 1432
    functionLinenumberEnd: 1455
    functionName: stdvarFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - isnan
    - functionFinalize
    - isinf
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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:1458,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1459,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1459,1
    - Dst: getStdInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1460,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1461,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1466,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1466,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1467,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1470,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1472,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1476,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1480
    functionName: stdPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - taosArrayGet
    - memcpy
    - taosMemoryFree
    - colDataSetVal
    - GET_RES_INFO
    - taosMemoryCalloc
    - GET_ROWCELL_INTERBUF
    - varDataSetLen
    - getStdInfoSize
    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:1483,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1484,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1486,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1487,1
    - Dst: stdTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1490,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1482
    functionDepth: 2
    functionLinenumber: 1482
    functionLinenumberEnd: 1495
    functionName: stdCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - stdTransferInfo
    - GET_ROWCELL_INTERBUF
    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:1499,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1499,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1503,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1504,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1510,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1514,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1514,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1515,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1497
    functionDepth: 2
    functionLinenumber: 1497
    functionLinenumberEnd: 1519
    functionName: stddevsampFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - isnan
    - functionFinalize
    - isinf
    - GET_RES_INFO
    - sqrt
    - GET_ROWCELL_INTERBUF
    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:1523,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1523,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1527,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1528,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1538,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1538,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1539,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1521
    functionDepth: 2
    functionLinenumber: 1521
    functionLinenumberEnd: 1543
    functionName: stdvarsampFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - isnan
    - functionFinalize
    - isinf
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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: 1548
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1548
    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:1554,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1558,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1550
    functionDepth: 3
    functionLinenumber: 1550
    functionLinenumberEnd: 1575
    functionName: gconcatFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memset
    - functionSetup
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: int32_t gconcatFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1580,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1580,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1584,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1586,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1586,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1588,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1591,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1591,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1593,1
    - Dst: memcpy
      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: 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: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1596,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: 1600
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1600
    functionName: gconcatHelper
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - varDataVal
    - memcpy
    - taosMbsToUcs4
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: "int32_t gconcatHelper(const char* input, char* output, bool hasNchar,
      int32_t type, VarDataLenT* dataLen,\n                             void* charsetCxt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1608,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1608,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1615,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1620,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1631,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1646,1
    - Dst: gconcatHelper
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1653,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1663,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1663,1
    - Dst: gconcatHelper
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1668,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1668,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1677,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1682,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1682,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1602
    functionDepth: 2
    functionLinenumber: 1602
    functionLinenumberEnd: 1684
    functionName: gconcatFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - varDataLen
    - colDataGetData
    - colDataIsNull_f
    - GET_RES_INFO
    - gconcatHelper
    - SET_VAL
    - taosMemoryCalloc
    - GET_ROWCELL_INTERBUF
    - 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:1689,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1689,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1691,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1694,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1698,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1686
    functionDepth: 1
    functionLinenumber: 1686
    functionLinenumberEnd: 1703
    functionName: gconcatFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosMemoryFree
    - colDataSetVal
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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: 1708
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1708
    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:1714,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1718,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1720,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1721,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1722,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1710
    functionDepth: 3
    functionLinenumber: 1710
    functionLinenumberEnd: 1725
    functionName: leastSQRFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_TYPED_DATA
    - typeGetTypeModFromCol
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:1733,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1733,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1747,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1751,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1758,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1763,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1771,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1776,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1784,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1789,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1797,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1801,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1808,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1813,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1821,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1826,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1834,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1839,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1847,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1852,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1860,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1865,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1870,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1882,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1882,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 115
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1885
    functionName: leastSQRFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - LEASTSQR_CAL
    - colDataIsNull_f
    - GET_RES_INFO
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    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:1888,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1889,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1889,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1891,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1899,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1912,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1926,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1928,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1930,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1932,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1935,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1935,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1936,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1938,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1887
    functionDepth: 1
    functionLinenumber: 1887
    functionLinenumberEnd: 1941
    functionName: leastSQRFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - snprintf
    - colDataSetVal
    - GET_RES_INFO
    - tsnprintf
    - varDataVal
    - GET_ROWCELL_INTERBUF
    - varDataSetLen
    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:1944,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1945,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1949,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1950,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1963
    functionName: leastSQRCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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: 1968
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1968
    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:1974,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1979,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1980,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1970
    functionDepth: 3
    functionLinenumber: 1970
    functionLinenumberEnd: 1985
    functionName: percentileFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SET_DOUBLE_VAL
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:1988,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1988,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1988,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1991,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1991,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1987
    functionDepth: 2
    functionLinenumber: 1987
    functionLinenumberEnd: 1996
    functionName: percentileFunctionCleanupExt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - 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:2001,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2009,1
    - Dst: tMemBucketCreate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2018,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2018,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2030,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2031,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2032,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2033,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2034,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2035,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2036,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2037,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2038,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2041,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2042,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2045,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2046,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2054,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2058,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2062,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2063,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2066,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2067,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2077,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2081,1
    - Dst: tMemBucketPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2083,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2085,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2090,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 1998
    functionDepth: 3
    functionLinenumber: 1998
    functionLinenumberEnd: 2095
    functionName: percentileFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - typeGetTypeModFromColInfo
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - GET_DOUBLE_VAL
    - tMemBucketDestroy
    - tMemBucketPut
    - tMemBucketCreate
    - colDataIsNull_f
    - colDataGetData
    - GET_RES_INFO
    - SET_DOUBLE_VAL
    - GET_UINT64_VAL
    - SET_VAL
    - IS_UNSIGNED_NUMERIC_TYPE
    - GET_INT64_VAL
    - GET_ROWCELL_INTERBUF
    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:2098,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2099,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2112,1
    - Dst: getPercentile
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2118,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2124,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2124,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2126,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2126,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2131,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2137,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2138,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2143,1
    - Dst: getPercentile
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2150,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2155,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2156,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2159,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2097
    functionDepth: 5
    functionLinenumber: 2097
    functionLinenumberEnd: 2166
    functionName: percentileFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionFinalize
    - taosArrayGet
    - tMemBucketDestroy
    - getPercentile
    - colDataSetVal
    - GET_RES_INFO
    - tsnprintf
    - varDataVal
    - GET_ROWCELL_INTERBUF
    - varDataSetLen
    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:2171,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2174
    functionName: getApercentileFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TMAX
    - TDIGEST_SIZE
    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:2179,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2176
    functionDepth: 1
    functionLinenumber: 2176
    functionLinenumberEnd: 2181
    functionName: getApercentileMaxSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TMAX
    - TDIGEST_SIZE
    linkageType: ''
    returnType: int32_t
    signature: int32_t getApercentileMaxSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2185,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - algoStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2194
    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: 2199
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2199
    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: 2203
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2203
    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:2209,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2213,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2217,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2217,1
    - Dst: getApercentileAlgo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2222,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2222,1
    - Dst: tdigestNewFrom
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2230,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2232,1
    - Dst: tHistogramCreateFrom
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2233,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2205
    functionDepth: 3
    functionLinenumber: 2205
    functionLinenumberEnd: 2239
    functionName: apercentileFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - tdigestNewFrom
    - GET_TYPED_DATA
    - qDebug
    - functionSetup
    - GET_ROWCELL_INTERBUF
    - tHistogramCreateFrom
    - getApercentileAlgo
    - varDataVal
    - typeGetTypeModFromCol
    - buildHistogramInfo
    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:2243,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2249,1
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2253,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2254,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2256,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2260,1
    - Dst: tdigestAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2265,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2273,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2274,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2278,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2282,1
    - Dst: tHistogramAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2286,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2292,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2241
    functionDepth: 1
    functionLinenumber: 2241
    functionLinenumberEnd: 2299
    functionName: apercentileFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - tHistogramAdd
    - tdigestAutoFill
    - qDebug
    - colDataGetData
    - colDataIsNull_f
    - GET_RES_INFO
    - tdigestAdd
    - SET_VAL
    - buildTDigestInfo
    - GET_ROWCELL_INTERBUF
    - buildHistogramInfo
    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:2305,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2306,1
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2316,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2318,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2321,1
    - Dst: TDIGEST_SIZE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2321,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2322,1
    - Dst: tdigestMerge
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2324,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2330,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2339,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2343,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2346,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2350,1
    - Dst: tHistogramMerge
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2354,1
    - Dst: tHistogramDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2356,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2359,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2362,1
    - Dst: tHistogramDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2364,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - pInput
    - pOutput
    - hasRes
    argTypes:
    - SAPercentileInfo*
    - SAPercentileInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2368
    functionName: apercentileTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - tdigestAutoFill
    - memcpy
    - qDebug
    - tHistogramDestroy
    - TDIGEST_SIZE
    - buildTDigestInfo
    - tHistogramMerge
    - buildHistogramInfo
    - tdigestMerge
    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:2371,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2380,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2382,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2387,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2389,1
    - Dst: apercentileTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2390,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2397,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2398,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2370
    functionDepth: 2
    functionLinenumber: 2370
    functionLinenumberEnd: 2404
    functionName: apercentileFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - qDebug
    - colDataGetData
    - GET_RES_INFO
    - apercentileTransferInfo
    - SET_VAL
    - varDataVal
    - GET_ROWCELL_INTERBUF
    - buildHistogramInfo
    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:2407,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2408,1
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2411,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2412,1
    - Dst: tdigestQuantile
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2414,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2420,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2422,1
    - Dst: tHistogramUniform
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2427,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2429,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2434,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2438,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2406
    functionDepth: 2
    functionLinenumber: 2406
    functionLinenumberEnd: 2444
    functionName: apercentileFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionFinalize
    - tdigestAutoFill
    - taosMemoryFree
    - qDebug
    - GET_RES_INFO
    - tHistogramUniform
    - tdigestQuantile
    - buildTDigestInfo
    - GET_ROWCELL_INTERBUF
    - buildHistogramInfo
    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:2447,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2448,1
    - Dst: getApercentileMaxSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2450,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2451,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2457,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2457,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2458,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2460,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2460,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2461,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2465,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2467,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2471,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2446
    functionDepth: 2
    functionLinenumber: 2446
    functionLinenumberEnd: 2475
    functionName: apercentilePartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - taosArrayGet
    - memcpy
    - taosMemoryFree
    - getApercentileMaxSize
    - colDataSetVal
    - GET_RES_INFO
    - taosMemoryCalloc
    - GET_ROWCELL_INTERBUF
    - 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:2478,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2479,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2481,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2482,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2484,1
    - Dst: apercentileTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2486,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2477
    functionDepth: 2
    functionLinenumber: 2477
    functionLinenumberEnd: 2493
    functionName: apercentileCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - qDebug
    - TMAX
    - GET_RES_INFO
    - apercentileTransferInfo
    - GET_ROWCELL_INTERBUF
    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:2500,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2503,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2506,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2509,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2514,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2515,1
    - Dst: fn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2516,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: 2517
      start: 2496
    functionDepth: 1
    functionLinenumber: 2496
    functionLinenumberEnd: 2517
    functionName: comparePkDataWithSValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NUMERIC_TYPE
    - VALUE_GET_TRIVIAL_DATUM
    - getKeyComparFunc
    - fn
    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:2527,1
    - Dst: comparePkDataWithSValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pRes
    - pBlockInfo
    argTypes:
    - void*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2519
    functionDepth: 2
    functionLinenumber: 2519
    functionLinenumberEnd: 2548
    functionName: firstDynDataReq
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - comparePkDataWithSValue
    - GET_ROWCELL_INTERBUF
    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:2558,1
    - Dst: comparePkDataWithSValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pRes
    - pBlockInfo
    argTypes:
    - void*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2550
    functionDepth: 2
    functionLinenumber: 2550
    functionLinenumberEnd: 2576
    functionName: lastDynDataReq
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - comparePkDataWithSValue
    - GET_ROWCELL_INTERBUF
    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: 2579
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    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:2582,1
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2581
    functionDepth: 1
    functionLinenumber: 2581
    functionLinenumberEnd: 2587
    functionName: getFirstLastFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getFirstLastInfoSize
    - nodesListGetNode
    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:2590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2593
    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:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2599
    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:2606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pTsColInfo
    - rowIndex
    argTypes:
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2601
    functionDepth: 1
    functionLinenumber: 2601
    functionLinenumberEnd: 2607
    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:2613,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2609
    functionDepth: 3
    functionLinenumber: 2609
    functionLinenumberEnd: 2621
    functionName: firstLastFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:2632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2623
    functionDepth: 0
    functionLinenumber: 2623
    functionLinenumberEnd: 2638
    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:2649,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2651,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: 2656
      start: 2640
    functionDepth: 1
    functionLinenumber: 2640
    functionLinenumberEnd: 2656
    functionName: firstlastSaveTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - updateTupleData
    - saveTupleData
    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:2660,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2661,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2663,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2664,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2672,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2674,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2675,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2682,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2687,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: 2694
      start: 2658
    functionDepth: 2
    functionLinenumber: 2658
    functionLinenumberEnd: 2694
    functionName: doSaveCurrentVal
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - IS_VAR_DATA_TYPE
    - firstlastSaveTupleData
    - calcStrBytesByType
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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:2701,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2702,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2709,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2719,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2726,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2736,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2737,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2753,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2759,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2760,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2762,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2776,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2782,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2783,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2786,1
    - Dst: funcInputGetNextRowIndex
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2796,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2797,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2802,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2805,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2809,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2810,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2821,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2827,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 74
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2698
    functionDepth: 3
    functionLinenumber: 2698
    functionLinenumberEnd: 2829
    functionName: firstFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - doSaveCurrentVal
    - colDataGetData
    - firstlastSaveTupleData
    - funcInputGetNextRowIndex
    - GET_RES_INFO
    - pkCompareFn
    - colDataIsNull
    - SET_VAL
    - getRowPTs
    - getKeyComparFunc
    - GET_ROWCELL_INTERBUF
    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:2834,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2835,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2843,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2854,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2861,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2871,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2872,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2880,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2886,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2887,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2889,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:2915,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2921,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2922,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2955,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2956,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2966,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2967,1
    - Dst: funcInputGetNextRowIndex
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2977,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2978,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2984,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2988,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2991,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2992,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2993,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3007,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 105
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 2831
    functionDepth: 3
    functionLinenumber: 2831
    functionLinenumberEnd: 3015
    functionName: lastFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - doSaveCurrentVal
    - colDataIsNull_s
    - colDataGetData
    - firstlastSaveTupleData
    - funcInputGetNextRowIndex
    - GET_RES_INFO
    - pkCompareFn
    - colDataIsNull
    - getRowPTs
    - getKeyComparFunc
    - GET_ROWCELL_INTERBUF
    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:3023,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3028,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3033,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3044,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3047,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - pInput
    - pOutput
    - isFirst
    argTypes:
    - SFirstLastRes*
    - SFirstLastRes*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3051
      start: 3017
    functionDepth: 1
    functionLinenumber: 3017
    functionLinenumberEnd: 3051
    functionName: firstLastTransferInfoImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - getKeyComparFunc
    - pkCompareFn
    - memcpy
    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:3055,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3056,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: 3063
      start: 3053
    functionDepth: 2
    functionLinenumber: 3053
    functionLinenumberEnd: 3063
    functionName: firstLastTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - firstlastSaveTupleData
    - firstLastTransferInfoImpl
    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:3069,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3070,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3070,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3078,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3078,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3084,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3087,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3088,1
    - Dst: firstLastTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3095,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3105,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3112,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pCtx
    - isFirstQuery
    argTypes:
    - SqlFunctionCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3114
      start: 3065
    functionDepth: 3
    functionLinenumber: 3065
    functionLinenumberEnd: 3114
    functionName: firstLastFunctionMergeImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - firstLastTransferInfo
    - colDataIsNull_s
    - colDataGetData
    - firstlastSaveTupleData
    - GET_RES_INFO
    - SET_VAL
    - varDataVal
    - GET_ROWCELL_INTERBUF
    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:3116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 3116
    functionDepth: 4
    functionLinenumber: 3116
    functionLinenumberEnd: 3116
    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:3118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3118
      start: 3118
    functionDepth: 4
    functionLinenumber: 3118
    functionLinenumberEnd: 3118
    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:3123,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3128,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3131,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3134,1
    - Dst: setNullSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3135,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3137,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3143,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3145,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3120
    functionDepth: 2
    functionLinenumber: 3120
    functionLinenumberEnd: 3149
    functionName: firstLastFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - setNullSelectivityValue
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - setSelectivityValue
    - qError
    - GET_ROWCELL_INTERBUF
    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:3154,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3155,1
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3157,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3160,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3164,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3164,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3166,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3171,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3176,1
    - Dst: setNullSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3177,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3179,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3181,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3184,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3151
    functionDepth: 2
    functionLinenumber: 3151
    functionLinenumberEnd: 3188
    functionName: firstLastPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - getFirstLastInfoSize
    - memcpy
    - taosArrayGet
    - taosMemoryFree
    - setNullSelectivityValue
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - setSelectivityValue
    - taosMemoryCalloc
    - GET_ROWCELL_INTERBUF
    - 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:3191,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3192,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3195,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3196,1
    - Dst: firstLastTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3198,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3190
    functionDepth: 2
    functionLinenumber: 3190
    functionLinenumberEnd: 3202
    functionName: lastCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - firstLastTransferInfoImpl
    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:3209,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3214,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3215,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3223,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3226,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3227,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3228,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3229,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3231,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3235,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: 3243
      start: 3204
    functionDepth: 2
    functionLinenumber: 3204
    functionLinenumberEnd: 3243
    functionName: doSaveLastrow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - colDataGetData
    - firstlastSaveTupleData
    - calcStrBytesByType
    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:3248,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3249,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3258,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3267,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3269,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3270,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3274,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3275,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3276,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3280,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: funcInputGetNextRowIndex
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3305,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: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3313,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3316,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3317,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3326,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3245
    functionDepth: 3
    functionLinenumber: 3245
    functionLinenumberEnd: 3328
    functionName: lastRowFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - doSaveLastrow
    - colDataGetData
    - funcInputGetNextRowIndex
    - GET_RES_INFO
    - pkCompareFn
    - colDataIsNull
    - SET_VAL
    - getRowPTs
    - getKeyComparFunc
    - GET_ROWCELL_INTERBUF
    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: 3333
      start: 3330
    functionDepth: 0
    functionLinenumber: 3330
    functionLinenumberEnd: 3333
    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:3339,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3335
    functionDepth: 3
    functionLinenumber: 3335
    functionLinenumberEnd: 3353
    functionName: diffFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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: 3389
      start: 3355
    functionDepth: 0
    functionLinenumber: 3355
    functionLinenumberEnd: 3389
    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: 3443
      start: 3391
    functionDepth: 0
    functionLinenumber: 3391
    functionLinenumberEnd: 3443
    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:3451,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3452,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3455,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: 3458
      start: 3445
    functionDepth: 1
    functionLinenumber: 3445
    functionLinenumberEnd: 3458
    functionName: tryToSetInt64
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNull_f_s
    - colDataSetInt64
    - ignoreNegative
    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:3462,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3463,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3465,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: 3468
      start: 3460
    functionDepth: 1
    functionLinenumber: 3460
    functionLinenumberEnd: 3468
    functionName: tryToSetDouble
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetDouble
    - colDataSetNull_f_s
    - ignoreNegative
    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:3473,1
    - Dst: doSetPrevVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3474,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3480,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3485,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3490,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3495,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3500,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3505,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3510,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3517,1
    - Dst: tryToSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3522,1
    - Dst: tryToSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3527,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: 3535
      start: 3470
    functionDepth: 2
    functionLinenumber: 3470
    functionLinenumberEnd: 3535
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3560,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3562,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3564,1
    - Dst: compareFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3565,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - pInput
    - from
    - firstOccur
    - pRowIndex
    - nextFrom
    argTypes:
    - SInputColumnInfoData*
    - int32_t
    - bool
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3575
      start: 3539
    functionDepth: 1
    functionLinenumber: 3539
    functionLinenumberEnd: 3575
    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: 3580
      start: 3577
    functionDepth: 0
    functionLinenumber: 3577
    functionLinenumberEnd: 3580
    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:3583,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3584,1
    - Dst: ignoreNegative
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3588,1
    - Dst: diffIsNegtive
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pRow
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3592
      start: 3582
    functionDepth: 1
    functionLinenumber: 3582
    functionLinenumberEnd: 3592
    functionName: diffResultIsNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - diffIsNegtive
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - ignoreNegative
    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:3595,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtx
    - pRow
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3598
      start: 3594
    functionDepth: 1
    functionLinenumber: 3594
    functionLinenumberEnd: 3598
    functionName: isFirstRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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:3601,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3602,1
    - Dst: doSetPrevVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - pRow
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3600
    functionDepth: 1
    functionLinenumber: 3600
    functionLinenumberEnd: 3614
    functionName: trySetPreVal
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - doSetPrevVal
    - GET_ROWCELL_INTERBUF
    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:3617,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3618,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3626,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3631,1
    - Dst: doHandleDiff
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3644,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3650,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pCtx
    - pRow
    - pos
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3616
    functionDepth: 3
    functionLinenumber: 3616
    functionLinenumberEnd: 3657
    functionName: setDoDiffResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - doHandleDiff
    - colDataSetNull_f_s
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    - appendSelectivityCols
    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: 3659
      start: 3659
    functionDepth: 0
    functionLinenumber: 3659
    functionLinenumberEnd: 3659
    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:3669,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3676,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3681,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3682,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3683,1
    - Dst: ignoreNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3684,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3689,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3690,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3698,1
    - Dst: diffResultIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3705,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3707,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3708,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3713,1
    - Dst: diffResultIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3722,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3730,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3731,1
    - Dst: isFirstRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3736,1
    - Dst: setDoDiffResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3737,1
    - Dst: trySetPreVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3743,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3753,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3758,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3764,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 91
    argCount: 1
    argNames:
    - pCtxArray
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3661
    functionDepth: 4
    functionLinenumber: 3661
    functionLinenumberEnd: 3768
    functionName: diffFunctionByRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - ignoreNull
    - taosArrayDestroy
    - funcInputUpdate
    - taosArrayGet
    - funcInputGetNextRow
    - diffResultIsNull
    - isFirstRow
    - GET_RES_INFO
    - setDoDiffResult
    - taosArrayInit_s
    - trySetPreVal
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: int32_t diffFunctionByRow(SArray* pCtxArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numOfItems
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3770
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3770
    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:3773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3776
      start: 3772
    functionDepth: 1
    functionLinenumber: 3772
    functionLinenumberEnd: 3776
    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:3782,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3794
      start: 3778
    functionDepth: 3
    functionLinenumber: 3778
    functionLinenumberEnd: 3794
    functionName: topBotFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:3797,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3796
    functionDepth: 1
    functionLinenumber: 3796
    functionLinenumberEnd: 3802
    functionName: getTopBotOutputInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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:3811,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3816,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3821,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3826,1
    - Dst: doAddIntoResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3827,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3834,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3841
      start: 3809
    functionDepth: 2
    functionLinenumber: 3809
    functionLinenumberEnd: 3841
    functionName: topFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getTopBotOutputInfo
    - doAddIntoResult
    - colDataGetData
    - colDataIsNull_f
    - saveTupleData
    - 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:3845,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3850,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3855,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3860,1
    - Dst: doAddIntoResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3861,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3868,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3876
      start: 3843
    functionDepth: 2
    functionLinenumber: 3843
    functionLinenumberEnd: 3876
    functionName: bottomFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getTopBotOutputInfo
    - doAddIntoResult
    - colDataGetData
    - colDataIsNull_f
    - saveTupleData
    - 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:3884,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3890,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3878
    functionDepth: 0
    functionLinenumber: 3878
    functionLinenumberEnd: 3909
    functionName: topBotResComparFn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_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:3913,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3917,1
    - Dst: taosVariantCreateFromBinary
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3917,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3929,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3935,1
    - Dst: taosheapsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3940,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3946,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3947,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3950,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3951,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3961,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3967,1
    - Dst: taosheapadjust
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3969,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: 3978
      start: 3911
    functionDepth: 2
    functionLinenumber: 3911
    functionLinenumberEnd: 3978
    functionName: doAddIntoResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 2
    functionsReached:
    - getTopBotOutputInfo
    - taosheapadjust
    - IS_SIGNED_NUMERIC_TYPE
    - qDebug
    - saveTupleData
    - taosheapsort
    - taosVariantCreateFromBinary
    - IS_UNSIGNED_NUMERIC_TYPE
    - updateTupleData
    - TAOS_CHECK_RETURN
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3997,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4004,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4008,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4013,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4014,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4015,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4016,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4018,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - pSrcBlock
    - rowIndex
    - pSubsidiaryies
    - buf
    - res
    argTypes:
    - SSDataBlock*
    - int32_t
    - SSubsidiaryResInfo*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4026
      start: 3986
    functionDepth: 1
    functionLinenumber: 3986
    functionLinenumberEnd: 4026
    functionName: serializeTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - colDataGetData
    - calcStrBytesByType
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t serializeTupleData(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:4035,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4041,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4045,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4047,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4048,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4057,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4060,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4061,1
    - Dst: SFunctionStateStore*::streamStateFuncPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4063,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: 4070
      start: 4028
    functionDepth: 1
    functionLinenumber: 4028
    functionLinenumberEnd: 4070
    functionName: doSaveTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SFunctionStateStore*::streamStateFuncPut
    - releaseBufPage
    - memcpy
    - setBufPageDirty
    - getBufPage
    - getNewBufPage
    - getBufPageSize
    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:4073,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4080,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4088,1
    - Dst: serializeTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4093,1
    - Dst: doSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4097,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: 4098
      start: 4072
    functionDepth: 2
    functionLinenumber: 4072
    functionLinenumberEnd: 4098
    functionName: saveTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 4
    functionsReached:
    - serializeTupleData
    - taosArrayGet
    - colDataGetData
    - doSaveTupleData
    - prepareBuf
    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:4103,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4107,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4108,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4109,1
    - Dst: SFunctionStateStore*::streamStateFuncPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4111,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: 4118
      start: 4100
    functionDepth: 1
    functionLinenumber: 4100
    functionLinenumberEnd: 4118
    functionName: doUpdateTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SFunctionStateStore*::streamStateFuncPut
    - releaseBufPage
    - memcpy
    - setBufPageDirty
    - getBufPage
    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:4121,1
    - Dst: serializeTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4127,1
    - Dst: doUpdateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4131,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: 4132
      start: 4120
    functionDepth: 2
    functionLinenumber: 4120
    functionLinenumberEnd: 4132
    functionName: updateTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 2
    functionsReached:
    - prepareBuf
    - serializeTupleData
    - doUpdateTupleData
    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:4137,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4143,1
    - Dst: SFunctionStateStore*::streamStateFuncGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - pHandle
    - pPos
    - pStore
    - value
    argTypes:
    - SSerializeDataHandle*
    - STuplePos*
    - SFunctionStateStore*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4154
      start: 4134
    functionDepth: 1
    functionLinenumber: 4134
    functionLinenumberEnd: 4154
    functionName: doLoadTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - releaseBufPage
    - getBufPage
    - SFunctionStateStore*::streamStateFuncGet
    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:4157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCtx
    - pPos
    - value
    argTypes:
    - SqlFunctionCtx*
    - STuplePos*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4158
      start: 4156
    functionDepth: 2
    functionLinenumber: 4156
    functionLinenumberEnd: 4158
    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:4163,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4164,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4169,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4177,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4178,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4183,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4188,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4199
      start: 4160
    functionDepth: 2
    functionLinenumber: 4160
    functionLinenumberEnd: 4199
    functionName: topBotFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getTopBotOutputInfo
    - taosArrayGet
    - qDebug
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - setSelectivityValue
    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:4202,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4203,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4213,1
    - Dst: taosheapsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4215,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4221,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4222,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4225,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4226,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4235,1
    - Dst: taosheapadjust
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4236,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: 4244
      start: 4201
    functionDepth: 2
    functionLinenumber: 4201
    functionLinenumberEnd: 4244
    functionName: addResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getTopBotOutputInfo
    - taosheapadjust
    - IS_SIGNED_NUMERIC_TYPE
    - replaceTupleData
    - GET_RES_INFO
    - taosheapsort
    - IS_UNSIGNED_NUMERIC_TYPE
    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:4247,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4248,1
    - Dst: addResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4258
      start: 4246
    functionDepth: 3
    functionLinenumber: 4246
    functionLinenumberEnd: 4258
    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:4261,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4262,1
    - Dst: addResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4272
      start: 4260
    functionDepth: 3
    functionLinenumber: 4260
    functionLinenumberEnd: 4272
    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: 4274
      start: 4274
    functionDepth: 0
    functionLinenumber: 4274
    functionLinenumberEnd: 4274
    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: 4279
      start: 4276
    functionDepth: 0
    functionLinenumber: 4276
    functionLinenumberEnd: 4279
    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:4285,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4289,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4290,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4294
      start: 4281
    functionDepth: 3
    functionLinenumber: 4281
    functionLinenumberEnd: 4294
    functionName: spreadFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SET_DOUBLE_VAL
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:4304,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4304,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4312,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4312,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4313,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4314,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4315,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4316,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4317,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4318,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4319,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4320,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4323,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4324,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4327,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4328,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4337,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4341,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4345,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4346,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4349,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4350,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4359,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4359,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4365
      start: 4296
    functionDepth: 1
    functionLinenumber: 4296
    functionLinenumberEnd: 4365
    functionName: spreadFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_TIMESTAMP_TYPE
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - GET_DOUBLE_VAL
    - colDataGetData
    - colDataIsNull_f
    - GET_RES_INFO
    - SET_DOUBLE_VAL
    - GET_UINT64_VAL
    - SET_VAL
    - IS_UNSIGNED_NUMERIC_TYPE
    - GET_INT64_VAL
    - GET_ROWCELL_INTERBUF
    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: 4376
      start: 4367
    functionDepth: 0
    functionLinenumber: 4367
    functionLinenumberEnd: 4376
    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:4382,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4383,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4383,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4391,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4391,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4395,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4396,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4397,1
    - Dst: spreadTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4399,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4408
      start: 4378
    functionDepth: 1
    functionLinenumber: 4378
    functionLinenumberEnd: 4408
    functionName: spreadFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - spreadTransferInfo
    - colDataIsNull_s
    - colDataGetData
    - GET_RES_INFO
    - SET_VAL
    - varDataVal
    - GET_ROWCELL_INTERBUF
    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:4411,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4411,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4413,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4415,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4418
      start: 4410
    functionDepth: 2
    functionLinenumber: 4410
    functionLinenumberEnd: 4418
    functionName: spreadFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - SET_DOUBLE_VAL
    - functionFinalize
    - GET_ROWCELL_INTERBUF
    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:4421,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4422,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4422,1
    - Dst: getSpreadInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4423,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4424,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4429,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4429,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4430,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4434,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4440,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4448
      start: 4420
    functionDepth: 1
    functionLinenumber: 4420
    functionLinenumberEnd: 4448
    functionName: spreadPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - taosArrayGet
    - memcpy
    - taosMemoryFree
    - getSpreadInfoSize
    - colDataSetVal
    - GET_RES_INFO
    - taosMemoryCalloc
    - GET_ROWCELL_INTERBUF
    - 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:4451,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4452,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4454,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4455,1
    - Dst: spreadTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4456,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4460
      start: 4450
    functionDepth: 1
    functionLinenumber: 4450
    functionLinenumberEnd: 4460
    functionName: spreadCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - spreadTransferInfo
    - GET_ROWCELL_INTERBUF
    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: 4462
      start: 4462
    functionDepth: 0
    functionLinenumber: 4462
    functionLinenumberEnd: 4462
    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: 4467
      start: 4464
    functionDepth: 0
    functionLinenumber: 4464
    functionLinenumberEnd: 4467
    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:4473,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4489
      start: 4469
    functionDepth: 3
    functionLinenumber: 4469
    functionLinenumberEnd: 4489
    functionName: elapsedFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:4498,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4498,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4511,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4512,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4515,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4517,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4537,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4569,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4569,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4572
      start: 4491
    functionDepth: 1
    functionLinenumber: 4491
    functionLinenumberEnd: 4572
    functionName: elapsedFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - GET_RES_INFO
    - SET_VAL
    - GET_INT64_VAL
    - GET_ROWCELL_INTERBUF
    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: 4583
      start: 4574
    functionDepth: 0
    functionLinenumber: 4574
    functionLinenumberEnd: 4583
    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:4592,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4592,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4597,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4598,1
    - Dst: elapsedTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4599,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4602,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4604
      start: 4585
    functionDepth: 1
    functionLinenumber: 4585
    functionLinenumberEnd: 4604
    functionName: elapsedFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - elapsedTransferInfo
    - colDataGetData
    - GET_RES_INFO
    - SET_VAL
    - varDataVal
    - GET_ROWCELL_INTERBUF
    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:4607,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4607,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4609,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4611
      start: 4606
    functionDepth: 2
    functionLinenumber: 4606
    functionLinenumberEnd: 4611
    functionName: elapsedFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - functionFinalize
    - GET_ROWCELL_INTERBUF
    - fabs
    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:4614,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4615,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4615,1
    - Dst: getElapsedInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4616,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4617,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4622,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4622,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4623,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4627,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4633,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4640
      start: 4613
    functionDepth: 1
    functionLinenumber: 4613
    functionLinenumberEnd: 4640
    functionName: elapsedPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - taosArrayGet
    - memcpy
    - taosMemoryFree
    - getElapsedInfoSize
    - colDataSetVal
    - GET_RES_INFO
    - taosMemoryCalloc
    - GET_ROWCELL_INTERBUF
    - 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:4643,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4644,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4646,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4647,1
    - Dst: elapsedTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4649,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4653
      start: 4642
    functionDepth: 1
    functionLinenumber: 4642
    functionLinenumberEnd: 4653
    functionName: elapsedCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - elapsedTransferInfo
    - TMAX
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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: 4657
      start: 4655
    functionDepth: 0
    functionLinenumber: 4655
    functionLinenumberEnd: 4657
    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: 4662
      start: 4659
    functionDepth: 0
    functionLinenumber: 4659
    functionLinenumberEnd: 4662
    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:4666,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4668,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - binTypeStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4677
      start: 4664
    functionDepth: 0
    functionLinenumber: 4664
    functionLinenumberEnd: 4677
    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:4680,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4683,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4684,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4687,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4691,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4692,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4693,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4694,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4695,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4697,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4697,1
    - Dst: cJSON_IsBool
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4697,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4698,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4703,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4707,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4707,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4708,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4708,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4709,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4722,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4724,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4725,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4728,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4731,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4732,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4738,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4739,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4744,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4747,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4748,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4752,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4753,1
    - Dst: pow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4757,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4758,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4759,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4760,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4766,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4767,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4779,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4782,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4784,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4787,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4788,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4790,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4791,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4796,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4797,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4803,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4804,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4805,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4809,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4810,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4817,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4829,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4830,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: 4833
      start: 4679
    functionDepth: 2
    functionLinenumber: 4679
    functionLinenumberEnd: 4833
    functionName: getHistogramBinDesc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - taosMemoryCalloc
    - cJSON_IsObject
    - pow
    - cJSON_IsNumber
    - TSWAP
    - isinf
    - cJSON_GetArraySize
    - cJSON_IsArray
    - qError
    - cJSON_IsBool
    - cJSON_GetObjectItem
    - taosMemoryFree
    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:4839,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4843,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4848,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4848,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4848,1
    - Dst: getHistogramBinType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4852,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4853,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4858,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4858,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4858,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4864,1
    - Dst: getHistogramBinDesc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4867,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4869,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4875
      start: 4835
    functionDepth: 3
    functionLinenumber: 4835
    functionLinenumberEnd: 4875
    functionName: histogramFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - taosMemoryFree
    - functionSetup
    - getHistogramBinDesc
    - getHistogramBinType
    - varDataVal
    - taosStrndup
    - GET_ROWCELL_INTERBUF
    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:4878,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4878,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4890,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4896,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4910,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4912,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - isPartial
    argTypes:
    - SqlFunctionCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4915
      start: 4877
    functionDepth: 1
    functionLinenumber: 4877
    functionLinenumberEnd: 4915
    functionName: histogramFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_f
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - 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:4917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4917
      start: 4917
    functionDepth: 2
    functionLinenumber: 4917
    functionLinenumberEnd: 4917
    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:4919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4919
      start: 4919
    functionDepth: 2
    functionLinenumber: 4919
    functionLinenumberEnd: 4919
    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: 4930
      start: 4921
    functionDepth: 0
    functionLinenumber: 4921
    functionLinenumberEnd: 4930
    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:4939,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4939,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4944,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4945,1
    - Dst: histogramTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4946,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4949,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4951
      start: 4932
    functionDepth: 1
    functionLinenumber: 4932
    functionLinenumberEnd: 4951
    functionName: histogramFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - GET_RES_INFO
    - SET_VAL
    - histogramTransferInfo
    - varDataVal
    - GET_ROWCELL_INTERBUF
    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:4954,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4955,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4955,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4957,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4979,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4979,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4983,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4983,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4987,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4988,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4996
      start: 4953
    functionDepth: 1
    functionLinenumber: 4953
    functionLinenumberEnd: 4996
    functionName: histogramFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - GET_RES_INFO
    - tsnprintf
    - varDataVal
    - GET_ROWCELL_INTERBUF
    - varDataSetLen
    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:4999,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5000,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5000,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5001,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5002,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5007,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5007,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5008,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5012,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5017,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5022
      start: 4998
    functionDepth: 1
    functionLinenumber: 4998
    functionLinenumberEnd: 5022
    functionName: histogramPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - taosArrayGet
    - memcpy
    - taosMemoryFree
    - colDataSetVal
    - GET_RES_INFO
    - getHistogramInfoSize
    - taosMemoryCalloc
    - GET_ROWCELL_INTERBUF
    - 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:5025,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5026,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5028,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5029,1
    - Dst: histogramTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5031,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5035
      start: 5024
    functionDepth: 1
    functionLinenumber: 5024
    functionLinenumberEnd: 5035
    functionName: histogramCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - histogramTransferInfo
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - TMAX
    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: 5037
      start: 5037
    functionDepth: 0
    functionLinenumber: 5037
    functionLinenumberEnd: 5037
    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: 5042
      start: 5039
    functionDepth: 0
    functionLinenumber: 5039
    functionLinenumberEnd: 5042
    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:5045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - bytes
    - buk
    argTypes:
    - void*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5057
      start: 5044
    functionDepth: 1
    functionLinenumber: 5044
    functionLinenumberEnd: 5057
    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: 5079
      start: 5059
    functionDepth: 0
    functionLinenumber: 5059
    functionLinenumberEnd: 5079
    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:5086,1
    - Dst: pow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5092
      start: 5080
    functionDepth: 0
    functionLinenumber: 5080
    functionLinenumberEnd: 5092
    functionName: hllTau
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - pow
    - sqrt
    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: 5106
      start: 5094
    functionDepth: 0
    functionLinenumber: 5094
    functionLinenumberEnd: 5106
    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:5113,1
    - Dst: hllTau
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5115,1
    - Dst: hllSigma
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5121,1
    - Dst: llroundl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - buckets
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5125
      start: 5110
    functionDepth: 1
    functionLinenumber: 5110
    functionLinenumberEnd: 5125
    functionName: hllCountCnt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - hllBucketHisto
    - hllSigma
    - hllTau
    - llroundl
    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:5128,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5128,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5140,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5145,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5151,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5152,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5153,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5154,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5155,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5157,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5158,1
    - Dst: hllCountNum
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5163,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5174,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5174,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5176,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5180
      start: 5127
    functionDepth: 2
    functionLinenumber: 5127
    functionLinenumberEnd: 5180
    functionName: hllFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - IS_STR_DATA_BLOB
    - hllCountNum
    - blobDataLen
    - varDataLen
    - colDataIsNull_s
    - colDataGetData
    - IS_VAR_DATA_TYPE
    - blobDataVal
    - GET_RES_INFO
    - SET_VAL
    - varDataVal
    - GET_ROWCELL_INTERBUF
    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: 5189
      start: 5182
    functionDepth: 0
    functionLinenumber: 5182
    functionLinenumberEnd: 5189
    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:5195,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5196,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5196,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5204,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5204,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5209,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5210,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5211,1
    - Dst: hllTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5212,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5216,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5216,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5218,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5222
      start: 5191
    functionDepth: 1
    functionLinenumber: 5191
    functionLinenumberEnd: 5222
    functionName: hllFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - hllTransferInfo
    - colDataIsNull_s
    - colDataGetData
    - GET_RES_INFO
    - SET_VAL
    - varDataVal
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: int32_t hllFunctionMerge(SqlFunctionCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5225,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5227,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5227,1
    - Dst: hllCountCnt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5228,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5234
      start: 5224
    functionDepth: 2
    functionLinenumber: 5224
    functionLinenumberEnd: 5234
    functionName: hllFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - hllCountCnt
    - GET_RES_INFO
    - functionFinalize
    - GET_ROWCELL_INTERBUF
    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:5237,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5238,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5238,1
    - Dst: getHLLInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5239,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5240,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5245,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5245,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5250,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5256,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5261
      start: 5236
    functionDepth: 1
    functionLinenumber: 5236
    functionLinenumberEnd: 5261
    functionName: hllPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getHLLInfoSize
    - varDataVal
    - taosArrayGet
    - memcpy
    - taosMemoryFree
    - colDataSetVal
    - GET_RES_INFO
    - taosMemoryCalloc
    - GET_ROWCELL_INTERBUF
    - 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:5264,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5265,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5267,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5268,1
    - Dst: hllTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5270,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5274
      start: 5263
    functionDepth: 1
    functionLinenumber: 5263
    functionLinenumberEnd: 5274
    functionName: hllCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - hllTransferInfo
    - GET_ROWCELL_INTERBUF
    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: 5279
      start: 5276
    functionDepth: 0
    functionLinenumber: 5276
    functionLinenumberEnd: 5279
    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:5283,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5285,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5287,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5289,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5291,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - opStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5300
      start: 5281
    functionDepth: 0
    functionLinenumber: 5281
    functionLinenumberEnd: 5300
    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:5303,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5307,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5312,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5317,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5322,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5327,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5332,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5337,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5342,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5347,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5352,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: 5360
      start: 5302
    functionDepth: 1
    functionLinenumber: 5302
    functionLinenumberEnd: 5360
    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:5364,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5365,1
    - Dst: getStateOpType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5375,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5375,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5390,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5391,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5394,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5402,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5410,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5417,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5426
      start: 5362
    functionDepth: 2
    functionLinenumber: 5362
    functionLinenumberEnd: 5426
    functionName: stateCountFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - appendSelectivityValue
    - colDataSetNULL
    - colDataIsNull_f
    - colDataSetVal
    - GET_RES_INFO
    - checkStateOp
    - varDataVal
    - getStateOpType
    - GET_ROWCELL_INTERBUF
    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:5430,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5431,1
    - Dst: getStateOpType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5447,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5447,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5462,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5463,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5466,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5474,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5486,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5493,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5502
      start: 5428
    functionDepth: 2
    functionLinenumber: 5428
    functionLinenumberEnd: 5502
    functionName: stateDurationFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - appendSelectivityValue
    - colDataSetNULL
    - colDataIsNull_f
    - colDataSetVal
    - GET_RES_INFO
    - checkStateOp
    - varDataVal
    - getStateOpType
    - GET_ROWCELL_INTERBUF
    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: 5507
      start: 5504
    functionDepth: 0
    functionLinenumber: 5504
    functionLinenumberEnd: 5507
    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:5511,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5512,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5532,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5537,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5538,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5542,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5546,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5550,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5554,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5559,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5559,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5560,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5562,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5571,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5582
      start: 5509
    functionDepth: 2
    functionLinenumber: 5509
    functionLinenumberEnd: 5582
    functionName: csumFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - isnan
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - isinf
    - colDataGetData
    - colDataIsNull_f
    - colDataSetVal
    - GET_RES_INFO
    - colDataSetNULL
    - appendSelectivityValue
    - IS_UNSIGNED_NUMERIC_TYPE
    - GET_ROWCELL_INTERBUF
    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: 5587
      start: 5584
    functionDepth: 0
    functionLinenumber: 5584
    functionLinenumberEnd: 5587
    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:5593,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5589
    functionDepth: 3
    functionLinenumber: 5589
    functionLinenumberEnd: 5609
    functionName: mavgFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:5613,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5614,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5635,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5640,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5658,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5658,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5659,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5661,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5669,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5686
      start: 5611
    functionDepth: 2
    functionLinenumber: 5611
    functionLinenumberEnd: 5686
    functionName: mavgFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - isnan
    - isinf
    - colDataGetData
    - colDataIsNull_f
    - colDataSetNULL
    - GET_RES_INFO
    - colDataSetVal
    - appendSelectivityValue
    - GET_ROWCELL_INTERBUF
    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:5689,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5696
      start: 5688
    functionDepth: 1
    functionLinenumber: 5688
    functionLinenumberEnd: 5696
    functionName: getSampleOutputInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: SSampleInfo
    signature: SSampleInfo * getSampleOutputInfo(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5699,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5704
      start: 5698
    functionDepth: 1
    functionLinenumber: 5698
    functionLinenumberEnd: 5704
    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:5710,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5714,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5714,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5728
      start: 5706
    functionDepth: 3
    functionLinenumber: 5706
    functionLinenumberEnd: 5728
    functionName: sampleFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosSafeRand
    - GET_ROWCELL_INTERBUF
    - functionSetup
    - taosSeedRand
    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:5731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInfo
    - data
    - index
    argTypes:
    - SSampleInfo*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5732
      start: 5730
    functionDepth: 1
    functionLinenumber: 5730
    functionLinenumberEnd: 5732
    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:5737,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5739,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5746,1
    - Dst: sampleAssignResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5748,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5750,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: 5759
      start: 5734
    functionDepth: 3
    functionLinenumber: 5734
    functionLinenumberEnd: 5759
    functionName: doReservoirSample
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosRand
    - sampleAssignResult
    - updateTupleData
    - saveTupleData
    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:5762,1
    - Dst: getSampleOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5763,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5769,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5773,1
    - Dst: doReservoirSample
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5774,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5781,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5790
      start: 5761
    functionDepth: 4
    functionLinenumber: 5761
    functionLinenumberEnd: 5790
    functionName: sampleFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_s
    - colDataGetData
    - saveTupleData
    - SET_VAL
    - GET_RES_INFO
    - getSampleOutputInfo
    - doReservoirSample
    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:5794,1
    - Dst: getSampleOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5796,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5800,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5807,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5808,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5812,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5823
      start: 5792
    functionDepth: 2
    functionLinenumber: 5792
    functionLinenumberEnd: 5823
    functionName: sampleFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - setSelectivityValue
    - getSampleOutputInfo
    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:5827,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5833
      start: 5825
    functionDepth: 1
    functionLinenumber: 5825
    functionLinenumberEnd: 5833
    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:5837,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5867
      start: 5835
    functionDepth: 3
    functionLinenumber: 5835
    functionLinenumberEnd: 5867
    functionName: tailFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:5876,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: 5879
      start: 5869
    functionDepth: 0
    functionLinenumber: 5869
    functionLinenumberEnd: 5879
    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:5885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5886
      start: 5882
    functionDepth: 1
    functionLinenumber: 5882
    functionLinenumberEnd: 5886
    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:5891,1
    - Dst: taosheapsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5892,1
    - Dst: tailAssignResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5895,1
    - Dst: taosheapadjust
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pInfo
    - data
    - ts
    - isNull
    argTypes:
    - STailInfo*
    - char*
    - TSKEY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5898
      start: 5888
    functionDepth: 1
    functionLinenumber: 5888
    functionLinenumberEnd: 5898
    functionName: doTailAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosheapadjust
    - taosheapsort
    - tailAssignResult
    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:5903,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5904,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5916,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5919,1
    - Dst: doTailAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5920,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5920,1
    - Dst: taosqsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5923,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5929,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5938
      start: 5901
    functionDepth: 2
    functionLinenumber: 5901
    functionLinenumberEnd: 5938
    functionName: tailFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - doTailAdd
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - taosqsort
    - TMIN
    - GET_ROWCELL_INTERBUF
    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:5942,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5943,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5949,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5962
      start: 5940
    functionDepth: 1
    functionLinenumber: 5940
    functionLinenumberEnd: 5962
    functionName: tailFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetVal
    - taosArrayGet
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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: 5969
      start: 5964
    functionDepth: 0
    functionLinenumber: 5964
    functionLinenumberEnd: 5969
    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:5973,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5977,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5982,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5984,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5988
      start: 5971
    functionDepth: 3
    functionLinenumber: 5971
    functionLinenumberEnd: 5988
    functionName: uniqueFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - taosHashInit
    - functionSetup
    - taosGetDefaultHashFunction
    - GET_ROWCELL_INTERBUF
    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:6007,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6007,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6008,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6013,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6015,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pInfo
    - data
    - ts
    - isNull
    argTypes:
    - SUniqueInfo*
    - char*
    - TSKEY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6020
      start: 5991
    functionDepth: 1
    functionLinenumber: 5991
    functionLinenumberEnd: 6020
    functionName: doUniqueAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - varDataTLen
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosHashPut
    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:6025,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6026,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6037,1
    - Dst: doUniqueAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6038,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6038,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6041,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6049,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6051,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6054,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6061
      start: 6023
    functionDepth: 2
    functionLinenumber: 6023
    functionLinenumberEnd: 6061
    functionName: uniqueFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_s
    - doUniqueAdd
    - colDataGetData
    - colDataSetNULL
    - GET_RES_INFO
    - colDataSetVal
    - taosHashCleanup
    - GET_ROWCELL_INTERBUF
    - 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: 6066
      start: 6063
    functionDepth: 0
    functionLinenumber: 6063
    functionLinenumberEnd: 6066
    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:6072,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6076,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6080,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6082,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6082,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6090,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6098
      start: 6068
    functionDepth: 3
    functionLinenumber: 6068
    functionLinenumberEnd: 6098
    functionName: modeFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosHashClear
    - taosHashInit
    - functionSetup
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - GET_ROWCELL_INTERBUF
    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:6101,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SModeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6104
      start: 6100
    functionDepth: 1
    functionLinenumber: 6100
    functionLinenumberEnd: 6104
    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:6107,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6107,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6107,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6110,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6110,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6111
      start: 6106
    functionDepth: 2
    functionLinenumber: 6106
    functionLinenumberEnd: 6111
    functionName: modeFunctionCleanupExt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - modeFunctionCleanup
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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:6114,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6116,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6116,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6117,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6118,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6118,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6120,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6120,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6123,1
    - Dst: doSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pCtx
    - data
    - pInfo
    - pPos
    argTypes:
    - SqlFunctionCtx*
    - char*
    - SModeInfo*
    - STuplePos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6127
      start: 6113
    functionDepth: 2
    functionLinenumber: 6113
    functionLinenumberEnd: 6127
    functionName: saveModeTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - varDataTLen
    - memcpy
    - IS_VAR_DATA_TYPE
    - doSaveTupleData
    - getJsonValueLen
    - blobDataTLen
    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:6132,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6133,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6138,1
    - Dst: saveModeTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6144,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6150,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6156,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6163,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: 6171
      start: 6129
    functionDepth: 3
    functionLinenumber: 6129
    functionLinenumberEnd: 6171
    functionName: doModeAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - saveModeTupleData
    - IS_VAR_DATA_TYPE
    - saveTupleData
    - calcStrBytesByType
    - taosHashPut
    - updateTupleData
    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:6174,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6175,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6185,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6190,1
    - Dst: doModeAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6191,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6193,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6199,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6201,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6210
      start: 6173
    functionDepth: 4
    functionLinenumber: 6173
    functionLinenumberEnd: 6210
    functionName: modeFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - modeFunctionCleanup
    - doModeAdd
    - colDataIsNull_s
    - colDataGetData
    - saveTupleData
    - GET_RES_INFO
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    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:6214,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6215,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6217,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6220,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6227,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6236,1
    - Dst: loadTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6241,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6244,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6244,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6246,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6250,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6252,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6255,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6257,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6258,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6264
      start: 6212
    functionDepth: 3
    functionLinenumber: 6212
    functionLinenumberEnd: 6264
    functionName: modeFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - modeFunctionCleanup
    - taosArrayGet
    - terrstr
    - taosHashIterate
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - setSelectivityValue
    - loadTupleData
    - qError
    - GET_ROWCELL_INTERBUF
    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: 6269
      start: 6266
    functionDepth: 0
    functionLinenumber: 6266
    functionLinenumberEnd: 6269
    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:6275,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6279,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6284
      start: 6271
    functionDepth: 3
    functionLinenumber: 6271
    functionLinenumberEnd: 6284
    functionName: twaFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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: 6298
      start: 6286
    functionDepth: 0
    functionLinenumber: 6286
    functionLinenumberEnd: 6298
    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:6305,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6306,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6309,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6314,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6319,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6332,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6332,1
    - Dst: twa_get_area
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6334,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6341,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6354,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6354,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6366,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6379,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6383,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6387,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6391,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6395,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6399,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6403,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6407,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6411,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6415,1
    - Dst: twa_get_area
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6426,1
    - Dst: twa_get_area
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6432,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6440,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 119
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6442
      start: 6300
    functionDepth: 4
    functionLinenumber: 6300
    functionLinenumberEnd: 6442
    functionName: twaFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - typeGetTypeModFromColInfo
    - GET_TYPED_DATA
    - funcInputUpdate
    - funcInputGetNextRow
    - twa_get_area
    - GET_RES_INFO
    - SET_VAL
    - INIT_INTP_POINT
    - GET_ROWCELL_INTERBUF
    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:6457,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6459,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - struct SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6475
      start: 6456
    functionDepth: 2
    functionLinenumber: 6456
    functionLinenumberEnd: 6475
    functionName: twaFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - functionFinalize
    - GET_ROWCELL_INTERBUF
    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:6481,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6485,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6488
      start: 6477
    functionDepth: 3
    functionLinenumber: 6477
    functionLinenumberEnd: 6488
    functionName: blockDistSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:6495,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6496,1
    - Dst: tDeserializeBlockDistInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6499,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6499,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6499,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6500,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6529
      start: 6490
    functionDepth: 1
    functionLinenumber: 6490
    functionLinenumberEnd: 6529
    functionName: blockDistFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - tDeserializeBlockDistInfo
    - GET_RES_INFO
    - qError
    - tListLen
    - varDataVal
    - GET_ROWCELL_INTERBUF
    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:6536,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6538,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6538,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6539,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6539,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6541,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6541,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6542,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6542,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6543,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6543,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6545,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6546,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6546,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6547,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6547,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6548,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6548,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6549,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6550,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6550,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6551,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6551,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6552,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6552,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6553,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6553,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6556,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6556,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6559,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - STableBlockDistInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6569
      start: 6531
    functionDepth: 1
    functionLinenumber: 6531
    functionLinenumberEnd: 6569
    functionName: tSerializeBlockDistInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - tEncodeU32
    - tListLen
    - TAOS_CHECK_EXIT
    - tEncodeI32
    - tStartEncode
    - tEncoderClear
    - tEndEncode
    - tEncodeU16
    - tEncoderInit
    - tEncodeU64
    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:6575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6577,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6578,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6578,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6580,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6580,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6581,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6581,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6582,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6582,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6584,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6584,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6585,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6585,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6586,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6586,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6587,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6587,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6588,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6588,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6589,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6589,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6590,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6590,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6591,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6591,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6592,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6592,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6595,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6595,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - STableBlockDistInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6601
      start: 6571
    functionDepth: 1
    functionLinenumber: 6571
    functionLinenumberEnd: 6601
    functionName: tDeserializeBlockDistInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - tDecoderInit
    - tDecoderClear
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeU64
    - tDecodeU32
    - tListLen
    - 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:6604,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6605,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6607,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6628,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6628,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6632,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6633,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6643,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6643,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6646,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6647,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6652,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6652,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6654,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6655,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6660,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6660,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6664,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6665,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6670,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6670,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6672,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6673,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6680,1
    - Dst: ceil
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6694,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6696,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6698,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6698,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6706,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6706,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6712,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6712,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6716,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6717,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6724
      start: 6603
    functionDepth: 1
    functionLinenumber: 6603
    functionLinenumberEnd: 6724
    functionName: blockDistFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - ceil
    - taosArrayGet
    - colDataSetVal
    - GET_RES_INFO
    - tsnprintf
    - tListLen
    - varDataVal
    - GET_ROWCELL_INTERBUF
    - varDataSetLen
    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:6729,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6733,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6735
      start: 6725
    functionDepth: 3
    functionLinenumber: 6725
    functionLinenumberEnd: 6735
    functionName: blockDBUsageSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:6741,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6742,1
    - Dst: tDeserializeBlockDbUsage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6745,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6745,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6745,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6755
      start: 6736
    functionDepth: 1
    functionLinenumber: 6736
    functionLinenumberEnd: 6755
    functionName: blockDBUsageFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - tDeserializeBlockDbUsage
    - GET_RES_INFO
    - qError
    - varDataVal
    - GET_ROWCELL_INTERBUF
    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:6762,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6764,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6764,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6766,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6766,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6767,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6767,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6768,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6768,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6770,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - SDBBlockUsageInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6780
      start: 6757
    functionDepth: 1
    functionLinenumber: 6757
    functionLinenumberEnd: 6780
    functionName: tSerializeBlockDbUsage
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - TAOS_CHECK_EXIT
    - tStartEncode
    - tEndEncode
    - tEncoderClear
    - tEncoderInit
    - tEncodeU64
    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:6785,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6787,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6787,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6788,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6788,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6789,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6789,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6790,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6790,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - SDBBlockUsageInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6795
      start: 6781
    functionDepth: 1
    functionLinenumber: 6781
    functionLinenumberEnd: 6795
    functionName: tDeserializeBlockDbUsage
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - tDecoderClear
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - 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:6797,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6798,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6800,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6813,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6813,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6815,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6815,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6818,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6819,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6825,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6825,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6826,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6832
      start: 6796
    functionDepth: 1
    functionLinenumber: 6796
    functionLinenumberEnd: 6832
    functionName: blockDBUsageFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - GET_RES_INFO
    - tsnprintf
    - varDataVal
    - GET_ROWCELL_INTERBUF
    - varDataSetLen
    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: 6837
      start: 6834
    functionDepth: 0
    functionLinenumber: 6834
    functionLinenumberEnd: 6837
    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:6843,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6854
      start: 6839
    functionDepth: 3
    functionLinenumber: 6839
    functionLinenumberEnd: 6854
    functionName: derivativeFuncSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: int32_t derivativeFuncSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6857,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6858,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6868,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6875,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6899,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6899,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6900,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6902,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6909,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6914,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6931,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6955,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6955,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6956,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6958,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6965,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6970,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6987
      start: 6856
    functionDepth: 4
    functionLinenumber: 6856
    functionLinenumberEnd: 6987
    functionName: derivativeFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - isnan
    - funcInputUpdate
    - funcInputGetNextRow
    - appendSelectivityCols
    - isinf
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t derivativeFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkBytes
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6989
      start: 6989
    functionDepth: 0
    functionLinenumber: 6989
    functionLinenumberEnd: 6989
    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:6993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - struct SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6995
      start: 6991
    functionDepth: 1
    functionLinenumber: 6991
    functionLinenumberEnd: 6995
    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:7001,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7014
      start: 6997
    functionDepth: 3
    functionLinenumber: 6997
    functionLinenumberEnd: 7014
    functionName: irateFuncSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:7022,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7023,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7027,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7034,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7035,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7039,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: 7042
      start: 7016
    functionDepth: 1
    functionLinenumber: 7016
    functionLinenumberEnd: 7042
    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: 7059
      start: 7044
    functionDepth: 0
    functionLinenumber: 7044
    functionLinenumberEnd: 7059
    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:7063,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7064,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7071,1
    - Dst: initializeRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7073,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7080,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7096,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7103,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7105,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7112,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7120,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7122
      start: 7061
    functionDepth: 4
    functionLinenumber: 7061
    functionLinenumberEnd: 7122
    functionName: irateFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - doSaveRateInfo
    - funcInputUpdate
    - initializeRateInfo
    - funcInputGetNextRow
    - GET_RES_INFO
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    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: 7144
      start: 7124
    functionDepth: 0
    functionLinenumber: 7124
    functionLinenumberEnd: 7144
    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:7148,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7150,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7152,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7156,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - inputKey
    - pInput
    - pOutput
    - isFirstKey
    argTypes:
    - TSKEY
    - SRateInfo*
    - SRateInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7163
      start: 7146
    functionDepth: 2
    functionLinenumber: 7146
    functionLinenumberEnd: 7163
    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:7166,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SRateInfo*
    - SRateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7168
      start: 7165
    functionDepth: 2
    functionLinenumber: 7165
    functionLinenumberEnd: 7168
    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:7178,1
    - Dst: irateTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7184,1
    - Dst: irateTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SRateInfo*
    - SRateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7193
      start: 7170
    functionDepth: 3
    functionLinenumber: 7170
    functionLinenumberEnd: 7193
    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:7202,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7202,1
    - Dst: initializeRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7203,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7207,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7208,1
    - Dst: initializeRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7209,1
    - Dst: irateTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7211,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7223
      start: 7195
    functionDepth: 4
    functionLinenumber: 7195
    functionLinenumberEnd: 7223
    functionName: irateFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - irateTransferInfo
    - initializeRateInfo
    - colDataGetData
    - GET_RES_INFO
    - varDataVal
    - GET_ROWCELL_INTERBUF
    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:7226,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7227,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7227,1
    - Dst: getIrateInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7228,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7229,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7234,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7234,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7235,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7240,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7244,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7248
      start: 7225
    functionDepth: 1
    functionLinenumber: 7225
    functionLinenumberEnd: 7248
    functionName: iratePartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - taosArrayGet
    - memcpy
    - taosMemoryFree
    - getIrateInfoSize
    - colDataSetVal
    - GET_RES_INFO
    - taosMemoryCalloc
    - GET_ROWCELL_INTERBUF
    - 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:7252,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7257,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7260,1
    - Dst: doCalcRate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7261,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7261,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7265
      start: 7250
    functionDepth: 1
    functionLinenumber: 7250
    functionLinenumberEnd: 7265
    functionName: irateFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - doCalcRate
    - taosArrayGet
    - GET_ROWCELL_INTERBUF
    - colDataSetVal
    - GET_RES_INFO
    - TSDB_TICK_PER_SECOND
    linkageType: ''
    returnType: int32_t
    signature: int32_t irateFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7268,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7269,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7281,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7287,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7288,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7289,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7290,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7292,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7300
      start: 7267
    functionDepth: 1
    functionLinenumber: 7267
    functionLinenumberEnd: 7300
    functionName: groupConstValueFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - colDataGetData
    - GET_RES_INFO
    - calcStrBytesByType
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    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:7302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7302
      start: 7302
    functionDepth: 2
    functionLinenumber: 7302
    functionLinenumberEnd: 7302
    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:7307,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7312,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7314,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7329
      start: 7304
    functionDepth: 1
    functionLinenumber: 7304
    functionLinenumberEnd: 7329
    functionName: groupConstValueFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetVal
    - taosArrayGet
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    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:7331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7331
      start: 7331
    functionDepth: 2
    functionLinenumber: 7331
    functionLinenumberEnd: 7331
    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:7334,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7335,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7337,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7338,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7351,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7352,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7353,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7355,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7364
      start: 7333
    functionDepth: 1
    functionLinenumber: 7333
    functionLinenumberEnd: 7364
    functionName: groupKeyCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - IS_VAR_DATA_TYPE
    - calcStrBytesByType
    - GET_RES_INFO
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    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:7369,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7370,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7384,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7391,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7392,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7394,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7396,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7406
      start: 7366
    functionDepth: 3
    functionLinenumber: 7366
    functionLinenumberEnd: 7406
    functionName: cachedLastRowFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - doSaveLastrow
    - colDataGetData
    - GET_RES_INFO
    - colDataIsNull
    - SET_VAL
    - getRowPTs
    - getKeyComparFunc
    - GET_ROWCELL_INTERBUF
    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: 7411
      start: 7408
    functionDepth: 0
    functionLinenumber: 7408
    functionLinenumberEnd: 7411
    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:7417,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7421,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7424
      start: 7413
    functionDepth: 3
    functionLinenumber: 7413
    functionLinenumberEnd: 7424
    functionName: corrFuncSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memset
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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:7431,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7431,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7437,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7438,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7442,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7442,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7450,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7450,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7454,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7455,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7474,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7476
      start: 7426
    functionDepth: 1
    functionLinenumber: 7426
    functionLinenumberEnd: 7476
    functionName: corrFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - typeGetTypeModFromColInfo
    - IS_NULL_TYPE
    - colDataGetData
    - colDataIsNull_f
    - GET_RES_INFO
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    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:7480,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7480,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7484,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7485,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7502,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7503,1
    - Dst: DBL_EQUAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7505,1
    - Dst: DBL_EQUAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7505,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7511,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7521,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7522
      start: 7478
    functionDepth: 2
    functionLinenumber: 7478
    functionLinenumberEnd: 7522
    functionName: corrFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionFinalize
    - GET_RES_INFO
    - sqrt
    - qError
    - GET_ROWCELL_INTERBUF
    - DBL_EQUAL
    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: 7524
      start: 7524
    functionDepth: 0
    functionLinenumber: 7524
    functionLinenumberEnd: 7524
    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:7527,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7528,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7528,1
    - Dst: getCorrInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7529,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7530,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7538,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7538,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7539,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7541,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7543,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7547,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7551
      start: 7526
    functionDepth: 1
    functionLinenumber: 7526
    functionLinenumberEnd: 7551
    functionName: corrPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - taosArrayGet
    - memcpy
    - taosMemoryFree
    - getCorrInfoSize
    - colDataSetVal
    - GET_RES_INFO
    - taosMemoryCalloc
    - GET_ROWCELL_INTERBUF
    - 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:7557,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7558,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7558,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7566,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7566,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7569,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7573,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7574,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7582,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7593,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7593,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7595
      start: 7553
    functionDepth: 1
    functionLinenumber: 7553
    functionLinenumberEnd: 7595
    functionName: corrFuncMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - TAOS_MEMCPY
    - colDataIsNull_s
    - colDataGetData
    - GET_RES_INFO
    - SET_VAL
    - varDataVal
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: int32_t corrFuncMerge(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
    - tHistogramCreateFrom
    - tLoserTreeCreate1
    - taosMemoryFree
    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:
    - taosMemoryCalloc
    - tSkipListCreateKey
    - tMergeTreePrint
    - SSkipListPrint
    - tSkipListRemoveNode
    - tMergeTreeAdjust
    - histoBinarySearch
    - SSkipListPut
    - tSkipListGetOne
    - printf
    - idx < 0 || idx >
    - histogramCreateBin
    - qError
    - tHistogramCreate
    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:
    - qError
    - histogramMergeImpl
    - 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
    - printf
    - sqrt
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t tHistogramUniform(SHistogramInfo* pHisto, double* ratio, int32_t
      num, double** pVal)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tHistogramCreate
      Src: /src/tdengine/source/libs/function/src/thistogram.c: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:
    - memcpy
    - histogramMergeImpl
    - tHistogramCreate
    - taosMemoryCalloc
    - taosMemoryFree
    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:
    - lua_pushnumber
    - luaL_checknumber
    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: 1
    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: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: luaLoadLib
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_call
    - lua_pushcfunction
    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: 2
    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: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: luaRemoveUnsupportedFunctions
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - lua_setglobal
    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:
    - varDataLen
    - IS_FLOAT_TYPE
    - lua_pushnumber
    - IS_SIGNED_NUMERIC_TYPE
    - lua_pushlstring
    - IS_UNSIGNED_NUMERIC_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: 1
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: taosLoadScriptInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_pcall
    - snprintf
    - lua_getglobal
    - lua_pop
    - 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:
    - taosValueToLuaType
    - lua_pushnumber
    - lua_rawseti
    - lua_pcall
    - snprintf
    - lua_getglobal
    - lua_tostring
    - lua_pop
    - luaValueToTaosType
    - lua_setglobal
    - lua_newtable
    - qError
    - lua_istable
    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_isfunction
    - lua_pcall
    - snprintf
    - lua_getglobal
    - lua_tostring
    - lua_pop
    - luaValueToTaosType
    - qError
    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_isfunction
    - lua_pushnumber
    - lua_pcall
    - snprintf
    - lua_getglobal
    - lua_tostring
    - lua_pop
    - luaValueToTaosType
    - lua_setglobal
    - qError
    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:
    - strlen
    - destroyScriptCtx
    - getScriptEnvFromPool
    - memcpy
    - lua_pop
    - lua_getglobal
    - lua_tostring
    - luaL_dostring
    - qError
    - taosMemoryCalloc
    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: 1
    functionLinenumber: 235
    functionLinenumberEnd: 295
    functionName: luaValueToTaosType
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 3
    functionsReached:
    - strlen
    - lua_pushnil
    - memcpy
    - lua_type
    - lua_pop
    - lua_tostring
    - lua_next
    - setNull
    - lua_tonumber
    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: 3
    functionLinenumber: 301
    functionLinenumberEnd: 327
    functionName: createLuaEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - luaRemoveUnsupportedFunctions
    - luaL_loadbuffer
    - strlen
    - lua_pcall
    - lua_open
    - luaRegisterLibFunc
    - 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: 4
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: scriptEnvPoolInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - createLuaEnv
    - tdListNew
    - tdListAppend
    - taosThreadMutexInit
    - taosGetDefaultHashFunction
    - taosHashInit
    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
    - destroyScriptEnv
    - tdListFree
    - listNodeFree
    - taosThreadMutexDestroy
    - tdListPopHead
    - taosMemoryFree
    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
    - taosHashCleanup
    - taosMemoryFree
    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
    - tdListPopHead
    - taosThreadMutexLock
    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:
    - lua_settop
    - tdListAppend
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    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: 1
    functionLinenumber: 402
    functionLinenumberEnd: 416
    functionName: hasBaseFuncDefinedInScript
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - strlen
    - lua_isfunction
    - memset
    - memcpy
    - lua_pop
    - 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:
    - strlen
    - getScriptEnvFromPool
    - hasBaseFuncDefinedInScript
    - addScriptEnvToPool
    - lua_pop
    - lua_getglobal
    - lua_tostring
    - luaL_dostring
    - qError
    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:31,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:32,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/function/src/builtins.c:33,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: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: buildFuncErrMsg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vsnprintf
    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:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pErrBuf
    - len
    - pFuncName
    argTypes:
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 39
    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:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pErrBuf
    - len
    - pFuncName
    argTypes:
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 43
    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:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pErrBuf
    - len
    - pFuncName
    argTypes:
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 47
    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:50,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:55,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:55,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:59,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 14
    argCount: 2
    argNames:
    - dbPrec
    - pVal
    argTypes:
    - uint8_t
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 70
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - hour
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: validateHourRange
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool validateHourRange(int8_t hour)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - hour
    - minute
    - sign
    argTypes:
    - int8_t
    - int8_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: validateMinuteRange
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool validateMinuteRange(int8_t hour, int8_t minute, char sign)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:101,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtins.c:102,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/function/src/builtins.c:115,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:120,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/function/src/builtins.c:121,1
    - Dst: validateHourRange
      Src: /src/tdengine/source/libs/function/src/builtins.c:122,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:126,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/function/src/builtins.c:127,1
    - Dst: validateMinuteRange
      Src: /src/tdengine/source/libs/function/src/builtins.c:128,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/function/src/builtins.c:144,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:149,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/function/src/builtins.c:150,1
    - Dst: validateHourRange
      Src: /src/tdengine/source/libs/function/src/builtins.c:151,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:155,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/function/src/builtins.c:156,1
    - Dst: validateMinuteRange
      Src: /src/tdengine/source/libs/function/src/builtins.c:157,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 173
    functionName: validateTimezoneFormat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - validateHourRange
    - memcpy
    - taosStr2Int8
    - isdigit
    - varDataVal
    - validateMinuteRange
    linkageType: ''
    returnType: bool
    signature: bool validateTimezoneFormat(const SValueNode* pVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtins.c:177,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:178,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/function/src/builtins.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pVal
    - isLtrim
    argTypes:
    - SValueNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: countTrailingSpaces
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - varDataLen
    - isspace
    linkageType: ''
    returnType: int32_t
    signature: int32_t countTrailingSpaces(const SValueNode* pVal, bool isLtrim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosTime
      Src: /src/tdengine/source/libs/function/src/builtins.c:195,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/libs/function/src/builtins.c:200,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/libs/function/src/builtins.c:201,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/builtins.c:203,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:206,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/function/src/builtins.c:211,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:213,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtins.c:220,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:222,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtins.c:225,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:226,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:226,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:228,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - pList
    - tz
    argTypes:
    - SNodeList*
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 234
    functionName: addTimezoneParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - taosLocalTime
    - strlen
    - tstrncpy
    - varDataVal
    - taosTime
    - nodesListAppend
    - nodesMakeNode
    - taosStrfTime
    - nodesDestroyNode
    - taosMemoryCalloc
    - taosStrndup
    - 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:238,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:252,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pList
    - param
    argTypes:
    - SNodeList**
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 258
    functionName: addUint8Param
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesListMakeAppend
    - nodesMakeNode
    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:262,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:267,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 5
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: addPseudoParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesListMakeAppend
    - nodesMakeNode
    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:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 282
    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:285,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 287
    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:290,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    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:295,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:296,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:297,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:298,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 300
    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:303,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:304,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:305,1
    - 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
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 308
    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:311,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:312,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:313,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:314,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 316
    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:319,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:320,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:321,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:322,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 324
    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:327,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:328,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 330
    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:333,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:334,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 336
    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: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
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 344
    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:347,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:348,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 350
    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: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
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:356,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 358
    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:361,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:362,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:363,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:364,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    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:369,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:370,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:371,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:372,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    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:377,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:378,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:379,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:380,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 382
    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:385,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:386,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:387,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:388,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 390
    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:393,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:394,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 396
    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:399,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:400,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:401,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 403
    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:406,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:407,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 409
    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:412,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 414
    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:417,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:418,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:419,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 421
    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:424,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 426
    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:429,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:430,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    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:435,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:436,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 438
    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:441,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:442,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 444
    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:447,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:448,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 450
    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:453,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:454,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: paramSupportValueNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:461,1
    - Dst: paramSupportOperatorNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:463,1
    - Dst: paramSupportFunctionNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:465,1
    - Dst: paramSupportLogicConNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:467,1
    - Dst: paramSupportCaseWhenNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:469,1
    - Dst: paramSupportColumnNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - pNode
    - typeFlag
    argTypes:
    - SNode*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 475
    functionName: paramSupportNodeType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - paramSupportFunctionNode
    - paramSupportCaseWhenNode
    - paramSupportValueNode
    - paramSupportColumnNode
    - paramSupportLogicConNode
    - paramSupportOperatorNode
    linkageType: ''
    returnType: bool
    signature: bool paramSupportNodeType(SNode* pNode, uint64_t typeFlag)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: paramSupportNull
      Src: /src/tdengine/source/libs/function/src/builtins.c:480,1
    - Dst: paramSupportBool
      Src: /src/tdengine/source/libs/function/src/builtins.c:482,1
    - Dst: paramSupportTinyint
      Src: /src/tdengine/source/libs/function/src/builtins.c:484,1
    - Dst: paramSupportSmallint
      Src: /src/tdengine/source/libs/function/src/builtins.c:486,1
    - Dst: paramSupportInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:488,1
    - Dst: paramSupportBigint
      Src: /src/tdengine/source/libs/function/src/builtins.c:490,1
    - Dst: paramSupportFloat
      Src: /src/tdengine/source/libs/function/src/builtins.c:492,1
    - Dst: paramSupportDouble
      Src: /src/tdengine/source/libs/function/src/builtins.c:494,1
    - Dst: paramSupportVarchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:496,1
    - Dst: paramSupportTimestamp
      Src: /src/tdengine/source/libs/function/src/builtins.c:498,1
    - Dst: paramSupportNchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:500,1
    - Dst: paramSupportUTinyInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:502,1
    - Dst: paramSupportUSmallInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:504,1
    - Dst: paramSupportUInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:506,1
    - Dst: paramSupportUBigInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:508,1
    - Dst: paramSupportJSON
      Src: /src/tdengine/source/libs/function/src/builtins.c:510,1
    - Dst: paramSupportVarBinary
      Src: /src/tdengine/source/libs/function/src/builtins.c:512,1
    - Dst: paramSupportGeometry
      Src: /src/tdengine/source/libs/function/src/builtins.c:514,1
    - Dst: paramSupportDecimal
      Src: /src/tdengine/source/libs/function/src/builtins.c:517,1
    - Dst: paramSupportBlob
      Src: /src/tdengine/source/libs/function/src/builtins.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 2
    argNames:
    - pDataType
    - typeFlag
    argTypes:
    - SDataType*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 524
    functionName: paramSupportDataType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - paramSupportNull
    - paramSupportNchar
    - paramSupportBigint
    - paramSupportDouble
    - paramSupportBool
    - paramSupportUSmallInt
    - paramSupportUInt
    - paramSupportInt
    - paramSupportTinyint
    - paramSupportUTinyInt
    - paramSupportTimestamp
    - paramSupportUBigInt
    - paramSupportBlob
    - paramSupportJSON
    - paramSupportSmallint
    - paramSupportVarchar
    - paramSupportVarBinary
    - paramSupportDecimal
    - paramSupportFloat
    - paramSupportGeometry
    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:530,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:532,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - binTypeStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 541
    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:553,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/function/src/builtins.c:556,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtins.c:557,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:560,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:561,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:565,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:566,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:567,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:568,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:569,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:571,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:571,1
    - Dst: cJSON_IsBool
      Src: /src/tdengine/source/libs/function/src/builtins.c:571,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:572,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:573,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:578,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:579,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:583,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:583,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:584,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:584,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:585,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:586,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtins.c:599,1
    - Dst: snprintf
      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: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:605,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: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:615,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:616,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:617,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:618,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:623,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:626,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:627,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:628,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:632,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:633,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:634,1
    - Dst: pow
      Src: /src/tdengine/source/libs/function/src/builtins.c:638,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:639,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:640,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:641,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:642,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:648,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:649,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:650,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/function/src/builtins.c:663,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/function/src/builtins.c:666,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:668,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:669,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtins.c:672,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtins.c:673,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:675,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:676,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:681,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:682,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:683,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:689,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:690,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:691,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:692,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:696,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:697,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:698,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:705,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:706,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:710,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:711,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: 713
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 713
    functionName: validateHistogramBinDesc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - taosMemoryCalloc
    - cJSON_IsObject
    - pow
    - cJSON_IsNumber
    - TSWAP
    - isinf
    - cJSON_GetArraySize
    - snprintf
    - cJSON_IsArray
    - cJSON_IsBool
    - cJSON_GetObjectItem
    - taosMemoryFree
    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:719,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pNode
    - range
    - isMatch
    argTypes:
    - SNode*
    - SParamRange
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 715
    functionDepth: 3
    functionLinenumber: 715
    functionLinenumberEnd: 734
    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:738,1
    - Dst: paramSupportVarchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:739,1
    - Dst: paramSupportNchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:739,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:755,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: 769
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 769
    functionName: checkFixedValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - taosStrcasecmp
    - paramSupportVarchar
    - paramSupportNchar
    - paramSupportVarBinary
    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:773,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:773,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 779
    functionName: checkPrimTS
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_TIMESTAMP_TYPE
    - nodeType
    - 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:783,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:783,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: checkPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_INTEGER_TYPE
    - nodeType
    - 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:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 791
    functionDepth: 4
    functionLinenumber: 791
    functionLinenumberEnd: 798
    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:802,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:802,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 807
    functionName: checkValueNodeNotNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - nodeType
    - 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:810,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:810,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:810,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:815,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:815,1
    - Dst: validateTimeUnitParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pNode
    - precision
    - isMatch
    argTypes:
    - SNode*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 825
    functionName: checkTimeUnit
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - nodeType
    - validateTimeUnitParam
    - 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:838,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:839,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:840,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:853,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:858,1
    - Dst: paramSupportNodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:865,1
    - Dst: paramSupportDataType
      Src: /src/tdengine/source/libs/function/src/builtins.c:871,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:871,1
    - Dst: checkRangeValue
      Src: /src/tdengine/source/libs/function/src/builtins.c:884,1
    - Dst: checkFixedValue
      Src: /src/tdengine/source/libs/function/src/builtins.c:887,1
    - Dst: checkPrimTS
      Src: /src/tdengine/source/libs/function/src/builtins.c:899,1
    - Dst: checkPrimaryKey
      Src: /src/tdengine/source/libs/function/src/builtins.c:902,1
    - Dst: checkHasColumn
      Src: /src/tdengine/source/libs/function/src/builtins.c:905,1
    - Dst: checkValueNodeNotNull
      Src: /src/tdengine/source/libs/function/src/builtins.c:908,1
    - Dst: checkTimeUnit
      Src: /src/tdengine/source/libs/function/src/builtins.c:911,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:932,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:934,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:936,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:938,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:941,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:944,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:947,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:950,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:953,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:956,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:959,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:961,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 108
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 826
    functionDepth: 5
    functionLinenumber: 826
    functionLinenumberEnd: 964
    functionName: validateParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - checkFixedValue
    - checkRangeValue
    - paramSupportNodeType
    - paramSupportDataType
    - checkPrimaryKey
    - checkHasColumn
    - checkTimeUnit
    - checkValueNodeNotNull
    - invaildFuncParaNumErrMsg
    - invaildFuncParaTypeErrMsg
    - invaildFuncParaValueErrMsg
    - buildFuncErrMsg
    - checkPrimTS
    - LIST_LENGTH
    - 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:968,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:968,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:969,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:969,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 967
    functionDepth: 6
    functionLinenumber: 967
    functionLinenumberEnd: 975
    functionName: translateOutNum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - nodesListGetNode
    - 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:979,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:979,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:981,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:981,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:982,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:983,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 978
    functionDepth: 6
    functionLinenumber: 978
    functionLinenumberEnd: 987
    functionName: translateMinMax
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - nodesListGetNode
    - FUNC_ERR_RET
    - IS_DECIMAL_TYPE
    - 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:990,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:990,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:995,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:996,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:998,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 989
    functionDepth: 6
    functionLinenumber: 989
    functionLinenumberEnd: 1014
    functionName: translateAvg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - decimalGetRetType
    - IS_DECIMAL_TYPE
    - 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:1018,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1017
    functionDepth: 6
    functionLinenumber: 1017
    functionLinenumberEnd: 1021
    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:1024,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1024,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1026,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1026,1
    - Dst: base64BufSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1023
    functionDepth: 6
    functionLinenumber: 1023
    functionLinenumberEnd: 1031
    functionName: translateBase64
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - base64BufSize
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateBase64(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 2
    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
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1036,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1036,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1039,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1043,1
    - Dst: countTrailingSpaces
      Src: /src/tdengine/source/libs/function/src/builtins.c:1045,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: 1051
      start: 1033
    functionDepth: 6
    functionLinenumber: 1033
    functionLinenumberEnd: 1051
    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:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1053
    functionDepth: 7
    functionLinenumber: 1053
    functionLinenumberEnd: 1055
    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:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1057
    functionDepth: 7
    functionLinenumber: 1057
    functionLinenumberEnd: 1059
    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:1063,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1062
    functionDepth: 6
    functionLinenumber: 1062
    functionLinenumberEnd: 1066
    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:1069,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1068
    functionDepth: 6
    functionLinenumber: 1068
    functionLinenumberEnd: 1072
    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:1075,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1075,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1077,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1077,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1080,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1080,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1082,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1084,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1086,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1089,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1074
    functionDepth: 6
    functionLinenumber: 1074
    functionLinenumberEnd: 1095
    functionName: translateSum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - nodesListGetNode
    - FUNC_ERR_RET
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - IS_DECIMAL_TYPE
    - IS_UNSIGNED_NUMERIC_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: 1103
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1103
    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:1110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1105
    functionDepth: 6
    functionLinenumber: 1105
    functionLinenumberEnd: 1118
    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:1121,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1121,1
    - Dst: addPseudoParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1120
    functionDepth: 6
    functionLinenumber: 1120
    functionLinenumberEnd: 1132
    functionName: translateRand
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - addPseudoParam
    - 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:1136,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1136,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1137,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1135
    functionDepth: 6
    functionLinenumber: 1135
    functionLinenumberEnd: 1139
    functionName: translateOutFirstIn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutFirstIn(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1183
    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: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1192
    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: 1201
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1201
    functionName: translateMaskPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateMaskPseudoColumn(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: 1208
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1208
    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:1211,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1211,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1210
    functionDepth: 6
    functionLinenumber: 1210
    functionLinenumberEnd: 1221
    functionName: translatePercentile
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - LIST_LENGTH
    - 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: 1227
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1227
    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:1230,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1233,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1233,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1239
    functionName: reserveFirstMergeParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesCloneNode
    - nodesListStrictAppend
    - 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:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1241
    functionDepth: 6
    functionLinenumber: 1241
    functionLinenumberEnd: 1243
    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:1246,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1249,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1249,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1245
    functionDepth: 6
    functionLinenumber: 1245
    functionLinenumberEnd: 1255
    functionName: apercentileCreateMergeParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - reserveFirstMergeParam
    - nodesListGetNode
    - nodesCloneNode
    - nodesListStrictAppend
    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:1258,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1261,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1261,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1257
    functionDepth: 5
    functionLinenumber: 1257
    functionLinenumberEnd: 1277
    functionName: gconcatCreateMergeParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesCloneNode
    - nodesListStrictAppend
    - 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: 1279
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1279
    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: 1281
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1281
    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:1284,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1284,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1285,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1285,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1287,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1289,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1291,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1283
    functionDepth: 6
    functionLinenumber: 1283
    functionLinenumberEnd: 1298
    functionName: translateCsum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - invaildFuncParaTypeErrMsg
    - IS_UNSIGNED_NUMERIC_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: 1300
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1300
    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:1303,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1303,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1305,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1305,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1302
    functionDepth: 6
    functionLinenumber: 1302
    functionLinenumberEnd: 1314
    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:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1319
    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:1322,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1322,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1321
    functionDepth: 6
    functionLinenumber: 1321
    functionLinenumberEnd: 1332
    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:1335,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1335,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1334
    functionDepth: 6
    functionLinenumber: 1334
    functionLinenumberEnd: 1338
    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:1341,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1347
    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:1350,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1352,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1361,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1361,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1362,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1363,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1367,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1367,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1368,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1369,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1374,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1374,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1376,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1379,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1380,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1381,1
    - Dst: taosAnalyGetOptStr
      Src: /src/tdengine/source/libs/function/src/builtins.c:1385,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1386,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1349
    functionDepth: 3
    functionLinenumber: 1349
    functionLinenumberEnd: 1394
    functionName: translateForecast
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - IS_MATHABLE_TYPE
    - nodeType
    - invaildFuncParaNumErrMsg
    - invaildFuncParaTypeErrMsg
    - taosAnalyGetOptStr
    - invaildFuncParaValueErrMsg
    - LIST_LENGTH
    - 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: 1399
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1399
    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: 1401
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1401
    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:1404,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1406,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1415,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1415,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1416,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1417,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1421,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1421,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1422,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1423,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1428,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1428,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1430,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1433,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1434,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1435,1
    - Dst: taosAnalyGetOptStr
      Src: /src/tdengine/source/libs/function/src/builtins.c:1439,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1403
    functionDepth: 3
    functionLinenumber: 1403
    functionLinenumberEnd: 1448
    functionName: translateImputation
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_MATHABLE_TYPE
    - nodeType
    - invaildFuncParaNumErrMsg
    - invaildFuncParaTypeErrMsg
    - taosAnalyGetOptStr
    - invaildFuncParaValueErrMsg
    - LIST_LENGTH
    - 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: 1450
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1450
    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:1453,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1452
    functionDepth: 6
    functionLinenumber: 1452
    functionLinenumberEnd: 1456
    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: 1461
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1461
    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:1464,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1464,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1465,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1465,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1468,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1468,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1463
    functionDepth: 6
    functionLinenumber: 1463
    functionLinenumberEnd: 1477
    functionName: translateDiff
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - IS_TIMESTAMP_TYPE
    - IS_SIGNED_NUMERIC_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:1480,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1485
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1489,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1489,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1490,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1498,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1499,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1506,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1507,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1508,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1510,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: 1532
      start: 1487
    functionDepth: 6
    functionLinenumber: 1487
    functionLinenumberEnd: 1532
    functionName: translateConcatImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    - LIST_LENGTH
    - 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:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1534
    functionDepth: 7
    functionLinenumber: 1534
    functionLinenumberEnd: 1536
    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:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1538
    functionDepth: 7
    functionLinenumber: 1538
    functionLinenumberEnd: 1540
    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:1543,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1543,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1545,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1551,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1542
    functionDepth: 6
    functionLinenumber: 1542
    functionLinenumberEnd: 1560
    functionName: translateGroupConcat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    - LIST_LENGTH
    - 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:1563,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1563,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1562
    functionDepth: 6
    functionLinenumber: 1562
    functionLinenumberEnd: 1567
    functionName: translateChar
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - LIST_LENGTH
    - 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:1570,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1569
    functionDepth: 6
    functionLinenumber: 1569
    functionLinenumberEnd: 1574
    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:1577,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1577,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1579,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1579,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1580,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1580,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1583,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1584,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1584,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1585,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1585,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1576
    functionDepth: 6
    functionLinenumber: 1576
    functionLinenumberEnd: 1598
    functionName: translateTrim
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    - addUint8Param
    - LIST_LENGTH
    - 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:1601,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1601,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1603,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1603,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1604,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1604,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1605,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1605,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1606,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1606,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1607,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1607,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1608,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1608,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:1619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1600
    functionDepth: 6
    functionLinenumber: 1600
    functionLinenumberEnd: 1622
    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:1625,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1625,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1627,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1627,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1628,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1628,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1630,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1630,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:1631,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1624
    functionDepth: 6
    functionLinenumber: 1624
    functionLinenumberEnd: 1637
    functionName: translateRepeat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - nodeType
    - TMAX
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRepeat(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1640,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1642,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1647,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1650,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1657,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1663,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1667,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1675,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1639
    functionDepth: 6
    functionLinenumber: 1639
    functionLinenumberEnd: 1681
    functionName: translateCast
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - invaildFuncParaTypeErrMsg
    - invaildFuncParaNumErrMsg
    - buildFuncErrMsg
    - addUint8Param
    - IS_STR_DATA_TYPE
    - LIST_LENGTH
    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:1684,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1684,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1685,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1688,1
    - Dst: validateTimezoneFormat
      Src: /src/tdengine/source/libs/function/src/builtins.c:1689,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1690,1
    - Dst: addTimezoneParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1683
    functionDepth: 6
    functionLinenumber: 1683
    functionLinenumberEnd: 1702
    functionName: translateToIso8601
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    - validateTimezoneFormat
    - buildFuncErrMsg
    - addTimezoneParam
    - LIST_LENGTH
    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:1705,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1705,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1706,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1709,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1715,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1704
    functionDepth: 6
    functionLinenumber: 1704
    functionLinenumberEnd: 1729
    functionName: translateToUnixtimestamp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    - LIST_LENGTH
    - addUint8Param
    - buildFuncErrMsg
    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:1732,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1731
    functionDepth: 6
    functionLinenumber: 1731
    functionLinenumberEnd: 1736
    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:1739,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1739,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1742,1
    - Dst: addTimezoneParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1738
    functionDepth: 6
    functionLinenumber: 1738
    functionLinenumberEnd: 1756
    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:1759,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1759,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1758
    functionDepth: 6
    functionLinenumber: 1758
    functionLinenumberEnd: 1771
    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:1774,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1773
    functionDepth: 6
    functionLinenumber: 1773
    functionLinenumberEnd: 1777
    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:1780,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1780,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1781,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1779
    functionDepth: 6
    functionLinenumber: 1779
    functionLinenumberEnd: 1785
    functionName: translateOutGeom
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    - getSDataTypeFromNode
    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:1788,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1788,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1789,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1787
    functionDepth: 6
    functionLinenumber: 1787
    functionLinenumberEnd: 1793
    functionName: translateInGeomOutStr
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    - getSDataTypeFromNode
    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:1796,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1795
    functionDepth: 6
    functionLinenumber: 1795
    functionLinenumberEnd: 1800
    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:1803,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1805,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1802
    functionDepth: 3
    functionLinenumber: 1802
    functionLinenumberEnd: 1810
    functionName: translateSelectValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - invaildFuncParaNumErrMsg
    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: 1815
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1815
    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: 1820
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1820
    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: 1824
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1824
    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:1827,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1830,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1826
    functionDepth: 3
    functionLinenumber: 1826
    functionLinenumberEnd: 1832
    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: 1837
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1837
    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: 1842
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1842
    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: 45
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1845,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1845,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1873,1
    - Dst: getSpreadInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1878,1
    - Dst: getApercentileMaxSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1881,1
    - Dst: getStdInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1886,1
    - Dst: getCorrInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1890,1
    - Dst: getAvgInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1895,1
    - Dst: getAvgInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1899,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1902,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/builtins.c:1916,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/builtins.c:1918,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/builtins.c:1922,1
    - Dst: getIrateInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1927,1
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1933,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1933,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1933,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1939,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1939,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 104
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1844
    functionDepth: 6
    functionLinenumber: 1844
    functionLinenumberEnd: 1951
    functionName: translateOutVarchar
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - getSDataTypeFromNode
    - strlen
    - FUNC_ERR_RET
    - taosHashGet
    - nodesListGetNode
    - getFirstLastInfoSize
    - getApercentileMaxSize
    - getCorrInfoSize
    - getSpreadInfoSize
    - getIrateInfoSize
    - getAvgInfoSize
    - getHistogramInfoSize
    - validateParam
    - getStdInfoSize
    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: 1955
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1955
    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:1958,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1958,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1959,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1963,1
    - Dst: validateHistogramBinType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1965,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:1965,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1967,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:1975,1
    - Dst: validateHistogramBinDesc
      Src: /src/tdengine/source/libs/function/src/builtins.c:1976,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1957
    functionDepth: 6
    functionLinenumber: 1957
    functionLinenumberEnd: 1982
    functionName: translateHistogramImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateHistogramBinDesc
    - validateParam
    - buildFuncErrMsg
    - validateHistogramBinType
    - varDataVal
    - LIST_LENGTH
    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:1985,1
    - Dst: translateHistogramImpl
      Src: /src/tdengine/source/libs/function/src/builtins.c:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1984
    functionDepth: 7
    functionLinenumber: 1984
    functionLinenumberEnd: 1988
    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:1990,1
    - Dst: translateHistogramImpl
      Src: /src/tdengine/source/libs/function/src/builtins.c:1990,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1989
    functionDepth: 7
    functionLinenumber: 1989
    functionLinenumberEnd: 1994
    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:1998,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1998,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:2004,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2005,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2005,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:2007,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:2020,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:2023,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/function/src/builtins.c:2024,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:2029,1
    - Dst: IS_COMPARE_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:2032,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/function/src/builtins.c:2033,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:2035,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:2039,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/function/src/builtins.c:2042,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 1997
    functionDepth: 6
    functionLinenumber: 1997
    functionLinenumberEnd: 2050
    functionName: translateGreatestleast
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - nodesListGetNode
    - FUNC_ERR_RET
    - IS_MATHABLE_TYPE
    - validateParam
    - vectorGetConvertType
    - TMAX
    - IS_COMPARE_STR_DATA_TYPE
    - LIST_LENGTH
    - 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:2053,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:2053,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:2058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2052
    functionDepth: 6
    functionLinenumber: 2052
    functionLinenumberEnd: 2066
    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:66,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:67,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:70,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:73,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:74,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:76,1
    - Dst: udfSpawnUdfd
      Src: /src/tdengine/source/libs/function/src/tudf.c:77,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:79,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: 82
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: udfUdfdExit
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - udfSpawnUdfd
    - atomic_load_32
    linkageType: ''
    returnType: void
    signature: void udfUdfdExit(uv_process_t *process, int64_t exitStatus, int32_t
      termSignal)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:85,1
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:86,1
    - Dst: GetModuleFileName
      Src: /src/tdengine/source/libs/function/src/tudf.c:95,1
    - Dst: TAOS_DIRNAME
      Src: /src/tdengine/source/libs/function/src/tudf.c:96,1
    - Dst: _NSGetExecutablePath
      Src: /src/tdengine/source/libs/function/src/tudf.c:99,1
    - Dst: TAOS_DIRNAME
      Src: /src/tdengine/source/libs/function/src/tudf.c:100,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/function/src/tudf.c:103,1
    - Dst: TAOS_DIRNAME
      Src: /src/tdengine/source/libs/function/src/tudf.c:104,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:108,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:109,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:111,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:113,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:114,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:116,1
    - Dst: TAOS_UV_LIB_ERROR_RET
      Src: /src/tdengine/source/libs/function/src/tudf.c:124,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:124,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:139,1
    - Dst: taosGetCpuCores
      Src: /src/tdengine/source/libs/function/src/tudf.c:142,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:144,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/tudf.c:146,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:147,1
    - Dst: uv_os_getenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:151,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:153,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:157,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:158,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:161,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:163,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:165,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:168,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:171,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:173,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:174,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:175,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:177,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:178,1
    - Dst: fnInfo
      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: ARRAY_SIZE
      Src: /src/tdengine/source/libs/function/src/tudf.c:190,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:196,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:203,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:204,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:210,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:215,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:216,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:222,1
    - Dst: uv_spawn
      Src: /src/tdengine/source/libs/function/src/tudf.c:232,1
    - Dst: CloseHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:237,1
    - Dst: CreateJobObject
      Src: /src/tdengine/source/libs/function/src/tudf.c:238,1
    - Dst: AssignProcessToJobObject
      Src: /src/tdengine/source/libs/function/src/tudf.c:239,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:241,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/tudf.c:244,1
    - Dst: SetInformationJobObject
      Src: /src/tdengine/source/libs/function/src/tudf.c:247,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:249,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:255,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:255,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:262,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:268,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:271,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 129
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SUdfdData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 275
    functionName: udfSpawnUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - fnInfo
    - getenv
    - taosMemoryMalloc
    - snprintf
    - fnError
    - CreateJobObject
    - CloseHandle
    - TAOS_STRNCAT
    - TAOS_DIRNAME
    - _NSGetExecutablePath
    - taosGetCpuCores
    - GetModuleFileName
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_strerror
    - uv_spawn
    - uv_os_getenv
    - TAOS_UV_LIB_ERROR_RET
    - taosMemoryCalloc
    - uv_pipe_init
    - strlen
    - tstrncpy
    - SetInformationJobObject
    - memset
    - ARRAY_SIZE
    - TAOS_STRCAT
    - AssignProcessToJobObject
    - TMAX
    - TAOS_STRNCPY
    - taosMemoryFree
    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:278,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/tudf.c:279,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: udfUdfdCloseWalkCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_close
    - uv_is_closing
    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:285,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/tudf.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: udfUdfdStopAsyncCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_stop
    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:291,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/function/src/tudf.c:293,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:293,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/function/src/tudf.c:294,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:294,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/function/src/tudf.c:296,1
    - Dst: udfSpawnUdfd
      Src: /src/tdengine/source/libs/function/src/tudf.c:296,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:297,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:298,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:299,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:300,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/function/src/tudf.c:302,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:303,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:304,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:305,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:306,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:312,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:313,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:314,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:315,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 321
    functionName: udfWatchUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - uv_run
    - uv_loop_init
    - atomic_store_32
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_async_init
    - udfSpawnUdfd
    - uv_walk
    - uv_loop_close
    - TAOS_UV_CHECK_ERRNO
    - fnError
    - uv_barrier_wait
    linkageType: ''
    returnType: void
    signature: void udfWatchUdfd(void *args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:326,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:330,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:335,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:336,1
    - Dst: uv_os_setenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:336,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:339,1
    - Dst: uv_barrier_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:339,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:340,1
    - Dst: uv_thread_create
      Src: /src/tdengine/source/libs/function/src/tudf.c:340,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:341,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:342,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:344,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:345,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:346,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/function/src/tudf.c:348,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:349,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:352,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:353,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - startDnodeId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 362
    functionName: udfStartUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - uv_barrier_destroy
    - uv_thread_join
    - uv_async_send
    - snprintf
    - uv_barrier_init
    - fnError
    - uv_os_setenv
    - atomic_load_32
    - uv_thread_create
    - uv_barrier_wait
    - TAOS_CHECK_GOTO
    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:366,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:367,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:370,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:372,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:373,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:374,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/function/src/tudf.c:376,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:377,1
    - Dst: CloseHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:381,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 385
    functionName: udfStopUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - uv_barrier_destroy
    - atomic_store_32
    - uv_thread_join
    - uv_async_send
    - fnError
    - atomic_load_32
    - CloseHandle
    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: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    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: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    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: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    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: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    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: 416
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 416
    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: 421
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 421
    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: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    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: 425
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 425
    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: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: QUEUE_INIT
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 27
    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: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    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: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    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: 459
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 459
    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: 467
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 467
    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: 475
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 475
    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: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    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:621,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:623,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/tudf.c:623,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:627,1
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:627,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:627,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:630,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pipeName
    - size
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 633
    functionName: getUdfdPipeName
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - fnInfo
    - strlen
    - MurmurHash3_32
    - fnError
    - uv_os_getenv
    - snprintf
    - 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:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - setup
    argTypes:
    - void**
    - SUdfSetupRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 639
    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:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - request
    argTypes:
    - void*
    - SUdfSetupRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 644
    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:648,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:649,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/function/src/tudf.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - state
    argTypes:
    - void**
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 652
    functionName: encodeUdfInterBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosEncodeBinary
    - taosEncodeFixedI8
    - taosEncodeFixedI32
    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:655,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:656,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/libs/function/src/tudf.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - state
    argTypes:
    - void*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: decodeUdfInterBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosDecodeFixedI32
    - taosDecodeFixedI8
    - taosDecodeBinary
    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:663,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:664,1
    - Dst: tEncodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:666,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:668,1
    - Dst: tEncodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:670,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:671,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - call
    argTypes:
    - void**
    - SUdfCallRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 679
    functionName: encodeUdfCallRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosEncodeFixedI64
    - tEncodeDataBlock
    - taosEncodeFixedI8
    - encodeUdfInterBuf
    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:682,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:683,1
    - Dst: tDecodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:686,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:689,1
    - Dst: tDecodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:692,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:693,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - call
    argTypes:
    - void*
    - SUdfCallRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 704
    functionName: decodeUdfCallRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - decodeUdfInterBuf
    - tDecodeDataBlock
    - taosDecodeFixedI64
    - taosDecodeFixedI8
    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:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - teardown
    argTypes:
    - void**
    - SUdfTeardownRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 710
    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:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - teardown
    argTypes:
    - void*
    - SUdfTeardownRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 715
    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:723,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:725,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:726,1
    - Dst: encodeUdfSetupRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:728,1
    - Dst: encodeUdfCallRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:730,1
    - Dst: encodeUdfTeardownRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - request
    argTypes:
    - void**
    - SUdfRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 717
    functionDepth: 3
    functionLinenumber: 717
    functionLinenumberEnd: 735
    functionName: encodeUdfRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosEncodeFixedI64
    - encodeUdfCallRequest
    - taosEncodeFixedI8
    - encodeUdfSetupRequest
    - POINTER_SHIFT
    - encodeUdfTeardownRequest
    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:739,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:741,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:742,1
    - Dst: decodeUdfSetupRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:745,1
    - Dst: decodeUdfCallRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:747,1
    - Dst: decodeUdfTeardownRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - request
    argTypes:
    - void*
    - SUdfRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 3
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: decodeUdfRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedI8
    - decodeUdfTeardownRequest
    - POINTER_SHIFT
    - decodeUdfCallRequest
    - decodeUdfSetupRequest
    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:756,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:757,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:758,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - setupRsp
    argTypes:
    - void**
    - SUdfSetupResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 761
    functionName: encodeUdfSetupResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosEncodeFixedI64
    - taosEncodeFixedI8
    - taosEncodeFixedI32
    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:764,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:765,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:766,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - setupRsp
    argTypes:
    - void*
    - SUdfSetupResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 769
    functionName: decodeUdfSetupResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosDecodeFixedI32
    - taosDecodeFixedI64
    - taosDecodeFixedI8
    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:773,1
    - Dst: tEncodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:776,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:779,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:782,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - callRsp
    argTypes:
    - void**
    - SUdfCallResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 792
    functionName: encodeUdfCallResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - tEncodeDataBlock
    - encodeUdfInterBuf
    - taosEncodeFixedI8
    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:795,1
    - Dst: tDecodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:798,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:801,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:804,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - callRsp
    argTypes:
    - void*
    - SUdfCallResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 814
    functionName: decodeUdfCallResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - decodeUdfInterBuf
    - tDecodeDataBlock
    - taosDecodeFixedI8
    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: 816
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 816
    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: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    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:825,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:831,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:834,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:835,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:836,1
    - Dst: encodeUdfSetupResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:840,1
    - Dst: encodeUdfCallResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:843,1
    - Dst: encodeUdfTeardownResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:846,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:849,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - buf
    - rsp
    argTypes:
    - void**
    - SUdfResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 820
    functionDepth: 3
    functionLinenumber: 820
    functionLinenumberEnd: 853
    functionName: encodeUdfResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 3
    functionsReached:
    - taosEncodeFixedI64
    - encodeUdfCallResponse
    - taosEncodeFixedI8
    - fnError
    - POINTER_SHIFT
    - encodeUdfTeardownResponse
    - taosEncodeFixedI32
    - encodeUdfSetupResponse
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeUdfResponse(void **buf, const SUdfResponse *rsp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:857,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:859,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:860,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:861,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:862,1
    - Dst: decodeUdfSetupResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:866,1
    - Dst: decodeUdfCallResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:869,1
    - Dst: decodeUdfTeardownResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:872,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:876,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - buf
    - rsp
    argTypes:
    - void*
    - SUdfResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 855
    functionDepth: 3
    functionLinenumber: 855
    functionLinenumberEnd: 884
    functionName: decodeUdfResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosDecodeFixedI64
    - decodeUdfCallResponse
    - taosDecodeFixedI8
    - fnError
    - POINTER_SHIFT
    - taosDecodeFixedI32
    - decodeUdfSetupResponse
    - decodeUdfTeardownResponse
    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:887,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/tudf.c:888,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:889,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:891,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:894,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - data
    - meta
    argTypes:
    - SUdfColumnData*
    - SUdfColumnMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 899
    functionName: freeUdfColumnData
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - taosMemoryFree
    - IS_VAR_DATA_TYPE
    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:902,1
    - Dst: freeUdfColumnData
      Src: /src/tdengine/source/libs/function/src/tudf.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - col
    argTypes:
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 904
    functionName: freeUdfColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - freeUdfColumnData
    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:907,1
    - Dst: freeUdfColumn
      Src: /src/tdengine/source/libs/function/src/tudf.c:909,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:910,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - block
    argTypes:
    - SUdfDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 906
    functionDepth: 3
    functionLinenumber: 906
    functionLinenumberEnd: 915
    functionName: freeUdfDataDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - freeUdfColumn
    - taosMemoryFree
    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:918,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: freeUdfInterBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 2
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - taosMemoryFree
    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:924,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/function/src/tudf.c:925,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:930,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:931,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:931,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:936,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:940,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/tudf.c:948,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:950,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:954,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/libs/function/src/tudf.c:955,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:956,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:965,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/function/src/tudf.c:966,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:967,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:969,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:971,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:975,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:978,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:980,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:985,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/libs/function/src/tudf.c:986,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:988,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:993,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 2
    argNames:
    - block
    - udfBlock
    argTypes:
    - SSDataBlock*
    - SUdfDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 997
    functionName: convertDataBlockToUdfDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - TAOS_UDF_CHECK_PTR_RCODE
    - IS_STR_DATA_BLOB
    - BitmapLen
    - varDataTLen
    - taosArrayGet
    - memcpy
    - IS_VAR_DATA_TYPE
    - blockDataCheck
    - taosArrayGetSize
    - getJsonValueLen
    - colDataGetLength
    - taosMemoryCalloc
    - blobDataTLen
    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:1000,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1004,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1005,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1006,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/function/src/tudf.c:1008,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1009,1
    - Dst: bdGetColumnInfoData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1012,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1013,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/src/tudf.c:1016,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1017,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1019,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/tudf.c:1020,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1021,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/function/src/tudf.c:1026,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1027,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - udfCol
    - block
    argTypes:
    - SUdfColumn*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1033
    functionName: convertUdfColumnToDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - udfColDataGetData
    - bdGetColumnInfoData
    - colDataSetNULL
    - colDataSetVal
    - udfColDataIsNull
    - blockDataCheck
    - fnError
    - createColumnInfoData
    - blockDataAppendColInfo
    - blockDataEnsureCapacity
    - TAOS_CHECK_GOTO
    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:1036,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1049,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1049,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1052,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/function/src/tudf.c:1052,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1055,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1058,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/function/src/tudf.c:1058,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/tudf.c:1063,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1065,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1067,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1069,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/tudf.c:1069,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1078,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - input
    - numOfCols
    - output
    argTypes:
    - SScalarParam*
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1081
    functionName: convertScalarParamToDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - colDataAssign
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - colDataSetVal
    - fnError
    - blockDataAppendColInfo
    - colDataSetNNULL
    - blockDataEnsureCapacity
    - TAOS_CHECK_GOTO
    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:1084,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1085,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1086,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1091,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1095,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - SSDataBlock*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1099
    functionName: convertDataBlockToScalarParm
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TAOS_UDF_CHECK_PTR_RCODE
    - taosArrayGet
    - memcpy
    - fnError
    - taosArrayGetSize
    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:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem1
    - elem2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1161
    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:1164,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1166,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1168,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/function/src/tudf.c:1169,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1171,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1173,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1179,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1182,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/function/src/tudf.c:1184,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1187,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1188,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1189,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/function/src/tudf.c:1191,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/function/src/tudf.c:1192,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1196,1
    - Dst: doSetupUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1198,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1201,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1204,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1205,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1206,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1207,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1208,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/function/src/tudf.c:1211,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 2
    argNames:
    - udfName
    - pHandle
    argTypes:
    - char*
    - UdfcFuncHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1220
    functionName: acquireUdfFuncHandle
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - TAOS_UDF_CHECK_PTR_RCODE
    - tstrncpy
    - uv_mutex_lock
    - taosArrayPush
    - uv_mutex_unlock
    - taosArrayGet
    - doSetupUdf
    - fnError
    - fnDebug
    - taosArraySearchIdx
    - taosArraySort
    - taosArrayRemove
    - taosGetTimestampUs
    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:1223,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1224,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1226,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/function/src/tudf.c:1227,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/function/src/tudf.c:1228,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1230,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - udfName
    - handle
    argTypes:
    - char*
    - UdfcFuncHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1240
    functionName: releaseUdfFuncHandle
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_mutex_lock
    - tstrncpy
    - uv_mutex_unlock
    - TAOS_UDF_CHECK_PTR_RVOID
    - taosArraySearch
    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:1244,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1246,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1249,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1250,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1252,1
    - Dst: doTeardownUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1254,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1256,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1260,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1261,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1264,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1242
    functionDepth: 1
    functionLinenumber: 1242
    functionLinenumberEnd: 1272
    functionName: cleanupExpiredUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGet
    - fnError
    - doTeardownUdf
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void cleanupExpiredUdfs()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:1275,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1277,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1281,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1282,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1284,1
    - Dst: doTeardownUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1285,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1287,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1291,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1292,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1295,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1303
    functionName: cleanupNotExpiredUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGet
    - fnError
    - doTeardownUdf
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void cleanupNotExpiredUdfs()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/function/src/tudf.c:1306,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1311,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1312,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1313,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1314,1
    - Dst: cleanupNotExpiredUdfs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1318,1
    - Dst: cleanupExpiredUdfs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1319,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1323
    functionName: cleanUpUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 3
    functionsReached:
    - uv_mutex_lock
    - cleanupNotExpiredUdfs
    - uv_mutex_unlock
    - cleanupExpiredUdfs
    - atomic_load_8
    - taosArrayGetSize
    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:1326,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1328,1
    - Dst: doCallUdfScalarFunc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1334,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1336,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1337,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1342,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1346,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1351,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: 1353
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1353
    functionName: callUdfScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - acquireUdfFuncHandle
    - doCallUdfScalarFunc
    - fnError
    - releaseUdfFuncHandle
    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:1357,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - struct SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1355
    functionDepth: 3
    functionLinenumber: 1355
    functionLinenumberEnd: 1365
    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:1368,1
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/tudf.c:1372,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1377,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1378,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/tudf.c:1382,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/tudf.c:1384,1
    - Dst: doCallUdfAggInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:1390,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1391,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1392,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1396,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1400,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1401,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1404,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - pCtx
    - pResultCellInfo
    argTypes:
    - struct SqlFunctionCtx*
    - struct SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1367
    functionDepth: 3
    functionLinenumber: 1367
    functionLinenumberEnd: 1407
    functionName: udfAggInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - acquireUdfFuncHandle
    - memset
    - memcpy
    - functionSetup
    - fnError
    - releaseUdfFuncHandle
    - doCallUdfAggInit
    - freeUdfInterBuf
    - GET_ROWCELL_INTERBUF
    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:1410,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1413,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1414,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/tudf.c:1419,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1419,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1428,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1437,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1438,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1439,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1445,1
    - Dst: doCallUdfAggProcess
      Src: /src/tdengine/source/libs/function/src/tudf.c:1454,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1456,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1460,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1464,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1469,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1471,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1473,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1474,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1476,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - struct SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1409
    functionDepth: 2
    functionLinenumber: 1409
    functionLinenumberEnd: 1479
    functionName: udfAggProcess
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - acquireUdfFuncHandle
    - taosArrayDestroy
    - doCallUdfAggProcess
    - taosMemoryFree
    - memcpy
    - fnError
    - releaseUdfFuncHandle
    - GET_RES_INFO
    - blockDataExtractBlock
    - freeUdfInterBuf
    - blockDataAppendColInfo
    - createDataBlock
    - GET_ROWCELL_INTERBUF
    - blockDataDestroy
    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:1482,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1485,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1486,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/tudf.c:1491,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1491,1
    - Dst: doCallUdfAggFinalize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1499,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1501,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1502,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1506,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1509,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1511,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1513,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1514,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1520,1
    - Dst: functionFinalizeWithResultBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1522,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - struct SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1481
    functionDepth: 2
    functionLinenumber: 1481
    functionLinenumberEnd: 1525
    functionName: udfAggFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - acquireUdfFuncHandle
    - functionFinalizeWithResultBuf
    - memcpy
    - fnError
    - releaseUdfFuncHandle
    - GET_RES_INFO
    - doCallUdfAggFinalize
    - freeUdfInterBuf
    - GET_ROWCELL_INTERBUF
    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:1529,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1530,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1531,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1533,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1534,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1536,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1540,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1541,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1542,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1544
    functionName: onUdfcPipeClose
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_sem_post
    - uv_mutex_lock
    - uv_mutex_unlock
    - QUEUE_EMPTY
    - QUEUE_DATA
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - taosMemoryFree
    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:1548,1
    - Dst: decodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:1552,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1555,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tudf.c:1577,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1581,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1587,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1592,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - task
    - uvTask
    argTypes:
    - SClientUdfTask*
    - SClientUvTaskNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1546
    functionDepth: 4
    functionLinenumber: 1546
    functionLinenumberEnd: 1596
    functionName: udfcGetUdfTaskResultFromUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnError
    - taosMemoryFreeClear
    - fnDebug
    - decodeUdfResponse
    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:1604,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1613,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1622,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1628,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1634,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: 1635
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1635
    functionName: udfcAllocateBuffer
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - fnError
    - fnDebug
    - taosMemoryRealloc
    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:1642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - connBuf
    argTypes:
    - SClientConnBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1646
    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:1652,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1653,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1658,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1659,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1662,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1668,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1672,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1673,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1677,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1678,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1679,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1680,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1682,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SClientUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1688
    functionName: udfcUvHandleRsp
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_buf_init
    - uv_sem_post
    - QUEUE_NEXT
    - fnError
    - QUEUE_EMPTY
    - fnDebug
    - QUEUE_DATA
    - QUEUE_REMOVE
    linkageType: ''
    returnType: void
    signature: void udfcUvHandleRsp(SClientUvConn *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1691,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1692,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1693,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1694,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1696,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1697,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1698,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/tudf.c:1700,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:1701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SClientUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1703
    functionName: udfcUvHandleError
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_sem_post
    - uv_close
    - QUEUE_EMPTY
    - fnDebug
    - QUEUE_DATA
    - uv_is_closing
    - QUEUE_REMOVE
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: void udfcUvHandleError(SClientUvConn *conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1706,1
    - Dst: isUdfcUvMsgComplete
      Src: /src/tdengine/source/libs/function/src/tudf.c:1713,1
    - Dst: udfcUvHandleRsp
      Src: /src/tdengine/source/libs/function/src/tudf.c:1714,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1718,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1718,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1720,1
    - Dst: udfcUvHandleError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1722,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: 1724
      start: 1705
    functionDepth: 2
    functionLinenumber: 1705
    functionLinenumberEnd: 1724
    functionName: onUdfcPipeRead
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_strerror
    - udfcUvHandleError
    - isUdfcUvMsgComplete
    - fnError
    - fnDebug
    - udfcUvHandleRsp
    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:1729,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1729,1
    - Dst: udfcUvHandleError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1730,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1732,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - write
    - status
    argTypes:
    - uv_write_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1726
    functionDepth: 2
    functionLinenumber: 1726
    functionLinenumberEnd: 1735
    functionName: onUdfcPipeWrite
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_strerror
    - udfcUvHandleError
    - fnError
    - fnDebug
    - taosMemoryFree
    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:1740,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1740,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/function/src/tudf.c:1744,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1746,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1746,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1749,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1750,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - connect
    - status
    argTypes:
    - uv_connect_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1752
    functionName: onUdfcPipeConnect
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_strerror
    - uv_sem_post
    - fnError
    - uv_read_start
    - QUEUE_REMOVE
    - taosMemoryFree
    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:1763,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1775,1
    - Dst: encodeUdfRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:1777,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1779,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1783,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1785,1
    - Dst: encodeUdfRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:1789,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1790,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1791,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1795,1
    - Dst: uv_sem_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1800,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tudf.c:1802,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1804,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - task
    - uvTaskType
    - uvTask
    argTypes:
    - SClientUdfTask*
    - int8_t
    - SClientUvTaskNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1754
    functionDepth: 4
    functionLinenumber: 1754
    functionLinenumberEnd: 1809
    functionName: udfcInitializeUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - uv_buf_init
    - taosMemoryFreeClear
    - atomic_fetch_add_64
    - fnError
    - encodeUdfRequest
    - taosMemoryFree
    - uv_sem_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:1812,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1814,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1815,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1816,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:1817,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1819,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1819,1
    - Dst: uv_sem_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:1823,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1824,1
    - Dst: uv_sem_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - uvTask
    argTypes:
    - SClientUvTaskNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1811
    functionDepth: 1
    functionLinenumber: 1811
    functionLinenumberEnd: 1828
    functionName: udfcQueueUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_mutex_lock
    - uv_strerror
    - uv_sem_destroy
    - uv_mutex_unlock
    - uv_async_send
    - fnError
    - fnDebug
    - uv_sem_wait
    - QUEUE_INSERT_TAIL
    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:1831,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1836,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1838,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1841,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1842,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1843,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1848,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1850,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1851,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1859,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1863,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1865,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1866,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1867,1
    - Dst: uv_pipe_connect
      Src: /src/tdengine/source/libs/function/src/tudf.c:1871,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1880,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1882,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1887,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/function/src/tudf.c:1888,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1890,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1891,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1891,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1903,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/tudf.c:1904,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:1905,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1912,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 1
    argNames:
    - uvTask
    argTypes:
    - SClientUvTaskNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1917
    functionName: udfcStartUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - uv_strerror
    - uv_close
    - uv_pipe_connect
    - uv_write
    - QUEUE_INIT
    - fnError
    - fnDebug
    - uv_is_closing
    - taosMemoryCalloc
    - uv_pipe_init
    - taosMemoryFree
    - QUEUE_INSERT_TAIL
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfcStartUvTask(SClientUvTaskNode *uvTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1923,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1924,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1925,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1927,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1928,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1929,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1930,1
    - Dst: udfcStartUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:1931,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1933,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1919
    functionDepth: 2
    functionLinenumber: 1919
    functionLinenumberEnd: 1939
    functionName: udfcAsyncTaskCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_mutex_lock
    - udfcStartUvTask
    - uv_sem_post
    - uv_mutex_unlock
    - QUEUE_EMPTY
    - QUEUE_DATA
    - QUEUE_MOVE
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - QUEUE_INSERT_TAIL
    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:1942,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1944,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1945,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1946,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1948,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1949,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1950,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1951,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1955,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1958,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1959,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1960,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1961,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - udfc
    argTypes:
    - SUdfcProxy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1967
    functionName: cleanUpUvTasks
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_mutex_lock
    - uv_sem_post
    - uv_mutex_unlock
    - QUEUE_EMPTY
    - fnDebug
    - QUEUE_DATA
    - QUEUE_MOVE
    - QUEUE_REMOVE
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: void cleanUpUvTasks(SUdfcProxy *udfc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanUpUvTasks
      Src: /src/tdengine/source/libs/function/src/tudf.c:1971,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/tudf.c:1973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1969
    functionDepth: 2
    functionLinenumber: 1969
    functionLinenumberEnd: 1975
    functionName: udfStopAsyncCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_stop
    - cleanUpUvTasks
    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:1980,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1981,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1983,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1984,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1986,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1987,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1989,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1990,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1991,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1992,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:1993,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:1995,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1996,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:1997,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/function/src/tudf.c:1999,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:2000,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2001,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:2003,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2006,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - argsThread
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1977
    functionDepth: 1
    functionLinenumber: 1977
    functionLinenumberEnd: 2009
    functionName: constructUdfService
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - uv_run
    - uv_loop_init
    - QUEUE_INIT
    - uv_async_init
    - uv_walk
    - fnError
    - uv_loop_close
    - uv_barrier_wait
    - uv_mutex_init
    - TAOS_CHECK_GOTO
    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:2013,1
    - Dst: getUdfdPipeName
      Src: /src/tdengine/source/libs/function/src/tudf.c:2018,1
    - Dst: uv_barrier_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2020,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2021,1
    - Dst: uv_thread_create
      Src: /src/tdengine/source/libs/function/src/tudf.c:2022,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2023,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/function/src/tudf.c:2024,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:2026,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2027,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2028,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2029,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:2030,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2032,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:2035,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2037,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2038,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2041,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2042,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2045,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2048,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2011
    functionDepth: 2
    functionLinenumber: 2011
    functionLinenumberEnd: 2050
    functionName: udfcOpen
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - fnInfo
    - taosArrayDestroy
    - atomic_store_8
    - taosArrayInit
    - getUdfdPipeName
    - atomic_val_compare_exchange_8
    - uv_barrier_init
    - fnError
    - uv_thread_create
    - uv_barrier_wait
    - uv_mutex_init
    - TAOS_CHECK_GOTO
    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:2053,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:2060,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2061,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/function/src/tudf.c:2063,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2064,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2066,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2067,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2068,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2069,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2070,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2071,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2052
    functionDepth: 1
    functionLinenumber: 2052
    functionLinenumberEnd: 2075
    functionName: udfcClose
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - fnInfo
    - uv_mutex_destroy
    - taosArrayDestroy
    - uv_barrier_destroy
    - uv_thread_join
    - uv_async_send
    - atomic_val_compare_exchange_8
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfcClose()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2079,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2081,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:2084,1
    - Dst: udfcInitializeUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2086,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2087,1
    - Dst: udfcQueueUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2088,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2089,1
    - Dst: udfcGetUdfTaskResultFromUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2090,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2091,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2100,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2102,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - task
    - uvTaskType
    argTypes:
    - SClientUdfTask*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2077
    functionDepth: 5
    functionLinenumber: 2077
    functionLinenumberEnd: 2107
    functionName: udfcRunUdfUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - udfcGetUdfTaskResultFromUvTask
    - fnError
    - fnDebug
    - udfcQueueUvTask
    - udfcInitializeUvTask
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    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:2110,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:2115,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tudf.c:2116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - task
    argTypes:
    - SClientUdfTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2109
    functionDepth: 1
    functionLinenumber: 2109
    functionLinenumberEnd: 2117
    functionName: freeTaskSession
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - uv_mutex_lock
    - uv_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void freeTaskSession(SClientUdfTask *task)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2121,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2123,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2126,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2128,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2129,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2136,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2138,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2139,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2141,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2142,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2149,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2152,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2157,1
    - Dst: freeTaskSession
      Src: /src/tdengine/source/libs/function/src/tudf.c:2159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 2
    argNames:
    - udfName
    - funcHandle
    argTypes:
    - char[]
    - UdfcFuncHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2119
    functionDepth: 6
    functionLinenumber: 2119
    functionLinenumberEnd: 2162
    functionName: doSetupUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 3
    functionsReached:
    - fnInfo
    - tstrncpy
    - freeTaskSession
    - udfcRunUdfUvTask
    - fnError
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    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:2166,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2169,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2172,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2174,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2209,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2211,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2237,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: 2239
      start: 2164
    functionDepth: 6
    functionLinenumber: 2164
    functionLinenumberEnd: 2239
    functionName: callUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - udfcRunUdfUvTask
    - fnError
    - fnDebug
    - taosMemoryCalloc
    - taosMemoryFree
    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:2244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - interBuf
    argTypes:
    - UdfcFuncHandle
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2241
    functionDepth: 7
    functionLinenumber: 2241
    functionLinenumberEnd: 2247
    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:2253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - block
    - state
    - newState
    argTypes:
    - UdfcFuncHandle
    - SSDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2251
    functionDepth: 7
    functionLinenumber: 2251
    functionLinenumberEnd: 2255
    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:2271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - interBuf
    - resultData
    argTypes:
    - UdfcFuncHandle
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2269
    functionDepth: 7
    functionLinenumber: 2269
    functionLinenumberEnd: 2273
    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:2278,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2280,1
    - Dst: callUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:2284,1
    - Dst: convertDataBlockToScalarParm
      Src: /src/tdengine/source/libs/function/src/tudf.c:2286,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2287,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/tudf.c:2290,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: 2292
      start: 2275
    functionDepth: 7
    functionLinenumber: 2275
    functionLinenumberEnd: 2292
    functionName: doCallUdfScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - blockDataFreeRes
    - fnError
    - callUdf
    - convertDataBlockToScalarParm
    - convertScalarParamToDataBlock
    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:2299,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2300,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2304,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2306,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2307,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2316,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2317,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2319,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2320,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2322,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2333,1
    - Dst: freeTaskSession
      Src: /src/tdengine/source/libs/function/src/tudf.c:2335,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - handle
    argTypes:
    - UdfcFuncHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2339
      start: 2294
    functionDepth: 6
    functionLinenumber: 2294
    functionLinenumberEnd: 2339
    functionName: doTeardownUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 4
    functionsReached:
    - fnInfo
    - freeTaskSession
    - udfcRunUdfUvTask
    - fnError
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    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: 2343
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2343
    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: 2344
      start: 2344
    functionDepth: 0
    functionLinenumber: 2344
    functionLinenumberEnd: 2344
    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: 2345
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2345
    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: 2346
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2346
    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: 2347
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2347
    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: 2350
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2350
    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:
    - _mm256_min_ps
    - EXTRACT_MIN_VAL
    - EXTRACT_MAX_VAL
    - _mm256_max_ps
    - uError
    - _mm256_loadu_ps
    - calculateRounds
    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_loadu_pd
    - EXTRACT_MAX_VAL
    - EXTRACT_MIN_VAL
    - uError
    - _mm256_min_pd
    - _mm256_max_pd
    - calculateRounds
    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: 32
    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:
    - memset
    - functionSetup
    - GET_ROWCELL_INTERBUF
    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_FLOAT_TYPE
    - SUM_RES_INC_DSUM
    - IS_SIGNED_NUMERIC_TYPE
    - GET_DOUBLE_VAL
    - AVG_RES_GET_DECIMAL_SUM
    - IS_DECIMAL_TYPE
    - CHECK_OVERFLOW_SUM_SIGNED
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_GET_SUM
    - IS_UNSIGNED_NUMERIC_TYPE
    - AVG_RES_INC_COUNT
    - CHECK_OVERFLOW_SUM_UNSIGNED
    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:
    - SUM_RES_INC_DSUM
    - AVG_RES_GET_DECIMAL_SUM
    - colDataIsNull_f
    - CHECK_OVERFLOW_SUM_SIGNED
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_GET_SUM
    - AVG_RES_INC_COUNT
    - CHECK_OVERFLOW_SUM_UNSIGNED
    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_NULL_TYPE
    - AVG_RES_INC_COUNT
    - SUM_RES_INC_DSUM
    - AVG_RES_GET_DECIMAL_SUM
    - calculateAvgBySMAInfo
    - doAddNumericVector
    - IS_DECIMAL_TYPE
    - SET_VAL
    - GET_RES_INFO
    - CHECK_OVERFLOW_SUM_SIGNED
    - AVG_RES_SET_INPUT_SCALE
    - AVG_RES_SET_TYPE
    - AVG_RES_GET_SUM
    - SUM_RES_INC_DECIMAL_SUM
    - GET_ROWCELL_INTERBUF
    - CHECK_OVERFLOW_SUM_UNSIGNED
    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:
    - AVG_RES_GET_COUNT
    - SUM_RES_INC_DSUM
    - IS_SIGNED_NUMERIC_TYPE
    - AVG_RES_GET_DECIMAL_SUM
    - IS_DECIMAL_TYPE
    - AVG_RES_SET_TYPE
    - AVG_RES_GET_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_GET_INPUT_SCALE
    - IS_NULL_TYPE
    - AVG_RES_GET_SUM_OVERFLOW
    - SUM_RES_GET_ISUM
    - SUM_RES_GET_DSUM
    - SUM_RES_GET_USUM
    - CHECK_OVERFLOW_SUM_UNSIGNED_BIG
    - AVG_RES_SET_INPUT_SCALE
    - AVG_RES_GET_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
    - colDataIsNull_s
    - colDataGetData
    - GET_RES_INFO
    - SET_VAL
    - varDataVal
    - GET_ROWCELL_INTERBUF
    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:
    - SUM_RES_GET_ISUM
    - AVG_RES_INC_COUNT
    - AVG_RES_GET_COUNT
    - SUM_RES_INC_DSUM
    - IS_SIGNED_NUMERIC_TYPE
    - SUM_RES_GET_USUM
    - AVG_RES_GET_DECIMAL_SUM
    - IS_DECIMAL_TYPE
    - GET_RES_INFO
    - SUM_RES_GET_DSUM
    - CHECK_OVERFLOW_SUM_SIGNED
    - SUM_RES_GET_DECIMAL_SUM
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_GET_SUM
    - AVG_RES_GET_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - GET_ROWCELL_INTERBUF
    - CHECK_OVERFLOW_SUM_UNSIGNED
    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:
    - AVG_RES_GET_COUNT
    - IS_SIGNED_NUMERIC_TYPE
    - AVG_RES_GET_DECIMAL_SUM
    - IS_DECIMAL_TYPE
    - AVG_RES_GET_DECIMAL_AVG
    - AVG_RES_GET_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - AVG_RES_GET_INPUT_SCALE
    - GET_ROWCELL_INTERBUF
    - SUM_RES_GET_ISUM
    - AVG_RES_GET_SUM_OVERFLOW
    - functionFinalize
    - taosArrayGet
    - isinf
    - SUM_RES_GET_DSUM
    - SUM_RES_GET_USUM
    - GET_RES_INFO
    - isnan
    - SUM_RES_GET_DECIMAL_SUM
    - AVG_RES_GET_SUM
    - AVG_RES_GET_AVG
    - decimalOp
    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:
    - varDataVal
    - taosArrayGet
    - memcpy
    - taosMemoryFree
    - colDataSetVal
    - GET_RES_INFO
    - taosMemoryCalloc
    - AVG_RES_GET_SIZE
    - GET_ROWCELL_INTERBUF
    - 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
    - __COMPARE_EXTRACT_MIN
    - i8VectorCmpAVX2
    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
    - __COMPARE_EXTRACT_MIN
    - i32VectorCmpAVX2
    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_MIN
    - __COMPARE_EXTRACT_MAX
    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_MIN
    - floatVectorCmpAVX2
    - __COMPARE_EXTRACT_MAX
    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:
    - doubleVectorCmpAVX2
    - __COMPARE_EXTRACT_MIN
    - __COMPARE_EXTRACT_MAX
    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: 66
    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:314,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:320,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:326,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:332,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:338,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:344,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:350,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:358,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:361,1
    - Dst: compareLenBinaryVal
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:364,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:366,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:366,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:368,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:380,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:383,1
    - Dst: compareLenPrefixedWStr
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:386,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:388,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:388,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:390,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:401,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:404,1
    - Dst: SDecimalOps*::gt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:407,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:407,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:408,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:410,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:418,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:421,1
    - Dst: SDecimalOps*::gt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:424,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:424,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:425,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:427,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:439,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:445,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:451,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:457,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:463,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:469,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:475,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:481,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:487,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:493,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:498,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:501,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:504,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:504,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:505,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:507,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:515,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:518,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:521,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:521,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:522,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:524,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:535,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:538,1
    - Dst: compareLenBinaryVal
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:541,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:543,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:543,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:545,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:558,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:561,1
    - Dst: compareLenPrefixedWStr
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:564,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:566,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:566,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:568,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 205
    argCount: 6
    argNames:
    - pCol
    - i
    - end
    - pCtx
    - pBuf
    - isMinFunc
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - SqlFunctionCtx*
    - SMinmaxResInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 580
    functionName: doExtractVal
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - getDecimalOps
    - varDataTLen
    - compareLenPrefixedWStr
    - memcpy
    - DECIMAL_WORD_NUM
    - colDataGetData
    - colDataIsNull_f
    - SDecimalOps*::gt
    - __COMPARE_ACQUIRED_MAX
    - colDataIsNull_var
    - compareLenBinaryVal
    - DECIMAL64_GET_VALUE
    - __COMPARE_ACQUIRED_MIN
    - updateTupleData
    - SDecimalOps*::lt
    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:585,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:586,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCtx
    - pInput
    - tval
    argTypes:
    - SqlFunctionCtx*
    - SInputColumnInfoData*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 582
    functionDepth: 3
    functionLinenumber: 582
    functionLinenumberEnd: 593
    functionName: saveRelatedTupleTag
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - saveTupleData
    linkageType: ''
    returnType: int32_t
    signature: int32_t saveRelatedTupleTag(SqlFunctionCtx* pCtx, SInputColumnInfoData*
      pInput, void* tval)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:605,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:606,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:609,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:614,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:622,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:630,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:630,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:632,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:634,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:637,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:639,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:643,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:645,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:646,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:648,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:652,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:654,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:655,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:661,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:663,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:664,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:670,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:672,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:673,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:676,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:677,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:677,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:678,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:679,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:682,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:683,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:683,1
    - Dst: DECIMAL128_CLONE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:684,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:685,1
    - Dst: findFirstValPosition
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:709,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:709,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:740,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:744,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:744,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:744,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:744,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:751,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:754,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:759,1
    - Dst: doExtractVal
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:772,1
    - Dst: handleInt8Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:779,1
    - Dst: handleInt16Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:783,1
    - Dst: handleInt32Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:787,1
    - Dst: handleInt64Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:791,1
    - Dst: handleInt8Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:795,1
    - Dst: handleInt16Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:799,1
    - Dst: handleInt32Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:803,1
    - Dst: handleInt64Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:807,1
    - Dst: handleFloatCol
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:811,1
    - Dst: handleDoubleCol
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:815,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:825,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 183
    argCount: 3
    argNames:
    - pCtx
    - isMinFunc
    - nElems
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 595
    functionDepth: 4
    functionLinenumber: 595
    functionLinenumberEnd: 835
    functionName: doMinMaxHelper
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - handleFloatCol
    - saveRelatedTupleTag
    - IS_SIGNED_NUMERIC_TYPE
    - IS_DECIMAL_TYPE
    - doExtractVal
    - DECIMAL128_CLONE
    - IS_UNSIGNED_NUMERIC_TYPE
    - GET_INT64_VAL
    - GET_ROWCELL_INTERBUF
    - IS_NULL_TYPE
    - varDataTLen
    - handleInt16Col
    - IS_STR_DATA_TYPE
    - GET_FLOAT_VAL
    - getDecimalOps
    - colDataGetData
    - saveTupleData
    - GET_RES_INFO
    - GET_UINT64_VAL
    - handleInt64Col
    - handleInt8Col
    - handleDoubleCol
    - GET_DOUBLE_VAL
    - memcpy
    - DECIMAL_WORD_NUM
    - findFirstValPosition
    - DECIMAL64_SET_VALUE
    - handleInt32Col
    - SDecimalOps*::lt
    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:643,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:645,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - pBuf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 641
    functionDepth: 4
    functionLinenumber: 641
    functionLinenumberEnd: 647
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 8
    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:652,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:654,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - pBuf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 650
    functionDepth: 4
    functionLinenumber: 650
    functionLinenumberEnd: 656
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 8
    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:661,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:663,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - pBuf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 665
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 8
    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:670,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:672,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - pBuf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 668
    functionDepth: 4
    functionLinenumber: 668
    functionLinenumberEnd: 674
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 8
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 266
    functionsReached:
    - walInit
    - TD_ALWAYS_ASSERT
    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: 54
    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: 14
    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:
    - init
    - logStoreCreate
    - logStoreSimplePrint2
    - createWal
    - TD_ALWAYS_ASSERT
    - cleanup
    - usage
    - atoi
    - createSyncNode
    - walClose
    - taosMemoryFree
    - logStoreDestory
    - exit
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 267
    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:
    - taosRemoveDir
    - walGetLastVer
    - walGetFirstVer
    - memset
    - TD_ALWAYS_ASSERT
    - printf
    - walOpen
    - walClose
    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:
    - taosRemoveDir
    - tstrerror
    - walGetLastVer
    - walAppendLog
    - memset
    - walGetFirstVer
    - TD_ALWAYS_ASSERT
    - printf
    - walOpen
    - walClose
    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:
    - walRestoreFromSnapshot
    - taosRemoveDir
    - walGetLastVer
    - memset
    - walGetFirstVer
    - TD_ALWAYS_ASSERT
    - printf
    - walOpen
    - walClose
    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:
    - walRestoreFromSnapshot
    - taosRemoveDir
    - tstrerror
    - walGetLastVer
    - walAppendLog
    - memset
    - walGetFirstVer
    - TD_ALWAYS_ASSERT
    - printf
    - walOpen
    - walClose
    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:
    - walRestoreFromSnapshot
    - taosRemoveDir
    - walGetLastVer
    - memset
    - walGetFirstVer
    - TD_ALWAYS_ASSERT
    - printf
    - walOpen
    - walClose
    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: 55
    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:
    - test2
    - init
    - test3
    - test4
    - test1
    - test5
    - cleanup
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 268
    functionsReached:
    - walInit
    - sprintf
    - syncInit
    - TD_ALWAYS_ASSERT
    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: 56
    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:
    - syncRpcMsgLog2
    - syncStr
    - snprintf
    - struct SSyncFSM*::FpGetSnapshotInfo
    - sTrace
    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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - createFsm
    - syncNodeRelease
    - syncNodeAcquire
    - TD_ALWAYS_ASSERT
    - taosGetFqdn
    - snprintf
    - syncOpen
    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: 15
    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:
    - taosMemoryMalloc
    - taosGetTimestampMs
    - memset
    - snprintf
    - rpcMallocCont
    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:
    - init
    - syncIOStop
    - snprintf
    - exit
    - cleanup
    - createWal
    - usage
    - walClose
    - syncNode2SimpleStr
    - rpcFreeCont
    - syncNodeRelease
    - syncStop
    - TD_ALWAYS_ASSERT
    - taosMsleep
    - createSyncNode
    - syncPropose
    - syncIOStart
    - syncStart
    - createRpcMsg
    - syncNodeAcquire
    - configChange
    - atoi
    - taosMemoryFree
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - TD_ALWAYS_ASSERT
    - syncIOQTimerStart
    - syncIOStop
    - logTest
    - taosMsleep
    - syncIOQTimerStop
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 269
    functionsReached:
    - walInit
    - taosMemoryMalloc
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    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: 57
    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:
    - init
    - logStoreCreate
    - syncLogLastIndex
    - taosRemoveDir
    - logStoreLog2
    - syncLogWriteIndex
    - TD_ALWAYS_ASSERT
    - syncLogEndIndex
    - syncLogIsEmpty
    - logStoreDestory
    - syncLogEntryCount
    - syncLogBeginIndex
    - syncLogLastTerm
    - cleanup
    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:
    - init
    - logStoreCreate
    - syncLogLastIndex
    - taosRemoveDir
    - logStoreLog2
    - syncLogWriteIndex
    - TD_ALWAYS_ASSERT
    - syncLogEndIndex
    - syncLogIsEmpty
    - syncLogRestoreFromSnapshot
    - logStoreDestory
    - syncLogEntryCount
    - syncLogBeginIndex
    - syncLogLastTerm
    - cleanup
    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:
    - init
    - logStoreCreate
    - syncLogLastIndex
    - taosRemoveDir
    - syncEntryBuild
    - logStoreLog2
    - syncLogWriteIndex
    - syncEntryDestory
    - TD_ALWAYS_ASSERT
    - syncLogAppendEntry
    - snprintf
    - syncLogEndIndex
    - syncLogIsEmpty
    - logStoreDestory
    - syncLogEntryCount
    - syncLogBeginIndex
    - syncLogLastTerm
    - cleanup
    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:
    - init
    - syncLogLastIndex
    - syncEntryDestory
    - snprintf
    - syncLogIsEmpty
    - cleanup
    - logStoreCreate
    - syncEntryBuild
    - logStoreLog2
    - syncLogAppendEntry
    - logStoreDestory
    - syncLogEntryCount
    - syncLogLastTerm
    - TD_ALWAYS_ASSERT
    - syncLogRestoreFromSnapshot
    - taosRemoveDir
    - syncLogWriteIndex
    - syncLogEndIndex
    - syncLogBeginIndex
    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:
    - init
    - syncLogLastIndex
    - syncEntryDestory
    - snprintf
    - syncLogIsEmpty
    - syncLogTruncate
    - cleanup
    - logStoreCreate
    - syncEntryBuild
    - logStoreLog2
    - syncLogAppendEntry
    - logStoreDestory
    - syncLogEntryCount
    - syncLogLastTerm
    - TD_ALWAYS_ASSERT
    - syncLogRestoreFromSnapshot
    - taosRemoveDir
    - syncLogWriteIndex
    - syncLogEndIndex
    - syncLogBeginIndex
    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:
    - init
    - syncLogLastIndex
    - syncEntryDestory
    - snprintf
    - printf
    - syncLogIsEmpty
    - syncLogTruncate
    - cleanup
    - logStoreCreate
    - syncEntryBuild
    - logStoreLog2
    - syncLogAppendEntry
    - logStoreDestory
    - syncLogEntryCount
    - syncLogLastTerm
    - walGetLastVer
    - TD_ALWAYS_ASSERT
    - syncLogRestoreFromSnapshot
    - taosRemoveDir
    - syncLogWriteIndex
    - walGetFirstVer
    - walIsEmpty
    - syncLogEndIndex
    - syncLogBeginIndex
    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:
    - test6
    - sTrace
    - 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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncPingBuild3
    - syncUtilAddr2U64
    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:
    - syncPingLog2
    - syncPingDestroy
    - createMsg
    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:
    - taosMemoryMalloc
    - syncPingSerialize
    - syncPingDestroy
    - syncPingLog2
    - createMsg
    - syncPingBuild
    - syncPingDeserialize
    - taosMemoryFree
    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
    - syncPingDestroy
    - syncPingLog2
    - syncPingDeserialize2
    - createMsg
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - syncPingFromRpcMsg
    - syncPing2RpcMsg
    - syncPingDestroy
    - syncPingLog2
    - createMsg
    - 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:
    - syncPingFromRpcMsg2
    - syncPing2RpcMsg
    - syncPingDestroy
    - syncPingLog2
    - createMsg
    - 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:
    - taosMemoryMalloc
    - syncPingDestroy
    - TD_ALWAYS_ASSERT
    - syncPingLog2
    - createMsg
    - syncPingSerialize3
    - taosMemoryFree
    - syncPingDeserialize3
    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:
    - test2
    - test6
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - taosMemoryMalloc
    - snprintf
    - snapshotSenderCreate
    - 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:
    - logTest
    - snapshotSender2Str
    - createSender
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 275
    functionsReached:
    - walInit
    - sprintf
    - syncInit
    - TD_ALWAYS_ASSERT
    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: 63
    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:
    - syncRpcMsgLog2
    - syncStr
    - snprintf
    - struct SSyncFSM*::FpGetSnapshotInfo
    - sTrace
    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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - snprintf
    - sTrace
    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:
    - snprintf
    - sTrace
    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:
    - taosMemoryMalloc
    - snprintf
    - sTrace
    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:
    - snprintf
    - sTrace
    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:
    - snprintf
    - sTrace
    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:
    - snprintf
    - sTrace
    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:
    - createFsm
    - syncNodeRelease
    - syncNodeAcquire
    - TD_ALWAYS_ASSERT
    - taosGetFqdn
    - snprintf
    - syncOpen
    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: 16
    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:
    - taosMemoryMalloc
    - taosGetTimestampMs
    - memset
    - snprintf
    - rpcMallocCont
    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:
    - init
    - syncIOStop
    - snprintf
    - exit
    - cleanup
    - createWal
    - usage
    - walClose
    - syncNode2SimpleStr
    - rpcFreeCont
    - syncNodeRelease
    - syncStop
    - TD_ALWAYS_ASSERT
    - taosMsleep
    - createSyncNode
    - syncPropose
    - syncIOStart
    - syncStart
    - createRpcMsg
    - syncNodeAcquire
    - configChange
    - atoi
    - taosMemoryFree
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncUtilAddr2U64
    - syncRequestVoteReplyBuild
    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
    - syncRequestVoteReplyDestroy
    - createMsg
    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:
    - taosMemoryMalloc
    - syncRequestVoteReplyDeserialize
    - syncRequestVoteReplyDestroy
    - syncRequestVoteReplyBuild
    - syncRequestVoteReplyLog2
    - syncRequestVoteReplySerialize
    - createMsg
    - taosMemoryFree
    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:
    - syncRequestVoteReplyDestroy
    - syncRequestVoteReplySerialize2
    - syncRequestVoteReplyLog2
    - createMsg
    - syncRequestVoteReplyDeserialize2
    - taosMemoryFree
    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:
    - syncRequestVoteReplyDestroy
    - syncRequestVoteReplyBuild
    - syncRequestVoteReplyLog2
    - createMsg
    - syncRequestVoteReplyFromRpcMsg
    - 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:
    - syncRequestVoteReplyDestroy
    - syncRequestVoteReplyLog2
    - syncRequestVoteReplyFromRpcMsg2
    - createMsg
    - 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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - strlen
    - fflush
    - printf
    - syncLeaderTransfer2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - syncLeaderTransfer2Str
    - taosMemoryFree
    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
    - syncLeaderTransferLog2
    - createMsg
    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:
    - taosMemoryMalloc
    - syncLeaderTransferDeserialize
    - syncLeaderTransferLog2
    - syncLeaderTransferBuild
    - syncLeaderTransferSerialize
    - syncLeaderTransferDestroy
    - createMsg
    - taosMemoryFree
    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:
    - syncLeaderTransferSerialize2
    - syncLeaderTransferLog2
    - syncLeaderTransferDestroy
    - createMsg
    - syncLeaderTransferDeserialize2
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - syncLeaderTransferLog2
    - createMsg
    - syncLeaderTransferFromRpcMsg
    - syncLeaderTransfer2RpcMsg
    - syncLeaderTransferDestroy
    - 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:
    - syncLeaderTransferFromRpcMsg2
    - syncLeaderTransferLog2
    - createMsg
    - syncLeaderTransfer2RpcMsg
    - syncLeaderTransferDestroy
    - 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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncRpcMsgLog2
    - syncStr
    - snprintf
    - struct SSyncFSM*::FpGetSnapshotInfo
    - sTrace
    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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - walInit
    - memset
    - TD_ALWAYS_ASSERT
    - taosGetFqdn
    - syncNodeStart
    - snprintf
    - syncNodeOpen
    - walOpen
    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:
    - printf
    - taosMemoryFree
    - syncUtilRaftId2Str
    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:
    - taosMemoryMalloc
    - snprintf
    - 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
    - syncRpcMsgLog2
    - step0
    - syncInitTest
    - sprintf
    - initRaftId
    - TD_ALWAYS_ASSERT
    - sNTrace
    - step1
    - taosMsleep
    - syncInit
    - atoi
    - initFsm
    - syncClientRequestLog2
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - snprintf
    - syncEntryBuild
    - 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:
    - taosMemoryMalloc
    - memset
    - 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:
    - ASSERT
    - raftCacheCreate
    - createFakeNode
    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:
    - ASSERT
    - raftCachePutEntry
    - syncEntryDestory
    - raftCacheLog2
    - raftCacheClear
    - raftCacheDelEntry
    - createCache
    - 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:
    - ASSERT
    - raftCacheGetEntryP
    - sTrace
    - raftCachePutEntry
    - syncEntryDestory
    - raftCacheLog2
    - syncEntryLog2
    - raftCacheGetEntry
    - createCache
    - 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:
    - ASSERT
    - raftCachePutEntry
    - syncEntryDestory
    - raftCacheLog2
    - createCache
    - 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:
    - ASSERT
    - raftCacheGetAndDel
    - raftCachePutEntry
    - syncEntryDestory
    - raftCacheLog2
    - syncEntryLog2
    - createCache
    - 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:
    - ASSERT
    - tSkipListIterGet
    - SL_GET_NODE_DATA
    - tSkipListCreateIter
    - syncEntryPrint2
    - tSkipListIterNext
    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:
    - ASSERT
    - tSkipListIterGet
    - tSkipListCreateIter
    - tSkipListRemoveNode
    - tSkipListIterNext
    - sTrace
    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:
    - ASSERT
    - taosArrayDestroy
    - taosArrayGet
    - SL_GET_NODE_DATA
    - tSkipListGet
    - syncEntryLog2
    - taosArrayGetSize
    - sTrace
    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:
    - ASSERT
    - tSkipListIterGet
    - tSkipListCreateIterFromVal
    - SL_GET_NODE_DATA
    - syncEntryLog2
    - tSkipListIterNext
    - sTrace
    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:
    - ASSERT
    - sTrace
    - tSkipListCreate
    - delSkipListFirst
    - tSkipListPut
    - getLogEntry
    - tSkipListDestroy
    - getLogEntry2
    - printSkipList
    - 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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncRequestVoteDestroy
    - createMsg
    - syncRequestVoteLog2
    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:
    - taosMemoryMalloc
    - syncRequestVoteBuild
    - syncRequestVoteSerialize
    - syncRequestVoteDeserialize
    - syncRequestVoteLog2
    - syncRequestVoteDestroy
    - createMsg
    - taosMemoryFree
    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:
    - syncRequestVoteDeserialize2
    - syncRequestVoteSerialize2
    - syncRequestVoteLog2
    - syncRequestVoteDestroy
    - createMsg
    - 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:
    - rpcFreeCont
    - syncRequestVoteBuild
    - syncRequestVoteFromRpcMsg
    - syncRequestVoteLog2
    - syncRequestVoteDestroy
    - createMsg
    - syncRequestVote2RpcMsg
    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:
    - syncRequestVote2RpcMsg
    - syncRequestVoteLog2
    - syncRequestVoteDestroy
    - createMsg
    - rpcFreeCont
    - syncRequestVoteFromRpcMsg2
    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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 276
    functionsReached:
    - walInit
    - TD_ALWAYS_ASSERT
    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: 64
    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: 17
    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:
    - init
    - logStoreCreate
    - walClose
    - createWal
    - TD_ALWAYS_ASSERT
    - cleanup
    - usage
    - atoi
    - createSyncNode
    - logStorePrint2
    - taosMemoryFree
    - logStoreDestory
    - exit
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - TD_ALWAYS_ASSERT
    - syncNodeOpen
    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:
    - sTrace
    - taosMemoryFree
    - syncUtilRaftId2Str
    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
    - syncInitTest
    - initRaftId
    - TD_ALWAYS_ASSERT
    - sNTrace
    - syncNodeClose
    - syncCleanUp
    - syncInit
    - atoi
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncIOStart
    - syncPingReplyBuild2
    - addEpIntoEpSet
    - syncIOSendMsg
    - syncPingReply2RpcMsg
    - TD_ALWAYS_ASSERT
    - taosSsleep
    - logTest
    - syncUtilAddr2U64
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 277
    functionsReached:
    - walInit
    - syncInit
    - TD_ALWAYS_ASSERT
    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: 65
    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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - snprintf
    - sTrace
    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:
    - snprintf
    - sTrace
    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:
    - taosMemoryMalloc
    - snprintf
    - sTrace
    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:
    - snprintf
    - sTrace
    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:
    - snprintf
    - sTrace
    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:
    - snprintf
    - sTrace
    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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - createFsm
    - syncNodeRelease
    - syncNodeAcquire
    - TD_ALWAYS_ASSERT
    - taosGetFqdn
    - snprintf
    - syncOpen
    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: 18
    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:
    - taosMemoryMalloc
    - taosGetTimestampMs
    - memset
    - snprintf
    - rpcMallocCont
    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:
    - init
    - taosCloseLog
    - sprintf
    - syncIOStop
    - snprintf
    - exit
    - cleanup
    - createWal
    - usage
    - walClose
    - syncNode2SimpleStr
    - rpcFreeCont
    - syncNodeRelease
    - syncStop
    - TD_ALWAYS_ASSERT
    - taosMsleep
    - createSyncNode
    - syncPropose
    - syncIOStart
    - syncStart
    - createRpcMsg
    - syncNodeAcquire
    - configChange
    - sInfo
    - syncLeaderTransfer
    - taosInitLog
    - atoi
    - taosMemoryFree
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - taosMemoryMalloc
    - snprintf
    - 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:
    - taosMemoryMalloc
    - snprintf
    - 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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - TD_ALWAYS_ASSERT
    - syncNodeOpen
    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:
    - printf
    - taosMemoryFree
    - syncUtilRaftId2Str
    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
    - syncInitTest
    - initRaftId
    - TD_ALWAYS_ASSERT
    - sNTrace
    - taosMsleep
    - syncNodeStopPingTimer
    - syncInit
    - syncNodeStartPingTimer
    - atoi
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 278
    functionsReached:
    - walInit
    - taosMemoryMalloc
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    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: 66
    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:
    - init
    - logStoreCreate
    - taosRemoveDir
    - logStoreLog2
    - pFsm::FpGetSnapshotInfo
    - syncNodeGetPreTerm
    - TD_ALWAYS_ASSERT
    - syncNodeGetPreIndex
    - logStoreDestory
    - syncNodeHasSnapshot
    - syncNodeGetLastIndex
    - syncNodeGetLastTerm
    - syncNodeSyncStartIndex
    - sTrace
    - cleanup
    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:
    - init
    - syncNodeGetPreTerm
    - syncEntryDestory
    - snprintf
    - syncNodeGetPreIndex
    - syncNodeHasSnapshot
    - syncNodeSyncStartIndex
    - cleanup
    - logStoreCreate
    - syncEntryBuild
    - logStoreLog2
    - syncLogAppendEntry
    - logStoreDestory
    - pFsm::FpGetSnapshotInfo
    - TD_ALWAYS_ASSERT
    - syncNodeGetLastTerm
    - taosRemoveDir
    - syncLogWriteIndex
    - syncNodeGetLastIndex
    - sTrace
    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:
    - init
    - logStoreCreate
    - taosRemoveDir
    - logStoreLog2
    - pFsm::FpGetSnapshotInfo
    - syncNodeGetPreTerm
    - TD_ALWAYS_ASSERT
    - syncNodeGetPreIndex
    - logStoreDestory
    - syncNodeHasSnapshot
    - syncNodeGetLastIndex
    - syncNodeGetLastTerm
    - syncNodeSyncStartIndex
    - sTrace
    - cleanup
    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:
    - init
    - syncNodeGetPreTerm
    - syncEntryDestory
    - snprintf
    - syncNodeGetPreIndex
    - syncNodeHasSnapshot
    - syncNodeSyncStartIndex
    - cleanup
    - logStoreCreate
    - syncEntryBuild
    - logStoreLog2
    - syncLogAppendEntry
    - logStoreDestory
    - pFsm::FpGetSnapshotInfo
    - TD_ALWAYS_ASSERT
    - syncNodeGetLastTerm
    - taosRemoveDir
    - syncLogWriteIndex
    - syncNodeGetLastIndex
    - sTrace
    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:
    - init
    - syncNodeGetPreTerm
    - syncEntryDestory
    - snprintf
    - syncNodeGetPreIndex
    - syncNodeHasSnapshot
    - syncNodeSyncStartIndex
    - cleanup
    - logStoreCreate
    - syncEntryBuild
    - logStoreLog2
    - syncLogAppendEntry
    - logStoreDestory
    - pFsm::FpGetSnapshotInfo
    - TD_ALWAYS_ASSERT
    - syncLogRestoreFromSnapshot
    - syncNodeGetLastTerm
    - taosRemoveDir
    - syncLogWriteIndex
    - syncNodeGetLastIndex
    - sTrace
    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:
    - test2
    - test3
    - test1
    - test4
    - atoi
    - test5
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncPreSnapshotLog2
    - createMsg
    - syncPreSnapshotDestroy
    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:
    - taosMemoryMalloc
    - syncPreSnapshotDeserialize
    - syncPreSnapshotDestroy
    - syncPreSnapshotBuild
    - syncPreSnapshotLog2
    - syncPreSnapshotSerialize
    - createMsg
    - 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:
    - syncPreSnapshotDeserialize2
    - syncPreSnapshotDestroy
    - syncPreSnapshotLog2
    - createMsg
    - syncPreSnapshotSerialize2
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - syncPreSnapshotFromRpcMsg
    - syncPreSnapshot2RpcMsg
    - syncPreSnapshotLog2
    - createMsg
    - syncPreSnapshotDestroy
    - rpcFreeCont
    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:
    - syncPreSnapshotFromRpcMsg2
    - syncPreSnapshot2RpcMsg
    - syncPreSnapshotLog2
    - createMsg
    - syncPreSnapshotDestroy
    - 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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 283
    functionsReached:
    - walInit
    - taosMemoryMalloc
    - taosRemoveDir
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    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: 71
    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:
    - logStoreCreate
    - syncLogLastIndex
    - syncEntryBuild
    - logStoreLog2
    - syncEntryDestory
    - TD_ALWAYS_ASSERT
    - syncLogAppendEntry
    - snprintf
    - syncEntryLog2
    - syncLogTruncate
    - logStoreDestory
    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:
    - init
    - taosMsleep
    - logStoreTest
    - cleanup
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncPingBuild3
    - syncUtilAddr2U64
    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:
    - taosMemoryMalloc
    - memset
    - strcpy
    - syncBuildClientRequest
    - memcpy
    - rpcMallocCont
    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:
    - syncUtilAddr2U64
    - syncRequestVoteReplyBuild
    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:
    - syncTimeoutDestroy
    - createSyncTimeout
    - syncTimeout2RpcMsg
    - syncRpcMsgLog2
    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:
    - syncPingDestroy
    - createSyncPing
    - syncRpcMsgLog2
    - syncPing2RpcMsg
    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:
    - syncPingReplyDestroy
    - syncPingReply2RpcMsg
    - syncRpcMsgLog2
    - createSyncPingReply
    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:
    - syncRequestVoteDestroy
    - syncRpcMsgLog2
    - createSyncRequestVote
    - syncRequestVote2RpcMsg
    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:
    - syncRequestVoteReplyDestroy
    - syncRpcMsgLog2
    - createSyncRequestVoteReply
    - syncRequestVoteReply2RpcMsg
    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:
    - syncAppendEntriesReplyDestroy
    - createSyncAppendEntriesReply
    - syncAppendEntriesReply2RpcMsg
    - syncRpcMsgLog2
    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:
    - createSyncClientRequest
    - syncRpcMsgLog2
    - taosMemoryFree
    - syncClientRequest2RpcMsg
    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:
    - test2
    - test6
    - test8
    - test3
    - test7
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - taosMemoryFree
    - printf
    - syncUtilRaftId2Str
    - 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:
    - logTest
    - initRaftId
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncTimeoutDestroy
    - createMsg
    - 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:
    - taosMemoryMalloc
    - syncTimeoutDestroy
    - syncTimeoutBuildX
    - syncTimeoutDeserialize
    - syncTimeoutSerialize
    - createMsg
    - syncTimeoutLog2
    - taosMemoryFree
    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:
    - syncTimeoutDestroy
    - syncTimeoutSerialize2
    - syncTimeoutDeserialize2
    - createMsg
    - syncTimeoutLog2
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - syncTimeoutDestroy
    - syncTimeoutFromRpcMsg
    - createMsg
    - syncTimeoutLog2
    - syncTimeout2RpcMsg
    - 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:
    - syncTimeoutDestroy
    - syncTimeoutFromRpcMsg2
    - createMsg
    - syncTimeoutLog2
    - syncTimeout2RpcMsg
    - 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:
    - syncTimeout2Str
    - syncUtilJson2Line
    - snprintf
    - createMsg
    - sTrace
    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:
    - test2
    - test6
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncIndexMgrClear
    - TD_ALWAYS_ASSERT
    - syncIndexMgrCreate
    - printf
    - syncIndexMgr2Str
    - syncIndexMgrGetIndex
    - atoi
    - syncIndexMgrDestroy
    - syncIndexMgrSetIndex
    - syncNodeInit
    - taosMemoryFree
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - TD_ALWAYS_ASSERT
    - syncNodeOpen
    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:
    - printf
    - taosMemoryFree
    - syncUtilRaftId2Str
    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:
    - syncIOStart
    - syncNode2Str
    - voteGrantedVote
    - syncRequestVoteReplyBuild
    - voteGrantedCreate
    - syncInitTest
    - initRaftId
    - TD_ALWAYS_ASSERT
    - voteGrantedDestroy
    - printf
    - voteGrantedReset
    - syncInit
    - atoi
    - voteGranted2Str
    - taosMemoryFree
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncAppendEntriesLog2
    - createMsg
    - 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:
    - taosMemoryMalloc
    - syncAppendEntriesSerialize
    - syncAppendEntriesDestroy
    - syncAppendEntriesDeserialize
    - syncAppendEntriesBuild
    - createMsg
    - syncAppendEntriesLog2
    - taosMemoryFree
    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:
    - syncAppendEntriesDestroy
    - syncAppendEntriesDeserialize2
    - syncAppendEntriesSerialize2
    - createMsg
    - syncAppendEntriesLog2
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - syncAppendEntries2RpcMsg
    - syncAppendEntriesDestroy
    - syncAppendEntriesFromRpcMsg
    - createMsg
    - syncAppendEntriesLog2
    - 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:
    - syncAppendEntries2RpcMsg
    - syncAppendEntriesDestroy
    - syncAppendEntriesFromRpcMsg2
    - createMsg
    - syncAppendEntriesLog2
    - 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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - TD_ALWAYS_ASSERT
    - syncNodeOpen
    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:
    - printf
    - taosMemoryFree
    - syncUtilRaftId2Str
    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
    - syncInitTest
    - initRaftId
    - TD_ALWAYS_ASSERT
    - sNTrace
    - taosMsleep
    - syncInit
    - syncNodeStartPingTimer
    - atoi
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - snprintf
    - syncSnapshotSendBuild
    - strcpy
    - 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:
    - syncSnapshotSendLog2
    - createMsg
    - syncSnapshotSendDestroy
    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:
    - taosMemoryMalloc
    - syncSnapshotSendDestroy
    - syncSnapshotSendDeserialize
    - createMsg
    - syncSnapshotSendBuild
    - syncSnapshotSendSerialize
    - syncSnapshotSendLog2
    - taosMemoryFree
    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:
    - syncSnapshotSendDestroy
    - syncSnapshotSendSerialize2
    - syncSnapshotSendDeserialize2
    - createMsg
    - syncSnapshotSendLog2
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - syncSnapshotSend2RpcMsg
    - syncSnapshotSendDestroy
    - syncSnapshotSendFromRpcMsg
    - createMsg
    - syncSnapshotSendLog2
    - rpcFreeCont
    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
    - syncSnapshotSendFromRpcMsg2
    - syncSnapshotSendDestroy
    - createMsg
    - syncSnapshotSendLog2
    - rpcFreeCont
    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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - taosMemoryMalloc
    - snprintf
    - 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:
    - taosMemoryMalloc
    - snprintf
    - 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
    - createSyncCfg
    - TD_ALWAYS_ASSERT
    - syncCfg2Str
    - taosMemoryFree
    - syncCfgFromStr
    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:
    - createSyncCfg
    - printf
    - taosMemoryFree
    - taosCheckExistFile
    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:
    - test2
    - test3
    - logTest
    - test4
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncPingReplyDestroy
    - syncPingReplyLog2
    - createMsg
    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:
    - taosMemoryMalloc
    - syncPingReplyLog2
    - syncPingReplyBuild
    - syncPingReplyDestroy
    - syncPingReplySerialize
    - createMsg
    - syncPingReplyDeserialize
    - taosMemoryFree
    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:
    - syncPingReplyLog2
    - syncPingReplyDestroy
    - syncPingReplySerialize2
    - syncPingReplyDeserialize2
    - createMsg
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - syncPingReplyLog2
    - syncPingReplyDestroy
    - syncPingReply2RpcMsg
    - syncPingReplyFromRpcMsg
    - createMsg
    - 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:
    - syncPingReplyLog2
    - syncPingReplyFromRpcMsg2
    - syncPingReplyDestroy
    - syncPingReply2RpcMsg
    - createMsg
    - 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:
    - taosMemoryMalloc
    - syncPingReplyLog2
    - syncPingReplyDestroy
    - syncPingReplyDeserialize3
    - syncPingReplySerialize3
    - TD_ALWAYS_ASSERT
    - createMsg
    - taosMemoryFree
    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:
    - test2
    - test6
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncUtilAddr2U64
    - syncPreSnapshotReplyBuild
    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:
    - syncPreSnapshotReplyDestroy
    - createMsg
    - syncPreSnapshotReplyLog2
    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:
    - taosMemoryMalloc
    - syncPreSnapshotReplySerialize
    - taosMemoryFree
    - syncPreSnapshotReplyDeserialize
    - createMsg
    - syncPreSnapshotReplyDestroy
    - syncPreSnapshotReplyLog2
    - syncPreSnapshotReplyBuild
    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:
    - syncPreSnapshotReplySerialize2
    - syncPreSnapshotReplyLog2
    - createMsg
    - syncPreSnapshotReplyDestroy
    - syncPreSnapshotReplyDeserialize2
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - syncPreSnapshotReplyLog2
    - createMsg
    - syncPreSnapshotReplyDestroy
    - syncPreSnapshotReplyFromRpcMsg
    - rpcFreeCont
    - syncPreSnapshotReply2RpcMsg
    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:
    - syncPreSnapshotReplyFromRpcMsg2
    - createMsg
    - syncPreSnapshotReplyDestroy
    - syncPreSnapshotReplyLog2
    - rpcFreeCont
    - syncPreSnapshotReply2RpcMsg
    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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - TD_ALWAYS_ASSERT
    - syncNodeOpen
    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:
    - printf
    - taosMemoryFree
    - syncUtilRaftId2Str
    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
    - syncInitTest
    - initRaftId
    - TD_ALWAYS_ASSERT
    - sNTrace
    - syncNodePingSelf
    - taosMsleep
    - syncInit
    - atoi
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - taosMemoryMalloc
    - snapshotReceiverCreate
    - 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:
    - logTest
    - createReceiver
    - sTrace
    - snapshotReceiver2Str
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncAppendEntriesReplyBuild
    - syncUtilAddr2U64
    - taosGetTimestampMs
    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:
    - syncAppendEntriesReplyDestroy
    - syncAppendEntriesReplyLog2
    - createMsg
    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:
    - taosMemoryMalloc
    - syncAppendEntriesReplyDeserialize
    - syncAppendEntriesReplyBuild
    - syncAppendEntriesReplySerialize
    - createMsg
    - syncAppendEntriesReplyLog2
    - syncAppendEntriesReplyDestroy
    - 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:
    - syncAppendEntriesReplySerialize2
    - syncAppendEntriesReplyLog2
    - createMsg
    - syncAppendEntriesReplyDestroy
    - taosMemoryFree
    - 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:
    - syncAppendEntriesReplyFromRpcMsg
    - syncAppendEntriesReply2RpcMsg
    - syncAppendEntriesReplyBuild
    - syncAppendEntriesReplyLog2
    - createMsg
    - syncAppendEntriesReplyDestroy
    - 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:
    - syncAppendEntriesReplyFromRpcMsg2
    - syncAppendEntriesReply2RpcMsg
    - syncAppendEntriesReplyLog2
    - createMsg
    - syncAppendEntriesReplyDestroy
    - 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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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: 19
    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:
    - atoll
    - syncUtilU642Addr
    - printf
    - usage
    - syncUtilAddr2U64
    - atoi
    - exit
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncLocalCmdBuild
    - syncUtilAddr2U64
    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:
    - syncLocalCmdLog2
    - createMsg
    - syncLocalCmdDestroy
    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:
    - taosMemoryMalloc
    - syncLocalCmdSerialize
    - syncLocalCmdLog2
    - syncLocalCmdBuild
    - createMsg
    - syncLocalCmdDestroy
    - syncLocalCmdDeserialize
    - taosMemoryFree
    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:
    - syncLocalCmdDeserialize2
    - syncLocalCmdSerialize2
    - syncLocalCmdLog2
    - createMsg
    - syncLocalCmdDestroy
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - syncLocalCmd2RpcMsg
    - syncLocalCmdLog2
    - syncLocalCmdFromRpcMsg
    - createMsg
    - 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:
    - rpcFreeCont
    - syncLocalCmd2RpcMsg
    - syncLocalCmdLog2
    - createMsg
    - syncLocalCmdDestroy
    - syncLocalCmdFromRpcMsg2
    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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncHeartbeatReplyBuild
    - syncUtilAddr2U64
    - taosGetTimestampMs
    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:
    - taosMemoryMalloc
    - syncHeartbeatReplyDestroy
    - syncHeartbeatReplyLog2
    - syncHeartbeatReplyDeserialize
    - syncHeartbeatReplyBuild
    - syncHeartbeatReplySerialize
    - createMsg
    - taosMemoryFree
    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:
    - syncHeartbeatReplyDestroy
    - syncHeartbeatReplyLog2
    - syncHeartbeatReplySerialize2
    - createMsg
    - syncHeartbeatReplyDeserialize2
    - taosMemoryFree
    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:
    - syncHeartbeatReplyDestroy
    - syncHeartbeatReplyLog2
    - syncHeartbeatReplyBuild
    - syncHeartbeatReplyFromRpcMsg
    - createMsg
    - rpcFreeCont
    - syncHeartbeatReply2RpcMsg
    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:
    - syncHeartbeatReplyFromRpcMsg2
    - syncHeartbeatReplyDestroy
    - syncHeartbeatReplyLog2
    - createMsg
    - rpcFreeCont
    - syncHeartbeatReply2RpcMsg
    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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 284
    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: 73
    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: 56
    functionsReached:
    - taosMemoryMalloc
    - syncFreeObj
    - TD_ALWAYS_ASSERT
    - snprintf
    - printf
    - taosAddRef
    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: 13
    functionsReached:
    - printf
    - taosReleaseRef
    - 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: 36
    functionsReached:
    - taosReleaseRef
    - taosMsleep
    - printf
    - taosAcquireRef
    - taosRand
    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:
    - init
    - start
    - taosGetTimestampSec
    - TD_ALWAYS_ASSERT
    - taosSeedRand
    - taosThreadCreate
    - logTest
    - taosMsleep
    - printf
    - stop
    - taosRand
    - cleanup
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - memset
    - strcpy
    - rpcMallocCont
    - 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:
    - syncApplyMsgDestroy
    - createMsg
    - 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:
    - taosMemoryMalloc
    - syncApplyMsgBuild
    - taosMemoryFree
    - syncApplyMsgDestroy
    - syncApplyMsgSerialize
    - createMsg
    - syncApplyMsgLog2
    - syncApplyMsgDeserialize
    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:
    - syncApplyMsgSerialize2
    - syncApplyMsgDestroy
    - syncApplyMsgDeserialize2
    - syncApplyMsgLog2
    - createMsg
    - 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:
    - taosMemoryMalloc
    - syncApplyMsgDestroy
    - syncApplyMsg2RpcMsg
    - createMsg
    - syncApplyMsgFromRpcMsg
    - syncApplyMsgLog2
    - 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:
    - syncApplyMsgDestroy
    - syncApplyMsg2RpcMsg
    - syncApplyMsgFromRpcMsg2
    - createMsg
    - 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:
    - syncRpcMsgLog2
    - syncApplyMsgDestroy
    - syncApplyMsg2RpcMsg
    - syncApplyMsg2OriginalRpcMsg
    - syncApplyMsgFromRpcMsg2
    - createMsg
    - 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:
    - test2
    - test6
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - TD_ALWAYS_ASSERT
    - syncNodeOpen
    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:
    - printf
    - taosMemoryFree
    - syncUtilRaftId2Str
    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
    - syncPingReplyBuild2
    - SSyncNode*::syncSendMSg
    - syncInitTest
    - syncPingReply2RpcMsg
    - initRaftId
    - TD_ALWAYS_ASSERT
    - sNTrace
    - syncUtilNodeInfo2EpSet
    - taosMsleep
    - syncInit
    - atoi
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncRespMgrAdd
    - memset
    - printf
    - taosGetTimestampMs
    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:
    - printStub
    - taosHashIterate
    - printf
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    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:
    - syncRespMgrDestroy
    - syncRespMgrInsert
    - syncRespMgrPrint
    - syncRespMgrDelTest
    - TD_ALWAYS_ASSERT
    - printf
    - syncRespMgrCreate
    - createSyncNode
    - syncRespMgrGetTest
    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:
    - syncRespMgrDestroy
    - syncRespMgrInsert
    - syncRespMgrPrint
    - TD_ALWAYS_ASSERT
    - printf
    - syncRespMgrCreate
    - createSyncNode
    - syncRespMgrGetAndDelTest
    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:
    - syncRespMgrDestroy
    - syncRespMgrInsert
    - syncRespMgrPrint
    - TD_ALWAYS_ASSERT
    - printf
    - syncRespMgrCreate
    - createSyncNode
    - syncRespMgrGetAndDelTest
    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:
    - syncRespMgrDestroy
    - syncRespMgrInsert
    - syncRespMgrPrint
    - TD_ALWAYS_ASSERT
    - printf
    - taosMsleep
    - syncRespMgrCreate
    - createSyncNode
    - syncRespClean
    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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 285
    functionsReached:
    - walInit
    - TD_ALWAYS_ASSERT
    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: 74
    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:
    - TD_ALWAYS_ASSERT
    - taosGetFqdn
    - syncNodeStart
    - snprintf
    - syncNodeOpen
    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: 20
    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:
    - init
    - syncNodeClose
    - syncIOStop
    - snprintf
    - syncInit
    - cleanup
    - exit
    - createWal
    - usage
    - walClose
    - syncNode2SimpleStr
    - TD_ALWAYS_ASSERT
    - sNTrace
    - taosMsleep
    - createSyncNode
    - syncIOStart
    - atoi
    - taosMemoryFree
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - snprintf
    - syncEntryBuild
    - 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:
    - syncUtilAddr2U64
    - memset
    - syncAppendEntriesBatchBuild
    - createEntry
    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:
    - syncAppendEntriesBatchDestroy
    - syncAppendEntriesBatchLog2
    - createMsg
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - snprintf
    - syncEntryBuild
    - 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:
    - taosMemoryMalloc
    - memset
    - 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:
    - ASSERT
    - raftEntryCacheCreate
    - createFakeNode
    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:
    - createEntry
    - raftEntryCacheClear
    - raftEntryCachePutEntry
    - createCache
    - sTrace
    - 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:
    - ASSERT
    - raftEntryCacheGetEntryP
    - raftEntryCacheGetEntry
    - createEntry
    - syncEntryDestory
    - syncEntryLog2
    - raftEntryCachePutEntry
    - createCache
    - sTrace
    - 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:
    - createEntry
    - raftEntryCachePutEntry
    - createCache
    - sTrace
    - 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:
    - ASSERT
    - sTrace
    - taosRemoveRef
    - taosReleaseRef
    - syncEntryLog2
    - taosAddRef
    - taosAcquireRef
    - taosOpenRef
    - 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:
    - ASSERT
    - sTrace
    - syncEntryLog2
    - taosAddRef
    - taosAcquireRef
    - 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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - walInit
    - memset
    - TD_ALWAYS_ASSERT
    - syncNodeStart
    - snprintf
    - syncNodeOpen
    - walOpen
    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:
    - printf
    - taosMemoryFree
    - syncUtilRaftId2Str
    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:
    - taosMemoryMalloc
    - snprintf
    - 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
    - taosRemoveDir
    - step0
    - syncRpcMsgLog2
    - syncInitTest
    - step1
    - initRaftId
    - TD_ALWAYS_ASSERT
    - sNTrace
    - taosMsleep
    - syncInit
    - atoi
    - initFsm
    - syncClientRequestLog2
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - syncEntryPrint
    - syncEntryDestory
    - 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:
    - syncEntryBuildFromClientRequest
    - strcpy
    - syncEntryPrint
    - syncEntryDestory
    - syncClientRequestAlloc
    - taosMemoryFree
    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:
    - syncEntryBuildFromClientRequest
    - strcpy
    - syncEntryPrint
    - syncEntryDestory
    - syncClientRequestAlloc
    - taosMemoryFree
    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
    - syncEntryPrint
    - syncEntryDestory
    - 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
    - test1
    - test4
    - test3
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - TD_ALWAYS_ASSERT
    - syncCleanUp
    - logTest
    - taosMsleep
    - syncInit
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncSnapshotRspLog2
    - createMsg
    - syncSnapshotRspDestroy
    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:
    - taosMemoryMalloc
    - syncSnapshotRspDestroy
    - syncSnapshotRspSerialize
    - syncSnapshotRspDeserialize
    - createMsg
    - syncSnapshotRspLog2
    - syncSnapshotRspBuild
    - taosMemoryFree
    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:
    - syncSnapshotRspSerialize2
    - syncSnapshotRspDeserialize2
    - syncSnapshotRspDestroy
    - createMsg
    - syncSnapshotRspLog2
    - 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:
    - taosMemoryMalloc
    - syncSnapshotRsp2RpcMsg
    - syncSnapshotRspDestroy
    - syncSnapshotRspFromRpcMsg
    - createMsg
    - syncSnapshotRspLog2
    - 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:
    - syncSnapshotRsp2RpcMsg
    - syncSnapshotRspDestroy
    - syncSnapshotRspFromRpcMsg2
    - createMsg
    - syncSnapshotRspLog2
    - 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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 286
    functionsReached:
    - walInit
    - syncInit
    - TD_ALWAYS_ASSERT
    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: 75
    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:
    - syncRpcMsgLog2
    - syncStr
    - snprintf
    - struct SSyncFSM*::FpGetSnapshotInfo
    - sTrace
    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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - snprintf
    - syncRpcMsgLog2
    - 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:
    - createFsm
    - syncNodeRelease
    - syncNodeAcquire
    - TD_ALWAYS_ASSERT
    - taosGetFqdn
    - snprintf
    - syncOpen
    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: 21
    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:
    - taosMemoryMalloc
    - taosGetTimestampMs
    - memset
    - snprintf
    - rpcMallocCont
    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:
    - init
    - syncIOStop
    - snprintf
    - exit
    - cleanup
    - createWal
    - usage
    - walClose
    - syncNode2SimpleStr
    - rpcFreeCont
    - syncNodeRelease
    - syncStop
    - TD_ALWAYS_ASSERT
    - taosMsleep
    - createSyncNode
    - syncPropose
    - syncIOStart
    - syncStart
    - createRpcMsg
    - syncNodeAcquire
    - atoi
    - taosMemoryFree
    - sTrace
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncIOStart
    - logTest
    - TD_ALWAYS_ASSERT
    - 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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - test2
    - taosCloseLog
    - test3
    - test1
    - test4
    - taosInitLog
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - memset
    - TD_ALWAYS_ASSERT
    - snprintf
    - syncNodeOpen
    - walOpen
    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:
    - printf
    - taosMemoryFree
    - syncUtilRaftId2Str
    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:
    - taosMemoryMalloc
    - snprintf
    - 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:
    - syncClientRequest2RpcMsg
    - taosMemoryCalloc
    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: 1
    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
    - step3
    - SSyncNode*::pLogStore::syncLogAppendEntry
    - taosRemoveDir
    - step0
    - syncRpcMsgLog2
    - step2
    - ASSERT
    - step1
    - TD_ALWAYS_ASSERT
    - SSyncNode*::pLogStore::syncLogGetEntry
    - syncEntryLog2
    - syncInit
    - atoi
    - syncNodeInit
    - step7
    - step4
    - syncClientRequestLog2
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - syncUtilAddr2U64
    - syncHeartbeatBuild
    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:
    - syncHeartbeatLog2
    - syncHeartbeatDestroy
    - createMsg
    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:
    - taosMemoryMalloc
    - syncHeartbeatSerialize
    - syncHeartbeatDestroy
    - syncHeartbeatDeserialize
    - syncHeartbeatLog2
    - createMsg
    - syncHeartbeatBuild
    - taosMemoryFree
    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:
    - syncHeartbeatDestroy
    - syncHeartbeatDeserialize2
    - syncHeartbeatLog2
    - syncHeartbeatSerialize2
    - createMsg
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - syncHeartbeatDestroy
    - syncHeartbeatFromRpcMsg
    - syncHeartbeat2RpcMsg
    - syncHeartbeatLog2
    - createMsg
    - 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:
    - syncHeartbeatDestroy
    - syncHeartbeat2RpcMsg
    - syncHeartbeatLog2
    - createMsg
    - syncHeartbeatFromRpcMsg2
    - 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:
    - test2
    - test3
    - logTest
    - test4
    - test1
    - test5
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - TD_ALWAYS_ASSERT
    - taosSsleep
    - syncIOPingTimerStop
    - logTest
    - taosMsleep
    - syncIOPingTimerStart
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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: 287
    functionsReached:
    - walInit
    - TD_ALWAYS_ASSERT
    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: 76
    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: 22
    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:
    - init
    - logStoreCreate
    - SSyncLogStore*::syncLogRestoreFromSnapshot
    - createSyncNode
    - createWal
    - TD_ALWAYS_ASSERT
    - cleanup
    - usage
    - atoi
    - atoll
    - walClose
    - taosMemoryFree
    - logStoreDestory
    - exit
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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:
    - electRandomMSTest
    - logTest
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - TD_ALWAYS_ASSERT
    - syncNodeOpen
    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:
    - printf
    - taosMemoryFree
    - syncUtilRaftId2Str
    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
    - syncPingReplyBuild2
    - syncInitTest
    - syncPingReply2RpcMsg
    - initRaftId
    - TD_ALWAYS_ASSERT
    - sNTrace
    - taosMsleep
    - syncInit
    - SSyncNode*::syncEqMsg
    - atoi
    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: 9
    functionsReached:
    - printf
    - taosHashIterate
    - taosHashGetKey
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - print
    - logTest
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    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:
    - sTrace
    - sError
    - sFatal
    - sInfo
    - sDebug
    - sWarn
    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
    - TD_ALWAYS_ASSERT
    - syncNodeOpen
    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:
    - printf
    - taosMemoryFree
    - syncUtilRaftId2Str
    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:
    - syncIOStart
    - votesRespondCreate
    - syncNode2Str
    - votesRespondReset
    - votesRespondDestory
    - syncRequestVoteReplyBuild
    - syncInitTest
    - initRaftId
    - TD_ALWAYS_ASSERT
    - votesRespondAdd
    - printf
    - syncInit
    - atoi
    - votesRespond2Str
    - taosMemoryFree
    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:
    - syncEntry2Json
    - raftLogIsEmpty
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - raftLogEntryCount
    - raftLogEndIndex
    - raftLogBeginIndex
    - snprintf
    - raftLogLastTerm
    - cJSON_CreateArray
    - cJSON_AddNumberToObject
    - raftLogGetEntry
    - syncEntryDestory
    - raftLogWriteIndex
    - cJSON_AddItemToArray
    - raftLogLastIndex
    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_Print
    - cJSON_Delete
    - 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:
    - raftLogIsEmpty
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - raftLogEntryCount
    - raftLogEndIndex
    - raftLogBeginIndex
    - snprintf
    - raftLogLastTerm
    - cJSON_AddNumberToObject
    - raftLogWriteIndex
    - raftLogLastIndex
    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:
    - logStoreSimple2Json
    - cJSON_Delete
    - cJSON_Print
    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:
    - strlen
    - fflush
    - logStore2Str
    - printf
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - logStore2Str
    - printf
    - taosMemoryFree
    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:
    - taosMemoryFree
    - logStore2Str
    - sLTrace
    - strlen
    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:
    - taosMemoryFree
    - logStore2Str
    - sLTrace
    - strlen
    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:
    - strlen
    - fflush
    - printf
    - logStoreSimple2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - logStoreSimple2Str
    - taosMemoryFree
    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:
    - taosMemoryFree
    - strlen
    - logStoreSimple2Str
    - sTrace
    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:
    - taosMemoryFree
    - strlen
    - logStoreSimple2Str
    - sTrace
    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:
    - taosMemoryMalloc
    - memset
    - 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:
    - memcpy
    - memset
    - rpcMallocCont
    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:
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - syncRpcMsg2Json
    - syncClientRequestBatchMetaArr
    - cJSON_CreateObject
    - cJSON_CreateArray
    - cJSON_AddStringToObject
    - cJSON_AddNumberToObject
    - syncUtilPrintBin
    - cJSON_AddItemToArray
    - taosMemoryFree
    - syncClientRequestBatchRpcMsgArr
    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:
    - cJSON_Print
    - cJSON_Delete
    - syncClientRequestBatch2Json
    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:
    - strlen
    - fflush
    - printf
    - syncClientRequestBatch2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - syncClientRequestBatch2Str
    - taosMemoryFree
    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
    - syncClientRequestBatch2Str
    - taosMemoryFree
    - sTrace
    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
    - sLTrace
    - syncClientRequestBatch2Str
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - memset
    - 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:
    - taosMemoryMalloc
    - ASSERT
    - syncAppendEntriesBatchSerialize
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncAppendEntriesBatchDeserialize
    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
    - memset
    - rpcMallocCont
    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:
    - ASSERT
    - syncAppendEntriesBatchDeserialize2
    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:
    - syncUtilPrintBin2
    - syncEntry2Json
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_CreateArray
    - snprintf
    - cJSON_AddNumberToObject
    - syncUtilPrintBin
    - cJSON_AddItemToArray
    - taosMemoryFree
    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:
    - syncAppendEntriesBatch2Json
    - cJSON_Print
    - cJSON_Delete
    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:
    - strlen
    - fflush
    - syncAppendEntriesBatch2Str
    - printf
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - syncAppendEntriesBatch2Str
    - printf
    - taosMemoryFree
    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:
    - taosMemoryFree
    - syncAppendEntriesBatch2Str
    - strlen
    - sTrace
    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:
    - taosMemoryFree
    - syncAppendEntriesBatch2Str
    - sLTrace
    - strlen
    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:
    - syncUtilU642Addr
    - sNTrace
    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:
    - syncUtilU642Addr
    - sNTrace
    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_AddStringToObject
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    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:
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    - syncUtilPrintBin
    - syncUtilPrintBin2
    - 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_Print
    - syncEntry2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char
    signature: char * syncEntry2Str(const SSyncRaftEntry* pEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntry2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c: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:
    - strlen
    - syncEntry2Str
    - fflush
    - printf
    - taosMemoryFree
    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:
    - strlen
    - syncEntry2Str
    - fflush
    - printf
    - taosMemoryFree
    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:
    - strlen
    - syncEntry2Str
    - taosMemoryFree
    - sTrace
    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:
    - strlen
    - syncEntry2Str
    - taosMemoryFree
    - sTrace
    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:
    - syncEntry2Json
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - cJSON_CreateArray
    - taosHashIterate
    - snprintf
    - cJSON_AddNumberToObject
    - taosThreadMutexUnlock
    - cJSON_AddItemToArray
    - taosThreadMutexLock
    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_Print
    - cJSON_Delete
    - raftCache2Json
    linkageType: ''
    returnType: char
    signature: char * raftCache2Str(SRaftEntryHashCache* pCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c: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:
    - strlen
    - fflush
    - printf
    - raftCache2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - raftCache2Str
    - taosMemoryFree
    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:
    - ASSERT
    - syncEntry2Json
    - tSkipListIterGet
    - tSkipListDestroyIter
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - cJSON_CreateArray
    - snprintf
    - tSkipListCreateIter
    - SL_GET_NODE_DATA
    - cJSON_AddNumberToObject
    - taosThreadMutexUnlock
    - cJSON_AddItemToArray
    - taosThreadMutexLock
    - tSkipListIterNext
    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:
    - raftEntryCache2Json
    - cJSON_Print
    - cJSON_Delete
    linkageType: ''
    returnType: char
    signature: char * raftEntryCache2Str(SRaftEntryCache* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftEntryCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c: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:
    - strlen
    - fflush
    - printf
    - raftEntryCache2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - raftEntryCache2Str
    - taosMemoryFree
    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:
    - taosMemoryFree
    - strlen
    - raftEntryCache2Str
    - sTrace
    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:
    - taosMemoryFree
    - strlen
    - sLTrace
    - raftEntryCache2Str
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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:
    - raftStore2Json
    - cJSON_Print
    - cJSON_Delete
    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:
    - strlen
    - fflush
    - raftStore2Str
    - printf
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - raftStore2Str
    - printf
    - taosMemoryFree
    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:
    - taosMemoryFree
    - sTrace
    - strlen
    - raftStore2Str
    linkageType: ''
    returnType: void
    signature: void raftStoreLog(SRaftStore *pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c: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:
    - taosMemoryFree
    - sTrace
    - strlen
    - raftStore2Str
    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:
    - ASSERT
    - cJSON_Parse
    - cJSON_Delete
    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:
    - snprintf
    - strlen
    - 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:
    - memset
    - syncPingSerialize
    - rpcMallocCont
    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
    - ASSERT
    - tDecoderInit
    - tDecoderClear
    - tDecodeBinary
    - memcpy
    - tStartDecode
    - tDecodeU64
    - tEndDecode
    - tDecodeU32
    - tDecodeI32
    - taosMemoryFree
    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:
    - tEncodeU32
    - tEncodeI32
    - tStartEncode
    - tEncodeBinary
    - tEndEncode
    - tEncoderClear
    - tEncoderInit
    - tEncodeU64
    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:
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    - syncUtilPrintBin
    - syncUtilPrintBin2
    - 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_Print
    - cJSON_Delete
    - 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:
    - strlen
    - fflush
    - printf
    - taosMemoryFree
    - 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:
    - strlen
    - fflush
    - printf
    - taosMemoryFree
    - 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
    - taosMemoryFree
    - sTrace
    - 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
    - taosMemoryFree
    - sTrace
    - 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:
    - taosMemoryMalloc
    - ASSERT
    - syncPingDeserialize
    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:
    - snprintf
    - strlen
    - syncPingReplyBuild
    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
    - syncPingReplyDeserialize
    - ASSERT
    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:
    - tEncodeU32
    - tEncodeI32
    - tStartEncode
    - tEncodeBinary
    - tEndEncode
    - tEncoderClear
    - tEncoderInit
    - tEncodeU64
    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
    - ASSERT
    - tDecoderInit
    - tDecoderClear
    - tDecodeBinary
    - memcpy
    - tStartDecode
    - tDecodeU64
    - tEndDecode
    - tDecodeU32
    - tDecodeI32
    - taosMemoryFree
    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:
    - memset
    - syncPingReplySerialize
    - rpcMallocCont
    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:
    - ASSERT
    - syncPingReplyDeserialize2
    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:
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    - syncUtilPrintBin
    - syncUtilPrintBin2
    - 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_Print
    - cJSON_Delete
    - 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:
    - strlen
    - fflush
    - syncPingReply2Str
    - printf
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - syncPingReply2Str
    - printf
    - taosMemoryFree
    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:
    - syncPingReply2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - syncPingReply2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - syncSnapshotSend2Json
    - syncSnapshotSendDestroy
    - syncSnapshotRsp2Json
    - syncAppendEntriesDeserialize2
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - syncTimeout2Json
    - syncPingDeserialize2
    - syncRequestVoteDestroy
    - syncSnapshotSendDeserialize2
    - syncAppendEntriesReplyDestroy
    - syncAppendEntriesReplyDeserialize2
    - syncAppendEntriesDestroy
    - syncRequestVoteDeserialize2
    - syncPingDestroy
    - syncLeaderTransfer2Json
    - syncSnapshotRspDestroy
    - syncAppendEntriesReply2Json
    - syncTimeoutDeserialize2
    - syncAppendEntries2Json
    - syncLeaderTransferDeserialize2
    - syncRequestVoteReplyDestroy
    - syncPingReply2Json
    - syncRpcUnknownMsg2Json
    - syncClientRequest2Json
    - syncUtilPrintBin2
    - syncTimeoutDestroy
    - syncRequestVote2Json
    - syncPingReplyDestroy
    - syncSnapshotRspDeserialize2
    - taosMemoryFree
    - syncPingReplyDeserialize2
    - cJSON_AddItemToObject
    - syncRequestVoteReply2Json
    - cJSON_AddNumberToObject
    - syncPing2Json
    - syncUtilPrintBin
    - syncRequestVoteReplyDeserialize2
    - syncLeaderTransferDestroy
    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_AddStringToObject
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    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_Print
    - syncRpcMsg2Json
    - cJSON_Delete
    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:
    - strlen
    - syncRpcMsg2Str
    - fflush
    - printf
    - taosMemoryFree
    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:
    - strlen
    - syncRpcMsg2Str
    - fflush
    - printf
    - taosMemoryFree
    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
    - syncRpcMsg2Str
    - taosMemoryFree
    - sTrace
    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
    - syncRpcMsg2Str
    - taosMemoryFree
    - sTrace
    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:
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    - syncUtilPrintBin
    - syncUtilPrintBin2
    - 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_Print
    - cJSON_Delete
    - 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:
    - strlen
    - fflush
    - printf
    - syncSnapshotSend2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - syncSnapshotSend2Str
    - taosMemoryFree
    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:
    - taosMemoryFree
    - syncSnapshotSend2Str
    - strlen
    - sTrace
    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:
    - taosMemoryFree
    - syncSnapshotSend2Str
    - strlen
    - sTrace
    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:
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    - syncUtilPrintBin
    - syncUtilPrintBin2
    - 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:
    - syncClientRequest2Json
    - cJSON_Print
    - cJSON_Delete
    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:
    - strlen
    - fflush
    - syncClientRequest2Str
    - printf
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - syncClientRequest2Str
    - printf
    - taosMemoryFree
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncTimeoutDeserialize
    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:
    - memset
    - syncTimeoutSerialize
    - rpcMallocCont
    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:
    - syncTimeoutDeserialize2
    - ASSERT
    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_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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_Print
    - cJSON_Delete
    - 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:
    - syncTimeout2Str
    - strlen
    - fflush
    - printf
    - taosMemoryFree
    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:
    - syncTimeout2Str
    - strlen
    - fflush
    - printf
    - taosMemoryFree
    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:
    - taosMemoryFree
    - syncTimeout2Str
    - strlen
    - sTrace
    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:
    - taosMemoryFree
    - syncTimeout2Str
    - strlen
    - sTrace
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncRequestVoteSerialize
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncRequestVoteDeserialize
    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
    - memset
    - rpcMallocCont
    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:
    - syncRequestVoteDeserialize2
    - ASSERT
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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_Print
    - cJSON_Delete
    - syncRequestVote2Json
    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:
    - strlen
    - fflush
    - printf
    - syncRequestVote2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - syncRequestVote2Str
    - taosMemoryFree
    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
    - strlen
    - taosMemoryFree
    - sTrace
    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
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncRequestVoteReplySerialize
    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
    - syncRequestVoteReplyDeserialize
    - ASSERT
    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:
    - memset
    - syncRequestVoteReplySerialize
    - rpcMallocCont
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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_Print
    - cJSON_Delete
    - 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:
    - strlen
    - fflush
    - syncRequestVoteReply2Str
    - printf
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - syncRequestVoteReply2Str
    - printf
    - taosMemoryFree
    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:
    - syncRequestVoteReply2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - syncRequestVoteReply2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - taosMemoryMalloc
    - syncAppendEntriesDeserialize
    - 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:
    - memset
    - syncAppendEntriesSerialize
    - rpcMallocCont
    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:
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    - syncUtilPrintBin
    - syncUtilPrintBin2
    - 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_Print
    - cJSON_Delete
    - syncAppendEntries2Json
    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:
    - strlen
    - fflush
    - printf
    - syncAppendEntries2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - syncAppendEntries2Str
    - taosMemoryFree
    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
    - syncAppendEntries2Str
    - taosMemoryFree
    - sTrace
    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
    - syncAppendEntries2Str
    - taosMemoryFree
    - sTrace
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncAppendEntriesReplySerialize
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncAppendEntriesReplyDeserialize
    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:
    - memset
    - syncAppendEntriesReplySerialize
    - rpcMallocCont
    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:
    - ASSERT
    - syncAppendEntriesReplyDeserialize2
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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:
    - syncAppendEntriesReply2Json
    - cJSON_Print
    - cJSON_Delete
    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:
    - syncAppendEntriesReply2Str
    - strlen
    - fflush
    - printf
    - taosMemoryFree
    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:
    - syncAppendEntriesReply2Str
    - strlen
    - fflush
    - printf
    - taosMemoryFree
    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
    - strlen
    - taosMemoryFree
    - sTrace
    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
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - memset
    - syncHeartbeatSerialize
    - rpcMallocCont
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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_Print
    - cJSON_Delete
    - 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:
    - strlen
    - fflush
    - syncHeartbeat2Str
    - printf
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - syncHeartbeat2Str
    - printf
    - taosMemoryFree
    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:
    - taosMemoryFree
    - strlen
    - syncHeartbeat2Str
    - 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:
    - taosMemoryFree
    - strlen
    - syncHeartbeat2Str
    - 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:
    - taosMemoryMalloc
    - ASSERT
    - syncHeartbeatReplyDeserialize
    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:
    - syncHeartbeatReplySerialize
    - memset
    - rpcMallocCont
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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:
    - syncHeartbeatReply2Json
    - cJSON_Delete
    - 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:
    - strlen
    - syncHeartbeatReply2Str
    - fflush
    - printf
    - taosMemoryFree
    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:
    - strlen
    - syncHeartbeatReply2Str
    - fflush
    - printf
    - taosMemoryFree
    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
    - syncHeartbeatReply2Str
    - taosMemoryFree
    - sTrace
    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
    - syncHeartbeatReply2Str
    - taosMemoryFree
    - sTrace
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncPreSnapshotDeserialize
    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:
    - memset
    - syncPreSnapshotSerialize
    - rpcMallocCont
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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_Print
    - cJSON_Delete
    - 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:
    - strlen
    - fflush
    - printf
    - syncPreSnapshot2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - syncPreSnapshot2Str
    - taosMemoryFree
    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:
    - syncPreSnapshot2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - syncPreSnapshot2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - memset
    - rpcMallocCont
    - 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:
    - syncPreSnapshotReplyDeserialize2
    - ASSERT
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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_Print
    - cJSON_Delete
    - syncPreSnapshotReply2Json
    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:
    - strlen
    - fflush
    - syncPreSnapshotReply2Str
    - printf
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - syncPreSnapshotReply2Str
    - printf
    - taosMemoryFree
    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:
    - syncPreSnapshotReply2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - syncPreSnapshotReply2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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
    - syncApplyMsgSerialize
    - ASSERT
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncApplyMsgDeserialize
    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:
    - syncApplyMsgSerialize
    - memset
    - rpcMallocCont
    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:
    - memcpy
    - memset
    - rpcMallocCont
    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:
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - syncStr
    - snprintf
    - cJSON_AddNumberToObject
    - syncUtilPrintBin
    - syncUtilPrintBin2
    - 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_Print
    - syncApplyMsg2Json
    - cJSON_Delete
    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:
    - strlen
    - fflush
    - printf
    - syncApplyMsg2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - syncApplyMsg2Str
    - taosMemoryFree
    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:
    - syncApplyMsg2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - syncApplyMsg2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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
    - syncSnapshotSendSerialize
    - ASSERT
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncSnapshotSendDeserialize
    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:
    - syncSnapshotSendSerialize
    - memset
    - rpcMallocCont
    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:
    - ASSERT
    - syncSnapshotSendDeserialize2
    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
    - syncSnapshotRspSerialize
    - ASSERT
    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:
    - syncSnapshotRspSerialize
    - memset
    - rpcMallocCont
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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_Print
    - cJSON_Delete
    - syncSnapshotRsp2Json
    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:
    - strlen
    - fflush
    - printf
    - syncSnapshotRsp2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - syncSnapshotRsp2Str
    - taosMemoryFree
    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:
    - syncSnapshotRsp2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - syncSnapshotRsp2Str
    - strlen
    - taosMemoryFree
    - sTrace
    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:
    - taosMemoryMalloc
    - ASSERT
    - syncLeaderTransferDeserialize
    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:
    - memset
    - syncLeaderTransferSerialize
    - rpcMallocCont
    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:
    - syncLeaderTransferDeserialize2
    - ASSERT
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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_Print
    - syncLeaderTransfer2Json
    - cJSON_Delete
    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
    - syncLocalCmdDeserialize
    - ASSERT
    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:
    - syncLocalCmdSerialize
    - memset
    - rpcMallocCont
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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_Print
    - syncLocalCmd2Json
    - cJSON_Delete
    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:
    - strlen
    - fflush
    - printf
    - syncLocalCmd2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - syncLocalCmd2Str
    - taosMemoryFree
    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:
    - strlen
    - syncLocalCmd2Str
    - taosMemoryFree
    - sTrace
    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:
    - strlen
    - syncLocalCmd2Str
    - taosMemoryFree
    - sTrace
    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_CreateIntArray
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - cJSON_CreateArray
    - snprintf
    - cJSON_AddNumberToObject
    - voteGrantedMajority
    - taosMemoryFree
    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:
    - cJSON_Print
    - voteGranted2Json
    - cJSON_Delete
    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_CreateIntArray
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - cJSON_CreateArray
    - snprintf
    - cJSON_AddNumberToObject
    - taosMemoryFree
    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:
    - votesRespond2Json
    - cJSON_Print
    - cJSON_Delete
    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:
    - strlen
    - fflush
    - printf
    - syncIndexMgr2Str
    - taosMemoryFree
    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:
    - strlen
    - fflush
    - printf
    - syncIndexMgr2Str
    - taosMemoryFree
    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_CreateIntArray
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - cJSON_CreateArray
    - cJSON_AddNumberToObject
    - taosMemoryFree
    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_Print
    - cJSON_Delete
    - 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:
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    - syncUtilPrintBin
    - syncUtilPrintBin2
    - 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:
    - snapshotSender2Json
    - cJSON_Print
    - cJSON_Delete
    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_AddItemToObject
    - cJSON_AddStringToObject
    - syncUtilU642Addr
    - cJSON_CreateObject
    - snprintf
    - cJSON_AddNumberToObject
    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_Print
    - cJSON_Delete
    - 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:
    - walGetCommittedVer
    - SSyncNode*::pLogStore::syncLogIsEmpty
    - syncNodeIsMnode
    - SSyncNode*::pLogStore::syncLogTruncate
    - sNError
    - syncNodeSendMsgById
    - raftStoreGetTerm
    - syncPreSnapshotReplyDestroy
    - syncPreSnapshotReplyBuild
    - syncPreSnapshotReply2RpcMsg
    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_AddItemToObject
    - cJSON_AddStringToObject
    - voteGranted2Json
    - cJSON_CreateObject
    - cJSON_CreateArray
    - syncUtilNodeInfo2Json
    - syncStr
    - snprintf
    - syncIndexMgr2Json
    - snapshotSender2Json
    - cJSON_AddNumberToObject
    - snapshotReceiver2Json
    - votesRespond2Json
    - cJSON_AddItemToArray
    - logStore2Json
    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_Print
    - cJSON_Delete
    - syncNode2Json
    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
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - syncStr
    - snprintf
    - SSyncNode*::pLogStore::syncLogLastIndex
    - raftStoreGetTerm
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:
    - syncPingLog2
    - syncRpcMsgLog2
    - syncPing2RpcMsg
    - syncNodeSendMsgById
    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:
    - syncPingBuild3
    - ASSERT
    - syncNodePing
    - syncPingDestroy
    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:
    - syncPingBuild3
    - ASSERT
    - syncNodePing
    - syncPingDestroy
    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:
    - syncPingBuild3
    - ASSERT
    - syncNodePing
    - syncPingDestroy
    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:
    - syncPingReplyDestroy
    - syncPingReply2RpcMsg
    - syncPingReplyBuild3
    - syncNodeSendMsgById
    - sTrace
    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:
    - ASSERT
    - syncIOStartInternal
    - taosGetTimestampSec
    - taosSeedRand
    - syncIOCreate
    - sTrace
    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:
    - syncIODestroy
    - ASSERT
    - syncIOStopInternal
    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
    - syncRpcMsgLog2
    - syncUtilMsgHtoN
    - rpcSendRequest
    - snprintf
    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:
    - taosWriteQitem
    - syncRpcMsgLog2
    - taosAllocateQitem
    - memcpy
    - snprintf
    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:
    - ASSERT
    - syncIOStartQ
    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:
    - syncIOStopQ
    - ASSERT
    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:
    - ASSERT
    - rpcClose
    - atomic_load_8
    - taosCloseQueue
    - taosCloseQset
    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:
    - taosVersionStrToInt
    - TAOS_SYSTEM_ERROR
    - atomic_store_8
    - memset
    - rpcInit
    - taosBlockSIGPIPE
    - sError
    - taosThreadCreate
    - snprintf
    - strerror
    - rpcOpen
    - taosTmrInit
    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
    - taosThreadJoin
    - atomic_store_8
    - 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:
    - ASSERT
    - syncSnapshotSendFromRpcMsg2
    - SSyncIO*::FpOnSyncSnapshotReply
    - SSyncIO*::FpOnSyncRequestVote
    - syncSnapshotSendDestroy
    - taosReadAllQitemsFromQset
    - SSyncIO*::FpOnSyncTimeout
    - snprintf
    - syncRequestVoteDestroy
    - syncAppendEntriesReplyDestroy
    - taosFreeQall
    - syncPingReplyFromRpcMsg2
    - syncAppendEntriesDestroy
    - syncPingDestroy
    - syncSnapshotRspDestroy
    - taosResetQitems
    - SSyncIO*::FpOnSyncPingReply
    - rpcFreeCont
    - syncRequestVoteReplyDestroy
    - SSyncIO*::FpOnSyncClientRequest
    - syncRpcMsgLog2
    - syncPingFromRpcMsg2
    - syncAppendEntriesReplyFromRpcMsg2
    - syncTimeoutFromRpcMsg2
    - SSyncIO*::FpOnSyncSnapshot
    - SSyncIO*::FpOnSyncAppendEntries
    - taosUpdateItemSize
    - syncSnapshotRspFromRpcMsg2
    - syncAppendEntriesFromRpcMsg2
    - SSyncIO*::FpOnSyncRequestVoteReply
    - SSyncIO*::FpOnSyncPing
    - taosGetQitem
    - syncRequestVoteFromRpcMsg2
    - SSyncIO*::FpOnSyncAppendEntriesReply
    - syncTimeoutDestroy
    - syncPingReplyDestroy
    - syncRequestVoteReplyFromRpcMsg2
    - taosFreeQitem
    - sTrace
    - taosAllocateQall
    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:
    - taosWriteQitem
    - memcpy
    - syncRpcMsgLog2
    - taosAllocateQitem
    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:
    - rpcFreeCont
    - syncRpcMsgLog2
    - sTrace
    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:
    - taosWriteQitem
    - syncRpcMsgLog2
    - taosAllocateQitem
    - syncPingReplyBuild2
    - syncPingReplyDestroy
    - memcpy
    - syncPingReply2RpcMsg
    - taosTmrReset
    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:
    - syncRpcMsgLog2
    - syncPing2RpcMsg
    - rpcSendRequest
    - syncPingDestroy
    - syncPingBuild2
    - taosTmrReset
    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
    - ASSERT
    - memset
    - memcpy
    - 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: sprintf
      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:
    - taosMemoryMalloc
    - memset
    - ASSERT
    - sprintf
    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: 102
    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
    - sInfo
    - syncNodeOpen
    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:
    - syncNodeRelease
    - tstrerror
    - syncNodeAcquire
    - sError
    - sInfo
    - syncNodeStart
    - syncNodeRestore
    - TAOS_RETURN
    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:
    - syncNodeAcquire
    - sError
    - syncNodeRelease
    - 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:
    - syncNodeRemove
    - syncNodeAcquire
    - syncNodeRelease
    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:
    - syncNodeRelease
    - snapshotReceiverIsStart
    - syncNodeAcquire
    - snapshotReceiverStop
    - syncNodePreClose
    - 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:
    - syncNodeAcquire
    - syncNodePostClose
    - syncNodeRelease
    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:
    - syncNodeInConfig
    - abs
    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:
    - syncNodeRelease
    - syncNodeUpdateNewConfigIndex
    - syncNodeAcquire
    - sError
    - syncNodeDoConfigChange
    - syncHbTimerInit
    - sInfo
    - syncNodeCheckNewConfig
    - syncNodeStartHeartbeatTimer
    - syncNodeStopHeartbeatTimer
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:
    - syncNodeOnHeartbeatReply
    - syncNodeOnClientRequest
    - tstrerror
    - syncBecomeAssignedLeader
    - syncIsInit
    - syncNodeOnRequestVoteReply
    - TMSG_INFO
    - syncNodeOnHeartbeat
    - syncNodeOnTimeout
    - TAOS_RETURN
    - syncNodeRelease
    - syncNodeOnSnapshotRsp
    - syncNodeOnRequestVote
    - syncNodeOnAppendEntries
    - syncForceBecomeFollower
    - syncNodeOnSnapshot
    - sDebug
    - syncNodeOnLocalCmd
    - syncNodeAcquire
    - syncNodeOnAppendEntriesReply
    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:
    - syncNodeAcquire
    - syncNodeLeaderTransfer
    - TAOS_RETURN
    - syncNodeRelease
    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:
    - rpcFreeCont
    - tmsgSendRsp
    - tDeserializeSVArbSetAssignedLeaderReq
    - tstrerror
    - syncNodeBecomeAssignedLeader
    - sError
    - sInfo
    - raftStoreNextTerm
    - tFreeSVArbSetAssignedLeaderReq
    - TMAX
    - tSerializeSVArbSetAssignedLeaderRsp
    - TAOS_RETURN
    - rpcMallocCont
    - syncNodeAppendNoop
    - strncmp
    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:
    - syncNodeRelease
    - rpcSendResponse
    - syncNodeAcquire
    - sError
    - sInfo
    - syncRespMgrGetAndDel
    - TAOS_RETURN
    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:
    - atomic_load_64
    - syncLogRetentionIndex
    - SSyncNode*::pLogStore::syncLogEndIndex
    - sError
    - sNError
    - TAOS_RETURN
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - walGetCommittedVer
    - syncNodeRelease
    - walGetLastVer
    - atomic_store_64
    - syncNodeIsMnode
    - sNTrace
    - walBeginSnapshot
    - taosGetTimestampMs
    - syncNodeAcquire
    - SSyncNode*::pLogStore::syncLogIsEmpty
    - terrstr
    - TMAX
    - 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: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    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:
    - syncNodeRelease
    - tstrerror
    - walEndSnapshot
    - atomic_store_64
    - syncNodeAcquire
    - sError
    - sNTrace
    - atomic_load_64
    - sNError
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncEndSnapshot(int64_t rid)
  - 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:
    - syncNodeAcquire
    - sError
    - syncNodeIsReadyForRead
    - syncNodeRelease
    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:
    - syncNodeSnapshotSending
    - syncNodeAcquire
    - syncNodeRelease
    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:
    - syncNodeSnapshotRecving
    - syncNodeAcquire
    - syncNodeRelease
    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:
    - syncIndexMgrGetIndex
    - sDebug
    - syncNodeLeaderTransferTo
    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:
    - rpcFreeCont
    - syncNodePropose
    - sNTrace
    - syncBuildLeaderTransfer
    - SYNC_ADDR
    - sDebug
    - TAOS_CHECK_RETURN
    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:
    - syncNodeRelease
    - syncNodeAcquire
    - sError
    - syncNodeRestartHeartbeatTimer
    - sInfo
    - syncNodeResetElectTimer
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncResetTimer(int64_t rid, int32_t electInterval, int32_t
      heartbeatInterval)
  - BBCount: 3
    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: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:703,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 708
    functionName: syncGetState
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeAcquire
    - syncNodeIsReadyForRead
    - syncNodeRelease
    - raftStoreGetTerm
    linkageType: ''
    returnType: SSyncState
    signature: SSyncState syncGetState(int64_t rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:713,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:715,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:717,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:718,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 722
    functionName: syncGetMetrics
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - sDebug
    - atomic_load_64
    linkageType: ''
    returnType: SSyncMetrics
    signature: SSyncMetrics syncGetMetrics(int64_t rid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:727,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:730,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:731,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rid
    - pOldMetrics
    argTypes:
    - int64_t
    - SSyncMetrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 734
    functionName: syncResetMetrics
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - atomic_sub_fetch_64
    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:737,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rid
    - syncCommitIndex
    argTypes:
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionName: syncGetCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    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:746,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:750,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:753,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:754,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:755,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:756,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:758,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - rid
    - outToken
    argTypes:
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 760
    functionName: syncGetArbToken
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - syncNodeRelease
    - syncNodeAcquire
    - memset
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_RETURN
    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:764,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:768,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:773,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:774,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:780,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:784,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 786
    functionName: syncCheckSynced
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeAcquire
    - sInfo
    - syncNodeRelease
    - TAOS_RETURN
    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:790,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:794,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:797,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:798,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rid
    - arbTerm
    argTypes:
    - int64_t
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 800
    functionName: syncUpdateArbTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - TAOS_RETURN
    - TMAX
    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:804,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pSyncNode
    - snapshotLastApplyIndex
    argTypes:
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 821
    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:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSyncNode
    - pEp
    argTypes:
    - SSyncNode*
    - SEp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 831
    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:835,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:840,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:849,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pEpSet
    - buffer
    - bufferSize
    argTypes:
    - SEpSet*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 851
    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:856,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:861,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:867,1
    - Dst: syncGetRaftIdByEp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:870,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:871,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:874,1
    - Dst: epsetSort
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:893,1
    - Dst: epsetToString
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:896,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:897,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:899,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - rid
    - pEpSet
    argTypes:
    - int64_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 900
    functionName: syncGetRetryEpSet
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - syncNodeRelease
    - syncNodeAcquire
    - epsetToString
    - strncmp
    - epsetSort
    - syncGetRaftIdByEp
    - sDebug
    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:904,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:908,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:909,1
    - Dst: syncNodePropose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:912,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:913,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: 915
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 915
    functionName: syncPropose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - syncNodePropose
    - syncNodeRelease
    - syncNodeAcquire
    - sError
    - 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:919,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:923,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:924,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:928,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 934
    functionName: syncCheckMember
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeAcquire
    - sError
    - syncNodeRelease
    - 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:938,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:942,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:943,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:950,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:955,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 962
    functionName: syncIsCatchUp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - syncNodeAcquire
    - sError
    - sInfo
    - TAOS_RETURN
    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:966,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:970,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:971,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 978
    functionName: syncGetRole
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeAcquire
    - sError
    - syncNodeRelease
    - 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:982,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:986,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:987,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:990,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:992,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 994
    functionName: syncGetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - syncNodeAcquire
    - sError
    - raftStoreGetTerm
    - 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:1000,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1000,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1001,1
    - Dst: sNWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1006,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1007,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1007,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1008,1
    - Dst: syncNodeHeartbeatReplyTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1012,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1014,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1015,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1015,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1016,1
    - Dst: syncNodeIsOptimizedOneReplica
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1020,1
    - Dst: syncNodeOnClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1022,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1025,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1030,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1031,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:1036,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1041,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1042,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1043,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1046,1
    - Dst: syncRespMgrAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1047,1
    - Dst: syncBuildClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1049,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1051,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1051,1
    - Dst: syncRespMgrDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1052,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1053,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1056,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1057,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1060,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1060,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1061,1
    - Dst: syncRespMgrDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1061,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1065,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: 1067
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1067
    functionName: syncNodePropose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 2
    functionsReached:
    - syncNodeOnClientRequest
    - TAOS_CHECK_RETURN
    - taosGetTimestampMs
    - syncRespMgrDel
    - sError
    - terrstr
    - syncBuildClientRequest
    - sNWarn
    - TMSG_INFO
    - sNError
    - syncNodeIsOptimizedOneReplica
    - sGDebug
    - syncRespMgrAdd
    - raftStoreGetTerm
    - syncNodeGetLastIndex
    - syncNodeHeartbeatReplyTimeout
    - TAOS_RETURN
    - 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:1075,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1076,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pSyncNode
    - pSyncTimer
    - destId
    argTypes:
    - SSyncNode*
    - SSyncTimer*
    - SRaftId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1079
    functionName: syncHbTimerInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - atomic_store_64
    - sInfo
    - taosGetTimestampMs
    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: 1081
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1081
    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:1085,1
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1086,1
    - Dst: syncHbTimerDataAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1087,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1089,1
    - Dst: syncHbTimerDataAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1090,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1101,1
    - Dst: taosTmrResetPriority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1104,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1105,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1107,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - pSyncNode
    - pSyncTimer
    argTypes:
    - SSyncNode*
    - SSyncTimer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1114
    functionName: syncHbTimerStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - syncEnv
    - taosGetTimestampMs
    - taosTmrResetPriority
    - sError
    - syncHbTimerDataAcquire
    - syncIsInit
    - sInfo
    - syncHbTimerDataAdd
    - sWarn
    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:1118,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1119,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1120,1
    - Dst: syncHbTimerDataRemove
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSyncNode
    - pSyncTimer
    argTypes:
    - SSyncNode*
    - SSyncTimer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1125
    functionName: syncHbTimerStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncHbTimerDataRemove
    - sDebug
    - taosTmrStop
    - atomic_add_fetch_64
    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:1130,1
    - 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: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1143,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1146,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1147,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1149,1
    - Dst: SSyncNode*::pLogStore::syncLogRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1151,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1152,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1153,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1154,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1158
    functionName: syncNodeLogStoreRestoreOnNeed
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - SSyncNode*::pLogStore::syncLogRestoreFromSnapshot
    - sError
    - terrstr
    - sInfo
    - SSyncNode*::pLogStore::syncLogLastIndex
    - TAOS_RETURN
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:1163,1
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1169,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1170,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1171,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1172,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1172,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1177,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1178,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1180,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1182,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1184,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1195,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1197,1
    - Dst: syncReadCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1202,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1204,1
    - Dst: syncIsConfigChanged
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1209,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1210,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1212,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1214,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1218,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1222,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1232,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1236,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1239,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1245,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1246,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1248,1
    - Dst: syncLogBufferCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1261,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1263,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1263,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1271,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1273,1
    - Dst: syncUtilNodeInfo2EpSet
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1289,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1295,1
    - Dst: syncUtilGenerateArbToken
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1296,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1297,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1302,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1335,1
    - Dst: raftStoreOpen
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1336,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1338,1
    - Dst: voteGrantedCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1343,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1345,1
    - Dst: votesRespondCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1348,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1350,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1355,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1357,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1360,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1362,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1367,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1369,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1377,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1380,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1384,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1392,1
    - Dst: syncNodeLogStoreRestoreOnNeed
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1395,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1397,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1397,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1409,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1410,1
    - Dst: syncUtilElectRandomMS
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1416,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1417,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1424,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1425,1
    - Dst: syncHbTimerInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1433,1
    - Dst: syncRespMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1440,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1441,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1445,1
    - Dst: snapshotSenderCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1455,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1459,1
    - Dst: snapshotReceiverCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1463,1
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1465,1
    - Dst: syncNodeLogReplInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1472,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1474,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1474,1
    - Dst: syncNodePeerStateInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1479,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1481,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1481,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1492,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1497,1
    - Dst: syncLogBufferInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1500,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1502,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1502,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1515,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1521,1
    - Dst: syncNodeClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1524,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 273
    argCount: 4
    argNames:
    - pSyncInfo
    - vnodeVersion
    - electInterval
    - heartbeatInterval
    argTypes:
    - SSyncInfo*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1527
    functionName: syncNodeOpen
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 13
    functionsReached:
    - snapshotSenderCreate
    - sRDebug
    - tstrerror
    - sNInfo
    - voteGrantedCreate
    - syncNodeClose
    - syncUtilElectRandomMS
    - snprintf
    - syncNodeLogReplInit
    - syncLogBufferCreate
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - logStoreCreate
    - TAOS_SYSTEM_ERROR
    - taosMkDir
    - sError
    - syncUtilNodeInfo2EpSet
    - snapshotReceiverCreate
    - syncWriteCfgFile
    - syncIsConfigChanged
    - tmsgUpdateDnodeInfo
    - syncRespMgrCreate
    - taosMemoryCalloc
    - syncLogBufferInit
    - syncUtilNodeInfo2RaftId
    - raftStoreOpen
    - syncUtilGenerateArbToken
    - atomic_store_64
    - sSDebug
    - syncUtilQuorum
    - sNTrace
    - taosCheckExistFile
    - votesRespondCreate
    - syncReadCfgFile
    - taosGetTimestampMs
    - terrstr
    - memcpy
    - syncHbTimerInit
    - taosThreadMutexInit
    - sInfo
    - syncIndexMgrCreate
    - syncNodeLogStoreRestoreOnNeed
    - taosMemoryFree
    - taosDirExist
    - syncNodePeerStateInit
    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:1533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1538
    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:1544,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1548,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1552,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1553,1
    - Dst: SSyncNode*::pLogStore::syncLogCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1554,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1556,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1560,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1561,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1566,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1567,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1570,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1571,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1574,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1575
    functionName: syncNodeRestore
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - sError
    - SSyncNode*::pLogStore::syncLogCommitIndex
    - terrstr
    - sInfo
    - TMAX
    - syncLogBufferCommit
    - SSyncNode*::pLogStore::syncLogLastIndex
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_RETURN
    - sWarn
    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:1579,1
    - Dst: syncNodeBecomeLearner
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1581,1
    - Dst: raftStoreNextTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1584,1
    - Dst: syncNodeBecomeLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1585,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1588,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1588,1
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1591,1
    - Dst: syncNodeStartPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1596,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1598,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1598,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1602
    functionName: syncNodeStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - tstrerror
    - sError
    - raftStoreNextTerm
    - sInfo
    - syncNodeBecomeFollower
    - syncNodeStartPingTimer
    - syncNodeBecomeLearner
    - syncNodeBecomeLeader
    - syncNodeAppendNoop
    - TAOS_CHECK_RETURN
    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:1609,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1611,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1611,1
    - Dst: syncNodeRestartElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1615,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1617,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1617,1
    - Dst: syncNodeStartPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1621,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1623,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1627
    functionName: syncNodeStartStandBy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    - sError
    - terrstr
    - syncNodeStartPingTimer
    - syncNodeStopHeartbeatTimer
    - syncNodeRestartElectTimer
    - TAOS_CHECK_RETURN
    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:1633,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1637,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1641,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1646,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1647,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1647,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1652,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1653,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1653,1
    - Dst: syncNodeStopPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1658,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1659,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1659,1
    - Dst: syncRespCleanRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1665
    functionName: syncNodePreClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncNodeStopElectTimer
    - tstrerror
    - sError
    - syncNodeStopPingTimer
    - syncRespCleanRsp
    - syncNodeStopHeartbeatTimer
    linkageType: ''
    returnType: void
    signature: void syncNodePreClose(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1669,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1670,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1673,1
    - Dst: snapshotReceiverDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1678
    functionName: syncNodePostClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - snapshotReceiverDestroy
    - snapshotReceiverStop
    - sDebug
    - snapshotReceiverIsStart
    linkageType: ''
    returnType: void
    signature: void syncNodePostClose(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SSyncHbTimerData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1680
    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:1685,1
    - Dst: syncRespCleanRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1687,1
    - Dst: syncNodeStopPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1689,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1690,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1690,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1693,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1694,1
    - Dst: syncNodeStopHeartbeatTimer
      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: syncNodeLogReplDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1701,1
    - Dst: syncRespMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1703,1
    - Dst: voteGrantedDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1705,1
    - Dst: votesRespondDestory
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1707,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1709,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1711,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1713,1
    - Dst: syncLogBufferDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1715,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1718,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1722,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1724,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1725,1
    - Dst: snapshotSenderDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1728,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1734,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1735,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1738,1
    - Dst: snapshotReceiverDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1739,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1744,1
    - Dst: raftStoreClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1747,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1749,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1750
    functionName: syncNodeClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - votesRespondDestory
    - tstrerror
    - sNInfo
    - snapshotSenderDestroy
    - snapshotSenderStop
    - raftStoreClose
    - snapshotReceiverIsStart
    - sError
    - snapshotReceiverStop
    - logStoreDestory
    - syncNodeStopElectTimer
    - syncRespMgrDestroy
    - syncLogBufferDestroy
    - voteGrantedDestroy
    - snapshotReceiverDestroy
    - syncIndexMgrDestroy
    - syncNodeLogReplDestroy
    - sDebug
    - snapshotSenderIsStart
    - syncNodeStopPingTimer
    - syncRespCleanRsp
    - taosThreadMutexDestroy
    - syncNodeStopHeartbeatTimer
    - taosMemoryFree
    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: 1752
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1752
    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:1757,1
    - Dst: taosTmrResetPriority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1758,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1759,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1761,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1764,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1755
    functionDepth: 1
    functionLinenumber: 1755
    functionLinenumberEnd: 1769
    functionName: syncNodeStartPingTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - syncEnv
    - atomic_store_64
    - taosTmrResetPriority
    - sError
    - syncIsInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStartPingTimer(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1773,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1774,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1778
    functionName: syncNodeStopPingTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 3
    functionsReached:
    - sDebug
    - taosTmrStop
    - atomic_add_fetch_64
    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:1782,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1785,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1786,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1787,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1791,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1792,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1793,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pSyncNode
    - ms
    argTypes:
    - SSyncNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1798
    functionName: syncNodeStartElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncEnv
    - taosGetTimestampMs
    - atomic_store_64
    - sError
    - syncIsInit
    - taosTmrReset
    - 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:1802,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1803,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1808
    functionName: syncNodeStopElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 2
    functionsReached:
    - sTrace
    - taosTmrStop
    - atomic_add_fetch_64
    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:1812,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1812,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1813,1
    - Dst: syncNodeStartElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSyncNode
    - ms
    argTypes:
    - SSyncNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1810
    functionDepth: 2
    functionLinenumber: 1810
    functionLinenumberEnd: 1815
    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:1824,1
    - Dst: syncNodeRestartElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1827,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1828,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1828,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1817
    functionDepth: 3
    functionLinenumber: 1817
    functionLinenumberEnd: 1834
    functionName: syncNodeResetElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - sNTrace
    - syncUtilElectRandomMS
    - syncNodeRestartElectTimer
    - sWarn
    linkageType: ''
    returnType: void
    signature: void syncNodeResetElectTimer(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1839,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1840,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1840,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1841,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1842,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1844,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1849
    functionName: syncNodeDoStartHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncEnv
    - atomic_store_64
    - sError
    - syncIsInit
    - sNTrace
    - taosTmrReset
    - TAOS_CHECK_RETURN
    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:1857,1
    - Dst: syncNodeGetHbTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1861,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1863,1
    - Dst: syncHbTimerStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1852
    functionDepth: 2
    functionLinenumber: 1852
    functionLinenumberEnd: 1868
    functionName: syncNodeStartHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncNodeDoStartHeartbeatTimer
    - syncHbTimerStart
    - syncNodeGetHbTimer
    - 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:1874,1
    - Dst: syncHBSetTimerMS
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pSyncNode
    - ms
    argTypes:
    - SSyncNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1870
    functionDepth: 1
    functionLinenumber: 1870
    functionLinenumberEnd: 1881
    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:1887,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1887,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1888,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1889,1
    - Dst: syncNodeGetHbTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1894,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1896,1
    - Dst: syncHbTimerStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1883
    functionDepth: 2
    functionLinenumber: 1883
    functionLinenumberEnd: 1901
    functionName: syncNodeStopHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - syncHbTimerStop
    - atomic_add_fetch_64
    - taosTmrStop
    - syncNodeGetHbTimer
    - sDebug
    - TAOS_CHECK_RETURN
    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:1905,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1906,1
    - Dst: syncNodeSetHeartbeatTimerMs
      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: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1908,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1909,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pSyncNode
    - heartbeatInterval
    argTypes:
    - SSyncNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1903
    functionDepth: 3
    functionLinenumber: 1903
    functionLinenumberEnd: 1913
    functionName: syncNodeRestartHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncNodeSetHeartbeatTimerMs
    - sInfo
    - syncNodeStartHeartbeatTimer
    - syncNodeStopHeartbeatTimer
    - TAOS_CHECK_RETURN
    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:1926,1
    - Dst: SSyncNode*::syncSendMSg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1928,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1932,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1932,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1933,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1934,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1938,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - destRaftId
    - pNode
    - pMsg
    argTypes:
    - SRaftId*
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1915
    functionDepth: 3
    functionLinenumber: 1915
    functionLinenumberEnd: 1939
    functionName: syncNodeSendMsgById
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 3
    functionsReached:
    - tstrerror
    - SSyncNode*::syncSendMSg
    - syncUtilMsgHtoN
    - sError
    - DID
    - TAOS_RETURN
    - 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:1946,1
    - Dst: SYNC_ADDR
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1955,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1959,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pNode
    - pCfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1970
    functionName: syncNodeInConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncUtilSameId
    - SYNC_ADDR
    - strcmp
    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:1978,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pOldCfg
    - pNewCfg
    argTypes:
    - SSyncCfg*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1984
    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:1989,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1990,1
    - Dst: syncNodeInConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1999,1
    - Dst: syncNodeInConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2000,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2018,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2032,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2046,1
    - Dst: sSTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2050,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2055,1
    - Dst: syncUtilNodeInfo2EpSet
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2063,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2068,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2076,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2082,1
    - Dst: syncIndexMgrUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2084,1
    - Dst: syncIndexMgrUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2085,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2086,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2087,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2101,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2102,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2103,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2113,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2114,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2124,1
    - Dst: snapshotSenderCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2124,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2127,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2129,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2132,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2139,1
    - Dst: snapshotSenderDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2140,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2146,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2146,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2149,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2149,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2150,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2155,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 108
    argCount: 3
    argNames:
    - pSyncNode
    - pNewConfig
    - lastConfigChangeIndex
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 1986
    functionDepth: 2
    functionLinenumber: 1986
    functionLinenumberEnd: 2157
    functionName: syncNodeDoConfigChange
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - snapshotSenderCreate
    - sNInfo
    - snapshotSenderDestroy
    - sSTrace
    - syncUtilNodeInfo2EpSet
    - sNError
    - voteGrantedUpdate
    - syncIsConfigChanged
    - syncWriteCfgFile
    - syncUtilNodeInfo2RaftId
    - syncUtilSameId
    - sSDebug
    - syncUtilQuorum
    - sNTrace
    - votesRespondUpdate
    - syncIndexMgrUpdate
    - memcpy
    - sInfo
    - DID
    - syncNodeInConfig
    - sSError
    - TAOS_CHECK_RETURN
    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:2161,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pSyncNode
    - term
    argTypes:
    - SSyncNode*
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2160
    functionDepth: 1
    functionLinenumber: 2160
    functionLinenumberEnd: 2164
    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:2167,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2169,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2174,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2178,1
    - Dst: syncUtilGenerateArbToken
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2179,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2180,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2182,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2186,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2188,1
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2190,1
    - Dst: raftStoreClearVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2191,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2195,1
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - pSyncNode
    - newTerm
    - id
    - strFrom
    argTypes:
    - SSyncNode*
    - SyncTerm
    - SRaftId
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2166
    functionDepth: 1
    functionLinenumber: 2166
    functionLinenumberEnd: 2200
    functionName: syncNodeStepDown
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - raftStoreSetTerm
    - taosThreadMutexUnlock
    - syncUtilGenerateArbToken
    - sNTrace
    - sInfo
    - snprintf
    - syncNodeBecomeFollower
    - raftStoreClearVote
    - raftStoreGetTerm
    - taosThreadMutexLock
    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:2202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2202
    functionDepth: 1
    functionLinenumber: 2202
    functionLinenumberEnd: 2202
    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:2217,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2219,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2224,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2225,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2226,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2226,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2231,1
    - Dst: syncNodeLeaderChangeRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2234,1
    - Dst: SSyncNode*::pFsm::FpBecomeFollowerCb
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2238,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2245,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2246,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2246,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2251,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - pSyncNode
    - leaderId
    - debugStr
    argTypes:
    - SSyncNode*
    - SRaftId
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2204
    functionDepth: 4
    functionLinenumber: 2204
    functionLinenumberEnd: 2254
    functionName: syncNodeBecomeFollower
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 3
    functionsReached:
    - tstrerror
    - syncLogBufferReset
    - taosGetTimestampMs
    - syncUtilSameId
    - sError
    - sNTrace
    - syncNodeLeaderChangeRsp
    - sInfo
    - syncNodeResetElectTimer
    - SSyncNode*::pFsm::FpBecomeFollowerCb
    - syncNodeStopHeartbeatTimer
    - strncpy
    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:2261,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2264,1
    - Dst: SSyncNode*::pFsm::FpBecomeLearnerCb
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2268,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2276,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2277,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pSyncNode
    - debugStr
    argTypes:
    - SSyncNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2256
    functionDepth: 1
    functionLinenumber: 2256
    functionLinenumberEnd: 2280
    functionName: syncNodeBecomeLearner
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncLogBufferReset
    - tstrerror
    - taosGetTimestampMs
    - sError
    - sNTrace
    - 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:2310,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2314,1
    - Dst: syncNodeGetLastIndexTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2321,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2323,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2323,1
    - Dst: syncNodePeerStateInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2336,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2337,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2343,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2355,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2356,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2360,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2361,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2361,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2366,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2367,1
    - Dst: syncNodeHeartbeatPeers
      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: SSyncNode*::pFsm::FpBecomeLeaderCb
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2379,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2386,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2387,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2387,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2392,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - pSyncNode
    - debugStr
    argTypes:
    - SSyncNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2300
    functionDepth: 3
    functionLinenumber: 2300
    functionLinenumberEnd: 2393
    functionName: syncNodeBecomeLeader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - snapshotReceiverIsStart
    - taosGetTimestampMs
    - syncLogBufferReset
    - sNInfo
    - sError
    - snapshotReceiverStop
    - SSyncNode*::pFsm::FpBecomeLeaderCb
    - syncNodeGetLastIndexTerm
    - syncNodeStartHeartbeatTimer
    - syncNodeHeartbeatPeers
    - syncNodeGetSnapshotSender
    - syncNodeStopElectTimer
    - strncpy
    - syncNodePeerStateInit
    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:2405,1
    - Dst: syncNodeGetLastIndexTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2413,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2415,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2415,1
    - Dst: syncNodePeerStateInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2428,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2429,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2429,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2434,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2435,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2439,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2440,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2440,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2445,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2446,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2446,1
    - Dst: syncNodeHeartbeatPeers
      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: SSyncNode*::pFsm::FpBecomeAssignedLeaderCb
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2458,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2465,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2466,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2466,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2471,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2395
    functionDepth: 3
    functionLinenumber: 2395
    functionLinenumberEnd: 2472
    functionName: syncNodeBecomeAssignedLeader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - snapshotReceiverIsStart
    - taosGetTimestampMs
    - syncLogBufferReset
    - sNInfo
    - sError
    - snapshotReceiverStop
    - syncNodeGetLastIndexTerm
    - syncNodeStartHeartbeatTimer
    - SSyncNode*::pFsm::FpBecomeAssignedLeaderCb
    - syncNodeHeartbeatPeers
    - syncNodeStopElectTimer
    - syncNodePeerStateInit
    linkageType: ''
    returnType: void
    signature: void syncNodeBecomeAssignedLeader(SSyncNode* pSyncNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2476,1
    - Dst: voteGrantedMajority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2479,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2481,1
    - Dst: syncNodeBecomeLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2484,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2486,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2488,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2490,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2490,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2493,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2495,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2474
    functionDepth: 4
    functionLinenumber: 2474
    functionLinenumberEnd: 2497
    functionName: syncNodeCandidate2Leader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - voteGrantedMajority
    - sError
    - terrstr
    - sNTrace
    - sInfo
    - SSyncNode*::pLogStore::syncLogLastIndex
    - raftStoreGetTerm
    - syncNodeBecomeLeader
    - syncNodeAppendNoop
    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: 2499
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2499
    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:2503,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2507,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2508,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rid
    - ms
    argTypes:
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2501
    functionDepth: 4
    functionLinenumber: 2501
    functionLinenumberEnd: 2513
    functionName: syncSetElectBaseline
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeAcquire
    - sError
    - syncNodeResetElectTimer
    - TAOS_RETURN
    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: 2522
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2522
    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:2526,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2530,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2531,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2532,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2533,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2524
    functionDepth: 1
    functionLinenumber: 2524
    functionLinenumberEnd: 2536
    functionName: syncNodeFollower2Candidate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    - sError
    - sNTrace
    - sInfo
    - SSyncNode*::pLogStore::syncLogLastIndex
    - raftStoreGetTerm
    linkageType: ''
    returnType: void
    signature: void syncNodeFollower2Candidate(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeBecomeLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2540,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2542,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2544,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2546,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2546,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2549,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2550,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2538
    functionDepth: 4
    functionLinenumber: 2538
    functionLinenumberEnd: 2555
    functionName: syncNodeAssignedLeader2Leader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - sError
    - sNTrace
    - sInfo
    - SSyncNode*::pLogStore::syncLogLastIndex
    - raftStoreGetTerm
    - syncNodeBecomeLeader
    - syncNodeAppendNoop
    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:2559,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2561,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2564,1
    - Dst: raftStoreHasVoted
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2565,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2567,1
    - Dst: raftStoreVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pSyncNode
    - term
    - pRaftId
    argTypes:
    - SSyncNode*
    - SyncTerm
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2558
    functionDepth: 1
    functionLinenumber: 2558
    functionLinenumberEnd: 2572
    functionName: syncNodeVoteForTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - raftStoreVote
    - sError
    - raftStoreHasVoted
    - raftStoreGetTerm
    - sTrace
    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:2576,1
    - Dst: syncBuildRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2579,1
    - Dst: voteGrantedVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2588,1
    - Dst: votesRespondAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2589,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pSyncNode
    - currentTerm
    argTypes:
    - SSyncNode*
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2575
    functionDepth: 3
    functionLinenumber: 2575
    functionLinenumberEnd: 2591
    functionName: syncNodeVoteForSelf
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - voteGrantedVote
    - syncBuildRequestVoteReply
    - votesRespondAdd
    - syncNodeVoteForTerm
    - 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:2599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2605
    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:2613,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2619
    functionName: syncNodeGetLastIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 6
    functionsReached:
    - SSyncNode*::pLogStore::syncLogLastIndex
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex syncNodeGetLastIndex(const SSyncNode* pSyncNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeHasSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2625,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2630,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2633,1
    - Dst: SSyncNode*::pLogStore::syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2635,1
    - Dst: SSyncNode*::pLogStore::syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2623
    functionDepth: 1
    functionLinenumber: 2623
    functionLinenumberEnd: 2646
    functionName: syncNodeGetLastTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 5
    functionsReached:
    - syncNodeHasSnapshot
    - SSyncNode*::pLogStore::syncLogLastTerm
    - SSyncNode*::pLogStore::syncLogLastIndex
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    linkageType: ''
    returnType: SyncTerm
    signature: SyncTerm syncNodeGetLastTerm(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2650,1
    - Dst: syncNodeGetLastTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pSyncNode
    - pLastIndex
    - pLastTerm
    argTypes:
    - SSyncNode*
    - SyncIndex*
    - SyncTerm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2649
    functionDepth: 2
    functionLinenumber: 2649
    functionLinenumberEnd: 2653
    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:2658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2657
    functionDepth: 1
    functionLinenumber: 2657
    functionLinenumberEnd: 2660
    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: 2671
      start: 2664
    functionDepth: 0
    functionLinenumber: 2664
    functionLinenumberEnd: 2671
    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:2691,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2694,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2698,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2702,1
    - Dst: SSyncNode*::pLogStore::syncLogGetEntry
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2704,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2717,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2719,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2726,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2733,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - pSyncNode
    - index
    argTypes:
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2677
    functionDepth: 1
    functionLinenumber: 2677
    functionLinenumberEnd: 2736
    functionName: syncNodeGetPreTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 5
    functionsReached:
    - taosLRUCacheLookup
    - taosLRUCacheRelease
    - syncEntryDestroy
    - sNTrace
    - sNError
    - SSyncNode*::pLogStore::syncLogGetEntry
    - taosLRUCacheValue
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:2740,1
    - Dst: syncNodeGetPreTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pSyncNode
    - index
    - pPreIndex
    - pPreTerm
    argTypes:
    - SSyncNode*
    - SyncIndex
    - SyncIndex*
    - SyncTerm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2739
    functionDepth: 2
    functionLinenumber: 2739
    functionLinenumberEnd: 2743
    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:2747,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2750,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2754,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2754,1
    - Dst: syncBuildTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2756,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2756,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2759,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2760,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2765,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2767,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2767,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2768,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2773,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2773,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2775,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2777,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2746
    functionDepth: 3
    functionLinenumber: 2746
    functionLinenumberEnd: 2778
    functionName: syncNodeEqPingTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncBuildTimeout
    - syncEnv
    - syncNodeRelease
    - syncNodeAcquire
    - sError
    - terrstr
    - syncIsInit
    - atomic_load_64
    - SSyncNode*::syncEqMsg
    - taosTmrReset
    - 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:2781,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2784,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2789,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2793,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2795,1
    - Dst: syncBuildTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2801,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2804,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2805,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2810,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2812,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2814,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2814,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2815,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2816,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2820,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2821
      start: 2780
    functionDepth: 3
    functionLinenumber: 2780
    functionLinenumberEnd: 2821
    functionName: syncNodeEqElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncBuildTimeout
    - syncNodeRelease
    - taosGetTimestampMs
    - syncNodeAcquire
    - sError
    - terrstr
    - syncIsInit
    - sNTrace
    - SSyncNode*::syncEqMsg
    - 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:2825,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2828,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2833,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2833,1
    - Dst: syncBuildTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2835,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2835,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2839,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2843,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2844,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2846,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2846,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2847,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2852,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2852,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2857,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2824
    functionDepth: 3
    functionLinenumber: 2824
    functionLinenumberEnd: 2861
    functionName: syncNodeEqHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncBuildTimeout
    - rpcFreeCont
    - syncEnv
    - syncNodeAcquire
    - sError
    - terrstr
    - syncIsInit
    - atomic_load_64
    - SSyncNode*::syncEqMsg
    - taosTmrReset
    - sTrace
    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:2866,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2870,1
    - Dst: syncHbTimerDataAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2872,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2874,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2878,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2880,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2881,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2888,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2889,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2890,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2895,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2896,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2897,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2902,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2905,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2910,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2911,1
    - Dst: syncBuildHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2918,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2919,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2919,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2920,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2921,1
    - Dst: syncMinMatchIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2925,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2930,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2941,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2941,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2942,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2942,1
    - Dst: syncLogSendHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2943,1
    - Dst: syncNodeSendHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2944,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2946,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2946,1
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2950,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2952,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2954,1
    - Dst: taosTmrResetPriority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2956,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2957,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: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2961,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2965,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2970,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2974,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2975,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2977,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 79
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2864
    functionDepth: 2
    functionLinenumber: 2864
    functionLinenumberEnd: 2979
    functionName: syncNodeEqPeerHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - tstrerror
    - TRACE_SET_ROOTID
    - syncNodeSendHeartbeat
    - atomic_load_64
    - syncHbTimerDataRelease
    - taosTmrResetPriority
    - sError
    - syncIsInit
    - tGenIdPI64
    - syncLogSendHeartbeat
    - syncNodeRelease
    - syncHbTimerDataAcquire
    - syncMinMatchIndex
    - raftStoreGetTerm
    - syncBuildHeartbeat
    - syncEnv
    - taosGetTimestampMs
    - syncNodeAcquire
    - sInfo
    - sTrace
    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:2984,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: 2985
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 2985
    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:2989,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pLogStore
    - pEntry
    - h
    argTypes:
    - SSyncLogStore*
    - SSyncRaftEntry*
    - LRUHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2987
    functionDepth: 1
    functionLinenumber: 2987
    functionLinenumberEnd: 3000
    functionName: syncCacheEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - taosLRUCacheInsert
    - sNTrace
    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:3012,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3014,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3015,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3027,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3028,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - pReq
    - cfg
    argTypes:
    - SAlterVnodeReplicaReq*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3003
    functionDepth: 1
    functionLinenumber: 3003
    functionLinenumberEnd: 3038
    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:3047,1
    - Dst: tDeserializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3050,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3052,1
    - Dst: syncBuildConfigFromReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3056,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3062,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3070,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3072,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - ths
    - pEntry
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 3040
    functionDepth: 2
    functionLinenumber: 3040
    functionLinenumberEnd: 3077
    functionName: syncNodeCheckChangeConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeStepDown
    - tDeserializeSAlterVnodeReplicaReq
    - raftStoreGetTerm
    - POINTER_SHIFT
    - syncBuildConfigFromReq
    - TAOS_RETURN
    - 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:3080,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3086,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3091,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3100,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3102,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3105,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3107,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3111,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3115,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ths
    - cfg
    - str
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3079
    functionDepth: 1
    functionLinenumber: 3079
    functionLinenumberEnd: 3124
    functionName: syncNodeLogConfigInfo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    - 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:3132,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3136,1
    - Dst: syncUtilNodeInfo2EpSet
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3140,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3142,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3143,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3161,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - ths
    - cfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3173
      start: 3126
    functionDepth: 1
    functionLinenumber: 3126
    functionLinenumberEnd: 3173
    functionName: syncNodeRebuildPeerAndCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - sError
    - strcmp
    - syncUtilNodeInfo2EpSet
    - syncUtilNodeInfo2RaftId
    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:3179,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - ths
    - cfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3175
    functionDepth: 0
    functionLinenumber: 3175
    functionLinenumberEnd: 3201
    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:3207,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3212,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3218,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3222,1
    - Dst: syncIndexMgrCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3225,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3227,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3232,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3236,1
    - Dst: syncIndexMgrCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3239,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3241,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3244,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3245,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3249,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3256,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3258,1
    - Dst: syncNodeLogReplDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3264,1
    - Dst: syncNodeLogReplInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3265,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3266,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3267,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3272,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3280,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3287,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3293,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3295,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3296,1
    - Dst: snapshotSenderDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3299,1
    - Dst: snapshotSenderCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3306,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3310,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3314,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3319,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3320,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3321,1
    - Dst: syncHbTimerInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3325,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3326,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3327,1
    - Dst: syncNodeStartHeartbeatTimer
      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: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3344,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3350,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 102
    argCount: 2
    argNames:
    - ths
    - oldtotalReplicaNum
    argTypes:
    - SSyncNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3203
    functionDepth: 3
    functionLinenumber: 3203
    functionLinenumberEnd: 3353
    functionName: syncNodeRebuildAndCopyIfExist
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - snapshotSenderCreate
    - snapshotSenderDestroy
    - snapshotSenderStop
    - syncNodeLogReplInit
    - syncIndexMgrCopyIfExist
    - voteGrantedUpdate
    - TAOS_RETURN
    - syncUtilNodeInfo2RaftId
    - syncUtilSameId
    - memset
    - sSDebug
    - votesRespondUpdate
    - syncIndexMgrDestroy
    - syncNodeLogReplDestroy
    - sDebug
    - memcpy
    - syncHbTimerInit
    - snapshotSenderIsStart
    - syncIndexMgrCreate
    - syncNodeStartHeartbeatTimer
    - syncNodeStopHeartbeatTimer
    - taosMemoryFree
    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:3358,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3360,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3367,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3369,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3373,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3355
    functionDepth: 1
    functionLinenumber: 3355
    functionLinenumberEnd: 3378
    functionName: syncNodeChangeToVoter
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - votesRespondUpdate
    - voteGrantedUpdate
    - sDebug
    linkageType: ''
    returnType: void
    signature: void syncNodeChangeToVoter(SSyncNode* ths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3383,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3380
    functionDepth: 0
    functionLinenumber: 3380
    functionLinenumberEnd: 3389
    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:3398,1
    - Dst: tDeserializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3401,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3403,1
    - Dst: syncBuildConfigFromReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3407,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3410,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3420,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3421,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3431,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3433,1
    - Dst: syncNodeLogConfigInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3447,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3455,1
    - Dst: syncNodeResetPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3463,1
    - Dst: syncNodeRebuildPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3467,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3468,1
    - Dst: syncNodeRebuildAndCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3471,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3472,1
    - Dst: syncNodeResetPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3477,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3484,1
    - Dst: syncNodeRebuildAndCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3489,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3490,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3500,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3504,1
    - Dst: syncNodeChangePeerAndCfgToVoter
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3513,1
    - Dst: syncNodeChangeToVoter
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3516,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3527,1
    - Dst: syncNodeRebuildPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3532,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3533,1
    - Dst: syncNodeRebuildAndCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3537,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3538,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3549,1
    - Dst: syncNodeLogConfigInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3555,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3557,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3558,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3559,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3562,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 3
    argNames:
    - ths
    - pEntry
    - str
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3563
      start: 3391
    functionDepth: 4
    functionLinenumber: 3391
    functionLinenumberEnd: 3563
    functionName: syncNodeChangeConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeChangeToVoter
    - syncNodeResetPeerAndCfg
    - syncNodeRebuildPeerAndCfg
    - tDeserializeSAlterVnodeReplicaReq
    - memcpy
    - sError
    - syncNodeRebuildAndCopyIfExist
    - syncUtilQuorum
    - sInfo
    - TMSG_INFO
    - syncNodeChangePeerAndCfgToVoter
    - POINTER_SHIFT
    - syncNodeLogConfigInfo
    - syncBuildConfigFromReq
    - syncWriteCfgFile
    - TAOS_RETURN
    - strcmp
    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:3569,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3570,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3571,1
    - Dst: syncLogBufferAppend
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3577,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3578,1
    - Dst: syncFsmExecute
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3580,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3580,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3581,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3581,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3583,1
    - Dst: syncLogBufferProceed
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3591,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3595,1
    - Dst: syncNodeUpdateAssignedCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3603,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3604,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3607,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3608,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3616,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3620,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3621,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3625,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3626,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3631,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - ths
    - pEntry
    - pMsg
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3565
    functionDepth: 1
    functionLinenumber: 3565
    functionLinenumberEnd: 3632
    functionName: syncNodeAppend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncLogBufferAppend
    - tstrerror
    - syncEntryDestroy
    - sGTrace
    - sError
    - TMSG_INFO
    - sGError
    - sGDebug
    - syncNodeUpdateAssignedCommitIndex
    - syncNodeUpdateCommitIndex
    - syncLogBufferCommit
    - raftStoreGetTerm
    - syncLogBufferProceed
    - TAOS_RETURN
    - syncFsmExecute
    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:3640,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3634
    functionDepth: 1
    functionLinenumber: 3634
    functionLinenumberEnd: 3658
    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: 3670
      start: 3660
    functionDepth: 0
    functionLinenumber: 3660
    functionLinenumberEnd: 3670
    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: 3677
      start: 3672
    functionDepth: 0
    functionLinenumber: 3672
    functionLinenumberEnd: 3677
    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:3681,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3682,1
    - Dst: syncEntryBuildNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3684,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3687,1
    - Dst: syncNodeAppend
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3690,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3692
      start: 3679
    functionDepth: 2
    functionLinenumber: 3679
    functionLinenumberEnd: 3692
    functionName: syncNodeAppendNoop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - syncLogBufferGetEndIndex
    - syncNodeAppend
    - raftStoreGetTerm
    - syncEntryBuildNoop
    - TAOS_RETURN
    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:3698,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3699,1
    - Dst: syncEntryBuildNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3700,1
    - Dst: SSyncNode*::pLogStore::syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3706,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3708,1
    - Dst: syncCacheEntry
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3712,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3716,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3695
    functionDepth: 2
    functionLinenumber: 3695
    functionLinenumberEnd: 3722
    functionName: syncNodeAppendNoopOld
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncCacheEntry
    - taosLRUCacheRelease
    - syncEntryDestroy
    - sError
    - SSyncNode*::pLogStore::syncLogWriteIndex
    - raftStoreGetTerm
    - syncEntryBuildNoop
    - SSyncNode*::pLogStore::syncLogAppendEntry
    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:3729,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3731,1
    - Dst: syncIndexMgrSetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3732,1
    - Dst: syncIndexMgrIncRecvCount
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3733,1
    - Dst: syncLogRecvHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3737,1
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3739,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3740,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3743,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3743,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3743,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3747,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3750,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3754,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3758,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3761,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3761,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3764,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3767,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3767,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3779,1
    - Dst: syncBuildLocalCmd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3779,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3789,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3791,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3792,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3793,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3795,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3807,1
    - Dst: syncBuildLocalCmd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3807,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3816,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3818,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3819,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3821,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3827,1
    - Dst: syncBuildHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3827,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3838,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3841,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3841,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3843,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3846,1
    - Dst: sGInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3849,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3852,1
    - Dst: sGDebug
      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: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3862,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3862,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3864,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3866
      start: 3725
    functionDepth: 4
    functionLinenumber: 3725
    functionLinenumberEnd: 3866
    functionName: syncNodeOnHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - TRACE_SET_MSGID
    - syncIndexMgrIncRecvCount
    - tstrerror
    - syncBuildHeartbeatReply
    - syncBuildLocalCmd
    - sGDebug
    - SSyncNode*::syncEqMsg
    - sGTrace
    - sError
    - tGenIdPI64
    - syncNodeSendMsgById
    - rpcFreeCont
    - sWarn
    - syncIndexMgrSetRecvTime
    - sGInfo
    - syncLogRecvHeartbeat
    - syncNodeResetElectTimer
    - sGError
    - raftStoreGetTerm
    - CID
    - raftStoreSetTerm
    - syncIndexMgrGetRecvTime
    - syncNodeInRaftGroup
    - taosGetTimestampMs
    - DID
    - sTrace
    - TAOS_CHECK_RETURN
    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:3872,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3876,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3877,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3880,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3881,1
    - Dst: syncLogRecvHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3882,1
    - Dst: syncIndexMgrSetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3884,1
    - Dst: syncIndexMgrIncRecvCount
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3885,1
    - Dst: syncLogReplProcessHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3868
    functionDepth: 1
    functionLinenumber: 3868
    functionLinenumberEnd: 3888
    functionName: syncNodeOnHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncNodeGetLogReplMgr
    - syncIndexMgrGetRecvTime
    - syncLogRecvHeartbeatReply
    - syncIndexMgrSetRecvTime
    - syncIndexMgrIncRecvCount
    - taosGetTimestampMs
    - sError
    - syncLogReplProcessHeartbeatReply
    - TAOS_RETURN
    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:3894,1
    - Dst: syncLogRecvHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3896,1
    - Dst: syncIndexMgrSetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3891
    functionDepth: 1
    functionLinenumber: 3891
    functionLinenumberEnd: 3901
    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:3906,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3910,1
    - Dst: syncLogBufferIsEmpty
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3913,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3914,1
    - Dst: syncLogBufferGetLastMatchTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3917,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3922,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3923,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3926,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3927,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3927,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3931,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3904
    functionDepth: 2
    functionLinenumber: 3904
    functionLinenumberEnd: 3935
    functionName: syncNodeOnLocalCmd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - sTrace
    - syncNodeStepDown
    - sError
    - terrstr
    - syncLogBufferIsEmpty
    - syncLogBufferGetLastMatchTerm
    - syncLogBufferCommit
    - syncLogRecvLocalCmd
    - syncNodeUpdateCommitIndex
    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:3949,1
    - Dst: syncLogBufferGetEndIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3952,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3953,1
    - Dst: syncEntryBuildFromClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3956,1
    - Dst: syncEntryBuildFromRpcMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3958,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3962,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3963,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3970,1
    - Dst: syncRespMgrAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3971,1
    - Dst: syncNodeCheckChangeConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3981,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3983,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3984,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3985,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3987,1
    - Dst: syncRespMgrGetAndDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3992,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3993,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3996,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3998,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4000,1
    - Dst: syncNodeAppend
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4004,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4007,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - ths
    - pMsg
    - pRetIndex
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    - SyncIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 3948
    functionDepth: 3
    functionLinenumber: 3948
    functionLinenumberEnd: 4011
    functionName: syncNodeOnClientRequest
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 2
    functionsReached:
    - syncEntryBuildFromClientRequest
    - syncLogBufferGetEndIndex
    - tmsgSendRsp
    - syncEntryBuildFromRpcMsg
    - taosGetTimestampMs
    - syncEntryDestroy
    - terrstr
    - sGError
    - syncRespMgrAdd
    - sGDebug
    - syncNodeAppend
    - syncRespMgrGetAndDel
    - syncNodeCheckChangeConfig
    - raftStoreGetTerm
    - TAOS_RETURN
    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: 4032
      start: 4013
    functionDepth: 0
    functionLinenumber: 4013
    functionLinenumberEnd: 4032
    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:4037,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ths
    - pNewCfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4048
      start: 4034
    functionDepth: 1
    functionLinenumber: 4034
    functionLinenumberEnd: 4048
    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:4051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4052
      start: 4050
    functionDepth: 1
    functionLinenumber: 4050
    functionLinenumberEnd: 4052
    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:4056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - pRaftId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4061
      start: 4054
    functionDepth: 1
    functionLinenumber: 4054
    functionLinenumberEnd: 4061
    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:4066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4071
      start: 4063
    functionDepth: 1
    functionLinenumber: 4063
    functionLinenumberEnd: 4071
    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:4076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4081
      start: 4073
    functionDepth: 1
    functionLinenumber: 4073
    functionLinenumberEnd: 4081
    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:4086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4091
      start: 4083
    functionDepth: 1
    functionLinenumber: 4083
    functionLinenumberEnd: 4091
    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:4095,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4097,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ths
    - pDestId
    - pMsg
    argTypes:
    - SSyncNode*
    - SRaftId*
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4109
      start: 4094
    functionDepth: 2
    functionLinenumber: 4094
    functionLinenumberEnd: 4109
    functionName: syncNodeNeedSendAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncNodeGetPeerState
    - taosGetTimestampMs
    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:4113,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4118,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4120,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4126,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4134
      start: 4111
    functionDepth: 2
    functionLinenumber: 4111
    functionLinenumberEnd: 4134
    functionName: syncNodeCanChange
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeGetLastIndex
    - sError
    - 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:
    - memcpy
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncBuildClientRequest(SRpcMsg* pMsg, const SRpcMsg* pOriginal,
      uint64_t seqNum, bool isWeak, int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c: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:
    - memcpy
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncBuildClientRequestFromNoopEntry(SRpcMsg* pMsg, const SSyncRaftEntry*
      pEntry, int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c: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:
    - memcpy
    - rpcMallocCont
    - 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:
    - atomic_store_8
    - memset
    - sError
    - sDebug
    - syncIsInit
    - taosSeedRand
    - syncCleanUp
    - taosOpenRef
    - taosGetTimestampNs
    - 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:
    - atomic_store_8
    - memset
    - taosTmrCleanUp
    - sDebug
    - taosCloseRef
    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:
    - sError
    - taosRemoveRef
    - tstrerror
    - sDebug
    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:
    - sError
    - taosReleaseRef
    - 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:
    - sError
    - tstrerror
    - taosRemoveRef
    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:
    - sError
    - taosReleaseRef
    - 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:
    - syncSnapBufferReset
    - taosThreadMutexDestroy
    - 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
    - taosThreadMutexInit
    - TAOS_RETURN
    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:
    - syncSnapBufferCreate
    - taosMemoryFreeClear
    - syncSnapBufferReset
    - SSyncSnapshotSender*::pSyncNode::pFsm::FpGetSnapshotInfo
    - raftStoreGetTerm
    - taosMemoryCalloc
    - TAOS_RETURN
    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
    - snapshotSenderClearInfoData
    - taosMemoryFree
    - syncSnapBufferDestroy
    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:
    - tstrerror
    - taosGetTimestampMs
    - taosMemoryFree
    - memset
    - syncSnapSendMsg
    - sInfo
    - atomic_val_compare_exchange_8
    - TMSG_INFO
    - DID
    - taosGetMonoTimestampMs
    - raftStoreGetTerm
    - sSError
    - sSInfo
    - TAOS_RETURN
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:
    - snapshotSenderClearInfoData
    - sSDebug
    - syncSnapBufferReset
    - atomic_val_compare_exchange_8
    - SSyncSnapshotSender*::pSyncNode::pFsm::FpSnapshotStopRead
    - DID
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sSInfo
    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:
    - tstrerror
    - memcpy
    - syncNodeSendMsgById
    - syncBuildSnapshotSend
    - sSError
    - TAOS_RETURN
    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:
    - tstrerror
    - taosGetTimestampMs
    - sSDebug
    - syncSnapSendMsg
    - SSyncSnapshotSender*::pSyncNode::pFsm::FpSnapshotDoRead
    - syncSnapBlockDestroy
    - TMAX
    - taosMemoryCalloc
    - sSError
    - sSInfo
    - TAOS_RETURN
    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:
    - taosGetTimestampMs
    - syncSnapSendMsg
    - snapshotSend
    - snapshotSenderIsStart
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotReSend(SSyncSnapshotSender *pSender)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c: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: snapshotSenderStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:405,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:407,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:407,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pSyncNode
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 412
    functionName: syncNodeStartSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - snapshotSenderStart
    - sSDebug
    - sNError
    - snapshotSenderIsStart
    - taosMsleep
    - syncNodeGetSnapshotSender
    - sSError
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStartSnapshot(SSyncNode *pSyncNode, SRaftId *pDestId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:421,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:424,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:426,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:433,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:435,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:437,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:441,1
    - Dst: syncSnapBufferCreate
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:448,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:450,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:452,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:452,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:454,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:456,1
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:461,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 3
    argNames:
    - pSyncNode
    - fromId
    - ppReceiver
    argTypes:
    - SSyncNode*
    - SRaftId
    - SSyncSnapshotReceiver**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 464
    functionName: snapshotReceiverCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - syncSnapBufferCreate
    - syncSnapBufferReset
    - sError
    - taosThreadMutexInit
    - taosThreadMutexDestroy
    - raftStoreGetTerm
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_RETURN
    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:468,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 477
    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:482,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:485,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:488,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:489,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:493,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:495,1
    - Dst: syncSnapBufferDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:499,1
    - Dst: snapshotReceiverClearInfoData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:502,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 506
    functionName: snapshotReceiverDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - sError
    - syncSnapBufferDestroy
    - taosThreadMutexDestroy
    - taosThreadMutexUnlock
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
    - snapshotReceiverClearInfoData
    - taosThreadMutexLock
    - taosMemoryFree
    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:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 510
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pReceiver
    - pMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: snapshotReceiverSignatureCmp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - 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:526,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:527,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStartWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:541,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:544,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:544,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:545,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pReceiver
    - pBeginMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 551
    functionName: snapshotReceiverStartWriter
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - sRError
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStartWrite
    - sRInfo
    - TAOS_RETURN
    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:554,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:555,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:559,1
    - Dst: syncNodeGetSnapBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:567,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:570,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pReceiver
    - pPreMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 571
    functionName: snapshotReceiverStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - snapshotReceiverIsStart
    - atomic_val_compare_exchange_8
    - DID
    - sRInfo
    - 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:574,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:576,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:579,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:582,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:585,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:585,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:589,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:592,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:594,1
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:596,1
    - Dst: snapshotReceiverClearInfoData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:598,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 601
    functionName: snapshotReceiverStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 5
    functionsReached:
    - sRDebug
    - tstrerror
    - sRError
    - syncSnapBufferReset
    - atomic_val_compare_exchange_8
    - sRInfo
    - taosThreadMutexUnlock
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
    - snapshotReceiverClearInfoData
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void snapshotReceiverStop(SSyncSnapshotReceiver *pReceiver)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:607,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:609,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotDoWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:610,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:612,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:614,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:614,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:615,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:625,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:626,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:629,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:632,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: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:639,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:641,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:648,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:650,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:650,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:651,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pLogStore::syncLogRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:657,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:659,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:659,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:660,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:662,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:665,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:666,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - pReceiver
    - pMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 670
    functionName: snapshotReceiverFinish
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - raftStoreSetTerm
    - tstrerror
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotDoWrite
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpGetSnapshotInfo
    - sRError
    - SSyncSnapshotReceiver*::pSyncNode::pLogStore::syncLogRestoreFromSnapshot
    - raftStoreGetTerm
    - sRInfo
    - taosThreadMutexUnlock
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
    - taosThreadMutexLock
    - TAOS_RETURN
    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:674,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:675,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:678,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:681,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:682,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:683,1
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:686,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotDoWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:690,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:693,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:694,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:695,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:699,1
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pReceiver
    - pMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 707
    functionName: snapshotReceiverGotData
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sRDebug
    - tstrerror
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotDoWrite
    - sRError
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_RETURN
    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:712,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:714,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:719,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:720,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 726
    functionName: syncNodeGetSnapBeginIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 1
    functionsReached:
    - walGetCommittedVer
    - TMAX
    - syncNodeIsMnode
    - sNInfo
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex syncNodeGetSnapBeginIndex(SSyncNode *ths)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:734,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:736,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:740,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:743,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:744,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:749,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:757,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:760,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:761,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:766,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:769,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - pSyncNode
    - pReceiver
    - pMsg
    - pInfo
    argTypes:
    - SSyncNode*
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 770
    functionName: syncSnapReceiverExchgSnapInfo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - sRError
    - memcpy
    - taosMemoryRealloc
    - sError
    - taosMemoryCalloc
    - TAOS_RETURN
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:774,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:777,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:780,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:781,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:784,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:788,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:794,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:799,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:800,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:801,1
    - Dst: snapshotReceiverStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:804,1
    - Dst: syncSnapReceiverExchgSnapInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:811,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:820,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:826,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:829,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - pSyncNode
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 830
    functionName: syncNodeOnSnapshotPrep
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - snapshotReceiverStart
    - syncSnapSendRsp
    - syncSnapReceiverExchgSnapInfo
    - snapshotReceiverIsStart
    - taosGetTimestampMs
    - snapshotReceiverSignatureCmp
    - sError
    - snapshotReceiverStop
    - sInfo
    - sRInfo
    - taosMemoryFree
    - TAOS_RETURN
    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:837,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:838,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:842,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:844,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:844,1
    - Dst: snapshotReceiverStartWriter
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:849,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:850,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:850,1
    - Dst: syncNodeGetSnapBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:854,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:856,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:865,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:865,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:867,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pSyncNode
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 868
    functionName: syncNodeOnSnapshotBegin
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - syncSnapSendRsp
    - tstrerror
    - snapshotReceiverIsStart
    - snapshotReceiverStartWriter
    - sRError
    - sError
    - snapshotReceiverSignatureCmp
    - syncNodeGetSnapBeginIndex
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:876,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:877,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:877,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:878,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:894,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:898,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:899,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:899,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:900,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: 903
      start: 870
    functionDepth: 4
    functionLinenumber: 870
    functionLinenumberEnd: 903
    functionName: syncSnapSendRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - sRError
    - memcpy
    - syncNodeSendMsgById
    - TAOS_RETURN
    - syncBuildSnapshotSendRsp
    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:910,1
    - Dst: SSyncSnapBuffer*::entryDeleteCb
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:921,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:925,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:927,1
    - Dst: snapshotReceiverGotData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:940,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:946,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:947,1
    - Dst: SSyncSnapBuffer*::entryDeleteCb
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:949,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:955,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:956,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - pReceiver
    - ppMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 905
    functionDepth: 5
    functionLinenumber: 905
    functionLinenumberEnd: 957
    functionName: syncSnapBufferRecv
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - snapshotReceiverGotData
    - syncSnapSendRsp
    - sError
    - TMAX
    - SSyncSnapBuffer*::entryDeleteCb
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_RETURN
    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:965,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:968,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:970,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:970,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:971,1
    - Dst: syncSnapBufferRecv
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pSyncNode
    - ppMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 959
    functionDepth: 6
    functionLinenumber: 959
    functionLinenumberEnd: 975
    functionName: syncNodeOnSnapshotReceive
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - syncSnapSendRsp
    - tstrerror
    - taosGetTimestampMs
    - snapshotReceiverSignatureCmp
    - sError
    - syncSnapBufferRecv
    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:981,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:984,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:986,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:986,1
    - Dst: snapshotReceiverFinish
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:990,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:992,1
    - Dst: syncBuildSnapshotSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:999,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1000,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1000,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1001,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1007,1
    - Dst: syncLogSendSyncSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1016,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1017,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1018,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1018,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1019,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - pSyncNode
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 977
    functionDepth: 4
    functionLinenumber: 977
    functionLinenumberEnd: 1023
    functionName: syncNodeOnSnapshotEnd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - syncLogSendSyncSnapshotRsp
    - tstrerror
    - taosGetTimestampMs
    - snapshotReceiverSignatureCmp
    - sError
    - sRError
    - snapshotReceiverStop
    - syncNodeSendMsgById
    - TAOS_RETURN
    - raftStoreGetTerm
    - snapshotReceiverFinish
    - syncBuildSnapshotSendRsp
    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:1034,1
    - Dst: syncLogRecvSyncSnapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1035,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1037,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1040,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1041,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1044,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1044,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1045,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1049,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1050,1
    - Dst: syncNodeUpdateTermWithoutStepDown
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1053,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1057,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1059,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1063,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1065,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1070,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1073,1
    - Dst: syncNodeOnSnapshotPrep
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1074,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1075,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1078,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1084,1
    - Dst: syncNodeOnSnapshotBegin
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1087,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1088,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1096,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1098,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1103,1
    - Dst: syncNodeOnSnapshotReceive
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1108,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1109,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1115,1
    - Dst: syncNodeOnSnapshotEnd
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1118,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1120,1
    - Dst: syncLogBufferReInit
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1124,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1126,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1128,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1135,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1136,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 2
    argNames:
    - pSyncNode
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1027
    functionDepth: 7
    functionLinenumber: 1027
    functionLinenumberEnd: 1137
    functionName: syncNodeOnSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 1
    functionsReached:
    - syncNodeOnSnapshotEnd
    - tstrerror
    - syncNodeOnSnapshotBegin
    - syncLogRecvSyncSnapshotSend
    - sError
    - TMSG_INFO
    - TAOS_RETURN
    - syncSnapSendRsp
    - syncNodeStepDown
    - sRError
    - syncNodeResetElectTimer
    - syncNodeOnSnapshotPrep
    - syncNodeUpdateTermWithoutStepDown
    - raftStoreGetTerm
    - syncLogBufferReInit
    - sDebug
    - syncNodeInRaftGroup
    - taosGetTimestampMs
    - sInfo
    - syncNodeOnSnapshotReceive
    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:1144,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1145,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1150,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1152,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1154,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pSyncNode
    - pSender
    - pMsg
    argTypes:
    - SSyncNode*
    - SSyncSnapshotSender*
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1160
    functionName: syncSnapSenderExchgSnapInfo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosMemoryRealloc
    - sSError
    - sSInfo
    - TAOS_RETURN
    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:1168,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1172,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1175,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1176,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1176,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1182,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1190,1
    - Dst: syncSnapSenderExchgSnapInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1190,1
    - Dst: SSyncNode*::pFsm::FpSnapshotStartRead
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1193,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1195,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1195,1
    - Dst: syncIndexMgrSetIndex
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1200,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1202,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1205,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - pSyncNode
    - pSender
    - pMsg
    argTypes:
    - SSyncNode*
    - SSyncSnapshotSender*
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1163
    functionDepth: 6
    functionLinenumber: 1163
    functionLinenumberEnd: 1207
    functionName: syncNodeOnSnapshotPrepRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - SSyncNode*::pFsm::FpSnapshotStartRead
    - tstrerror
    - TAOS_CHECK_GOTO
    - snapshotSend
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - syncSnapSenderExchgSnapInfo
    - syncIndexMgrSetIndex
    - sSError
    - sSInfo
    - TAOS_RETURN
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:1216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pSender
    - pMsg
    argTypes:
    - SSyncSnapshotSender*
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1219
    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:1226,1
    - Dst: snapshotSenderSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1227,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1229,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1229,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1233,1
    - Dst: SSyncSnapBuffer*::entryDeleteCb
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1267,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1273,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1279,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1284,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1285,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 2
    argNames:
    - pSender
    - ppMsg
    argTypes:
    - SSyncSnapshotSender*
    - SyncSnapshotRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1221
    functionDepth: 6
    functionLinenumber: 1221
    functionLinenumberEnd: 1286
    functionName: syncSnapBufferSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - snapshotSenderSignatureCmp
    - tstrerror
    - sError
    - snapshotSend
    - snapshotSenderIsStart
    - SSyncSnapBuffer*::entryDeleteCb
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_RETURN
    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:1296,1
    - Dst: syncLogRecvSyncSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1297,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1298,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1302,1
    - Dst: syncLogRecvSyncSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1304,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1305,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1308,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1309,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1311,1
    - Dst: snapshotSenderSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1316,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1317,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1318,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1320,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1326,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1331,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1333,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1340,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1340,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1347,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1348,1
    - Dst: syncNodeOnSnapshotPrepRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1349,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1356,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1358,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1359,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1361,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1362,1
    - Dst: syncSnapBufferSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1365,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1366,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1366,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1374,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1375,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1376,1
    - Dst: syncNodeReplicateReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1376,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1382,1
    - Dst: syncNodeReplicateReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1383,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1383,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1384,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 2
    argNames:
    - pSyncNode
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1290
    functionDepth: 7
    functionLinenumber: 1290
    functionLinenumberEnd: 1385
    functionName: syncNodeOnSnapshotRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - snapshotSenderStop
    - syncNodeOnSnapshotPrepRsp
    - sError
    - syncSnapBufferSend
    - TMSG_INFO
    - syncNodeGetSnapshotSender
    - TAOS_RETURN
    - syncLogRecvSyncSnapshotRsp
    - syncNodeReplicateReset
    - snapshotSenderSignatureCmp
    - sSDebug
    - raftStoreGetTerm
    - sSInfo
    - TAOS_CHECK_GOTO
    - syncNodeInRaftGroup
    - taosGetTimestampMs
    - snapshotSenderIsStart
    - sSError
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - syncUtilSameId
    - sDebug
    linkageType: ''
    returnType: void
    signature: void syncIndexMgrCopyIfExist(SSyncIndexMgr * pNewIndex, SSyncIndexMgr
      * pOldIndex, SRaftId *oldReplicasId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c: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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - DID
    - syncUtilSameId
    - sError
    - CID
    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:
    - sGDebug
    - raftStoreGetTerm
    - syncNodeUpdateCommitIndex
    - syncNodeAgreedUpon
    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: syncBuildRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:47,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:49,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:49,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:56,1
    - Dst: syncNodeGetLastIndexTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:58,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:60,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:60,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:64,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:66,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 71
    functionName: syncNodeRequestVotePeers
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncElection.c
    functionUses: 0
    functionsReached:
    - sError
    - terrstr
    - sNTrace
    - syncNodeGetLastIndexTerm
    - syncNodeSendMsgById
    - syncBuildRequestVote
    - raftStoreGetTerm
    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:75,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:79,1
    - Dst: syncNodeFollower2Candidate
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:84,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:88,1
    - Dst: raftStoreNextTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:93,1
    - Dst: raftStoreClearVote
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:94,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:96,1
    - Dst: voteGrantedReset
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:97,1
    - Dst: votesRespondReset
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:98,1
    - Dst: syncNodeVoteForSelf
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:99,1
    - Dst: voteGrantedMajority
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:101,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:105,1
    - Dst: syncNodeCandidate2Leader
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:108,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:115,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:116,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:118,1
    - Dst: syncNodeCandidate2Leader
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:120,1
    - Dst: syncNodeRequestVotePeers
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:125,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 130
    functionName: syncNodeElect
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncElection.c
    functionUses: 0
    functionsReached:
    - votesRespondReset
    - sNInfo
    - syncNodeVoteForSelf
    - sError
    - syncUtilQuorum
    - raftStoreNextTerm
    - syncNodeCandidate2Leader
    - sNError
    - votesRespondUpdate
    - syncNodeFollower2Candidate
    - voteGrantedReset
    - voteGrantedUpdate
    - raftStoreClearVote
    - syncNodeResetElectTimer
    - raftStoreGetTerm
    - voteGrantedMajority
    - syncNodeRequestVotePeers
    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:
    - memcpy
    - syncEntryBuild
    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:
    - memcpy
    - syncEntryBuild
    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:
    - taosMemoryFree
    - sTrace
    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:
    - memcpy
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncEntry2OriginalRpc(const SSyncRaftEntry* pEntry, SRpcMsg*
      pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c: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:
    - taosMemoryCalloc
    - voteGrantedClearVotes
    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:
    - syncUtilSameId
    - sNFatal
    - sNTrace
    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:
    - syncUtilSameId
    - sNFatal
    - sNTrace
    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
    - taosThreadMutexInit
    - walOpenReader
    - taosLRUCacheCleanup
    - taosThreadMutexDestroy
    - taosMemoryCalloc
    - taosLRUCacheInit
    - taosMemoryFree
    - taosLRUCacheSetStrictCapacity
    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:
    - walCloseReader
    - taosLRUCacheEraseUnrefEntries
    - taosThreadMutexDestroy
    - taosLRUCacheCleanup
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosMemoryFree
    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:
    - walRestoreFromSnapshot
    - tstrerror
    - sInfo
    - sNError
    - strerror
    - TAOS_RETURN
    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:
    - raftLogEndIndex
    - raftLogBeginIndex
    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:
    - taosMemoryFree
    - raftLogGetLastEntry
    - walIsEmpty
    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:
    - tDecoderInit
    - POINTER_SHIFT
    - TAOS_RETURN
    - tStartDecode
    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:
    - METRICS_TIMING_BLOCK
    - tstrerror
    - walAppendLog
    - TMSG_INFO
    - sNError
    - sGDebug
    - METRICS_UPDATE
    - strerror
    - TAOS_RETURN
    - walFsync
    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:
    - syncEntryBuild
    - tstrerror
    - sError
    - memcpy
    - walReadVer
    - sNTrace
    - walReadReset
    - strerror
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosGetTimestampNs
    - TAOS_RETURN
    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:
    - tstrerror
    - sError
    - sNTrace
    - strerror
    - TAOS_RETURN
    - walRollback
    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:
    - raftLogLastIndex
    - raftLogGetEntry
    - TAOS_RETURN
    - walIsEmpty
    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:
    - walGetCommittedVer
    - walCommit
    - tstrerror
    - walGetLastVer
    - sError
    - strerror
    - TAOS_RETURN
    - walGetSnapshotVer
    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:27,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:28,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:29,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:30,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:31,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:32,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pStore
    argTypes:
    - SJson*
    - SRaftStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: raftStoreDecode
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetInt32ValueFromDouble
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftStoreDecode(const SJson *pJson, SRaftStore *pStore)
  - BBCount: 12
    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: taosOpenFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:53,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:55,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:55,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:57,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:61,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:63,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:63,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:64,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:67,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:69,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:72,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:73,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:73,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:75,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:80,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:82,1
    - Dst: raftStoreDecode
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:85,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:86,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:90,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:93,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:94,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:95,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:98,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:98,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:101,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 102
    functionName: raftStoreReadFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosReadFile
    - cJSON_Delete
    - taosCloseFile
    - sError
    - terrstr
    - taosStatFile
    - sInfo
    - raftStoreWriteFile
    - raftStoreDecode
    - tjsonParse
    - taosFStatFile
    - taosOpenFile
    - taosMemoryFree
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:105,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:105,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:106,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:106,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:107,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:107,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pStore
    argTypes:
    - SJson*
    - SRaftStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 110
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:120,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:122,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:123,1
    - Dst: raftStoreEncode
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:124,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:124,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:126,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:127,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:129,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:130,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:132,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:133,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:133,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:135,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:135,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:137,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:137,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:138,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:138,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:141,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:145,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:146,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:149,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 152
    functionName: raftStoreWriteFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 1
    functionsReached:
    - tjsonToString
    - raftStoreEncode
    - strlen
    - taosWriteFile
    - taosCloseFile
    - tjsonDelete
    - sError
    - terrstr
    - sInfo
    - snprintf
    - taosFsyncFile
    - tjsonCreateObject
    - taosOpenFile
    - taosMemoryFree
    - taosRenameFile
    - TAOS_CHECK_GOTO
    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:155,1
    - Dst: raftStoreReadFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 157
    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:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    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:162,1
    - Dst: syncUtilEmptyId
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:163,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    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:169,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:172,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:173,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:173,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pRaftId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: raftStoreVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - sError
    - raftStoreWriteFile
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    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:179,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:182,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:183,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: raftStoreClearVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - sError
    - raftStoreWriteFile
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void raftStoreClearVote(SSyncNode *pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:189,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:192,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:193,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:193,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: raftStoreNextTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 3
    functionsReached:
    - tstrerror
    - sError
    - raftStoreWriteFile
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void raftStoreNextTerm(SSyncNode *pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:199,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:203,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:204,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:204,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - term
    argTypes:
    - SSyncNode*
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: raftStoreSetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 4
    functionsReached:
    - tstrerror
    - sError
    - raftStoreWriteFile
    - taosThreadMutexUnlock
    - 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:211,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    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:219,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: raftStoreTryGetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexTryLock
    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
    - sNTrace
    - syncWriteCfgFile
    - sNFatal
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:
    - snapshotReSend
    - sNInfo
    - tstrerror
    - taosGetTimestampMs
    - snapshotSenderStop
    - syncNodeReplicate
    - syncNodeIsMnode
    - sNTrace
    - sSWarn
    - syncNodeCleanConfigIndex
    - syncNodeGetSnapshotSender
    - sSError
    - syncRespClean
    - sDebug
    - 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:
    - syncNodeElect
    - syncNodeTimerRoutine
    - sError
    - atomic_load_64
    - syncLogRecvTimer
    - sTrace
    - TAOS_CHECK_RETURN
    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: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:52,1
    - Dst: sNTrace
      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: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:75,1
    - Dst: sNTrace
      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:
    - syncNodeGetLastIndex
    - syncNodeGetLastTerm
    - sNWarn
    - sNTrace
    linkageType: ''
    returnType: bool
    signature: bool syncNodeOnRequestVoteLogOK(SSyncNode* ths, SyncRequestVote* pMsg)
  - BBCount: 7
    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: syncNodeOnRequestVoteLogOK
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:103,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:105,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:106,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:108,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:111,1
    - Dst: raftStoreHasVoted
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:113,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:113,1
    - Dst: raftStoreVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:117,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:120,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:129,1
    - Dst: syncBuildRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:129,1
    - Dst: syncLogRecvRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:139,1
    - Dst: syncLogSendRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:140,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:141,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:141,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:143,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 146
    functionName: syncNodeOnRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRequestVote.c
    functionUses: 1
    functionsReached:
    - syncNodeOnRequestVoteLogOK
    - sTrace
    - raftStoreVote
    - syncNodeInRaftGroup
    - syncNodeStepDown
    - syncUtilSameId
    - syncBuildRequestVoteReply
    - syncLogRecvRequestVote
    - syncNodeSendMsgById
    - syncNodeResetElectTimer
    - syncLogSendRequestVoteReply
    - raftStoreHasVoted
    - raftStoreGetTerm
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:
    - voteGrantedVote
    - syncNodeStepDown
    - syncNodeInRaftGroup
    - syncLogRecvRequestVoteReply
    - votesRespondAdd
    - syncNodeCandidate2Leader
    - sNError
    - raftStoreGetTerm
    - voteGrantedMajority
    - TAOS_RETURN
    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
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_RETURN
    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:
    - taosThreadMutexUnlock
    - syncNodeReplicateWithoutLock
    - taosThreadMutexTryLock
    - TAOS_RETURN
    - 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
    - tstrerror
    - syncUtilSameId
    - DID
    - TAOS_RETURN
    - sWarn
    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:
    - syncNodeGetLogReplMgr
    - atomic_add_fetch_64
    - sError
    - syncNodeSendMsgById
    - TAOS_RETURN
    - TAOS_CHECK_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:
    - syncNodeSendMsgById
    - taosGetTimestampMs
    - syncIndexMgrSetSentTime
    - 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:
    - TRACE_SET_MSGID
    - tstrerror
    - TRACE_SET_ROOTID
    - taosGetTimestampMs
    - syncNodeSendHeartbeat
    - sError
    - syncMinMatchIndex
    - tGenIdPI64
    - TAOS_RETURN
    - raftStoreGetTerm
    - syncBuildHeartbeat
    - syncLogSendHeartbeat
    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:
    - taosHashInit
    - sDebug
    - taosThreadMutexInit
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_RETURN
    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:
    - taosHashCleanup
    - taosThreadMutexDestroy
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosMemoryFree
    - sDebug
    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:
    - taosHashPut
    - sNTrace
    - TMSG_INFO
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    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:
    - taosHashGet
    - memcpy
    - sNTrace
    - TMSG_INFO
    - sNError
    - 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:
    - taosHashGet
    - sError
    - sNTrace
    - TMSG_INFO
    - taosThreadMutexUnlock
    - taosHashRemove
    - 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:
    - taosArrayPush
    - taosArrayDestroy
    - rpcSendResponse
    - taosArrayInit
    - taosHashGetKey
    - taosGetTimestampMs
    - taosArrayGet
    - sError
    - taosHashIterate
    - sInfo
    - TMSG_INFO
    - TAOS_RETURN
    - taosArrayGetSize
    - taosHashRemove
    - sDebug
    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:
    - tstrerror
    - syncRespCleanByTTL
    - sError
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sTrace
    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:
    - tstrerror
    - syncRespCleanByTTL
    - sError
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sTrace
    linkageType: ''
    returnType: void
    signature: void syncRespClean(SSyncRespMgr *pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:30,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:32,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:34,1
    - Dst: tsnprintf
      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: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: syncCfg2SimpleStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    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:
    - taosGetIpFromFqdn
    - sError
    - taosSsleep
    - sInfo
    - IP_ADDR_STR
    - SYNC_ADDR
    - sDebug
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: syncUtilRand
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - 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:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 97
    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: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    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:103,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: syncUtilMsgHtoN
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 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:108,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:109,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:110,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nodeId
    - groupId
    - buf
    argTypes:
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: syncUtilGenerateArbToken
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 2
    functionsReached:
    - snprintf
    - memset
    - taosSafeRand
    - 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:118,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:122,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:124,1
    CyclomaticComplexity: 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: 126
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: syncPrintTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    - 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: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:131,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:133,1
    - Dst: syncIndexMgrGetRecvCount
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:134,1
    - Dst: syncPrintTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:135,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:137,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:140,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: 141
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: syncHearbeatReplyTime2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - syncIndexMgrGetRecvTime
    - tsnprintf
    - syncPrintTime
    - syncIndexMgrGetRecvCount
    linkageType: ''
    returnType: void
    signature: void syncHearbeatReplyTime2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen, bool formatTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:145,1
    - Dst: syncIndexMgrGetSentTime
      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: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:151,1
    - Dst: tsnprintf
      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: syncSentHearbeatTime2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - syncIndexMgrGetRecvCount
    - syncIndexMgrGetSentTime
    - tsnprintf
    - syncPrintTime
    linkageType: ''
    returnType: void
    signature: void syncSentHearbeatTime2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen, bool formatTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:160,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:162,1
    - Dst: syncIndexMgrGetRecvCount
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:163,1
    - Dst: syncPrintTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:164,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:166,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:169,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: 170
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: syncHearbeatTime2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - syncIndexMgrGetRecvTime
    - tsnprintf
    - syncPrintTime
    - syncIndexMgrGetRecvCount
    linkageType: ''
    returnType: void
    signature: void syncHearbeatTime2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen, bool formatTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pSyncNode
    - buf
    - bufLen
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: syncLogBufferStates2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: void syncLogBufferStates2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:184,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:188,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:190,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:192,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pSyncNode
    - buf
    - bufLen
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: syncLogReplStates2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: void syncLogReplStates2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:200,1
    - Dst: syncNodeGetPeerState
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:202,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:204,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pSyncNode
    - buf
    - bufLen
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: syncPeerState2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    - 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:213,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:220,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:226,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:227,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:234,1
    - Dst: syncLogReplStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:237,1
    - Dst: syncLogBufferStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:240,1
    - Dst: syncHearbeatReplyTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:243,1
    - Dst: syncHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:246,1
    - Dst: syncSentHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:249,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:253,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:254,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:255,1
    - Dst: SSyncNode*::pFsm::FpApplyQueueItems
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:259,1
    - Dst: SSyncNode*::pFsm::FpAppliedIndexCb
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:264,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:267,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:277,1
    - Dst: syncNodeDynamicQuorum
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:282,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: 286
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 286
    functionName: syncPrintNodeLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - syncNodeDynamicQuorum
    - syncCfg2SimpleStr
    - va_start
    - syncLogReplStates2Str
    - SSyncNode*::pFsm::FpAppliedIndexCb
    - syncStr
    - syncHearbeatReplyTime2Str
    - syncHearbeatTime2Str
    - syncLogBufferStates2Str
    - SSyncNode*::pLogStore::syncLogLastIndex
    - taosPrintLog
    - raftStoreGetTerm
    - SSyncNode*::pFsm::FpApplyQueueItems
    - va_end
    - vsnprintf
    - syncSentHearbeatTime2Str
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:291,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:300,1
    - Dst: syncLogReplStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:303,1
    - Dst: syncLogBufferStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:306,1
    - Dst: syncHearbeatReplyTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:309,1
    - Dst: syncHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:312,1
    - Dst: syncSentHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:315,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:319,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:320,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:321,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:326,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:334,1
    - Dst: syncNodeDynamicQuorum
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:337,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: 341
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 341
    functionName: syncPrintHbLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - syncNodeDynamicQuorum
    - syncCfg2SimpleStr
    - va_start
    - syncLogReplStates2Str
    - raftStoreTryGetTerm
    - syncStr
    - syncHearbeatReplyTime2Str
    - syncHearbeatTime2Str
    - syncLogBufferStates2Str
    - taosPrintLog
    - va_end
    - vsnprintf
    - syncSentHearbeatTime2Str
    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:350,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:356,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:357,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:361,1
    - Dst: syncPeerState2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:364,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:368,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:369,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:370,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:372,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:382,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:386,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:386,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: 390
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 390
    functionName: syncPrintSnapshotSenderLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - syncCfg2SimpleStr
    - va_start
    - syncPeerState2Str
    - syncStr
    - DID
    - SSyncNode*::pLogStore::syncLogLastIndex
    - taosPrintLog
    - raftStoreGetTerm
    - va_end
    - vsnprintf
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:399,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:405,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:406,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:410,1
    - Dst: syncPeerState2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:413,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:417,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:418,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:419,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:421,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:431,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:433,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:435,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: 439
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 439
    functionName: syncPrintSnapshotReceiverLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - syncCfg2SimpleStr
    - va_start
    - syncPeerState2Str
    - syncStr
    - DID
    - SSyncNode*::pLogStore::syncLogLastIndex
    - taosPrintLog
    - raftStoreGetTerm
    - va_end
    - vsnprintf
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:444,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:446,1
    - Dst: syncTimerTypeStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pSyncNode
    - pMsg
    - trace
    argTypes:
    - SSyncNode*
    - SyncTimeout*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: syncLogRecvTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - sNTrace
    - syncTimerTypeStr
    - taosGetTimestampMs
    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:454,1
    - Dst: syncLocalCmdGetStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pSyncNode
    - pMsg
    - trace
    argTypes:
    - SSyncNode*
    - SyncLocalCmd*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    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:463,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntriesReply*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: syncLogSendAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - DID
    - sNTrace
    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:472,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntriesReply*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: syncLogRecvAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - DID
    - sNTrace
    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:484,1
    - Dst: sHError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:489,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:492,1
    - Dst: sHError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:495,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:498,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:505,1
    - Dst: sHTrace
      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:518,1
    - Dst: sHInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:522,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:525,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:531,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:535,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:538,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: 544
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 544
    functionName: syncLogSendHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 2
    functionsReached:
    - sHTrace
    - sHError
    - sHInfo
    - DID
    - formatTimestampLocal
    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:553,1
    - Dst: sHWarn
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:558,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:562,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:568,1
    - Dst: sHInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:572,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:575,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:581,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:586,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:589,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: 594
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 594
    functionName: syncLogRecvHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - sHTrace
    - sHInfo
    - DID
    - formatTimestampLocal
    - sHWarn
    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:599,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:602,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:605,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncHeartbeatReply*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 610
    functionName: syncLogSendHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - DID
    - sHInfo
    - sHTrace
    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:619,1
    - Dst: sHError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:624,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:627,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:633,1
    - Dst: sHInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:637,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:640,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:647,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:651,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:654,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: 659
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 659
    functionName: syncLogRecvHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 2
    functionsReached:
    - sHTrace
    - sHError
    - sHInfo
    - DID
    - formatTimestampLocal
    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:663,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 668
    functionName: syncLogSendSyncSnapshotSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - DID
    - sNDebug
    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:672,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 678
    functionName: syncLogRecvSyncSnapshotSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - DID
    - sNDebug
    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:682,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotRsp*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 687
    functionName: syncLogSendSyncSnapshotRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - DID
    - sNDebug
    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:691,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotRsp*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: syncLogRecvSyncSnapshotRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - DID
    - sNDebug
    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:700,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntries*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: syncLogRecvAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - DID
    - sNTrace
    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:709,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntries*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: syncLogSendAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - DID
    - sNTrace
    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:719,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:720,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:723,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: 725
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 725
    functionName: syncLogRecvRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - snprintf
    - DID
    - sNInfo
    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:728,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVote*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 733
    functionName: syncLogSendRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - DID
    - sNInfo
    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:737,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVoteReply*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: syncLogRecvRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - DID
    - sNInfo
    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:744,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVoteReply*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 747
    functionName: syncLogSendRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - DID
    - sNInfo
    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:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pSnap
    - size
    argTypes:
    - SSnapshot*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 756
    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: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    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:33,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    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:46,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:46,1
    - 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: tjsonCreateArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:50,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:52,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:55,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:56,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:57,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:61,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:63,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:65,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:65,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:66,1
    - Dst: tjsonAddStringToObject
      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: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:67,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c: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: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:69,1
    - Dst: syncRoleToStr
      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: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:70,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:74,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:80,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:80,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 84
    functionName: syncEncodeSyncCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 0
    functionsReached:
    - tjsonAddDoubleToObject
    - tjsonDelete
    - TAOS_CHECK_EXIT
    - tstrerror
    - tjsonAddStringToObject
    - sError
    - tjsonAddItemToArray
    - tjsonAddItemToObject
    - tjsonCreateArray
    - tjsonAddIntegerToObject
    - syncRoleToStr
    - tjsonCreateObject
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:91,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:91,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:92,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:92,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c: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: tjsonAddIntegerToObject
      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: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:96,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:98,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:100,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:103,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:105,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:113,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:113,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:114,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:114,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:118,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:124,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:124,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 128
    functionName: syncEncodeRaftCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 0
    functionsReached:
    - tjsonAddDoubleToObject
    - tjsonDelete
    - TAOS_CHECK_EXIT
    - tstrerror
    - sError
    - tjsonAddItemToArray
    - tjsonAddItemToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - tjsonCreateArray
    - tjsonCreateObject
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncEncodeRaftCfg(const void *pObj, SJson *pJson)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:139,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:142,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:145,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:145,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:148,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:151,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:154,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:157,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:159,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:162,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:163,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:163,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:166,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:166,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:167,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:167,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:169,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:173,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:174,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:175,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:179,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 183
    functionName: syncWriteCfgFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 4
    functionsReached:
    - tjsonToString
    - strlen
    - taosWriteFile
    - TAOS_SYSTEM_ERROR
    - taosCloseFile
    - TAOS_CHECK_EXIT
    - tjsonDelete
    - tstrerror
    - sError
    - sInfo
    - snprintf
    - tjsonAddObject
    - taosFsyncFile
    - tjsonCreateObject
    - taosOpenFile
    - taosMemoryFree
    - TAOS_RETURN
    - taosRenameFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncWriteCfgFile(SSyncNode *pNode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:189,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:191,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:193,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:196,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:198,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:201,1
    - Dst: tjsonGetUInt16ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:203,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:205,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:207,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:208,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:210,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:212,1
    - Dst: syncStrToRole
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 220
    functionName: syncDecodeSyncCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 0
    functionsReached:
    - tjsonGetArrayItem
    - strlen
    - tjsonGetNumberValue
    - tjsonGetInt32ValueFromDouble
    - tjsonGetStringValue
    - tjsonGetUInt16ValueFromDouble
    - syncStrToRole
    - tjsonGetArraySize
    - tjsonGetObjectItem
    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:226,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:226,1
    - Dst: tjsonGetInt8ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:228,1
    - Dst: tjsonGetInt8ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:230,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:232,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:234,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:236,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:239,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:242,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:244,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 251
    functionName: syncDecodeRaftCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 0
    functionsReached:
    - tjsonGetArrayItem
    - tjsonGetInt8ValueFromDouble
    - tjsonToObject
    - tjsonGetNumberValue
    - tjsonGetInt32ValueFromDouble
    - tjsonGetArraySize
    - tjsonGetObjectItem
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncDecodeRaftCfg(const SJson *pJson, void *pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:261,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:264,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:264,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:269,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:271,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:275,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:281,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:283,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:283,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:289,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:295,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:300,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:303,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:304,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:305,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:308,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:308,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:311,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 312
    functionName: syncReadCfgFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - taosReadFile
    - cJSON_Delete
    - taosCloseFile
    - tstrerror
    - tjsonToObject
    - sError
    - sInfo
    - tjsonParse
    - taosFStatFile
    - taosOpenFile
    - taosMemoryFree
    - TAOS_RETURN
    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: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:127,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:131,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:136,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:141,1
    - Dst: syncEntryBuildFromAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:146,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:148,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:148,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:153,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:159,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:167,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:168,1
    - Dst: syncLogBufferAccept
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:173,1
    - Dst: syncLogBufferProceed
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:180,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:185,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:185,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:186,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:190,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:190,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:192,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:199,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:199,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:203,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:204,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:204,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:207,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:211,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:212,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 214
    functionName: syncNodeOnAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncAppendEntries.c
    functionUses: 1
    functionsReached:
    - TRACE_SET_MSGID
    - atomic_add_fetch_64
    - sGDebug
    - syncLogBufferCommit
    - TMIN
    - syncBuildAppendEntriesReply
    - syncEntryDestroy
    - syncLogBufferAccept
    - sError
    - tGenIdPI64
    - syncNodeSendMsgById
    - rpcFreeCont
    - sWarn
    - syncNodeStepDown
    - syncEntryBuildFromAppendEntries
    - syncNodeResetElectTimer
    - raftStoreGetTerm
    - sGError
    - syncLogRecvAppendEntries
    - syncNodeUpdateCommitIndex
    - syncNodeInRaftGroup
    - terrstr
    - syncLogBufferProceed
    - TAOS_CHECK_RETURN
    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:
    - tstrerror
    - atomic_add_fetch_64
    - sError
    - SSyncNode*::pFsm::FpAppliedIndexCb
    - syncLogBufferValidate
    - taosMsleep
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - tstrerror
    - syncEntryDestroy
    - sError
    - sInfo
    - SSyncNode*::pLogStore::syncLogGetEntry
    - TAOS_RETURN
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - sError
    - 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:
    - sWarn
    - TAOS_CHECK_RETURN
    - tstrerror
    - TAOS_CHECK_EXIT
    - atomic_add_fetch_64
    - syncLogValidateAlignmentOfCommit
    - syncEntryDestroy
    - sError
    - sInfo
    - TMAX
    - syncLogBufferValidate
    - TAOS_RETURN
    - SSyncNode*::pLogStore::syncLogLastIndex
    - SSyncLogStore*::syncLogGetEntry
    - syncEntryBuildDummy
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    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:
    - tstrerror
    - syncEntryDestroy
    - memset
    - sError
    - syncLogBufferValidate
    - syncLogBufferInitWithoutLock
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_CHECK_RETURN
    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:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - syncLogBufferGetLastMatchTermWithoutLock
    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:
    - sWarn
    - TAOS_CHECK_RETURN
    - TAOS_CHECK_GOTO
    - atomic_add_fetch_64
    - syncEntryDestroy
    - sError
    - syncLogReplGetPrevLogTerm
    - syncLogBufferValidate
    - TMAX
    - TAOS_RETURN
    - taosThreadMutexUnlock
    - syncLogBufferRollback
    - taosThreadMutexLock
    - syncLogBufferGetOneEntry
    - sTrace
    - syncLogBufferGetLastMatchTermWithoutLock
    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:
    - tstrerror
    - SSyncLogStore*::syncLogAppendEntry
    - sError
    - SSyncLogStore*::syncLogLastIndex
    - SSyncLogStore*::syncLogTruncate
    - syncLogStoreNeedFlush
    - TAOS_RETURN
    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:
    - syncNodeReplicateWithoutLock
    - tstrerror
    - sError
    - sInfo
    - syncLogBufferValidate
    - sGDebug
    - syncLogStorePersist
    - taosMsleep
    - taosThreadMutexUnlock
    - syncNodeChangeConfig
    - syncIndexMgrSetIndex
    - taosThreadMutexLock
    - sTrace
    - TAOS_CHECK_RETURN
    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:
    - sGWarn
    - tstrerror
    - TAOS_CHECK_EXIT
    - sGTrace
    - syncEntry2OriginalRpc
    - sError
    - sInfo
    - TMSG_INFO
    - sGDebug
    - taosMsleep
    - syncRespMgrGetAndDel
    - syncNodeGetSnapshotConfigIndex
    - SSyncFSM*::FpCommitCb
    - syncIsMsgBlock
    - sTrace
    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: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:828,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:830,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:836,1
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:844,1
    - Dst: syncUtilUserCommit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:850,1
    - Dst: sGInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:851,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:853,1
    - Dst: syncFsmExecute
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:856,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:857,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:865,1
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:869,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:872,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:880,1
    - Dst: syncNodeChangeConfig
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:882,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:883,1
    - Dst: syncFsmExecute
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:891,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:892,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:901,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:907,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:913,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:924,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:929,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:936,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:938,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:942,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:943,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:944,1
    - Dst: SSyncNode*::pFsm::FpRestoreFinishCb
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:953,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:956,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:961,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:965,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:968,1
    - Dst: SSyncNode*::pFsm::FpAfterRestoredCb
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:971,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:972,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:975,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:975,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:976,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 101
    argCount: 5
    argNames:
    - pBuf
    - pNode
    - commitIndex
    - trace
    - src
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - int64_t
    - STraceId*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 807
    functionDepth: 5
    functionLinenumber: 807
    functionLinenumberEnd: 977
    functionName: syncLogBufferCommit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 4
    functionsReached:
    - atomic_load_64
    - sGDebug
    - SSyncNode*::pFsm::FpAfterRestoredCb
    - syncNodeChangeConfig
    - TMIN
    - atomic_sub_fetch_64
    - syncEntryDestroy
    - sError
    - TMSG_INFO
    - SSyncNode*::pFsm::FpRestoreFinishCb
    - taosThreadMutexUnlock
    - TAOS_RETURN
    - syncFsmExecute
    - sGInfo
    - memset
    - syncLogBufferValidate
    - sGError
    - raftStoreGetTerm
    - taosThreadMutexLock
    - syncLogBufferGetOneEntry
    - sDebug
    - syncUtilUserCommit
    - sInfo
    - TAOS_CHECK_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:983,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pMgr
    argTypes:
    - SSyncLogReplMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 994
    functionName: syncLogReplReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - memset
    - sError
    linkageType: ''
    returnType: void
    signature: void syncLogReplReset(SSyncLogReplMgr* pMgr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1003,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1004,1
    - Dst: syncLogReplGetRetryBackoffTimeMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1011,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1012,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1016,1
    - Dst: syncGetRetryMaxWaitMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1030,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1031,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1032,1
    - Dst: syncLogReplSendTo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1041,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1042,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1043,1
    - Dst: syncLogReplGetNextRetryBackoff
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1064,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1066,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1072,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 2
    argNames:
    - pMgr
    - pNode
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1073
    functionName: syncLogReplRetryOnNeed
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - sError
    - syncLogReplGetNextRetryBackoff
    - sInfo
    - syncGetRetryMaxWaitMs
    - TMAX
    - taosGetMonoTimestampMs
    - syncLogReplSendTo
    - TAOS_RETURN
    - syncLogReplGetRetryBackoffTimeMs
    - syncLogReplReset
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogReplRetryOnNeed(SSyncLogReplMgr* pMgr, SSyncNode* pNode)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1081,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1085,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1094,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1096,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1102,1
    - Dst: syncLogReplRetryOnNeed
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1102,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1111,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1113,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1121,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1123,1
    - Dst: syncNodeStartSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1125,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1126,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1126,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1127,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1135,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1136,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1137,1
    - Dst: syncLogReplGetPrevLogTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1140,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1142,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1143,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1148,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1151,1
    - Dst: syncNodeStartSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1159,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1160,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1160,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1161,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1163,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1163,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1178,1
    - Dst: syncLogReplProbe
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1179,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1180
    functionName: syncLogReplRecover
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - syncLogReplProbe
    - tstrerror
    - sError
    - syncLogReplGetPrevLogTerm
    - syncLogReplReset
    - sInfo
    - syncLogReplRetryOnNeed
    - DID
    - syncNodeStartSnapshot
    - TAOS_RETURN
    - SET_ERRNO
    - TMIN
    - sTrace
    - TAOS_CHECK_RETURN
    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:1184,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1186,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1188,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1193
    functionName: syncLogReplProcessHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexLock
    - syncLogReplReset
    - sInfo
    - taosThreadMutexUnlock
    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: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
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1206,1
    - Dst: syncLogReplContinue
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1210,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1211,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1211,1
    - Dst: syncLogReplRecover
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1214,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1215,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1215,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1195
    functionDepth: 4
    functionLinenumber: 1195
    functionLinenumberEnd: 1220
    functionName: syncLogReplProcessReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - syncLogReplRecover
    - tstrerror
    - sInfo
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - syncLogReplContinue
    - syncLogReplReset
    - sWarn
    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:1224,1
    - Dst: syncLogReplAttempt
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1224,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1226,1
    - Dst: syncLogReplProbe
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMgr
    - pNode
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1229
    functionName: syncLogReplStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - syncLogReplProbe
    - syncLogReplAttempt
    - 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:1234,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1235,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1238,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1247,1
    - Dst: syncLogReplSendTo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1252,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1253,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1254,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1255,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - index
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1231
    functionDepth: 2
    functionLinenumber: 1231
    functionLinenumberEnd: 1273
    functionName: syncLogReplProbe
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 2
    functionsReached:
    - sTrace
    - tstrerror
    - sError
    - syncGetRetryMaxWaitMs
    - taosGetMonoTimestampMs
    - syncLogReplSendTo
    - TAOS_RETURN
    - syncLogReplReset
    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:1278,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1283,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1286,1
    - Dst: syncLogReplSendTo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1303,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1305,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1306,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1307,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1322,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1324,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1329,1
    - Dst: syncLogReplRetryOnNeed
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1329,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1332,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - pMgr
    - pNode
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1275
    functionDepth: 3
    functionLinenumber: 1275
    functionLinenumberEnd: 1338
    functionName: syncLogReplAttempt
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - sError
    - sInfo
    - syncLogReplRetryOnNeed
    - TMAX
    - DID
    - taosGetMonoTimestampMs
    - syncLogReplSendTo
    - TAOS_RETURN
    - sTrace
    - TAOS_CHECK_RETURN
    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:1352,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1354,1
    - Dst: syncLogReplAttempt
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1340
    functionDepth: 4
    functionLinenumber: 1340
    functionLinenumberEnd: 1360
    functionName: syncLogReplContinue
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - TMAX
    - memset
    - syncLogReplAttempt
    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:1363,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1383
    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:1389,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pMgr
    argTypes:
    - SSyncLogReplMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1392
    functionName: syncLogReplDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: void syncLogReplDestroy(SSyncLogReplMgr* pMgr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncLogReplCreate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1397,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1404
    functionName: syncNodeLogReplInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 2
    functionsReached:
    - syncLogReplCreate
    - TAOS_RETURN
    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:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1411
    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:1415,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1417,1
    - Dst: taosThreadMutexAttrInit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1427,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1428,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1429,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1429,1
    - Dst: taosThreadMutexAttrSetType
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1433,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1434,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1435,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1435,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1439,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1440,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1441,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1441,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1446,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1449,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - ppBuf
    argTypes:
    - SSyncLogBuffer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1450
    functionName: syncLogBufferCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tstrerror
    - taosMemoryFreeClear
    - sError
    - taosThreadMutexAttrInit
    - taosThreadMutexAttrSetType
    - taosThreadMutexInit
    - taosMemoryCalloc
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:1453,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1457,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1459,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1452
    functionDepth: 2
    functionLinenumber: 1452
    functionLinenumberEnd: 1464
    functionName: syncLogBufferClear
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - syncEntryDestroy
    - memset
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void syncLogBufferClear(SSyncLogBuffer* pBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncLogBufferClear
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1470,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1471,1
    - Dst: taosThreadMutexAttrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1472,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1466
    functionDepth: 3
    functionLinenumber: 1466
    functionLinenumberEnd: 1475
    functionName: syncLogBufferDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexAttrDestroy
    - taosMemoryFree
    - syncLogBufferClear
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: void syncLogBufferDestroy(SSyncLogBuffer* pBuf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1485,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1494,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1496,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1501,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1505,1
    - Dst: SSyncNode*::pLogStore::syncLogTruncate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1506,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1507,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1507,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1509,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1511,1
    - Dst: syncLogBufferInitWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1516,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1517,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1517,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1518,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1523,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - pBuf
    - pNode
    - toIndex
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1477
    functionDepth: 4
    functionLinenumber: 1477
    functionLinenumberEnd: 1525
    functionName: syncLogBufferRollback
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - syncEntryDestroy
    - memset
    - sError
    - SSyncNode*::pLogStore::syncLogTruncate
    - sInfo
    - syncLogBufferValidate
    - SSyncNode*::pLogStore::syncLogLastIndex
    - syncLogBufferInitWithoutLock
    - TMIN
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:1528,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1528,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1529,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1530,1
    - Dst: syncLogBufferRollback
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1535,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1536,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1536,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1539,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1547,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1549,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1550,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pBuf
    - pNode
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1527
    functionDepth: 5
    functionLinenumber: 1527
    functionLinenumberEnd: 1552
    functionName: syncLogBufferReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 4
    functionsReached:
    - tstrerror
    - sError
    - sInfo
    - syncLogBufferValidate
    - SSyncNode*::pLogStore::syncLogLastIndex
    - taosThreadMutexUnlock
    - syncLogBufferRollback
    - taosThreadMutexLock
    - syncLogReplReset
    - TAOS_CHECK_RETURN
    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:1576,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1577,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1577,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1581,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: 1582
      start: 1554
    functionDepth: 1
    functionLinenumber: 1554
    functionLinenumberEnd: 1582
    functionName: syncLogBufferGetOneEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 2
    functionsReached:
    - SSyncNode*::pLogStore::syncLogGetEntry
    - tstrerror
    - TAOS_RETURN
    - sWarn
    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:1594,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1596,1
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1598,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1600,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1601,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1602,1
    - Dst: syncLogReplBarrier
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1607,1
    - Dst: syncLogReplGetPrevLogTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1609,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1611,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1611,1
    - Dst: syncBuildAppendEntriesFromRaftEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1616,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1618,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1622,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1622,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1623,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1627,1
    - Dst: syncNodeSendAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1627,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1629,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1635,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1638,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1641,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: 1642
      start: 1584
    functionDepth: 5
    functionLinenumber: 1584
    functionLinenumberEnd: 1642
    functionName: syncLogReplSendTo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 3
    functionsReached:
    - syncNodeGetLogReplMgr
    - TRACE_SET_MSGID
    - rpcFreeCont
    - tstrerror
    - TAOS_CHECK_GOTO
    - syncEntryDestroy
    - sError
    - syncLogReplBarrier
    - syncLogReplGetPrevLogTerm
    - syncBuildAppendEntriesFromRaftEntry
    - sInfo
    - tGenIdPI64
    - sGDebug
    - TAOS_RETURN
    - syncNodeSendAppendEntries
    - syncLogBufferGetOneEntry
    - syncLogReplReset
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: "int32_t syncLogReplSendTo(SSyncLogReplMgr* pMgr, SSyncNode* pNode,
      SyncIndex index, SyncTerm* pTerm, SRaftId* pDestId,\n                          bool*
      pBarrier)"
  - BBCount: 11
    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:80,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:83,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:86,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:86,1
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:91,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:95,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:96,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:98,1
    - Dst: syncLogReplProcessReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:98,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 101
    functionName: syncNodeOnAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c
    functionUses: 1
    functionsReached:
    - syncNodeGetLogReplMgr
    - syncLogRecvAppendEntriesReply
    - syncNodeStepDown
    - syncNodeInRaftGroup
    - sError
    - sInfo
    - sGDebug
    - syncNodeCheckCommitIndex
    - syncIndexMgrGetIndex
    - syncLogBufferCommit
    - raftStoreGetTerm
    - syncLogReplProcessReply
    - syncIndexMgrSetIndex
    - TMIN
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnAppendEntriesReply(SSyncNode* ths, const SRpcMsg*
      pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/common/test/commonTests.cpp:27,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/common/test/commonTests.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    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:35,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:35,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:36,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:37,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:40,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:40,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:41,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:44,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:44,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:45,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:46,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:49,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:50,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:51,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:54,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:54,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:55,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:56,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:59,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:59,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:60,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:61,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:64,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:64,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:65,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:68,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:68,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:69,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:72,1
    - Dst: strlen
      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: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:80,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:80,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:81,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:85,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:85,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:86,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:87,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: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:93,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:97,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:97,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:98,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:101,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:101,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 103
    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:109,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:109,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:110,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:111,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:114,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:114,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:115,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:116,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:119,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:119,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:120,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:123,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:123,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:124,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:125,1
    - Dst: toIntegerEx
      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
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:130,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:133,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:133,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:134,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:135,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:138,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:138,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:139,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:140,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:143,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:143,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:144,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:145,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:148,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:148,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:149,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:150,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:153,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:153,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:154,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:155,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:158,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:158,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:159,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:160,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:164,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:164,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:166,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:169,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:169,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:170,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: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:179,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:180,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:184,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:184,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 186
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - strlen
    - toIntegerEx
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, toIntegerEx_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:192,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:192,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:193,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:194,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:197,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:197,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:198,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:199,1
    - Dst: toInteger
      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: toInteger
      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: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:208,1
    - Dst: toInteger
      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
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:213,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:216,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:216,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:217,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:218,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:221,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:223,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:226,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:226,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:227,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:232,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:232,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:233,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:236,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:236,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 238
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - strlen
    - toInteger
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, toInteger_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/test/commonTests.cpp:245,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:246,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/test/commonTests.cpp:250,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:251,1
    - Dst: colDataIsNull_t
      Src: /src/tdengine/source/common/test/commonTests.cpp:259,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:260,1
    - Dst: colDataIsNull_t
      Src: /src/tdengine/source/common/test/commonTests.cpp:263,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:264,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:273,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:274,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:277,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:278,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:281,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:282,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:286,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 289
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - colDataIsNull
    - colDataIsNull_t
    - colDataIsNull_s
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, Datablock_test_inc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/test/commonTests.cpp:293,1
    - Dst: ASSERT
      Src: /src/tdengine/source/common/test/commonTests.cpp:294,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/common/test/commonTests.cpp:296,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/commonTests.cpp:297,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/test/commonTests.cpp:298,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/common/test/commonTests.cpp:300,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/test/commonTests.cpp:301,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/test/commonTests.cpp:302,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:309,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:310,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/test/commonTests.cpp:313,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/common/test/commonTests.cpp:314,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:315,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:316,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/commonTests.cpp:318,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/commonTests.cpp:319,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:321,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:322,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:329,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:332,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/test/commonTests.cpp:332,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:333,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:333,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:335,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/test/commonTests.cpp:335,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:337,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:337,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:338,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:338,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:342,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:344,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/common/test/commonTests.cpp:344,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:345,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/common/test/commonTests.cpp:345,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/test/commonTests.cpp:347,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:348,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:348,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/test/commonTests.cpp:348,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/commonTests.cpp:350,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/commonTests.cpp:352,1
    - Dst: blockDataSort
      Src: /src/tdengine/source/common/test/commonTests.cpp:354,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/test/commonTests.cpp:355,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/commonTests.cpp:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 358
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT
    - taosArrayPush
    - varDataLen
    - taosArrayInit
    - taosArrayDestroy
    - blockDataSort
    - sprintf
    - colDataIsNull_f
    - printf
    - createDataBlock
    - taosArrayGet
    - blockDataGetNumOfRows
    - createColumnInfoData
    - ASSERT_EQ
    - blockDataDestroy
    - memset
    - colDataGetData
    - blockDataAppendColInfo
    - varDataVal
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - colDataSetVal
    - blockDataGetNumOfCols
    - colDataIsNull
    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:362,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:362,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/commonTests.cpp:364,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:373,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:374,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/commonTests.cpp:375,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:382,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:383,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/commonTests.cpp:384,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:387,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:388,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:391,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:392,1
    - Dst: blockDataSplitRows
      Src: /src/tdengine/source/common/test/commonTests.cpp:402,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 412
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - static_cast<SSDataBlock*>
    - taosArrayGet
    - colDataSetVal
    - printf
    - taosMemoryCalloc
    - blockDataSplitRows
    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:420,1
    - Dst: ASSERT
      Src: /src/tdengine/source/common/test/commonTests.cpp:421,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/common/test/commonTests.cpp:423,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/test/commonTests.cpp:424,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/common/test/commonTests.cpp:426,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/test/commonTests.cpp:427,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/test/commonTests.cpp:429,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:435,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:436,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:439,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/test/commonTests.cpp:441,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/test/commonTests.cpp:442,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/common/test/commonTests.cpp:443,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:444,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/commonTests.cpp:447,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/commonTests.cpp:448,1
    - Dst: blockDataSplitRows
      Src: /src/tdengine/source/common/test/commonTests.cpp:457,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:458,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/test/commonTests.cpp:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 468
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - createDataBlock
    - ASSERT
    - taosArrayGet
    - memset
    - sprintf
    - colDataSetVal
    - blockDataDestroy
    - printf
    - createColumnInfoData
    - blockDataAppendColInfo
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - blockDataSplitRows
    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:471,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:472,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:473,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:474,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:475,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:476,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:477,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: 478
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 478
    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:485,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:486,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/common/test/commonTests.cpp:487,1
    - Dst: check_tm
      Src: /src/tdengine/source/common/test/commonTests.cpp:488,1
    - Dst: taosTm2Ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:489,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:490,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: 491
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 491
    functionName: test_timestamp_tm_conversion
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosTs2Tm
    - taosTm2Ts
    - taosFormatUtcTime
    - printf
    - ASSERT_EQ
    - check_tm
    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:500,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:500,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:500,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:501,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:504,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:504,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:504,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:505,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:508,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:508,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:508,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:509,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:513,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:517,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 523
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - test_timestamp_tm_conversion
    - strlen
    - taosParseTime
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(timeTest, timestamp2tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:527,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:528,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:529,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:530,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: 531
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: test_ts2char
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - TEST_ts2char
    - ASSERT_STREQ
    - ASSERT_EQ
    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:534,1
    - Dst: taosGetLocalTimezoneOffset
      Src: /src/tdengine/source/common/test/commonTests.cpp:535,1
    - Dst: GTEST_SKIP
      Src: /src/tdengine/source/common/test/commonTests.cpp:535,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:539,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:540,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:541,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:542,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:545,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:547,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:550,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:558,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:562,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:565,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:568,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:570,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:571,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:573,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:577,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 583
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - osDefaultInit
    - test_ts2char
    - 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:586,1
    - Dst: taosGetLocalTimezoneOffset
      Src: /src/tdengine/source/common/test/commonTests.cpp:587,1
    - Dst: GTEST_SKIP
      Src: /src/tdengine/source/common/test/commonTests.cpp:587,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:590,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:591,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:592,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:595,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:595,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:596,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:598,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:598,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:599,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:602,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:602,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:603,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:605,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:605,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:606,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:609,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:609,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:610,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:613,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:613,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:615,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:618,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:618,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:620,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:624,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:624,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:626,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:630,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:630,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:635,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:635,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:637,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:640,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:641,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:642,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:645,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:645,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:647,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:649,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:649,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:651,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:652,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:652,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:654,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:656,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: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:663,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:666,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:666,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:668,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:670,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:670,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:673,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:673,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:677,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:677,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:678,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:680,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:680,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:683,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:683,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:684,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:687,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:687,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:688,1
    - Dst: taosGetLocalTimezoneOffset
      Src: /src/tdengine/source/common/test/commonTests.cpp:688,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:691,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:693,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:693,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:694,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:694,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:695,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:695,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: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:698,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:700,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:700,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:702,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:702,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:703,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:703,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:705,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:705,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:706,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:708,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 709
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosGetLocalTimezoneOffset
    - GTEST_SKIP
    - osDefaultInit
    - ASSERT_EQ
    - TEST_char2ts
    linkageType: ''
    returnType: void
    signature: void TEST(timeTest, char2ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:714,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:715,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:716,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:717,1
    - Dst: epsetSort
      Src: /src/tdengine/source/common/test/commonTests.cpp:718,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:719,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:719,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: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:722,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:723,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:725,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:725,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:726,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:728,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:728,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:729,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:733,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:734,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:735,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:736,1
    - Dst: epsetSort
      Src: /src/tdengine/source/common/test/commonTests.cpp:737,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:738,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:738,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:739,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:741,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:741,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:742,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:744,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:745,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:747,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:748,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:752,1
    - Dst: epsetSort
      Src: /src/tdengine/source/common/test/commonTests.cpp:753,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 756
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - addEpIntoEpSet
    - strcmp
    - epsetSort
    linkageType: ''
    returnType: void
    signature: void TEST(timeTest, epSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/test/commonTests.cpp:763,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - alreadyAddGroupId
    linkageType: ''
    returnType: void
    signature: void TEST(AlreadyAddGroupIdTest, GroupIdAdded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/test/commonTests.cpp:771,1
    - Dst: EXPECT_FALSE
      Src: /src/tdengine/source/common/test/commonTests.cpp:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 773
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - alreadyAddGroupId
    linkageType: ''
    returnType: void
    signature: void TEST(AlreadyAddGroupIdTest, GroupIdNotAdded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/test/commonTests.cpp:779,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 781
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - alreadyAddGroupId
    linkageType: ''
    returnType: void
    signature: void TEST(AlreadyAddGroupIdTest, GroupIdAddedAtTheEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/test/commonTests.cpp:787,1
    - Dst: EXPECT_FALSE
      Src: /src/tdengine/source/common/test/commonTests.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 789
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - alreadyAddGroupId
    linkageType: ''
    returnType: void
    signature: void TEST(AlreadyAddGroupIdTest, GroupIdAddedWithDifferentLength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:798,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/test/commonTests.cpp:800,1
    - Dst: strsep
      Src: /src/tdengine/source/common/test/commonTests.cpp:807,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/test/commonTests.cpp:808,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/test/commonTests.cpp:809,1
    - Dst: strtrim
      Src: /src/tdengine/source/common/test/commonTests.cpp:810,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:811,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:816,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:821,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:826,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:831,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/test/commonTests.cpp:836,1
    - Dst: uError
      Src: /src/tdengine/source/common/test/commonTests.cpp:837,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/test/commonTests.cpp:838,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/test/commonTests.cpp:842,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/test/commonTests.cpp:843,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - pScopeStr
    - pScope
    argTypes:
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 844
    functionName: taosSetSlowLogScope2
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - strtrim
    - strlen
    - strsep
    - taosMemoryFreeClear
    - strcasecmp
    - uError
    - taosStrdup
    - TAOS_RETURN
    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:849,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:850,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 852
    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:857,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:858,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 860
    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:865,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:866,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 869
    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:874,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:875,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 877
    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:882,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:883,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 885
    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:890,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:891,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 893
    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:898,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:899,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 901
    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:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 909
    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:914,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:915,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 917
    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:922,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:923,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 925
    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:928,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:929,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:932,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:935,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:935,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:937,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:937,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:938,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:940,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:940,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:941,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:943,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:943,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/test/commonTests.cpp:945,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:945,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:946,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/commonTests.cpp:948,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:950,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:950,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/test/commonTests.cpp:951,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:951,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:952,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/commonTests.cpp:954,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:957,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:960,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:961,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:963,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:963,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:965,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:965,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:966,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:969,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:972,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:973,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:975,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:975,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:977,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:977,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:978,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:981,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:984,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:985,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:987,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:987,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:990,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:993,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:994,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:996,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:996,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:998,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:998,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/test/commonTests.cpp:999,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:999,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1001,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/commonTests.cpp:1002,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1005,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:1008,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:1009,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1011,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1011,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:1013,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:1013,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1014,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1014,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1016,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/commonTests.cpp:1017,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1020,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/commonTests.cpp:1023,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 1024
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosHashGet
    - strlen
    - EXPECT_TRUE
    - strcpy
    - taosHashGetValueSize
    - EXPECT_EQ
    - taosHashCleanup
    - EXPECT_STREQ
    - taosAnalyGetOpts
    - taosHashGetSize
    - taosStrndup
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, function_param_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1031,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1032,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1032,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1033,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1039,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1040,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1040,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1041,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1047,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1048,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1048,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1049,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1054,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1055,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1055,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1056,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1062,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1063,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1063,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1064,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1070,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1071,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1071,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1072,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1078,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1079,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1079,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1080,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1085,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1086,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1086,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1090
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosGetFqdnPortFromEp
    - strcmp
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, function_fqdn)
  - 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: 1
    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:
    - TAOS_CHECK_EXIT
    - snprintf
    - EXPECT_EQ
    - cos_cp_close
    - cos_cp_remove
    - taosMemoryCalloc
    - cos_cp_open
    - taosMemoryFree
    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:
    - TAOS_CHECK_EXIT
    - cos_cp_build_upload
    - memset
    - cos_cp_dump
    - snprintf
    - EXPECT_EQ
    - cos_cp_close
    - taosMemoryCalloc
    - cos_cp_open
    - taosMemoryFree
    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:
    - std::string
    - TAOS_CHECK_EXIT
    - memset
    - taosCheckExistFile
    - snprintf
    - EXPECT_EQ
    - cos_cp_load
    - cos_cp_close
    - cos_cp_remove
    - taosMemoryCalloc
    - cos_cp_is_valid_upload
    - taosMemoryFree
    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:
    - TAOS_CHECK_EXIT
    - cos_cp_build_upload
    - memset
    - cos_cp_dump
    - cos_cp_update
    - snprintf
    - EXPECT_EQ
    - cos_cp_close
    - taosMemoryCalloc
    - cos_cp_open
    - taosMemoryFree
    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:
    - std::string
    - TAOS_CHECK_EXIT
    - memset
    - taosCheckExistFile
    - snprintf
    - EXPECT_EQ
    - cos_cp_load
    - cos_cp_close
    - cos_cp_remove
    - taosMemoryCalloc
    - cos_cp_is_valid_upload
    - taosMemoryFree
    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: 1
    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:
    - s3End
    - s3EvictCache
    - s3Begin
    - s3Size
    - EXPECT_EQ
    - cosInitEnv
    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:
    - snprintf
    - taosOpenFile
    - strncmp
    - taosWriteFile
    - taosCloseFile
    - TAOS_CHECK_EXIT
    - GTEST_ASSERT_EQ
    - s3Size
    - cosInitEnv
    - taosMemoryCalloc
    - strlen
    - tstrncpy
    - std::string
    - GTEST_ASSERT_NE
    - s3Begin
    - EXPECT_EQ
    - s3PutObjectFromFile2
    - s3End
    - s3EvictCache
    - taosRemoveFile
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, cosCpPut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readlink
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:46,1
    - Dst: string::rfind
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:50,1
    - Dst: string::erase
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:52,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: getExecutableDirectory
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - string::rfind
    - std::runtime_error
    - readlink
    - string::erase
    linkageType: ''
    returnType: string
    signature: string getExecutableDirectory()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: string::find
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:63,1
    - Dst: make_pair
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:65,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:67,1
    - Dst: string::find_first_not_of
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:70,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:72,1
    - Dst: string::clear
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:74,1
    - Dst: string::find_last_not_of
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:78,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:80,1
    - Dst: string::front
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:83,1
    - Dst: string::back
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:83,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:84,1
    - Dst: string::size
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:84,1
    - Dst: string::front
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:86,1
    - Dst: string::back
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:86,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:87,1
    - Dst: string::size
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:87,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:89,1
    - Dst: stoi
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:90,1
    - Dst: make_pair
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - line
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 92
    functionName: parseKeyValuePair
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - string::find
    - string::clear
    - string::size
    - string::find_first_not_of
    - stoi
    - string::front
    - make_pair
    - string::back
    - string::substr
    - string::find_last_not_of
    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:97,1
    - Dst: ifstream::fail
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:98,1
    - Dst: length
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:108,1
    - Dst: length
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:108,1
    - Dst: equal
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:111,1
    - Dst: end
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:111,1
    - Dst: length
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:111,1
    - Dst: end
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:111,1
    - Dst: begin
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:111,1
    - Dst: std::getline
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:119,1
    - Dst: string::find
      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:125,1
    - Dst: parseKeyValuePair
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:132,1
    - Dst: pair::first::empty
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:139,1
    - Dst: endsWith
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:142,1
    - Dst: push_back
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:151,1
    - Dst: make_pair
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:154,1
    - Dst: pair::first::empty
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:159,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - ' filePath'
    - ' msgTypes'
    argTypes:
    - string
    - vector<STestMsgTypeInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 165
    functionName: readConfig
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - string::find
    - pair::first::empty
    - end
    - ifstream::fail
    - ifstream::is_open
    - equal
    - begin
    - endsWith
    - std::getline
    - make_pair
    - push_back
    - length
    - parseKeyValuePair
    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:187,1
    - Dst: readConfig
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:191,1
    - Dst: unordered_map::find
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:196,1
    - Dst: unordered_map::end
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:197,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:198,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:202,1
    - Dst: name::c_str
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:202,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:203,1
    - Dst: rspName::c_str
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:203,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:204,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:206,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:212,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:215,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:218,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:221,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:224,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 227
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - FAIL
    - ASSERT_STREQ
    - name::c_str
    - unordered_map::find
    - unordered_map::end
    - readConfig
    - rspName::c_str
    - ASSERT_EQ
    - getExecutableDirectory
    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:232,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:232,1
    - Dst: std::max
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:233,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: maxLengthOfMsgType
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - std::max
    linkageType: ''
    returnType: size_t
    signature: size_t maxLengthOfMsgType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: maxLengthOfMsgType
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:240,1
    - Dst: std::ofstream::is_open
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:242,1
    - Dst: std::setw
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:248,1
    - Dst: std::setw
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:249,1
    - Dst: std::ofstream::fail
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:252,1
    - Dst: std::ofstream::close
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 259
    functionName: generateConfigFile
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::fail
    - std::ofstream::is_open
    - maxLengthOfMsgType
    - std::setw
    - std::ofstream::close
    linkageType: ''
    returnType: void
    signature: void generateConfigFile(const string& filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:264,1
    - Dst: generateConfigFile
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:266,1
    - Dst: exit
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: processCommandArgs
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - generateConfigFile
    - exit
    linkageType: ''
    returnType: void
    signature: void processCommandArgs(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: processCommandArgs
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:274,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:276,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 3
    functionsReached:
    - testing::InitGoogleTest
    - processCommandArgs
    - RUN_ALL_TESTS
    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: 1
    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:
    - ASSERT
    - snprintf
    - tBuildTSchema
    - EXPECT_NE
    - taosMemoryCalloc
    - EXPECT_LE
    - taosMemoryFree
    - strncpy
    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
    - strlen
    - ASSERT
    - taosArrayInit
    - sscanf
    - strncasecmp
    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:
    - snprintf
    - printf
    - COL_VAL_IS_NONE
    - COL_VAL_IS_NULL
    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:
    - ASSERT
    - EXPECT_FLOAT_EQ
    - sscanf
    - EXPECT_EQ
    - EXPECT_DOUBLE_EQ
    - printf
    - COL_VAL_IS_NULL
    - COL_VAL_IS_NONE
    - EXPECT_STRCASEEQ
    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:
    - tdSTSRowIterReset
    - varDataLen
    - tdSTSRowIterFetch
    - memcpy
    - checkSColVal
    - tdValTypeIsNull
    - IS_VAR_DATA_TYPE
    - tdValTypeIsNone
    - varDataVal
    - tTSRowGetVal
    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: ASSERT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:460,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:460,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:463,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - tColDataGetValue
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, tColDataGetValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:470,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:471,1
    - Dst: genSTSchema
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:473,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:474,1
    - Dst: genTestData
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:481,1
    - Dst: tdSTSRowNew
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:483,1
    - Dst: debugPrintTSRow
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:484,1
    - Dst: tdSRowPrint
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:485,1
    - Dst: checkTSRow
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:486,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:488,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:489,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 491
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - tdSRowPrint
    - taosArrayDestroy
    - taosArrayInit
    - taosMemoryFreeClear
    - genTestData
    - genSTSchema
    - EXPECT_NE
    - tdSTSRowNew
    - checkTSRow
    - debugPrintTSRow
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, AllNormTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:497,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 500
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - buildCtbNameAddGroupId
    - ASSERT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, StreamAllNormTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:507,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 510
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - buildCtbNameAddGroupId
    - ASSERT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, StreamWithStbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:517,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 520
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - buildCtbNameAddGroupId
    - ASSERT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, StreamWithoutDotInStbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:527,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - buildCtbNameAddGroupId
    - ASSERT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, StreamWithoutDotInStbName2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:538,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:539,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:539,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:540,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:543,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:545,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:545,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:546,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:549,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:549,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:550,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:550,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:555,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:556,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:556,1
    - Dst: std::to_string
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:556,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:557,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:557,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:558,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:558,1
    - Dst: std::string::size
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:558,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 561
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - taosStrdup
    - std::to_string
    - std::string
    - taosMemoryFree
    - strcpy
    - std::string::size
    - EXPECT_EQ
    - std::string::c_str
    - EXPECT_STREQ
    - buildCtbNameAddGroupId
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, StreamWithLongStbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:568,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:569,1
    - Dst: genSTSchema
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:571,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:572,1
    - Dst: genTestData
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:606,1
    - Dst: tdSTSRowNew
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:607,1
    - Dst: debugPrintTSRow
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:608,1
    - Dst: tdSRowPrint
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:609,1
    - Dst: checkTSRow
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:610,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:611,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:612,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:615,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 617
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - tdSRowPrint
    - taosArrayDestroy
    - taosArrayInit
    - taosMemoryFreeClear
    - taosArrayClear
    - genTestData
    - genSTSchema
    - EXPECT_NE
    - tdSTSRowNew
    - checkTSRow
    - debugPrintTSRow
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, NoneTest)
  - 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: 27
    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: 0
    functionLinenumber: 146
    functionLinenumberEnd: 189
    functionName: assignVal
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 8
    functionsReached:
    - GET_INT8_VAL
    - GET_DOUBLE_VAL
    - memcpy
    - varDataCopy
    - GET_INT16_VAL
    - SET_DOUBLE_VAL
    - GET_INT32_VAL
    - SET_FLOAT_VAL
    - GET_INT64_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: 0
    functionLinenumber: 191
    functionLinenumberEnd: 236
    functionName: operateVal
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 1
    functionsReached:
    - GET_INT8_VAL
    - GET_UINT8_VAL
    - GET_UINT16_VAL
    - GET_UINT32_VAL
    - GET_DOUBLE_VAL
    - GET_INT16_VAL
    - SET_DOUBLE_VAL
    - GET_UINT64_VAL
    - GET_INT32_VAL
    - SET_FLOAT_VAL
    - GET_INT64_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: 7
    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:
    - decimalCalcTypeMod
    - IS_DECIMAL_TYPE
    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:
    - decimalCalcTypeMod
    - IS_DECIMAL_TYPE
    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: 1
    functionsReached:
    - decimalFromTypeMod
    - IS_DECIMAL_TYPE
    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: 4
    functionsReached:
    - decimalFromTypeMod
    - IS_DECIMAL_TYPE
    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: 1
    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: 2
    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: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pCfg
    - ','
    - pItem
    - ','
    - pName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    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:417,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tglobal.c:418,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:420,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:422,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:426,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:427,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:428,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:429,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:429,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:430,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 433
    functionName: taosSetTfsCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tstrncpy
    - tstrerror
    - memset
    - taosMulMkDir
    - uError
    - taosArrayGetSize
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    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: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    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:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCfg
    - value
    - pTfs
    argTypes:
    - SConfig*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    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: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: taosGetCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 1
    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:456,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:456,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:457,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/common/src/tglobal.c:466,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:468,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:474,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:481,1
    - Dst: cfgGetApollUrl
      Src: /src/tdengine/source/common/src/tglobal.c:485,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:488,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:489,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:489,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:490,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:493,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:494,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:495,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:498,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:499,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:499,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:500,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:503,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:504,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:504,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:505,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:508,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:509,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:509,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:510,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:513,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: 514
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 514
    functionName: taosLoadCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - tstrerror
    - taosExpandDir
    - snprintf
    - printf
    - taosIsDir
    - cfgLoad
    - cfgGetApollUrl
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:517,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:517,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:518,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:518,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:519,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:519,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:520,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:521,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:522,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:522,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:524,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:524,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:525,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:526,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:527,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:527,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:528,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:529,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:530,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:531,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:532,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:533,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:534,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:535,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:536,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:537,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:538,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:539,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:540,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:541,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:542,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:542,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 545
    functionName: taosAddClientLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgAddFloat
    - cfgAddBool
    - cfgAddDir
    - cfgAddInt32
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:548,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:549,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:550,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:551,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:552,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:553,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:554,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:555,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:556,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:557,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:558,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:559,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:560,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:561,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:562,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:563,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:564,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:565,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:566,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:566,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:568,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:569,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:570,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:571,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:572,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:573,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:574,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:575,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:576,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:577,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:578,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:579,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:580,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:581,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:582,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:583,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:584,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:585,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:586,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:587,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 589
    functionName: taosAddServerLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgAddInt32
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAddServerLogCfg(SConfig *pCfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/common/src/tglobal.c:595,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:596,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:599,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:600,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:601,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:601,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:602,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:602,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:603,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:603,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:604,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:604,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:606,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:607,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:608,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:608,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:609,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:610,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:611,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:611,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:613,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:613,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:615,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:616,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:617,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:617,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:619,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:620,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:621,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:622,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:623,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:623,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:625,1
    - Dst: cfgAddBool
      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: cfgAddInt32
      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: cfgAddBool
      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:632,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:633,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:633,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:635,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:635,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:637,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:638,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:639,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:640,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:641,1
    - Dst: cfgAddBool
      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_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:652,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:652,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:653,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:654,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:655,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:655,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:657,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:657,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:659,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:659,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:661,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:661,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:663,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:663,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:665,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:665,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:667,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:668,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:670,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:671,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:671,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:674,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:675,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:675,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:678,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:679,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:679,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:682,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:683,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:683,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:686,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:687,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:687,1
    - Dst: TMAX
      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: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:695,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:696,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:696,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:698,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:698,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:700,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:700,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:702,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:702,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:705,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:705,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:708,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:708,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 63
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 711
    functionName: taosAddClientCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgAddInt64
    - tstrncpy
    - cfgAddString
    - cfgAddBool
    - cfgAddFloat
    - TRANGE
    - taosGetFqdn
    - cfgAddDir
    - TMAX
    - cfgAddInt32
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAddClientCfg(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSysNameInfo
      Src: /src/tdengine/source/common/src/tglobal.c:714,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:716,1
    - Dst: cfgAddTimezone
      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: cfgAddLocale
      Src: /src/tdengine/source/common/src/tglobal.c:717,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:718,1
    - Dst: cfgAddCharset
      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: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:720,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:721,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:722,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:724,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:724,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:725,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:725,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:726,1
    - Dst: cfgAddBool
      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: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:730,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:732,1
    - Dst: cfgAddInt64
      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: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:736,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:737,1
    - Dst: cfgAddInt64
      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: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:739,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:740,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:740,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:741,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:741,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:742,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:742,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:743,1
    - Dst: cfgAddString
      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: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:745,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:746,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:746,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:748,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:748,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: cfgAddBool
      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:754,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:756,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:757,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:758,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:759,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:760,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:761,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:763,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:763,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 765
    functionName: taosAddSystemCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgAddInt64
    - taosGetSysNameInfo
    - cfgAddFloat
    - cfgAddBool
    - cfgAddString
    - cfgAddTimezone
    - cfgAddCharset
    - cfgAddLocale
    - cfgAddInt32
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAddSystemCfg(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:769,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:772,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:775,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:778,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:781,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:784,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:787,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:790,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:793,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:796,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:799,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:802,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:805,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:809,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:813,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:819,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:819,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:820,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:820,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:821,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:821,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:823,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:823,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:824,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:824,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:825,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:825,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:826,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c: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:829,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:829,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:831,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:831,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:832,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:832,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:833,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:833,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:834,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:834,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:835,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:835,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:837,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:837,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:838,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:838,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:840,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:840,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:841,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:841,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:843,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:843,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:844,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:844,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:846,1
    - Dst: cfgAddInt32Ex
      Src: /src/tdengine/source/common/src/tglobal.c:846,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:847,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:847,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:849,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:849,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:850,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:850,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:851,1
    - Dst: cfgAddInt32
      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:854,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:854,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:856,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:856,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:857,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:857,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:858,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:858,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:859,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:859,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:860,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:860,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:861,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:861,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:862,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:862,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:864,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:864,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_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:866,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:866,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:867,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:867,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:868,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:868,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:869,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:869,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:870,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:870,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:871,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:871,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:872,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:872,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:873,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:873,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:875,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:875,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:877,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:877,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:878,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:878,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:879,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:879,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:880,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:880,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:881,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:881,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:882,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:882,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:884,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:884,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:885,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:885,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:886,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:886,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:888,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:888,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:889,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:889,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:891,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:891,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:892,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:892,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:893,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:893,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:894,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:894,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:896,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:896,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:897,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:897,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:898,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:898,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:899,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:899,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:900,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:900,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:901,1
    - Dst: cfgAddBool
      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: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:903,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:904,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:904,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:905,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:905,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:906,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:906,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:908,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:908,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:909,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:909,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:910,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:910,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:911,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:911,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:913,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:913,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:914,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:914,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:915,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:915,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:917,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:917,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:919,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:919,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:921,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:921,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:922,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:922,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:923,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:923,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:924,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:924,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:925,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:925,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:927,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:927,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:928,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:928,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:929,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:929,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:930,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:930,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:931,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:931,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:932,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:932,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:933,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:933,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:934,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:934,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:935,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:935,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:936,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:936,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:938,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:938,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:939,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:941,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:941,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:942,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:942,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:943,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:943,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:945,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:945,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:946,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:946,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:948,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:948,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:950,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:950,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:951,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:951,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:952,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:952,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:953,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:953,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:954,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:954,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:955,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:955,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:957,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:957,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:958,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:958,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:960,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:960,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:961,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:961,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:962,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:962,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:963,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:963,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:964,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:964,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:966,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:966,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:967,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:967,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:968,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:968,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:970,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:970,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:971,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:971,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:972,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:972,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:974,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:974,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 160
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 979
    functionName: taosAddServerCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgAddInt64
    - cfgAddFloat
    - cfgAddString
    - cfgAddBool
    - cfgAddInt32Ex
    - TRANGE
    - TMAX
    - cfgAddDir
    - cfgAddInt32
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAddServerCfg(SConfig *pCfg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:987,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:989,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:995,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:998,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1003,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1005,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1010,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1012,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1017,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1019,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1024,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1026,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1031,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1033,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1038,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1041,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1046,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1052,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1055,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1060,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1063,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1068,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1071,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1076,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1079,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1084,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1087,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1092,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1094,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1100,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1103,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1108,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1111,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1116,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1122,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1123
    functionName: taosUpdateServerCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgGetItem
    - TMAX
    - TRANGE
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosUpdateServerCfg(SConfig *pCfg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1129,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1129,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1129,1
    - Dst: strrchr
      Src: /src/tdengine/source/common/src/tglobal.c:1130,1
    - Dst: strrchr
      Src: /src/tdengine/source/common/src/tglobal.c:1130,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/common/src/tglobal.c:1131,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1133,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1134,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1136,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1137,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1142,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1143,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1145,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1145,1
    - Dst: tstrncpy
      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: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1153
    functionName: taosSetLogOutput
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgSetItem
    - strrchr
    - strlen
    - tstrncpy
    - POINTER_DISTANCE
    - strcasecmp
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:1158,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1159,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1159,1
    - Dst: tstrncpy
      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: taosExpandDir
      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: taosSetLogOutput
      Src: /src/tdengine/source/common/src/tglobal.c:1162,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1164,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1167,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1170,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1173,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1176,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1179,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1182,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1185,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1188,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1191,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1194,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1155
    functionDepth: 2
    functionLinenumber: 1155
    functionLinenumberEnd: 1198
    functionName: taosSetClientLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosExpandDir
    - taosSetLogOutput
    - taosCheckCfgStrValueLen
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:1202,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1205,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1208,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1211,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1214,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1217,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1220,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1223,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1226,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1229,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1232,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1235,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1238,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1241,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1244,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1247,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1250,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1253,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1255,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1259
    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:1262,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1264,1
    - Dst: strsep
      Src: /src/tdengine/source/common/src/tglobal.c:1271,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:1272,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tglobal.c:1273,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1275,1
    - Dst: strtrim
      Src: /src/tdengine/source/common/src/tglobal.c:1277,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1278,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1283,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1288,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1293,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1298,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:1303,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:1304,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1305,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:1309,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1310,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - pScopeStr
    - pScope
    argTypes:
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1311
    functionName: taosSetSlowLogScope
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - strtrim
    - strlen
    - strsep
    - taosMemoryFreeClear
    - strcasecmp
    - uError
    - taosStrdup
    - TAOS_RETURN
    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:1317,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1318,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1318,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1319,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1321,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1324,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1326,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1329,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1331,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1333,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1336,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1338,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:1338,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1338,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1339,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1340,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1340,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1342,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1344,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:1344,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1344,1
    - Dst: snprintf
      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
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1348,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1349,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1349,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1350,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1351,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:1351,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1353,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:1355,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:1356,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:1357,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:1357,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1358,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1361,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1362,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1362,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1363,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1365,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1366,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1366,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1367,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1369,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1370,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1370,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1371,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1373,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1374,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1374,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1375,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1377,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1380,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1383,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1386,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1389,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1392,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1395,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1398,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1401,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1404,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1407,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1410,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1413,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1416,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1419,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1422,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1425,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1428,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1431,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1434,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1437,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1440,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1443,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1446,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1449,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_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1458,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1461,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1464,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1467,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1470,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1473,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1476,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1479,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1482,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1485,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1486,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1486,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1487,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1489,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1490,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1490,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1491,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1493,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1494,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1494,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1495,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1497,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 128
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1501
    functionName: taosSetClientCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgSetItem
    - strlen
    - tstrncpy
    - TAOS_SYSTEM_ERROR
    - tstrerror
    - taosExpandDir
    - taosMulMkDir
    - snprintf
    - taosGetFqdnPortFromEp
    - uError
    - taosCheckCfgStrValueLen
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:1506,1
    - Dst: taosSetCoreDump
      Src: /src/tdengine/source/common/src/tglobal.c:1508,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1514
    functionName: taosSetSystemCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosSetCoreDump
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetSystemCfg(SConfig *pCfg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1520,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1523,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1526,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1529,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1533,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1536,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1539,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1542,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1545,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1548,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1551,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1554,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1557,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1560,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1561,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1561,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1562,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1564,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1565,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1565,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1566,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1568,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1571,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1572,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1572,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1573,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1575,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tglobal.c:1576,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:1579,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_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1607,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1610,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:1616,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1619,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:1625,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1626,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1627,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_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1639,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1639,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1640,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1642,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1645,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1649,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1650,1
    - Dst: taosSetSlowLogScope
      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_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1663,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1663,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1664,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1666,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1669,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1672,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1675,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1678,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1682,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1685,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1688,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1691,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_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1705,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1705,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1706,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1709,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1712,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1715,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1718,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1719,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1719,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1720,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1722,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1723,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1723,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1724,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1726,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1729,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1732,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1735,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1738,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1741,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1744,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1747,1
    - 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:1762,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1765,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1768,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1771,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1774,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1777,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1780,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1783,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1786,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1789,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1792,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1795,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:1834,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1837,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1840,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1843,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1846,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      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_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1855,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1856,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1856,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1857,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1859,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1860,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1860,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1861,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1866,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1869,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1872,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1875,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1878,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1881,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1884,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1885,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1885,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1886,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1888,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1891,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: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1901,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1904,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1907,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1910,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1913,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1916,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1920,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1923,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1924,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1924,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1925,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1927,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      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:1937,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1940,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1943,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: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:1961,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1964,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1965,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1965,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1966,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1968,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1969,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1969,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1970,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1972,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1973,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1973,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1974,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1976,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1977,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1977,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1978,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1980,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1981,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1981,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1982,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1984,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1987,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 319
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1517
    functionDepth: 2
    functionLinenumber: 1517
    functionLinenumberEnd: 1992
    functionName: taosSetServerCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - taosSetSlowLogScope
    - strcmp
    - uError
    - taosCheckCfgStrValueLen
    - cfgGetItem
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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: 1995
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 1995
    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:2011,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2014,1
    - Dst: osDefaultInit
      Src: /src/tdengine/source/common/src/tglobal.c:2014,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2017,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/src/tglobal.c:2017,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2025,1
    - Dst: taosAddClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2025,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2027,1
    - Dst: taosAddServerLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2027,1
    - Dst: taosLoadCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2030,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2031,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2031,1
    - Dst: cfgLoadFromArray
      Src: /src/tdengine/source/common/src/tglobal.c:2035,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2036,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2036,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2040,1
    - Dst: taosSetClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2040,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2042,1
    - Dst: taosSetServerLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2042,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2046,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2047,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2047,1
    - Dst: taosMulModeMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:2049,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2050,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2050,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/common/src/tglobal.c:2054,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2055,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2055,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2061,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2061,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2064,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2065,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: 2066
      start: 2004
    functionDepth: 3
    functionLinenumber: 2004
    functionLinenumberEnd: 2066
    functionName: taosCreateLog
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 3
    functionsReached:
    - cfgLoadFromArray
    - taosSetAllDebugFlag
    - tstrerror
    - taosMulModeMkDir
    - TAOS_CHECK_GET_CFG_ITEM
    - atomic_val_compare_exchange_8
    - osDefaultInit
    - taosAddClientLogCfg
    - printf
    - taosSetServerLogCfg
    - taosInitLog
    - cfgInit
    - taosLoadCfg
    - taosSetClientLogCfg
    - taosAddServerLogCfg
    - cfgCleanup
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:2072,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2074,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2074,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2078,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/src/tglobal.c:2078,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2079,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:2079,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2081,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:2082,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2084,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:2085,1
    - Dst: taosLoadCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2088,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2089,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2089,1
    - Dst: cfgLoadFromArray
      Src: /src/tdengine/source/common/src/tglobal.c:2093,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2094,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2094,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2098,1
    - Dst: taosSetTfsCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2098,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2101,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2109,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2110,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: 2111
      start: 2068
    functionDepth: 2
    functionLinenumber: 2068
    functionLinenumberEnd: 2111
    functionName: taosReadDataFolder
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgLoadFromArray
    - tstrerror
    - TAOS_CHECK_GOTO
    - osDefaultInit
    - cfgAddDir
    - printf
    - taosSetTfsCfg
    - cfgInit
    - taosLoadCfg
    - cfgGetItem
    - cfgCleanup
    - cfgAddInt32
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:2115,1
    - Dst: taosGetIpFromFqdn
      Src: /src/tdengine/source/common/src/tglobal.c:2116,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2118,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2118,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2119,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2123,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2124,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2128,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2133
    functionName: taosCheckGlobalCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosGetIpFromFqdn
    - tstrerror
    - uInfo
    - uError
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCheckGlobalCfg()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2137,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/src/tglobal.c:2137,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2135
    functionDepth: 1
    functionLinenumber: 2135
    functionLinenumberEnd: 2140
    functionName: cfgInitWrapper
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    - cfgInit
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t cfgInitWrapper(SConfig **pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2145,1
    - Dst: taosSetClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2145,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2146,1
    - Dst: taosUpdateServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2146,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2147,1
    - Dst: taosSetServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2147,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2148,1
    - Dst: taosSetReleaseCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2148,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2149,1
    - Dst: taosSetTfsCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2149,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2150,1
    - Dst: taosSetSystemCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2150,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2151,1
    - Dst: taosSetFileHandlesLimit
      Src: /src/tdengine/source/common/src/tglobal.c:2151,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2142
    functionDepth: 3
    functionLinenumber: 2142
    functionLinenumberEnd: 2154
    functionName: setAllConfigs
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosUpdateServerCfg
    - taosSetServerCfg
    - taosSetReleaseCfg
    - taosSetFileHandlesLimit
    - taosSetTfsCfg
    - taosSetSystemCfg
    - taosSetClientCfg
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:2159,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2164,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:2172,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2173,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:2179,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2180,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2184,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/common/src/tglobal.c:2188,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/common/src/tglobal.c:2192,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2198,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2204,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2205,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tglobal.c:2212,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2212,1
    - Dst: taosGetFileDiskID
      Src: /src/tdengine/source/common/src/tglobal.c:2213,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2214,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2214,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2218,1
    - Dst: cJSON_IsTrue
      Src: /src/tdengine/source/common/src/tglobal.c:2231,1
    - Dst: atoll
      Src: /src/tdengine/source/common/src/tglobal.c:2237,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2237,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/common/src/tglobal.c:2241,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2241,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:2248,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tglobal.c:2249,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2260,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2260,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:2262,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 96
    argCount: 3
    argNames:
    - array
    - buf
    - isGlobal
    argTypes:
    - SArray*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2264
    functionName: cfgDeserialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosStrdup
    - cJSON_GetStringValue
    - taosStr2Float
    - cJSON_Delete
    - cJSON_Parse
    - taosGetFileDiskID
    - tstrerror
    - cJSON_IsTrue
    - strcasecmp
    - taosArrayGet
    - cJSON_GetArrayItem
    - cJSON_GetArraySize
    - uError
    - taosArrayGetSize
    - atoll
    - cJSON_GetObjectItem
    - taosMemoryFree
    - taosStr2Int64
    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:2268,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2272,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:2277,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:2279,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2280,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:2286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - array
    - buf
    argTypes:
    - SArray*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2266
    functionDepth: 1
    functionLinenumber: 2266
    functionLinenumberEnd: 2289
    functionName: stypeConfigDeserialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - taosArrayGet
    - taosArrayGetSize
    - cJSON_GetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: int32_t stypeConfigDeserialize(SArray *array, char *buf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2298,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2304,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2305,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tglobal.c:2306,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2307,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/tglobal.c:2311,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tglobal.c:2315,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tglobal.c:2320,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tglobal.c:2325,1
    - Dst: stypeConfigDeserialize
      Src: /src/tdengine/source/common/src/tglobal.c:2331,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2333,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2333,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2339,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2339,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:2341,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tglobal.c:2342,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2343,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2291
    functionDepth: 2
    functionLinenumber: 2291
    functionLinenumberEnd: 2344
    functionName: readStypeConfigFile
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosReadFile
    - taosCloseFile
    - tstrerror
    - uInfo
    - taosStatFile
    - taosCheckExistFile
    - snprintf
    - uError
    - taosGetLocalCfg
    - stypeConfigDeserialize
    - taosOpenFile
    - taosMemoryFree
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t readStypeConfigFile(const char *path)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosGetGlobalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2351,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2352,1
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2354,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2355,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2357,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tglobal.c:2359,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2360,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2361,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/tglobal.c:2365,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2367,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2368,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2371,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2372,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tglobal.c:2374,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2377,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2377,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tglobal.c:2380,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2383,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2383,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tglobal.c:2386,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2388,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2388,1
    - Dst: cfgDeserialize
      Src: /src/tdengine/source/common/src/tglobal.c:2392,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2394,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2394,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2400,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2400,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:2402,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tglobal.c:2403,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2404,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 2
    argNames:
    - path
    - isGlobal
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2346
    functionDepth: 2
    functionLinenumber: 2346
    functionLinenumberEnd: 2405
    functionName: readCfgFile
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosReadFile
    - taosCloseFile
    - tstrerror
    - uInfo
    - taosGetGlobalCfg
    - taosStatFile
    - taosCheckExistFile
    - snprintf
    - uError
    - taosGetLocalCfg
    - taosOpenFile
    - cfgDeserialize
    - taosMemoryFree
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t readCfgFile(const char *path, bool isGlobal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2410,1
    - Dst: readCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:2412,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2414,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2415,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2418,1
    - Dst: readCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:2419,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2421,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2422,1
    - Dst: readStypeConfigFile
      Src: /src/tdengine/source/common/src/tglobal.c:2424,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2426,1
    - Dst: tstrerror
      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: 22
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2407
    functionDepth: 3
    functionLinenumber: 2407
    functionLinenumberEnd: 2431
    functionName: tryLoadCfgFromDataDir
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - readCfgFile
    - tstrerror
    - uInfo
    - readStypeConfigFile
    - uError
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tryLoadCfgFromDataDir(SConfig *pCfg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2435,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2440,1
    - Dst: cfgInitWrapper
      Src: /src/tdengine/source/common/src/tglobal.c:2440,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2443,1
    - Dst: taosAddClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2443,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2444,1
    - Dst: taosAddClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2444,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2446,1
    - Dst: taosAddClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2446,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2447,1
    - Dst: taosAddServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2447,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2448,1
    - Dst: taosAddClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2448,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2449,1
    - Dst: taosAddServerLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2449,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2452,1
    - Dst: taosAddSystemCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2452,1
    - Dst: taosLoadCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2454,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2455,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2455,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2456,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2458,1
    - Dst: cfgLoadFromArray
      Src: /src/tdengine/source/common/src/tglobal.c:2461,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2462,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2462,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2463,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2465,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2469,1
    - Dst: taosSetTfsCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2469,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2470,1
    - Dst: tryLoadCfgFromDataDir
      Src: /src/tdengine/source/common/src/tglobal.c:2470,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2474,1
    - Dst: taosSetClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2474,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2475,1
    - Dst: taosSetClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2475,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2477,1
    - Dst: taosSetClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2477,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2478,1
    - Dst: taosSetClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2478,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2479,1
    - Dst: taosUpdateServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2479,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2480,1
    - Dst: taosSetServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2480,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2481,1
    - Dst: taosSetReleaseCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2481,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2484,1
    - Dst: taosSetSystemCfg
      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: taosSetFileHandlesLimit
      Src: /src/tdengine/source/common/src/tglobal.c:2485,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2487,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2489,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2490,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2492,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2492,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2494,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2495,1
    - Dst: taosCheckGlobalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2495,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2499,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2501,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2501,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2504,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 6
    argNames:
    - cfgDir
    - envCmd
    - envFile
    - apolloUrl
    - pArgs
    - tsc
    argTypes:
    - char*
    - char**
    - char*
    - char*
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2433
    functionDepth: 4
    functionLinenumber: 2433
    functionLinenumberEnd: 2505
    functionName: taosInitCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 4
    functionsReached:
    - tstrerror
    - taosAddServerCfg
    - taosAddClientLogCfg
    - printf
    - cfgGetItem
    - cfgCleanup
    - tryLoadCfgFromDataDir
    - taosSetServerCfg
    - taosLoadCfg
    - taosAddClientCfg
    - taosAddServerLogCfg
    - TAOS_RETURN
    - cfgLoadFromArray
    - taosCheckGlobalCfg
    - taosUpdateServerCfg
    - cfgDumpCfg
    - taosSetClientCfg
    - TAOS_CHECK_GOTO
    - taosSetAllDebugFlag
    - cfgInitWrapper
    - taosAddSystemCfg
    - taosSetReleaseCfg
    - taosSetFileHandlesLimit
    - taosSetTfsCfg
    - taosSetSystemCfg
    - taosSetClientLogCfg
    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:2509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2507
    functionDepth: 1
    functionLinenumber: 2507
    functionLinenumberEnd: 2512
    functionName: taosCleanupCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 2
    functionsReached:
    - cfgCleanup
    linkageType: ''
    returnType: void
    signature: void taosCleanupCfg()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2524,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2530,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2536,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2540,1
    - Dst: taosSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2540,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2546,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2553,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2561,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2562,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2562,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2563,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2565,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2569,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2579,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: 2580
      start: 2519
    functionDepth: 1
    functionLinenumber: 2519
    functionLinenumberEnd: 2580
    functionName: taosCfgSetOption
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - uInfo
    - strcasecmp
    - taosSetDebugFlag
    - uError
    - taosCheckCfgStrValueLen
    - taosStrcasecmp
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCfgSetOption(OptionNameAndVar *pOptions, int32_t optionSize,
      SConfigItem *pItem, bool isDebugflag)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2588,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2589,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2592,1
    - Dst: taosResetLog
      Src: /src/tdengine/source/common/src/tglobal.c:2594,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2595,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2596,1
    - Dst: cfgLock
      Src: /src/tdengine/source/common/src/tglobal.c:2599,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2601,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2603,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2608,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2609,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2613,1
    - Dst: taosSetCoreDump
      Src: /src/tdengine/source/common/src/tglobal.c:2615,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2616,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2620,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2622,1
    - Dst: taosSetSlowLogScope
      Src: /src/tdengine/source/common/src/tglobal.c:2622,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2628,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2629,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2633,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2637,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2638,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2639,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2644,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2655,1
    - Dst: taosMemoryPoolCfgUpdateReservedSize
      Src: /src/tdengine/source/common/src/tglobal.c:2657,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2661,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/common/src/tglobal.c:2663,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:2785,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:2785,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:2786,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:2786,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/common/src/tglobal.c:2791,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2792,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 2
    argNames:
    - pCfg
    - name
    argTypes:
    - SConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2793
      start: 2584
    functionDepth: 2
    functionLinenumber: 2584
    functionLinenumberEnd: 2793
    functionName: taosCfgDynamicOptionsForServer
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uInfo
    - taosMemoryPoolCfgUpdateReservedSize
    - cfgGetItem
    - TAOS_RETURN
    - tstrncpy
    - atomic_store_64
    - strcasecmp
    - strncasecmp
    - uError
    - cfgDumpCfg
    - tListLen
    - taosCfgSetOption
    - TAOS_CHECK_GOTO
    - taosSetAllDebugFlag
    - taosSetSlowLogScope
    - cfgLock
    - taosSetCoreDump
    - cfgUnLock
    - taosResetLog
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCfgDynamicOptionsForServer(SConfig *pCfg, const char *name)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2799,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2799,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2800,1
    - Dst: cfgLock
      Src: /src/tdengine/source/common/src/tglobal.c:2803,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2805,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2807,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:2814,1
    - Dst: strntolower
      Src: /src/tdengine/source/common/src/tglobal.c:2816,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tglobal.c:2816,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2820,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2821,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2827,1
    - Dst: taosSetCoreDump
      Src: /src/tdengine/source/common/src/tglobal.c:2829,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2830,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2836,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2837,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2838,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2839,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2841,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2846,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2848,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2851,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2854,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:2855,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:2855,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2857,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2859,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2859,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2860,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2862,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2863,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2864,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2865,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2867,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2872,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2874,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2877,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2880,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:2881,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:2881,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2883,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2885,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2885,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2886,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2892,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2893,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2895,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2901,1
    - Dst: taosSetSystemLocale
      Src: /src/tdengine/source/common/src/tglobal.c:2901,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2902,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2908,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/common/src/tglobal.c:2909,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2910,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:2910,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2912,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2914,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2916,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2918,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2924,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2926,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:2926,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:2926,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2927,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2928,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2928,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2929,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2931,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2932,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2932,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2933,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2934,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2936,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2937,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2937,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2938,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2939,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2941,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2942,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2942,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2943,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2944,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2946,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2947,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2947,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2948,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2949,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2951,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2952,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2953,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2954,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2956,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2961,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2961,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2962,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2964,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2967,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2970,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:2971,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:2971,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2973,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2975,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2975,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2976,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2982,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2983,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2983,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2984,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2985,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2986,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:2986,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:2987,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:2988,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2989,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2989,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:3039,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:3039,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:3040,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:3040,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3046,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3046,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/common/src/tglobal.c:3049,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3050,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 184
    argCount: 2
    argNames:
    - pCfg
    - name
    argTypes:
    - SConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3051
      start: 2795
    functionDepth: 2
    functionLinenumber: 2795
    functionLinenumberEnd: 3051
    functionName: taosCfgDynamicOptionsForClient
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - strntolower
    - uInfo
    - taosExpandDir
    - snprintf
    - cfgGetItem
    - taosSetSystemLocale
    - TMIN
    - cfgSetItem
    - TAOS_SYSTEM_ERROR
    - atomic_store_32
    - TAOS_RETURN
    - strlen
    - tstrncpy
    - strcasecmp
    - uError
    - tListLen
    - taosCfgSetOption
    - TAOS_CHECK_GOTO
    - taosSetAllDebugFlag
    - cfgLock
    - taosSetCoreDump
    - taosMulMkDir
    - taosGetFqdnPortFromEp
    - atomic_load_32
    - cfgUnLock
    - taosCheckCfgStrValueLen
    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:3055,1
    - Dst: taosCfgDynamicOptionsForClient
      Src: /src/tdengine/source/common/src/tglobal.c:3057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCfg
    - name
    - forServer
    argTypes:
    - SConfig*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3053
    functionDepth: 3
    functionLinenumber: 3053
    functionLinenumberEnd: 3059
    functionName: taosCfgDynamicOptions
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 1
    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:3063,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFlagPtr
    - flagName
    - flagVal
    argTypes:
    - int32_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3069
      start: 3061
    functionDepth: 1
    functionLinenumber: 3061
    functionLinenumberEnd: 3069
    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:3074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3075
      start: 3071
    functionDepth: 1
    functionLinenumber: 3071
    functionLinenumberEnd: 3075
    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:3078,1
    - Dst: taosSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3082,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3084,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3084,1
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tglobal.c:3086,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3086,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: 3090
      start: 3077
    functionDepth: 2
    functionLinenumber: 3077
    functionLinenumberEnd: 3090
    functionName: taosCheckAndSetDebugFlag
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uTrace
    - tstrerror
    - taosSetDebugFlag
    - uError
    - taosArraySearch
    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:3092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3092
    functionDepth: 1
    functionLinenumber: 3092
    functionLinenumberEnd: 3092
    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:3096,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3097,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:3101,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3106,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3107,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3108,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3109,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3111,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3112,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3114,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3115,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3116,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3117,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3118,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3119,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3120,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3121,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3122,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3123,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3124,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3125,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3126,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3127,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3128,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3129,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3130,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3131,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3132,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tglobal.c:3134,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3136,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 2
    argNames:
    - pCfg
    - flag
    argTypes:
    - SConfig*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3138
      start: 3095
    functionDepth: 3
    functionLinenumber: 3095
    functionLinenumberEnd: 3138
    functionName: taosSetAllDebugFlag
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 5
    functionsReached:
    - taosCheckAndSetDebugFlag
    - uInfo
    - taosArrayClear
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    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:3143,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3146,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3155,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3158,1
    - Dst: uWarn
      Src: /src/tdengine/source/common/src/tglobal.c:3160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - type
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3164
      start: 3140
    functionDepth: 1
    functionLinenumber: 3140
    functionLinenumberEnd: 3164
    functionName: taosGranted
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 1
    functionsReached:
    - atomic_load_32
    - uWarn
    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:3168,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3170,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3171,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3172,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3174,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3177,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3182,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3188,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3191,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3194,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3195,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3199,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3200,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3207,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tglobal.c:3212,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3215,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3215,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:3217,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 3
    argNames:
    - version
    - array
    - serialized
    argTypes:
    - int32_t
    - SArray*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3220
      start: 3166
    functionDepth: 1
    functionLinenumber: 3166
    functionLinenumberEnd: 3220
    functionName: globalConfigSerialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - tjsonToString
    - cJSON_Delete
    - tstrerror
    - cJSON_AddItemToObject
    - taosArrayGet
    - sprintf
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    - cJSON_AddBoolToObject
    - uError
    - cJSON_AddNumberToObject
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t globalConfigSerialize(int32_t version, SArray *array, char
      **serialized)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3224,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3227,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3229,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3231,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3232,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3237,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3238,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3239,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/common/src/tglobal.c:3240,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3241,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3242,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3242,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3246,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3247,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/common/src/tglobal.c:3249,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3250,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3250,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3253,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3254,1
    - Dst: taosGetFileDiskID
      Src: /src/tdengine/source/common/src/tglobal.c:3256,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3257,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3261,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3262,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3263,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3264,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3268,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3276,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3279,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3282,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3283,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3287,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3288,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3295,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tglobal.c:3300,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3303,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3303,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:3305,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 104
    argCount: 2
    argNames:
    - array
    - serialized
    argTypes:
    - SArray*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3308
      start: 3222
    functionDepth: 1
    functionLinenumber: 3222
    functionLinenumberEnd: 3308
    functionName: localConfigSerialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - tjsonToString
    - cJSON_Delete
    - taosGetFileDiskID
    - tstrerror
    - cJSON_AddItemToObject
    - taosArrayGet
    - strcasecmp
    - cJSON_CreateObject
    - cJSON_CreateArray
    - cJSON_AddStringToObject
    - sprintf
    - uError
    - cJSON_AddBoolToObject
    - cJSON_AddNumberToObject
    - taosArrayGetSize
    - cJSON_AddItemToArray
    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:3312,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3315,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3317,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3319,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3320,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3325,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3326,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tglobal.c:3328,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3331,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:3333,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - array
    - serialized
    argTypes:
    - SArray*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3336
      start: 3310
    functionDepth: 1
    functionLinenumber: 3310
    functionLinenumberEnd: 3336
    functionName: stypeConfigSerialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - tjsonToString
    - cJSON_Delete
    - tstrerror
    - cJSON_AddItemToObject
    - taosArrayGet
    - cJSON_CreateObject
    - uError
    - cJSON_AddNumberToObject
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t stypeConfigSerialize(SArray *array, char **serialized)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3346,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3347,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3349,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:3349,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tglobal.c:3351,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3354,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3355,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3355,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3356,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3358,1
    - Dst: globalConfigSerialize
      Src: /src/tdengine/source/common/src/tglobal.c:3358,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tglobal.c:3360,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3360,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3362,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3363,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3363,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3369,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tglobal.c:3371,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:3372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - array
    - path
    - version
    argTypes:
    - SArray*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3374
      start: 3338
    functionDepth: 2
    functionLinenumber: 3338
    functionLinenumberEnd: 3374
    functionName: taosPersistGlobalConfig
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - globalConfigSerialize
    - taosWriteFile
    - tstrerror
    - taosMkDir
    - strlen
    - taosCloseFile
    - snprintf
    - uError
    - taosOpenFile
    - taosMemoryFree
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosPersistGlobalConfig(SArray *array, const char *path, int32_t
      version)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3386,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3387,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3388,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3391,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:3391,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tglobal.c:3394,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3397,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3398,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3398,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3399,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tglobal.c:3403,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3405,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3406,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3406,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3407,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3410,1
    - Dst: localConfigSerialize
      Src: /src/tdengine/source/common/src/tglobal.c:3410,1
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:3410,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tglobal.c:3411,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3411,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3413,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3414,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3418,1
    - Dst: stypeConfigSerialize
      Src: /src/tdengine/source/common/src/tglobal.c:3418,1
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:3418,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tglobal.c:3419,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3419,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3421,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3422,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3422,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3428,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3428,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tglobal.c:3430,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tglobal.c:3431,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:3432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:3433,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3376
    functionDepth: 2
    functionLinenumber: 3376
    functionLinenumberEnd: 3435
    functionName: taosPersistLocalConfig
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosWriteFile
    - strlen
    - tstrerror
    - taosMkDir
    - taosCloseFile
    - stypeConfigSerialize
    - snprintf
    - uError
    - taosGetLocalCfg
    - localConfigSerialize
    - taosOpenFile
    - taosMemoryFree
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:3440,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3441,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3441,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3443,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3444,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3444,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3445,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3445,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3451,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/tglobal.c:3451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3454,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3454,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3457,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/tglobal.c:3457,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3461,1
    - Dst: tEncodeFloat
      Src: /src/tdengine/source/common/src/tglobal.c:3461,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3468,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3468,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - pEncoder
    - array
    argTypes:
    - SEncoder*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3437
    functionDepth: 1
    functionLinenumber: 3437
    functionLinenumberEnd: 3475
    functionName: tSerializeSConfigArray
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - tEncodeCStr
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - tEncodeI64
    - tEncodeI32
    - tEncodeFloat
    - taosArrayGetSize
    - tEncodeBool
    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:3481,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3481,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3484,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3484,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3485,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3491,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/tglobal.c:3491,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3494,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3497,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/tglobal.c:3497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3501,1
    - Dst: tDecodeFloat
      Src: /src/tdengine/source/common/src/tglobal.c:3501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3508,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3508,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tglobal.c:3512,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3519,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3519,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - pDecoder
    - array
    argTypes:
    - SDecoder*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3522
      start: 3477
    functionDepth: 1
    functionLinenumber: 3477
    functionLinenumberEnd: 3522
    functionName: tDeserializeSConfigArray
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - TAOS_CHECK_EXIT
    - tDecodeI64
    - tDecodeFloat
    - tDecodeBool
    - uError
    - tDecodeCStr
    - 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: 3530
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3530
    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:3533,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3534,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3535,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - value
    - len
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3538
      start: 3532
    functionDepth: 1
    functionLinenumber: 3532
    functionLinenumberEnd: 3538
    functionName: taosCheckCfgStrValueLen
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 5
    functionsReached:
    - uError
    - strlen
    - 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:
    - strrchr
    - memset
    - tstrncpy
    - taosStr2UInt16
    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: strncpy
      Src: /src/tdengine/source/common/src/tmisce.c:70,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/common/src/tmisce.c:74,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/tmisce.c:78,1
    - Dst: strrchr
      Src: /src/tdengine/source/common/src/tmisce.c:81,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/tmisce.c:82,1
    - Dst: isValidPort
      Src: /src/tdengine/source/common/src/tmisce.c:87,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:89,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/common/src/tmisce.c:90,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:92,1
    - Dst: isValidPort
      Src: /src/tdengine/source/common/src/tmisce.c:97,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:99,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/common/src/tmisce.c:100,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:102,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:106,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - ep
    - pEp
    argTypes:
    - char*
    - SEp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 119
    functionName: taosGetDualIpFromEp
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 0
    functionsReached:
    - strrchr
    - tstrncpy
    - memset
    - isValidPort
    - strchr
    - taosStr2UInt16
    - strncpy
    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:122,1
    - Dst: taosGetIpv4FromEp
      Src: /src/tdengine/source/common/src/tmisce.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ep
    - pEp
    argTypes:
    - char*
    - SEp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: taosGetFqdnPortFromEp
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 5
    functionsReached:
    - taosGetIpv4FromEp
    - taosGetDualIpFromEp
    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:129,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:137,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pEpSet
    - fqdn
    - port
    argTypes:
    - SEpSet*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: addEpIntoEpSet
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 17
    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:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - SEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    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:164,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 166
    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:172,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:172,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:173,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SEp*
    - SEp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    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:185,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tmisce.c:192,1
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:195,1
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:196,1
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:197,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tmisce.c:203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 1
    argNames:
    - pDst
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 209
    functionName: epsetSort
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 2
    functionsReached:
    - epAssign
    - strncmp
    linkageType: ''
    returnType: void
    signature: void epsetSort(SEpSet* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCorBeginWrite
      Src: /src/tdengine/source/common/src/tmisce.c:212,1
    - Dst: taosCorEndWrite
      Src: /src/tdengine/source/common/src/tmisce.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pEpSet
    - pNewEpSet
    argTypes:
    - SCorEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: updateEpSet_s
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 2
    functionsReached:
    - taosCorBeginWrite
    - taosCorEndWrite
    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:219,1
    - Dst: taosCorEndRead
      Src: /src/tdengine/source/common/src/tmisce.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SCorEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 224
    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:230,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:238,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:240,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - pEpSet
    - pBuf
    - cap
    argTypes:
    - SEpSet*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 261
    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:265,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:270,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/common/src/tmisce.c:270,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:272,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:272,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:273,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:273,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:278,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:278,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:280,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:280,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/common/src/tmisce.c:280,1
    - Dst: taosGetAppName
      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: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:286,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:286,1
    - Dst: taosGetOsReleaseName
      Src: /src/tdengine/source/common/src/tmisce.c:288,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:289,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:289,1
    - Dst: taosGetCpuInfo
      Src: /src/tdengine/source/common/src/tmisce.c:295,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:296,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:296,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: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:299,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/common/src/tmisce.c:299,1
    - Dst: snprintf
      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: 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: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:309,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:309,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:310,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:310,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:312,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:312,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:313,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:313,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tmisce.c:313,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: taosLogTraceToBuf
      Src: /src/tdengine/source/common/src/tmisce.c:321,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:324,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:324,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tmisce.c:326,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:329,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/common/src/tmisce.c:333,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/common/src/tmisce.c:337,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tmisce.c:338,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: 339
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 339
    functionName: taosGenCrashJsonMsg
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 0
    functionsReached:
    - taosGetPId
    - taosGetOsReleaseName
    - tjsonAddDoubleToObject
    - tjsonToString
    - taosLogTraceToBuf
    - taosGetTimestampUs
    - tjsonDelete
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - snprintf
    - taosGetAppName
    - tjsonCreateObject
    - taosGetCpuInfo
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGenCrashJsonMsg(int signum, char** pMsg, int64_t clusterId,
      int64_t startTime)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosGetCfg
      Src: /src/tdengine/source/common/src/tmisce.c:343,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tmisce.c:357,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tmisce.c:359,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tmisce.c:359,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:362,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tmisce.c:362,1
    - Dst: cfgGetSize
      Src: /src/tdengine/source/common/src/tmisce.c:362,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:364,1
    - Dst: cfgCreateIter
      Src: /src/tdengine/source/common/src/tmisce.c:364,1
    - Dst: cfgLock
      Src: /src/tdengine/source/common/src/tmisce.c:366,1
    - Dst: cfgNextIter
      Src: /src/tdengine/source/common/src/tmisce.c:369,1
    - Dst: rawStrPatternMatch
      Src: /src/tdengine/source/common/src/tmisce.c:375,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/common/src/tmisce.c:378,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:380,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:383,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:386,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:386,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tmisce.c:391,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:393,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tmisce.c:394,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:397,1
    - Dst: cfgDumpItemValue
      Src: /src/tdengine/source/common/src/tmisce.c:397,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:400,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:402,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:405,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:408,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:408,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:411,1
    - Dst: cfgDumpItemScope
      Src: /src/tdengine/source/common/src/tmisce.c:411,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:412,1
    - Dst: taosArrayGet
      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: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:419,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:419,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:422,1
    - Dst: cfgDumpItemCategory
      Src: /src/tdengine/source/common/src/tmisce.c:422,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:424,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:426,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:429,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:431,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:431,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tmisce.c:434,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tmisce.c:436,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:441,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:443,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:446,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:448,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:448,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/common/src/tmisce.c:457,1
    - Dst: cfgDestroyIter
      Src: /src/tdengine/source/common/src/tmisce.c:458,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tmisce.c:459,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 3
    argNames:
    - pBlock
    - startCol
    - likePattern
    argTypes:
    - SSDataBlock*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 460
    functionName: dumpConfToDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 1
    functionsReached:
    - taosGetCfg
    - rawStrPatternMatch
    - cfgNextIter
    - cfgGetItem
    - cfgDumpItemCategory
    - taosArrayGet
    - cfgDestroyIter
    - cfgDumpItemScope
    - varDataSetLen
    - TAOS_RETURN
    - strcasecmp
    - STR_WITH_MAXSIZE_TO_VARSTR
    - cfgCreateIter
    - taosArrayGetSize
    - cfgGetSize
    - tsnprintf
    - blockDataEnsureCapacity
    - TAOS_CHECK_GOTO
    - cfgDumpItemValue
    - cfgLock
    - colDataSetVal
    - TMAX
    - cfgUnLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t dumpConfToDataBlock(SSDataBlock* pBlock, int32_t startCol,
      char* likePattern)
  - 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:
    - tGetU32v
    - tGetI8
    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:
    - tPutU32v
    - IS_STR_DATA_BLOB
    - tPutI16v
    - 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:
    - BIT2_SIZE
    - tPutPrimaryKeyIndex
    - TARRAY_DATA
    - BIT1_SIZE
    - COL_VAL_IS_VALUE
    - COL_VAL_IS_NULL
    - tRowBuildScanAddValue
    - tRowBuildScanAddNone
    - TARRAY_SIZE
    - COL_VAL_IS_NONE
    - tRowBuildScanAddNull
    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:
    - tPutPrimaryKeyIndex
    - TARRAY_DATA
    - tPutU32v
    - VALUE_GET_DATUM
    - memcpy
    - ROW_SET_BITMAP
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    - COL_VAL_IS_NULL
    - VALUE_GET_TRIVIAL_DATUM
    - TARRAY_SIZE
    - taosMemoryCalloc
    - COL_VAL_IS_NONE
    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:
    - tPutPrimaryKeyIndex
    - IS_STR_DATA_BLOB
    - TARRAY_DATA
    - tPutU32v
    - VALUE_GET_DATUM
    - memcpy
    - ROW_SET_BITMAP
    - tPutU64
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    - addEmptyItemToBlobSet
    - tBlobSetPush
    - COL_VAL_IS_NULL
    - TARRAY_SIZE
    - taosMemoryCalloc
    - COL_VAL_IS_NONE
    - TAOS_CHECK_RETURN
    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:
    - TARRAY_DATA
    - tPutU64
    - ROW_SET_BITMAP
    - tBlobSetGet
    - COL_VAL_IS_NULL
    - tPutPrimaryKeyIndex
    - tPutU32v
    - IS_VAR_DATA_TYPE
    - taosMemoryCalloc
    - COL_VAL_IS_NONE
    - IS_STR_DATA_BLOB
    - VALUE_GET_DATUM
    - tBlobSetPush
    - TARRAY_SIZE
    - memcpy
    - COL_VAL_IS_VALUE
    - addEmptyItemToBlobSet
    - tGetU64
    - TAOS_CHECK_RETURN
    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:
    - tPutPrimaryKeyIndex
    - TARRAY_DATA
    - tPutU32v
    - VALUE_GET_DATUM
    - memcpy
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    - COL_VAL_IS_NULL
    - VALUE_GET_TRIVIAL_DATUM
    - tRowBuildKVRowSetIndex
    - TARRAY_SIZE
    - taosMemoryCalloc
    - tPutI16v
    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: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:724,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:725,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:726,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:727,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:728,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:728,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: 745
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 745
    functionName: tRowBuildKVRowWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tPutPrimaryKeyIndex
    - IS_STR_DATA_BLOB
    - TARRAY_DATA
    - tPutU32v
    - memcpy
    - tPutU64
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    - addEmptyItemToBlobSet
    - tBlobSetPush
    - COL_VAL_IS_NULL
    - tRowBuildKVRowSetIndex
    - TARRAY_SIZE
    - taosMemoryCalloc
    - tPutI16v
    - TAOS_CHECK_RETURN
    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:749,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:751,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:776,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:779,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:789,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:790,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:791,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:792,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:795,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:796,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:799,1
    - Dst: tGetU64
      Src: /src/tdengine/source/common/src/tdataformat.c:804,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:805,1
    - Dst: tBlobSetGet
      Src: /src/tdengine/source/common/src/tdataformat.c:809,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:810,1
    - Dst: tBlobSetPush
      Src: /src/tdengine/source/common/src/tdataformat.c:812,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:813,1
    - Dst: tPutU64
      Src: /src/tdengine/source/common/src/tdataformat.c:815,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:819,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:819,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:823,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:824,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:828,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:829,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:830,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:831,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:832,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:832,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: 849
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 849
    functionName: tRowBuildKVRowWithBlob2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tPutPrimaryKeyIndex
    - IS_STR_DATA_BLOB
    - TARRAY_DATA
    - tPutU32v
    - memcpy
    - tPutU64
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    - addEmptyItemToBlobSet
    - tBlobSetGet
    - tBlobSetPush
    - COL_VAL_IS_NULL
    - tRowBuildKVRowSetIndex
    - TARRAY_SIZE
    - taosMemoryCalloc
    - tGetU64
    - tPutI16v
    - TAOS_CHECK_RETURN
    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:852,1
    - Dst: tRowBuildTupleRow
      Src: /src/tdengine/source/common/src/tdataformat.c:856,1
    - Dst: tRowBuildKVRow
      Src: /src/tdengine/source/common/src/tdataformat.c:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - aColVal
    - pTSchema
    - ppRow
    - sinfo
    argTypes:
    - SArray*
    - STSchema*
    - SRow**
    - SRowBuildScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 861
    functionName: tRowBuild
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 7
    functionsReached:
    - tRowBuildScan
    - tRowBuildTupleRow
    - tRowBuildKVRow
    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:866,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:872,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:874,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:877,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:879,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/tdataformat.c:882,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/tdataformat.c:882,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:884,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:887,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:889,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tdataformat.c:899,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:900,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:901,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:903,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:904,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdataformat.c:906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - cap
    - type
    - ppBlobRow
    argTypes:
    - int64_t
    - int8_t
    - SBlobSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 908
    functionName: tBlobRowCreate
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - taosMemCalloc
    - taosHashInit
    - uDebug
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - taosMemoryFree
    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:913,1
    - Dst: taosMemRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:930,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:938,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:948,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:949,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:952,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/tdataformat.c:953,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:955,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: 960
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 960
    functionName: tBlobRowPush
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - uTrace
    - taosArrayPush
    - TAOS_CHECK_EXIT
    - memcpy
    - taosMemRealloc
    - taosArrayGetSize
    - taosHashPut
    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: 972
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 972
    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:986,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:991,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pBlobRow
    - seq
    - pItem
    argTypes:
    - SBlobSet*
    - uint64_t
    - SBlobItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 1005
    functionName: tBlobRowGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosHashGet
    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:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pBlobRow
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1010
    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:1013,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pBlobRow
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1018
    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:1022,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1034,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1035,1
    - Dst: tBlobRowPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1041,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: 1049
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1049
    functionName: tBlobRowRebuild
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBlobRowCreate
    - taosArrayGet
    - taosArrayGetSize
    - tBlobRowPush
    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:1054,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1055,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1056,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tdataformat.c:1057,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1058,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pBlobRow
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1061
    functionName: tBlobRowDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - uTrace
    - taosArrayDestroy
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowDestroy(SBlobSet *pBlobRow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdataformat.c:1065,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1066,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pBlobRow
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1071
    functionName: tBlobRowClear
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - uTrace
    - taosHashClear
    - taosArrayClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowClear(SBlobSet *pBlobRow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tRowBuildScan
      Src: /src/tdengine/source/common/src/tdataformat.c:1077,1
    - Dst: tRowBuildTupleWithBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:1081,1
    - Dst: tRowBuildKVRowWithBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:1083,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: 1087
      start: 1073
    functionDepth: 3
    functionLinenumber: 1073
    functionLinenumberEnd: 1087
    functionName: tRowBuildWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    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:1093,1
    - Dst: tRowBuildTupleWithBlob2
      Src: /src/tdengine/source/common/src/tdataformat.c:1097,1
    - Dst: tRowBuildKVRowWithBlob2
      Src: /src/tdengine/source/common/src/tdataformat.c:1099,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: 1103
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1103
    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:1108,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1116,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1119,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1121,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1124,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/tdataformat.c:1124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1126,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1129,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1131,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tdataformat.c:1141,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1142,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1143,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1146,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdataformat.c:1148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - cap
    - type
    - ppBlobSet
    argTypes:
    - int64_t
    - int8_t
    - SBlobSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1150
    functionName: tBlobSetCreate
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 5
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - taosMemCalloc
    - taosHashInit
    - uDebug
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - taosMemoryFree
    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:1155,1
    - Dst: taosMemRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1172,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1180,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1191,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1194,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/tdataformat.c:1195,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1197,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: 1202
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1202
    functionName: tBlobSetPush
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 5
    functionsReached:
    - uTrace
    - taosArrayPush
    - TAOS_CHECK_EXIT
    - memcpy
    - taosMemRealloc
    - taosArrayGetSize
    - taosHashPut
    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:1207,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1209,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - SBlobSet*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1211
    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: 1224
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1224
    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:1238,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pBlobSet
    - seq
    - pItem
    argTypes:
    - SBlobSet*
    - uint64_t
    - SBlobItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1258
    functionName: tBlobSetGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - taosHashGet
    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:1262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pBlobSet
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1263
    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:1267,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1268,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1269,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tdataformat.c:1270,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1271,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pBlobSet
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1273
    functionName: tBlobSetDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - uTrace
    - taosArrayDestroy
    - taosHashCleanup
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tBlobSetDestroy(SBlobSet *pBlobSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdataformat.c:1277,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1278,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pBlobSet
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1283
    functionName: tBlobSetClear
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - uTrace
    - taosHashClear
    - taosArrayClear
    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: 1292
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1292
    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:1310,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1318,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1324,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1328,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1333,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:1341,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1345,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1347,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:1355,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1359,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1365,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1371,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1383,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: 1385
      start: 1303
    functionDepth: 4
    functionLinenumber: 1303
    functionLinenumberEnd: 1385
    functionName: tRowBuildFromBind
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - tRowGetKey
    - valueSetDatum
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosqsort_r
    - COL_VAL_VALUE
    - tRowBuild
    - IS_VAR_DATA_TYPE
    - taosArrayClear
    - COL_VAL_NULL
    - tRowKeyCompare
    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:1397,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:1402,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1407,1
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:1414,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:1443,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:1445,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1447,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1453,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:1454,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:1456,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:1466,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:1470,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:1477,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1488,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:1489,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1491,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:1492,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:1503,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1506,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1513,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:1514,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:1516,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:1521,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: 1526
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1526
    functionName: tRowGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - COL_VAL_NONE
    - IS_STR_DATA_BLOB
    - valueSetDatum
    - tGetU32v
    - VALUE_SET_TRIVIAL_DATUM
    - BIT2_SIZE
    - GET_BIT1
    - tGetPrimaryKeyIndex
    - BIT1_SIZE
    - IS_VAR_DATA_TYPE
    - GET_BIT2
    - COL_VAL_NULL
    - TABS
    - tGetI16v
    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:1529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pRow
    argTypes:
    - SRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    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:1534,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1535,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1537
    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:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppRow
    argTypes:
    - SRow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1538
    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:1541,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - iter
    - targetCid
    argTypes:
    - SRowIter*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1546
    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:1556,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1563,1
    - Dst: tRowIterOpen
      Src: /src/tdengine/source/common/src/tdataformat.c:1565,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1570,1
    - Dst: tRowFindColumnValue
      Src: /src/tdengine/source/common/src/tdataformat.c:1583,1
    - Dst: tRowFindColumnValue
      Src: /src/tdengine/source/common/src/tdataformat.c:1589,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1591,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1602,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:1611,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/common/src/tdataformat.c:1615,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/common/src/tdataformat.c:1616,1
    - Dst: tRowIterClose
      Src: /src/tdengine/source/common/src/tdataformat.c:1624,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1626,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1628,1
    - Dst: tRowDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1629,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: 1631
      start: 1548
    functionDepth: 4
    functionLinenumber: 1548
    functionLinenumberEnd: 1631
    functionName: tRowMergeImpl
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tRowDestroy
    - tRowIterClose
    - tRowBuild
    - taosArrayGetP
    - COL_VAL_IS_VALUE
    - taosArrayRemoveBatch
    - taosArrayInsert
    - tRowFindColumnValue
    - tRowIterOpen
    - taosMemoryCalloc
    - taosMemoryFree
    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:1635,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1636,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:1637,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1638,1
    - Dst: tGetU64
      Src: /src/tdengine/source/common/src/tdataformat.c:1641,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:1642,1
    - Dst: tBlobSetGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1647,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1648,1
    - Dst: tBlobSetPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1650,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1651,1
    - Dst: tPutU64
      Src: /src/tdengine/source/common/src/tdataformat.c:1652,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:1653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pSrc
    - pDst
    - pVal
    argTypes:
    - SBlobSet*
    - SBlobSet*
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1632
    functionDepth: 2
    functionLinenumber: 1632
    functionLinenumberEnd: 1660
    functionName: tBlobSetTransferTo
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tPutU64
    - addEmptyItemToBlobSet
    - uError
    - tBlobSetGet
    - tBlobSetPush
    - COL_VAL_IS_NULL
    - tGetU64
    - TAOS_CHECK_GOTO
    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:1664,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1668,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:1670,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1673,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1675,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1679,1
    - Dst: tRowIterOpen
      Src: /src/tdengine/source/common/src/tdataformat.c:1680,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1681,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1685,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1687,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1687,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:1688,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1689,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1691,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1696,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/common/src/tdataformat.c:1699,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1700,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1702,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1704,1
    - Dst: tBlobSetTransferTo
      Src: /src/tdengine/source/common/src/tdataformat.c:1706,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1707,1
    - Dst: tBlobSetSwap
      Src: /src/tdengine/source/common/src/tdataformat.c:1710,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:1714,1
    - Dst: tRowIterClose
      Src: /src/tdengine/source/common/src/tdataformat.c:1719,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1721,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1724,1
    - Dst: tBlobSetDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1726,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - aRowP
    - pTSchema
    - pBlob
    argTypes:
    - SArray*
    - STSchema*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1662
    functionDepth: 3
    functionLinenumber: 1662
    functionLinenumberEnd: 1728
    functionName: tRowRebuildBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tBlobSetDestroy
    - tBlobSetCreate
    - COL_VAL_IS_NULL
    - tRowIterOpen
    - taosArrayGet
    - tRowIterClose
    - taosMemoryCalloc
    - tBlobSetTransferTo
    - IS_STR_DATA_BLOB
    - uError
    - taosArrayGetSize
    - TARRAY_SIZE
    - TAOS_CHECK_GOTO
    - tRowIterNext
    - taosArrayGetP
    - COL_VAL_IS_VALUE
    - tBlobSetSwap
    - taosMemoryFree
    - TAOS_CHECK_RETURN
    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:1735,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:1741,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/common/src/tdataformat.c:1747,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1748,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1753,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1755,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1760,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1761,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1763,1
    - Dst: tRowMergeWithBlobImpl
      Src: /src/tdengine/source/common/src/tdataformat.c:1769,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1770,1
    - Dst: tRowGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1773,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1774,1
    - Dst: tBlobSetTransferTo
      Src: /src/tdengine/source/common/src/tdataformat.c:1776,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1777,1
    - Dst: tBlobSetSwap
      Src: /src/tdengine/source/common/src/tdataformat.c:1785,1
    - Dst: tBlobSetDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1788,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - aRowP
    - pTSchema
    - pBlob
    argTypes:
    - SArray*
    - STSchema*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1730
    functionDepth: 3
    functionLinenumber: 1730
    functionLinenumberEnd: 1790
    functionName: tRowMergeAndRebuildBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRowGetKey
    - IS_STR_DATA_BLOB
    - tRowMergeWithBlobImpl
    - tBlobSetDestroy
    - taosArrayGetP
    - tRowGet
    - tBlobSetCreate
    - taosArrayGetSize
    - tBlobSetSwap
    - tBlobSetTransferTo
    - tRowKeyCompare
    - TAOS_CHECK_GOTO
    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:1801,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1804,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1807,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1810,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1814,1
    - Dst: tRowIterOpen
      Src: /src/tdengine/source/common/src/tdataformat.c:1815,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1816,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1825,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1827,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1830,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1833,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1841,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1843,1
    - Dst: tRowBuildWithBlob2
      Src: /src/tdengine/source/common/src/tdataformat.c:1851,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1852,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/common/src/tdataformat.c:1854,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/common/src/tdataformat.c:1855,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1857,1
    - Dst: tRowIterClose
      Src: /src/tdengine/source/common/src/tdataformat.c:1863,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1865,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1867,1
    - Dst: tRowDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1868,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: 1871
      start: 1792
    functionDepth: 4
    functionLinenumber: 1792
    functionLinenumberEnd: 1871
    functionName: tRowMergeWithBlobImpl
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - tRowDestroy
    - tRowBuildWithBlob2
    - tRowIterClose
    - tRowIterNext
    - taosArrayGetP
    - COL_VAL_IS_VALUE
    - taosArrayRemoveBatch
    - taosArrayInsert
    - COL_VAL_IS_NULL
    - tRowIterOpen
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_CHECK_GOTO
    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:1874,1
    - Dst: taosArrayMSort
      Src: /src/tdengine/source/common/src/tdataformat.c:1875,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:1877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - aRowP
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1880
    functionName: tRowSort
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 6
    functionsReached:
    - uError
    - taosArrayMSort
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowSort(SArray *aRowP)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1888,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1890,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1895,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1896,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1898,1
    - Dst: tRowMergeImpl
      Src: /src/tdengine/source/common/src/tdataformat.c:1904,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - aRowP
    - pTSchema
    - strategy
    argTypes:
    - SArray*
    - STSchema*
    - ERowMergeStrategy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1882
    functionDepth: 5
    functionLinenumber: 1882
    functionLinenumberEnd: 1913
    functionName: tRowMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 6
    functionsReached:
    - tRowGetKey
    - tRowMergeImpl
    - tRowKeyCompare
    - taosArrayGetP
    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:1916,1
    - Dst: taosArrayMSort
      Src: /src/tdengine/source/common/src/tdataformat.c:1917,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:1919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - aRowP
    - pTSchema
    - pBlobSet
    argTypes:
    - SArray*
    - STSchema*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1915
    functionDepth: 1
    functionLinenumber: 1915
    functionLinenumberEnd: 1923
    functionName: tRowSortWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - uError
    - taosArrayMSort
    - TARRAY_SIZE
    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:1932,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1934,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1939,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1940,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1942,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - aRowP
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 1954
    functionName: tRowNeedDoMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRowGetKey
    - tRowKeyCompare
    - taosArrayGetP
    linkageType: ''
    returnType: int8_t
    signature: int8_t tRowNeedDoMerge(SArray *aRowP)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRowNeedDoMerge
      Src: /src/tdengine/source/common/src/tdataformat.c:1959,1
    - Dst: tRowRebuildBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:1961,1
    - Dst: tRowRebuildBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:1963,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:1964,1
    - Dst: tRowMergeAndRebuildBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:1966,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: 1969
      start: 1956
    functionDepth: 4
    functionLinenumber: 1956
    functionLinenumberEnd: 1969
    functionName: tRowMergeWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - tRowRebuildBlob
    - tRowNeedDoMerge
    - tRowMergeAndRebuildBlob
    - TAOS_CHECK_RETURN
    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:1996,1
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:2011,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2036,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2041,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 3
    argNames:
    - pRow
    - pTSchema
    - ppIter
    argTypes:
    - SRow*
    - STSchema*
    - SRowIter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 1991
    functionDepth: 1
    functionLinenumber: 1991
    functionLinenumberEnd: 2056
    functionName: tRowIterOpen
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - tGetPrimaryKeyIndex
    - taosMemoryCalloc
    - BIT1_SIZE
    - 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:2061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ppIter
    argTypes:
    - SRowIter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2064
    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:2078,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2083,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:2088,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:2105,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:2107,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:2109,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2115,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:2116,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:2126,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:2132,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2133,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:2136,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2140,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2148,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2151,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2155,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2158,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2165,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:2168,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2176,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:2178,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:2188,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 120
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SRowIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2066
    functionDepth: 1
    functionLinenumber: 2066
    functionLinenumberEnd: 2196
    functionName: tRowIterNext
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - COL_VAL_NONE
    - valueSetDatum
    - GET_BIT1
    - tGetU32v
    - VALUE_SET_TRIVIAL_DATUM
    - IS_VAR_DATA_TYPE
    - uError
    - GET_BIT2
    - TABS
    - COL_VAL_NULL
    - tGetI16v
    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: 2209
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2209
    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: 2244
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2244
    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:2258,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2272,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2277,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2294,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2297,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2301,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2304,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2325,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:2328,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: 2363
      start: 2245
    functionDepth: 1
    functionLinenumber: 2245
    functionLinenumberEnd: 2363
    functionName: tRowTupleUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - BIT2_SIZE
    - tGetU32v
    - tGetPrimaryKeyIndex
    - BIT1_SIZE
    - IS_VAR_DATA_TYPE
    - GET_BIT2
    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:2378,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:2408,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:2410,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2420,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:2421,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:2434,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: 2460
      start: 2364
    functionDepth: 1
    functionLinenumber: 2364
    functionLinenumberEnd: 2460
    functionName: tRowKVUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tGetU32v
    - tGetPrimaryKeyIndex
    - IS_VAR_DATA_TYPE
    - TABS
    - tGetI16v
    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:2470,1
    - Dst: tRowNullUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:2472,1
    - Dst: tRowKVUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:2474,1
    - Dst: tRowTupleUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:2476,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: 2478
      start: 2465
    functionDepth: 2
    functionLinenumber: 2465
    functionLinenumberEnd: 2478
    functionName: tRowUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRowTupleUpsertColData
    - tRowKVUpsertColData
    - tRowNullUpsertColData
    - tRowNoneUpsertColData
    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:2492,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:2501,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2504,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:2506,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:2508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - row
    - key
    argTypes:
    - SRow*
    - SRowKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2480
    functionDepth: 1
    functionLinenumber: 2480
    functionLinenumberEnd: 2511
    functionName: tRowGetPrimaryKey
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - valueSetDatum
    - tGetU32v
    - tGetPrimaryKeyIndex
    - IS_VAR_DATA_TYPE
    - tGetI16v
    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: 2523
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2523
    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:2528,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2528,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2528,1
    - 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:2535,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2535,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2535,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: strncmp
      Src: /src/tdengine/source/common/src/tdataformat.c:2550,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdataformat.c:2550,1
    - Dst: taosUcs4Compare
      Src: /src/tdengine/source/common/src/tdataformat.c:2554,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:2559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - SValue*
    - SValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2524
    functionDepth: 1
    functionLinenumber: 2524
    functionLinenumberEnd: 2567
    functionName: tValueCompare
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memcmp
    - T_COMPARE_SCALAR_VALUE
    - strncmp
    - VALUE_GET_TRIVIAL_DATUM
    - TMIN
    - taosUcs4Compare
    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:2581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - SRowKey*
    - SRowKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2572
    functionDepth: 2
    functionLinenumber: 2572
    functionLinenumberEnd: 2591
    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:2602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SRowKey*
    - SRowKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2593
    functionDepth: 1
    functionLinenumber: 2593
    functionLinenumberEnd: 2605
    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: 2616
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2616
    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:2618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2617
    functionDepth: 0
    functionLinenumber: 2617
    functionLinenumberEnd: 2619
    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:2630,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2631,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2634,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2637,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2640,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2643,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2646,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2649,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2652,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2655,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2658,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2661,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2664,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2667,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2670,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: 2675
      start: 2622
    functionDepth: 1
    functionLinenumber: 2622
    functionLinenumberEnd: 2675
    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:2688,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/tdataformat.c:2698,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/tdataformat.c:2700,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2702,1
    - Dst: tGetTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2703,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2704,1
    - Dst: debugPrintTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2705,1
    - Dst: debugPrintTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2707,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pTag
    - tag
    - ln
    argTypes:
    - STag*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2677
    functionDepth: 2
    functionLinenumber: 2677
    functionLinenumberEnd: 2711
    functionName: debugPrintSTag
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - debugPrintTagVal
    - IS_VAR_DATA_TYPE
    - printf
    - POINTER_SHIFT
    - tGetTagVal
    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:2719,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:2721,1
    - Dst: tPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:2725,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2728,1
    - Dst: tPutBinary
      Src: /src/tdengine/source/common/src/tdataformat.c:2729,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - p
    - pTagVal
    - isJson
    argTypes:
    - uint8_t*
    - STagVal*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2714
    functionDepth: 1
    functionLinenumber: 2714
    functionLinenumberEnd: 2737
    functionName: tPutTagVal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tPutCStr
    - memcpy
    - IS_VAR_DATA_TYPE
    - tPutI8
    - tPutBinary
    - tPutI16v
    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:2743,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:2745,1
    - Dst: tGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:2749,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2752,1
    - Dst: tGetBinary
      Src: /src/tdengine/source/common/src/tdataformat.c:2753,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p
    - pTagVal
    - isJson
    argTypes:
    - uint8_t*
    - STagVal*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2738
    functionDepth: 1
    functionLinenumber: 2738
    functionLinenumberEnd: 2760
    functionName: tGetTagVal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - tGetCStr
    - memcpy
    - IS_VAR_DATA_TYPE
    - tGetI8
    - tGetBinary
    - tGetI16v
    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: 2762
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2762
    functionName: tTagIsJson
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tTagIsJson(const void *pTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdataformat.c:2766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2764
    functionDepth: 1
    functionLinenumber: 2764
    functionLinenumberEnd: 2769
    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:2775,1
    - Dst: taosSort
      Src: /src/tdengine/source/common/src/tdataformat.c:2781,1
    - Dst: taosSort
      Src: /src/tdengine/source/common/src/tdataformat.c:2783,1
    - Dst: tPutTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2788,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:2788,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2798,1
    - Dst: tPutTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2826,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:2826,1
    - Dst: debugPrintSTag
      Src: /src/tdengine/source/common/src/tdataformat.c:2829,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: 2836
      start: 2771
    functionDepth: 3
    functionLinenumber: 2771
    functionLinenumberEnd: 2836
    functionName: tTagNew
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 14
    functionsReached:
    - taosArrayGet
    - taosSort
    - taosArrayGetSize
    - taosMemoryCalloc
    - debugPrintSTag
    - tPutTagVal
    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:2839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pTag
    argTypes:
    - STag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2838
    functionDepth: 0
    functionLinenumber: 2838
    functionLinenumberEnd: 2840
    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:2853,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2854,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:2863,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2864,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - value
    - isJson
    argTypes:
    - STagVal*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2870
      start: 2842
    functionDepth: 0
    functionLinenumber: 2842
    functionLinenumberEnd: 2870
    functionName: tTagValToData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - varDataLen
    - varDataVal
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosMemoryCalloc
    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:2904,1
    - Dst: tTagValJsonCmprFn
      Src: /src/tdengine/source/common/src/tdataformat.c:2906,1
    - Dst: tTagValCmprFn
      Src: /src/tdengine/source/common/src/tdataformat.c:2908,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2916,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pTag
    - pTagVal
    argTypes:
    - STag*
    - STagVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2872
    functionDepth: 2
    functionLinenumber: 2872
    functionLinenumberEnd: 2921
    functionName: tTagGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - tTagValCmprFn
    - tGetTagVal
    - tTagValJsonCmprFn
    - memcpy
    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:2924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - pTag
    argTypes:
    - SEncoder*
    - STag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2925
      start: 2923
    functionDepth: 1
    functionLinenumber: 2923
    functionLinenumberEnd: 2925
    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:2927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - ppTag
    argTypes:
    - SDecoder*
    - STag**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2927
    functionDepth: 1
    functionLinenumber: 2927
    functionLinenumberEnd: 2927
    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:2942,1
    - Dst: tGetTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2954,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:2955,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pTag
    - ppArray
    argTypes:
    - STag*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2965
      start: 2929
    functionDepth: 2
    functionLinenumber: 2929
    functionLinenumberEnd: 2965
    functionName: tTagToValArray
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 4
    functionsReached:
    - tGetTagVal
    - taosArrayInit
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: int32_t tTagToValArray(const STag *pTag, SArray **ppArray)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2969,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:2981,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:2986,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3005,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/tdataformat.c:3017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - aSchema
    - numOfCols
    - version
    argTypes:
    - SSchema*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 2968
    functionDepth: 1
    functionLinenumber: 2968
    functionLinenumberEnd: 3021
    functionName: tBuildTSchema
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 6
    functionsReached:
    - TD_BITMAP_BYTES
    - taosMemoryCalloc
    - taosMemoryFree
    - IS_VAR_DATA_TYPE
    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: 3031
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3031
    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:3038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTSchema
    - cid
    argTypes:
    - STSchema*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3033
    functionDepth: 1
    functionLinenumber: 3033
    functionLinenumberEnd: 3039
    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:3046,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3047,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ph
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3050
      start: 3042
    functionDepth: 1
    functionLinenumber: 3042
    functionLinenumberEnd: 3050
    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:3056,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: 3057
      start: 3052
    functionDepth: 1
    functionLinenumber: 3052
    functionLinenumberEnd: 3057
    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: 3066
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3066
    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:3073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pColData
    argTypes:
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3074
      start: 3068
    functionDepth: 1
    functionLinenumber: 3068
    functionLinenumberEnd: 3074
    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:3079,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3081,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3082,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3087,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:3089,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3098,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3103,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:3105,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3113,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:3116,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3118,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3076
    functionDepth: 1
    functionLinenumber: 3076
    functionLinenumberEnd: 3126
    functionName: tColDataPutValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - memcpy
    - memset
    - IS_VAR_DATA_TYPE
    - tRealloc
    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:3130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3131
      start: 3127
    functionDepth: 2
    functionLinenumber: 3127
    functionLinenumberEnd: 3131
    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: 3137
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3137
    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: 3143
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3143
    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:3147,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3148,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3151,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3152,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3158,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3159,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3161,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3163,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3167,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3169,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3173,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3175,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3180
      start: 3144
    functionDepth: 2
    functionLinenumber: 3144
    functionLinenumberEnd: 3180
    functionName: tColDataAppendValue10
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - memset
    - BIT1_SIZE
    - SET_BIT1_EX
    - IS_VAR_DATA_TYPE
    - tColDataPutValue
    - tRealloc
    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: 3185
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3185
    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:3189,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3190,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3193,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3186
    functionDepth: 1
    functionLinenumber: 3186
    functionLinenumberEnd: 3201
    functionName: tColDataAppendValue12
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memset
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    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:3205,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3206,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3209,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3210,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3216,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3218,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3220,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3221,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3225,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3227,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3202
    functionDepth: 2
    functionLinenumber: 3202
    functionLinenumberEnd: 3232
    functionName: tColDataAppendValue20
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - memset
    - BIT1_SIZE
    - SET_BIT1_EX
    - IS_VAR_DATA_TYPE
    - tColDataPutValue
    - tRealloc
    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:3236,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3237,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3240,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3233
    functionDepth: 1
    functionLinenumber: 3233
    functionLinenumberEnd: 3248
    functionName: tColDataAppendValue21
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memset
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    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: 3253
      start: 3249
    functionDepth: 0
    functionLinenumber: 3249
    functionLinenumberEnd: 3253
    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:3261,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3261,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3265,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3265,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3267,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3269,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3273,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3275,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3277,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3280,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3282,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3254
    functionDepth: 2
    functionLinenumber: 3254
    functionLinenumberEnd: 3287
    functionName: tColDataAppendValue30
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - BIT2_SIZE
    - tFree
    - memset
    - IS_VAR_DATA_TYPE
    - SET_BIT2_EX
    - tColDataPutValue
    - tRealloc
    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:3291,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3291,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3299
      start: 3288
    functionDepth: 1
    functionLinenumber: 3288
    functionLinenumberEnd: 3299
    functionName: tColDataAppendValue31
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    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:3303,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3303,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3300
    functionDepth: 1
    functionLinenumber: 3300
    functionLinenumberEnd: 3311
    functionName: tColDataAppendValue32
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    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:3314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3312
    functionDepth: 2
    functionLinenumber: 3312
    functionLinenumberEnd: 3315
    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:3322,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3323,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3326,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3327,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3330
      start: 3316
    functionDepth: 2
    functionLinenumber: 3316
    functionLinenumberEnd: 3330
    functionName: tColDataAppendValue41
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memset
    - BIT1_SIZE
    - SET_BIT1_EX
    - tColDataPutValue
    - tRealloc
    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:3337,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3338,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3341,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3342,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3331
    functionDepth: 2
    functionLinenumber: 3331
    functionLinenumberEnd: 3345
    functionName: tColDataAppendValue42
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memset
    - BIT1_SIZE
    - SET_BIT1_EX
    - tColDataPutValue
    - tRealloc
    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:3349,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3349,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:3355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3356
      start: 3346
    functionDepth: 2
    functionLinenumber: 3346
    functionLinenumberEnd: 3356
    functionName: tColDataAppendValue50
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - tColDataPutValue
    - SET_BIT1_EX
    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:3360,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3360,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3363,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3367
      start: 3357
    functionDepth: 2
    functionLinenumber: 3357
    functionLinenumberEnd: 3367
    functionName: tColDataAppendValue51
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - tColDataPutValue
    - SET_BIT1_EX
    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:3375,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3375,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3379,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3379,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3381,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3383,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3368
    functionDepth: 2
    functionLinenumber: 3368
    functionLinenumberEnd: 3387
    functionName: tColDataAppendValue52
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - BIT2_SIZE
    - tFree
    - SET_BIT2_EX
    - tColDataPutValue
    - tRealloc
    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:3391,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3391,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3393,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3397
      start: 3388
    functionDepth: 2
    functionLinenumber: 3388
    functionLinenumberEnd: 3397
    functionName: tColDataAppendValue60
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - tColDataPutValue
    - SET_BIT1_EX
    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:3405,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3405,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3409,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3409,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3411,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3413,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3398
    functionDepth: 2
    functionLinenumber: 3398
    functionLinenumberEnd: 3417
    functionName: tColDataAppendValue61
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - BIT2_SIZE
    - tFree
    - SET_BIT2_EX
    - tColDataPutValue
    - tRealloc
    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:3421,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3421,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3423,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3427
      start: 3418
    functionDepth: 2
    functionLinenumber: 3418
    functionLinenumberEnd: 3427
    functionName: tColDataAppendValue62
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - tColDataPutValue
    - SET_BIT1_EX
    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:3431,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3431,1
    - Dst: SET_BIT2_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: tColDataAppendValue70
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - BIT2_SIZE
    - tRealloc
    - tColDataPutValue
    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: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: tColDataAppendValue71
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - BIT2_SIZE
    - tRealloc
    - tColDataPutValue
    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: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: tColDataAppendValue72
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - BIT2_SIZE
    - tRealloc
    - tColDataPutValue
    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:3477,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3478,1
    - Dst: tBlobSetPush
      Src: /src/tdengine/source/common/src/tdataformat.c:3483,1
    - Dst: tPutU64
      Src: /src/tdengine/source/common/src/tdataformat.c:3486,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3487,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:3489,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3493,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: 3500
      start: 3471
    functionDepth: 2
    functionLinenumber: 3471
    functionLinenumberEnd: 3500
    functionName: tColDataPutValueBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - memcpy
    - tPutU64
    - addEmptyItemToBlobSet
    - tBlobSetPush
    - tRealloc
    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:3505,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: 3506
      start: 3502
    functionDepth: 3
    functionLinenumber: 3502
    functionLinenumberEnd: 3506
    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:3511,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: 3512
      start: 3507
    functionDepth: 2
    functionLinenumber: 3507
    functionLinenumberEnd: 3512
    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:3517,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: 3518
      start: 3513
    functionDepth: 2
    functionLinenumber: 3513
    functionLinenumberEnd: 3518
    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:3522,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3523,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3526,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3527,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3533,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3535,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3537,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3540,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3542,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3546,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: 3547
      start: 3519
    functionDepth: 3
    functionLinenumber: 3519
    functionLinenumberEnd: 3547
    functionName: tColDataAppendValueBlob10
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValueBlob
    - memset
    - BIT1_SIZE
    - SET_BIT1_EX
    - IS_VAR_DATA_TYPE
    - tRealloc
    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:3551,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: 3552
      start: 3548
    functionDepth: 2
    functionLinenumber: 3548
    functionLinenumberEnd: 3552
    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:3556,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3557,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3560,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3561,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3566,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: 3567
      start: 3553
    functionDepth: 2
    functionLinenumber: 3553
    functionLinenumberEnd: 3567
    functionName: tColDataAppendValueBlob12
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memset
    - BIT1_SIZE
    - SET_BIT1_EX
    - addEmptyItemToBlobSet
    - tRealloc
    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:3571,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3572,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3575,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3576,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3582,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3584,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3586,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3592,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: 3593
      start: 3568
    functionDepth: 3
    functionLinenumber: 3568
    functionLinenumberEnd: 3593
    functionName: tColDataAppendValueBlob20
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    - tColDataPutValueBlob
    - memset
    - BIT1_SIZE
    - SET_BIT1_EX
    - tRealloc
    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:3597,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3598,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3601,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3602,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3607,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: 3608
      start: 3594
    functionDepth: 2
    functionLinenumber: 3594
    functionLinenumberEnd: 3608
    functionName: tColDataAppendValueBlob21
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memset
    - BIT1_SIZE
    - SET_BIT1_EX
    - addEmptyItemToBlobSet
    - tRealloc
    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:3612,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: 3613
      start: 3609
    functionDepth: 2
    functionLinenumber: 3609
    functionLinenumberEnd: 3613
    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:3621,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3621,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3625,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3625,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3627,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3629,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3633,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3635,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3637,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3643,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: 3644
      start: 3614
    functionDepth: 3
    functionLinenumber: 3614
    functionLinenumberEnd: 3644
    functionName: tColDataAppendValueBlob30
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - BIT2_SIZE
    - IS_STR_DATA_BLOB
    - tFree
    - tColDataPutValueBlob
    - memset
    - SET_BIT2_EX
    - tRealloc
    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:3648,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3648,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3651,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3655,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: 3656
      start: 3645
    functionDepth: 2
    functionLinenumber: 3645
    functionLinenumberEnd: 3656
    functionName: tColDataAppendValueBlob31
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - addEmptyItemToBlobSet
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    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:3660,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3660,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3663,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3666,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: 3667
      start: 3657
    functionDepth: 2
    functionLinenumber: 3657
    functionLinenumberEnd: 3667
    functionName: tColDataAppendValueBlob32
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - addEmptyItemToBlobSet
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    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:3670,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: 3671
      start: 3668
    functionDepth: 3
    functionLinenumber: 3668
    functionLinenumberEnd: 3671
    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:3678,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3679,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3682,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3683,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3685,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: 3686
      start: 3672
    functionDepth: 3
    functionLinenumber: 3672
    functionLinenumberEnd: 3686
    functionName: tColDataAppendValueBlob41
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValueBlob
    - memset
    - BIT1_SIZE
    - SET_BIT1_EX
    - tRealloc
    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:3693,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3694,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3697,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3698,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3700,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: 3701
      start: 3687
    functionDepth: 3
    functionLinenumber: 3687
    functionLinenumberEnd: 3701
    functionName: tColDataAppendValueBlob42
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValueBlob
    - memset
    - BIT1_SIZE
    - SET_BIT1_EX
    - tRealloc
    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:3705,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3705,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:3711,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: 3712
      start: 3702
    functionDepth: 3
    functionLinenumber: 3702
    functionLinenumberEnd: 3712
    functionName: tColDataAppendValueBlob50
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    - 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:3716,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3716,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3719,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3722,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: 3723
      start: 3713
    functionDepth: 3
    functionLinenumber: 3713
    functionLinenumberEnd: 3723
    functionName: tColDataAppendValueBlob51
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    - 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:3731,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3731,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3735,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3735,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3737,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3739,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3742,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: 3743
      start: 3724
    functionDepth: 3
    functionLinenumber: 3724
    functionLinenumberEnd: 3743
    functionName: tColDataAppendValueBlob52
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - BIT2_SIZE
    - tFree
    - tColDataPutValueBlob
    - SET_BIT2_EX
    - tRealloc
    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:3747,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3747,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3749,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3752,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: 3753
      start: 3744
    functionDepth: 3
    functionLinenumber: 3744
    functionLinenumberEnd: 3753
    functionName: tColDataAppendValueBlob60
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    - 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:3761,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3761,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3765,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3765,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3767,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3769,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3772,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: 3773
      start: 3754
    functionDepth: 3
    functionLinenumber: 3754
    functionLinenumberEnd: 3773
    functionName: tColDataAppendValueBlob61
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - BIT2_SIZE
    - tFree
    - tColDataPutValueBlob
    - SET_BIT2_EX
    - tRealloc
    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:3777,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3777,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3779,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3782,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: 3783
      start: 3774
    functionDepth: 3
    functionLinenumber: 3774
    functionLinenumberEnd: 3783
    functionName: tColDataAppendValueBlob62
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    - 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:3787,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3787,1
    - Dst: SET_BIT2_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: tColDataAppendValueBlob70
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - BIT2_SIZE
    - 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: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: tColDataAppendValueBlob71
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - BIT2_SIZE
    - 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: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: tColDataAppendValueBlob72
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - BIT2_SIZE
    - 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:3831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pColData
    - pColVal
    argTypes:
    - SColData*
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3826
    functionDepth: 1
    functionLinenumber: 3826
    functionLinenumberEnd: 3832
    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:3838,1
    - Dst: tColDataAppendValue00
      Src: /src/tdengine/source/common/src/tdataformat.c:3841,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: 3843
      start: 3834
    functionDepth: 3
    functionLinenumber: 3834
    functionLinenumberEnd: 3843
    functionName: tColDataUpdateValue10
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue10
    - tColDataAppendValue00
    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:3848,1
    - Dst: tColDataAppendValue02
      Src: /src/tdengine/source/common/src/tdataformat.c:3851,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: 3854
      start: 3844
    functionDepth: 2
    functionLinenumber: 3844
    functionLinenumberEnd: 3854
    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:3860,1
    - Dst: tColDataAppendValue00
      Src: /src/tdengine/source/common/src/tdataformat.c:3863,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: 3867
      start: 3855
    functionDepth: 3
    functionLinenumber: 3855
    functionLinenumberEnd: 3867
    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:3869,1
    - Dst: tColDataAppendValue30
      Src: /src/tdengine/source/common/src/tdataformat.c:3873,1
    - Dst: tColDataAppendValue20
      Src: /src/tdengine/source/common/src/tdataformat.c:3876,1
    - Dst: tColDataAppendValue30
      Src: /src/tdengine/source/common/src/tdataformat.c:3882,1
    - Dst: tColDataAppendValue10
      Src: /src/tdengine/source/common/src/tdataformat.c:3885,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: 3889
      start: 3868
    functionDepth: 3
    functionLinenumber: 3868
    functionLinenumberEnd: 3889
    functionName: tColDataUpdateValue30
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue30
    - GET_BIT1
    - tColDataAppendValue10
    - tColDataAppendValue20
    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:3891,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3895,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: 3901
      start: 3890
    functionDepth: 1
    functionLinenumber: 3890
    functionLinenumberEnd: 3901
    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:3905,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3910,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: 3913
      start: 3902
    functionDepth: 2
    functionLinenumber: 3902
    functionLinenumberEnd: 3913
    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:3919,1
    - Dst: tColDataAppendValue42
      Src: /src/tdengine/source/common/src/tdataformat.c:3924,1
    - Dst: tColDataAppendValue02
      Src: /src/tdengine/source/common/src/tdataformat.c:3928,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: 3932
      start: 3914
    functionDepth: 3
    functionLinenumber: 3914
    functionLinenumberEnd: 3932
    functionName: tColDataUpdateValue42
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue42
    - tColDataAppendValue02
    - 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:3934,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3937,1
    - Dst: tColDataAppendValue50
      Src: /src/tdengine/source/common/src/tdataformat.c:3941,1
    - Dst: tColDataAppendValue40
      Src: /src/tdengine/source/common/src/tdataformat.c:3944,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3948,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3953,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: 3956
      start: 3933
    functionDepth: 3
    functionLinenumber: 3933
    functionLinenumberEnd: 3956
    functionName: tColDataUpdateValue50
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - tColDataAppendValue40
    - tColDataAppendValue50
    - IS_VAR_DATA_TYPE
    - tColDataPutValue
    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:3958,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3961,1
    - Dst: tColDataAppendValue52
      Src: /src/tdengine/source/common/src/tdataformat.c:3965,1
    - Dst: tColDataAppendValue42
      Src: /src/tdengine/source/common/src/tdataformat.c:3968,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3974,1
    - Dst: tColDataAppendValue52
      Src: /src/tdengine/source/common/src/tdataformat.c:3979,1
    - Dst: tColDataAppendValue12
      Src: /src/tdengine/source/common/src/tdataformat.c:3983,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: 3987
      start: 3957
    functionDepth: 3
    functionLinenumber: 3957
    functionLinenumberEnd: 3987
    functionName: tColDataUpdateValue52
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - tColDataAppendValue42
    - tColDataAppendValue12
    - IS_VAR_DATA_TYPE
    - tColDataAppendValue52
    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:3990,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3993,1
    - Dst: tColDataAppendValue60
      Src: /src/tdengine/source/common/src/tdataformat.c:3997,1
    - Dst: tColDataAppendValue40
      Src: /src/tdengine/source/common/src/tdataformat.c:4000,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4004,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4009,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: 4013
      start: 3988
    functionDepth: 3
    functionLinenumber: 3988
    functionLinenumberEnd: 4013
    functionName: tColDataUpdateValue60
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - tColDataAppendValue40
    - IS_VAR_DATA_TYPE
    - tColDataPutValue
    - tColDataAppendValue60
    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:4015,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4019,1
    - Dst: tColDataAppendValue62
      Src: /src/tdengine/source/common/src/tdataformat.c:4024,1
    - Dst: tColDataAppendValue20
      Src: /src/tdengine/source/common/src/tdataformat.c:4028,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: 4032
      start: 4014
    functionDepth: 3
    functionLinenumber: 4014
    functionLinenumberEnd: 4032
    functionName: tColDataUpdateValue62
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue62
    - GET_BIT1
    - tColDataAppendValue20
    - 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:4036,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4040,1
    - Dst: tColDataAppendValue70
      Src: /src/tdengine/source/common/src/tdataformat.c:4044,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4047,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4047,1
    - Dst: tColDataAppendValue60
      Src: /src/tdengine/source/common/src/tdataformat.c:4050,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4056,1
    - Dst: tColDataAppendValue70
      Src: /src/tdengine/source/common/src/tdataformat.c:4060,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4063,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4063,1
    - Dst: tColDataAppendValue50
      Src: /src/tdengine/source/common/src/tdataformat.c:4066,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4072,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4077,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: 4083
      start: 4033
    functionDepth: 3
    functionLinenumber: 4033
    functionLinenumberEnd: 4083
    functionName: tColDataUpdateValue70
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue70
    - SET_BIT1
    - tColDataAppendValue50
    - IS_VAR_DATA_TYPE
    - tColDataPutValue
    - GET_BIT2
    - tColDataAppendValue60
    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:4085,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4089,1
    - Dst: tColDataAppendValue72
      Src: /src/tdengine/source/common/src/tdataformat.c:4093,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4096,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4096,1
    - Dst: tColDataAppendValue62
      Src: /src/tdengine/source/common/src/tdataformat.c:4099,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4105,1
    - Dst: tColDataAppendValue72
      Src: /src/tdengine/source/common/src/tdataformat.c:4110,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4113,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4113,1
    - Dst: tColDataAppendValue32
      Src: /src/tdengine/source/common/src/tdataformat.c:4117,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: 4121
      start: 4084
    functionDepth: 3
    functionLinenumber: 4084
    functionLinenumberEnd: 4121
    functionName: tColDataUpdateValue72
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue62
    - SET_BIT1
    - IS_VAR_DATA_TYPE
    - GET_BIT2
    - tColDataAppendValue32
    - tColDataAppendValue72
    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: 4124
      start: 4122
    functionDepth: 0
    functionLinenumber: 4122
    functionLinenumberEnd: 4124
    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:4144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pColData
    - pColVal
    - forward
    argTypes:
    - SColData*
    - SColVal*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4137
    functionDepth: 1
    functionLinenumber: 4137
    functionLinenumberEnd: 4145
    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:4148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4149
      start: 4147
    functionDepth: 1
    functionLinenumber: 4147
    functionLinenumberEnd: 4149
    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:4151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4152
      start: 4150
    functionDepth: 1
    functionLinenumber: 4150
    functionLinenumberEnd: 4152
    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:4155,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:4157,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:4160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4165
      start: 4153
    functionDepth: 1
    functionLinenumber: 4153
    functionLinenumberEnd: 4165
    functionName: tColDataGetValue3
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - COL_VAL_NONE
    - COL_VAL_NULL
    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:4168,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:4176,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:4179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4180
      start: 4166
    functionDepth: 1
    functionLinenumber: 4166
    functionLinenumberEnd: 4180
    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:4183,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:4185,1
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:4188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4193
      start: 4181
    functionDepth: 2
    functionLinenumber: 4181
    functionLinenumberEnd: 4193
    functionName: tColDataGetValue5
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - COL_VAL_NONE
    - tColDataGetValue4
    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:4196,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:4198,1
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:4201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4206
      start: 4194
    functionDepth: 2
    functionLinenumber: 4194
    functionLinenumberEnd: 4206
    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:4209,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:4211,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:4214,1
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:4217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4222
      start: 4207
    functionDepth: 2
    functionLinenumber: 4207
    functionLinenumberEnd: 4222
    functionName: tColDataGetValue7
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - COL_VAL_NONE
    - GET_BIT2
    - COL_VAL_NULL
    - tColDataGetValue4
    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: 4240
      start: 4233
    functionDepth: 0
    functionLinenumber: 4233
    functionLinenumberEnd: 4240
    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:4249,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4253,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4255,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - pColData
    - iVal
    argTypes:
    - SColData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4261
      start: 4242
    functionDepth: 1
    functionLinenumber: 4242
    functionLinenumberEnd: 4261
    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:4273,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4273,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4278,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4278,1
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4281,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4281,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4286,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4286,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4294,1
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4295,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4300,1
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4307,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4313,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - pColDataFrom
    - pColData
    - xMalloc
    - arg
    argTypes:
    - SColData*
    - SColData*
    - xMallocFn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4320
      start: 4263
    functionDepth: 1
    functionLinenumber: 4263
    functionLinenumberEnd: 4320
    functionName: tColDataCopy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT2_SIZE
    - BIT1_SIZE
    - memcpy
    - IS_VAR_DATA_TYPE
    - xMalloc
    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:4343,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4351,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4353,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:4362,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4364,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4372,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4377,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:4386,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4388,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:4405,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4407,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4414,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - colData
    - info
    - output
    - assist
    argTypes:
    - SColData*
    - SColDataCompressInfo*
    - SBuffer*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4416
      start: 4322
    functionDepth: 1
    functionLinenumber: 4322
    functionLinenumberEnd: 4416
    functionName: tColDataCompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT2_SIZE
    - BIT1_SIZE
    - tBufferInit
    - IS_VAR_DATA_TYPE
    - tCompressDataToBuffer
    - tBufferDestroy
    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:4423,1
    - Dst: tColDataClear
      Src: /src/tdengine/source/common/src/tdataformat.c:4428,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4448,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4450,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:4454,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4456,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4476,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4478,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:4482,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4484,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4502,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4504,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:4508,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4510,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4530,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4540,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 85
    argCount: 4
    argNames:
    - input
    - info
    - colData
    - assist
    argTypes:
    - void*
    - SColDataCompressInfo*
    - SColData*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4542
      start: 4418
    functionDepth: 2
    functionLinenumber: 4418
    functionLinenumberEnd: 4542
    functionName: tColDataDecompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - tBufferInit
    - tColDataClear
    - tDecompressData
    - tRealloc
    - tBufferDestroy
    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:4558,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:4559,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4571,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4572,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4572,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:4577,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4578,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4593,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4594,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4595,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:4599,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4600,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdataformat.c:4608,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdataformat.c:4632,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    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: 4644
      start: 4544
    functionDepth: 1
    functionLinenumber: 4544
    functionLinenumberEnd: 4644
    functionName: tColDataAddValueByDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - BMIsNull
    - IS_STR_DATA_BLOB
    - varDataLen
    - blobDataLen
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - uError
    - varDataVal
    - blobDataTLen
    - blobDataVal
    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:4659,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:4660,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4672,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4673,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4673,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:4678,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4679,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4694,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4695,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4696,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:4701,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4701,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdataformat.c:4709,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdataformat.c:4733,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: 4745
      start: 4645
    functionDepth: 1
    functionLinenumber: 4645
    functionLinenumberEnd: 4745
    functionName: tColDataAddValueByDataBlockWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BMIsNull
    - IS_STR_DATA_BLOB
    - varDataLen
    - blobDataLen
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - uError
    - varDataVal
    - blobDataTLen
    - blobDataVal
    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:4757,1
    - Dst: igeos
      Src: /src/tdengine/source/common/src/tdataformat.c:4759,1
    - Dst: cgeos
      Src: /src/tdengine/source/common/src/tdataformat.c:4776,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4778,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:4790,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: 4830
      start: 4747
    functionDepth: 1
    functionLinenumber: 4747
    functionLinenumberEnd: 4830
    functionName: tColDataAddValueByBind
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - memcmp
    - igeos
    - IS_VAR_DATA_TYPE
    - uError
    - cgeos
    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:4841,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:4868,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: 4930
      start: 4832
    functionDepth: 0
    functionLinenumber: 4832
    functionLinenumberEnd: 4930
    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:4946,1
    - Dst: cgeos
      Src: /src/tdengine/source/common/src/tdataformat.c:4968,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4970,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: 4980
      start: 4932
    functionDepth: 1
    functionLinenumber: 4932
    functionLinenumberEnd: 4980
    functionName: tColDataAddValueByBind2WithGeos
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - uError
    - igeos
    - cgeos
    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:4992,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: 5017
      start: 4982
    functionDepth: 0
    functionLinenumber: 4982
    functionLinenumberEnd: 5017
    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:5029,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/common/src/tdataformat.c:5050,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:5055,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/common/src/tdataformat.c:5060,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:5065,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:5067,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/common/src/tdataformat.c:5067,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 5
    argNames:
    - pColData
    - pBind
    - buffMaxLen
    - precision
    - scale
    argTypes:
    - SColData*
    - TAOS_STMT2_BIND*
    - int32_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5075
      start: 5019
    functionDepth: 7
    functionLinenumber: 5019
    functionLinenumberEnd: 5075
    functionName: tColDataAddValueByBind2WithDecimal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - taosMemCalloc
    - memcpy
    - DECIMAL_WORD_NUM
    - IS_DECIMAL_TYPE
    - decimal64FromStr
    - DECIMAL64_GET_VALUE
    - decimal128FromStr
    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: 33
    BranchProfiles: []
    Callsites:
    - Dst: schemaHasBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:5091,1
    - Dst: taosqsort_r
      Src: /src/tdengine/source/common/src/tdataformat.c:5093,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5103,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5106,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5107,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5112,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5121,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5122,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5123,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:5130,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5134,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5139,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:5141,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5144,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5154,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:5156,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:5158,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5164,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:5165,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5167,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5171,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5179,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5183,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5194,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/common/src/tdataformat.c:5199,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5201,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/common/src/tdataformat.c:5203,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5205,1
    - Dst: decimal128ToDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:5210,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5211,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5215,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/common/src/tdataformat.c:5220,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5222,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/common/src/tdataformat.c:5224,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5226,1
    - Dst: decimal64ToDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:5228,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5229,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:5236,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:5239,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5241,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:5251,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5252,1
    - Dst: tRowBuildWithBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:5255,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5256,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5259,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5265,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5271,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5283,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5285,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5286,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 158
    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: 5288
      start: 5085
    functionDepth: 7
    functionLinenumber: 5085
    functionLinenumberEnd: 5288
    functionName: tRowBuildFromBind2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - decimalFromTypeMod
    - COL_VAL_NONE
    - taosArrayDestroy
    - taosArrayPush
    - decimal128ToDataVal
    - taosArrayInit
    - TARRAY_DATA
    - valueSetDatum
    - taosArrayClear
    - tRowGetKey
    - taosqsort_r
    - COL_VAL_VALUE
    - tRowBuild
    - IS_VAR_DATA_TYPE
    - tRowKeyCompare
    - decimal128FromStr
    - decimal64ToDataVal
    - IS_STR_DATA_BLOB
    - uError
    - decimal64FromStr
    - TAOS_CHECK_GOTO
    - schemaHasBlob
    - tSimpleHashGet
    - tRowBuildWithBlob
    - COL_VAL_NULL
    - taosMemoryFree
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: schemaHasBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:5303,1
    - Dst: taosqsort_r
      Src: /src/tdengine/source/common/src/tdataformat.c:5305,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5313,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5316,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5317,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5321,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5322,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5323,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:5330,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:5339,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:5341,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5347,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:5348,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5350,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5354,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5362,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5366,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:5380,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:5382,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5384,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:5394,1
    - Dst: tRowBuildWithBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:5399,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5404,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5410,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5416,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5427,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5428,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 109
    argCount: 8
    argNames:
    - infos
    - numOfInfos
    - infoSorted
    - pTSchema
    - rowArray
    - pOrdered
    - pDupTs
    - pBlobSet
    argTypes:
    - SBindInfo2*
    - int32_t
    - bool
    - STSchema*
    - SArray*
    - bool*
    - bool*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5430
      start: 5298
    functionDepth: 4
    functionLinenumber: 5298
    functionLinenumberEnd: 5430
    functionName: tRowBuildFromBind2WithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - tRowGetKey
    - COL_VAL_NONE
    - taosArrayPush
    - taosArrayDestroy
    - IS_STR_DATA_BLOB
    - taosArrayInit
    - TARRAY_DATA
    - taosqsort_r
    - valueSetDatum
    - schemaHasBlob
    - COL_VAL_VALUE
    - tRowBuild
    - IS_VAR_DATA_TYPE
    - uError
    - tRowBuildWithBlob
    - taosArrayClear
    - COL_VAL_NULL
    - tRowKeyCompare
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildFromBind2WithBlob(SBindInfo2 *infos, int32_t numOfInfos,
      bool infoSorted, const STSchema *pTSchema,\n                                   SArray
      *rowArray, bool *pOrdered, bool *pDupTs, SBlobSet *pBlobSet)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5435,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:5447,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:5450,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: 5454
      start: 5432
    functionDepth: 0
    functionLinenumber: 5432
    functionLinenumberEnd: 5454
    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:5463,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5466,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:5469,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5471,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5473,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5476,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5477,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:5477,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:5480,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5482,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5484,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5485,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:5485,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:5488,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5490,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5492,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5493,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:5493,1
    - Dst: SET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:5496,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:5496,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5497,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:5497,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: 5504
      start: 5456
    functionDepth: 1
    functionLinenumber: 5456
    functionLinenumberEnd: 5504
    functionName: tColDataCopyRowSingleCol
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - tColDataCopyRowCell
    - ROW_SET_BITMAP
    - GET_BIT2
    - SET_BIT2
    - TAOS_CHECK_RETURN
    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:5511,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: 5518
      start: 5506
    functionDepth: 2
    functionLinenumber: 5506
    functionLinenumberEnd: 5518
    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:5525,1
    - Dst: tColDataAppendValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5529,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: 5536
      start: 5520
    functionDepth: 2
    functionLinenumber: 5520
    functionLinenumberEnd: 5536
    functionName: tColDataCopyRowAppend
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue
    - tColDataGetValue
    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:5546,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: 5552
      start: 5538
    functionDepth: 2
    functionLinenumber: 5538
    functionLinenumberEnd: 5552
    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:5560,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5565,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5569,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5570,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5572,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5573,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:5573,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5574,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5576,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:5576,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5577,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5582,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:5582,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5586,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:5586,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5590,1
    - Dst: tColDataCopyRow
      Src: /src/tdengine/source/common/src/tdataformat.c:5590,1
    - Dst: tColDataDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:5597,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: 5601
      start: 5554
    functionDepth: 3
    functionLinenumber: 5554
    functionLinenumberEnd: 5601
    functionName: tColDataMergeSortMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataDestroy
    - tColDataArrGetRowKey
    - tColDataCopyRowAppend
    - tColDataCopyRow
    - taosMemoryCalloc
    - tRowKeyCompare
    - taosMemoryFree
    - tColDataInit
    - TAOS_CHECK_RETURN
    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:5613,1
    - Dst: tColDataMergeSort
      Src: /src/tdengine/source/common/src/tdataformat.c:5618,1
    - Dst: tColDataMergeSortMerge
      Src: /src/tdengine/source/common/src/tdataformat.c:5623,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: 5624
      start: 5603
    functionDepth: 4
    functionLinenumber: 5603
    functionLinenumberEnd: 5624
    functionName: tColDataMergeSort
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - tColDataMergeSort
    - tColDataMergeSortMerge
    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:5631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - aColData
    - nColData
    argTypes:
    - SColData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5632
      start: 5626
    functionDepth: 5
    functionLinenumber: 5626
    functionLinenumberEnd: 5632
    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:5639,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5639,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5644,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5645,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/tdataformat.c:5647,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5652,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5655,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5659,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5659,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5659,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5661,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5662,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5663,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5664,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5667,1
    - Dst: tColDataAppendValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5671,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5678,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5679,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5680,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5683,1
    - Dst: tColDataUpdateValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5687,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/tdataformat.c:5697,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/tdataformat.c:5699,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 1
    argNames:
    - colArr
    argTypes:
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5703
      start: 5634
    functionDepth: 3
    functionLinenumber: 5634
    functionLinenumberEnd: 5703
    functionName: tColDataMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - TARRAY_DATA
    - tColDataArrGetRowKey
    - taosArrayGet
    - taosArrayDestroyEx
    - taosArrayReserve
    - taosArrayGetSize
    - tColDataAppendValue
    - tColDataUpdateValue
    - tRowKeyCompare
    - tColDataInit
    - tColDataGetValue
    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:5707,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5708,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5726,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5729,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5731,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5745,1
    - Dst: tColDataSort
      Src: /src/tdengine/source/common/src/tdataformat.c:5745,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5749,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5752,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5754,1
    - Dst: tColDataMerge
      Src: /src/tdengine/source/common/src/tdataformat.c:5765,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 1
    argNames:
    - arr
    argTypes:
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5771
      start: 5705
    functionDepth: 6
    functionLinenumber: 5705
    functionLinenumberEnd: 5771
    functionName: tColDataSortMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - tColDataSort
    - tColDataArrGetRowKey
    - TARRAY_DATA
    - TARRAY_SIZE
    - tColDataMerge
    - tRowKeyCompare
    - TAOS_CHECK_RETURN
    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:5775,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5776,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5794,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5797,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5799,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5815,1
    - Dst: tColDataSort
      Src: /src/tdengine/source/common/src/tdataformat.c:5815,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5819,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5822,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5824,1
    - Dst: tColDataMerge
      Src: /src/tdengine/source/common/src/tdataformat.c:5835,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 2
    argNames:
    - arr
    - pBlob
    argTypes:
    - SArray**
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5841
      start: 5773
    functionDepth: 6
    functionLinenumber: 5773
    functionLinenumberEnd: 5841
    functionName: tColDataSortMergeWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - tColDataSort
    - tColDataArrGetRowKey
    - TARRAY_DATA
    - TARRAY_SIZE
    - tColDataMerge
    - tRowKeyCompare
    - TAOS_CHECK_RETURN
    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:5846,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:5847,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:5848,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:5849,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:5856,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:5856,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:5860,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:5860,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5869,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:5870,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:5873,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:5876,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:5879,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - pEncoder
    - pColData
    argTypes:
    - SEncoder*
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5885
      start: 5843
    functionDepth: 1
    functionLinenumber: 5843
    functionLinenumberEnd: 5885
    functionName: tEncodeColDataVersion0
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT2_SIZE
    - BIT1_SIZE
    - tEncodeI32v
    - IS_VAR_DATA_TYPE
    - tEncodeI16v
    - tEncodeI8
    - tEncodeFixed
    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:5890,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:5891,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:5892,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:5893,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5904,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:5904,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5908,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:5908,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5917,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5918,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:5921,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5924,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5928,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 2
    argNames:
    - pDecoder
    - pColData
    argTypes:
    - SDecoder*
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5935
      start: 5887
    functionDepth: 1
    functionLinenumber: 5887
    functionLinenumberEnd: 5935
    functionName: tDecodeColDataVersion0
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryWithSize
    - BIT2_SIZE
    - BIT1_SIZE
    - IS_VAR_DATA_TYPE
    - tDecodeI32v
    - tDecodeI8
    - tDecodeI16v
    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:5938,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:5940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - pColData
    argTypes:
    - SEncoder*
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5941
      start: 5937
    functionDepth: 2
    functionLinenumber: 5937
    functionLinenumberEnd: 5941
    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:5944,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:5947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pColData
    argTypes:
    - SDecoder*
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5949
      start: 5943
    functionDepth: 2
    functionLinenumber: 5943
    functionLinenumberEnd: 5949
    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:5953,1
    - Dst: tEncodeColDataVersion1
      Src: /src/tdengine/source/common/src/tdataformat.c:5955,1
    - Dst: tEncodeColDataVersion1
      Src: /src/tdengine/source/common/src/tdataformat.c:5959,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:5964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - version
    - pEncoder
    - pColData
    argTypes:
    - uint8_t
    - SEncoder*
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5970
      start: 5951
    functionDepth: 3
    functionLinenumber: 5951
    functionLinenumberEnd: 5970
    functionName: tEncodeColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tEncodeI32
    - tEncodeColDataVersion1
    - tEncodeColDataVersion0
    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:5974,1
    - Dst: tDecodeColDataVersion1
      Src: /src/tdengine/source/common/src/tdataformat.c:5976,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:5980,1
    - Dst: tDecodeColDataVersion1
      Src: /src/tdengine/source/common/src/tdataformat.c:5986,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: 5991
      start: 5972
    functionDepth: 3
    functionLinenumber: 5972
    functionLinenumberEnd: 5991
    functionName: tDecodeColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tDecodeColDataVersion1
    - tDecodeColDataVersion0
    - 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:5993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - pRow
    argTypes:
    - SEncoder*
    - SRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5993
      start: 5993
    functionDepth: 1
    functionLinenumber: 5993
    functionLinenumberEnd: 5993
    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:6005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - ppRow
    argTypes:
    - SDecoder*
    - SRow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6006
      start: 5995
    functionDepth: 1
    functionLinenumber: 5995
    functionLinenumberEnd: 6006
    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:6015,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6015,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6016,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/tdataformat.c:6016,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6018,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6019,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6019,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/tdataformat.c:6022,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:6024,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6026,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/tdataformat.c:6026,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6027,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6027,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/tdataformat.c:6029,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:6033,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6034,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/tdataformat.c:6034,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6035,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/tdataformat.c:6035,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6036,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/tdataformat.c:6036,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6037,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6037,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6038,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6038,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6041,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:6041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - pEncoder
    - pRow
    argTypes:
    - SEncoder*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6045
      start: 6008
    functionDepth: 1
    functionLinenumber: 6008
    functionLinenumberEnd: 6045
    functionName: tEncodeBlobSet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tEncodeU32
    - TAOS_CHECK_EXIT
    - taosHashGetKey
    - taosArrayGet
    - tEncodeI64
    - tEncodeI32
    - taosHashIterate
    - taosArrayGetSize
    - tEncodeU64
    - tEncodeI8
    - tEncodeFixed
    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:6053,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6055,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6057,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6057,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6058,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/tdataformat.c:6058,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6060,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6060,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6063,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/tdataformat.c:6063,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6065,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6070,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/tdataformat.c:6070,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6071,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6071,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/tdataformat.c:6073,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6074,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6080,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6085,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/tdataformat.c:6085,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6086,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/tdataformat.c:6086,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6087,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/tdataformat.c:6087,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6088,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6088,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6089,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6089,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:6090,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6091,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:6095,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6097,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6100,1
    - Dst: tDecodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:6100,1
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdataformat.c:6103,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:6108,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6109,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:6110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - pDecoder
    - pBlobSet
    argTypes:
    - SDecoder*
    - SBlobSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6114
      start: 6047
    functionDepth: 1
    functionLinenumber: 6047
    functionLinenumberEnd: 6114
    functionName: tDecodeBlobSet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - uTrace
    - taosArrayPush
    - taosArrayDestroy
    - tDecodeFixed
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - taosMemCalloc
    - tDecodeI64
    - tDecodeU64
    - tDecodeU32
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - tDecodeI8
    - tDecodeI32
    - taosMemoryFree
    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: 6122
      start: 6116
    functionDepth: 0
    functionLinenumber: 6116
    functionLinenumberEnd: 6122
    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:6135,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6139,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6153
      start: 6123
    functionDepth: 2
    functionLinenumber: 6123
    functionLinenumberEnd: 6153
    functionName: tColDataCalcSMABool
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6167,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6171,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6185
      start: 6155
    functionDepth: 2
    functionLinenumber: 6155
    functionLinenumberEnd: 6185
    functionName: tColDataCalcSMATinyInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6199,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6203,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6217
      start: 6187
    functionDepth: 2
    functionLinenumber: 6187
    functionLinenumberEnd: 6217
    functionName: tColDataCalcSMATinySmallInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6231,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6235,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6249
      start: 6219
    functionDepth: 2
    functionLinenumber: 6219
    functionLinenumberEnd: 6249
    functionName: tColDataCalcSMAInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6263,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6267,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6281
      start: 6251
    functionDepth: 2
    functionLinenumber: 6251
    functionLinenumberEnd: 6281
    functionName: tColDataCalcSMABigInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6295,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6299,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6313
      start: 6283
    functionDepth: 2
    functionLinenumber: 6283
    functionLinenumberEnd: 6313
    functionName: tColDataCalcSMAFloat
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6327,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6331,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6345
      start: 6315
    functionDepth: 2
    functionLinenumber: 6315
    functionLinenumberEnd: 6345
    functionName: tColDataCalcSMADouble
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6359,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6363,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6377
      start: 6347
    functionDepth: 2
    functionLinenumber: 6347
    functionLinenumberEnd: 6377
    functionName: tColDataCalcSMAUTinyInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6391,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6395,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6409
      start: 6379
    functionDepth: 2
    functionLinenumber: 6379
    functionLinenumberEnd: 6409
    functionName: tColDataCalcSMATinyUSmallInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6423,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6427,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6441
      start: 6411
    functionDepth: 2
    functionLinenumber: 6411
    functionLinenumberEnd: 6441
    functionName: tColDataCalcSMAUInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6455,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6459,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6473
      start: 6443
    functionDepth: 2
    functionLinenumber: 6443
    functionLinenumberEnd: 6473
    functionName: tColDataCalcSMAUBigInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    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:6495,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:6502,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6510
      start: 6475
    functionDepth: 1
    functionLinenumber: 6475
    functionLinenumberEnd: 6510
    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: 6523
      start: 6512
    functionDepth: 0
    functionLinenumber: 6512
    functionLinenumberEnd: 6523
    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:6535,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/common/src/tdataformat.c:6536,1
    - Dst: CALC_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6540,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6544,1
    - Dst: CALC_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6558
      start: 6524
    functionDepth: 2
    functionLinenumber: 6524
    functionLinenumberEnd: 6558
    functionName: tColDataCalcSMADecimal64Type
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_DECIMAL_SUM_MAX_MIN
    - getDecimalOps
    - tColDataGetBitValue
    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:6571,1
    - Dst: CALC_DECIMAL_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_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6593
      start: 6560
    functionDepth: 2
    functionLinenumber: 6560
    functionLinenumberEnd: 6593
    functionName: tColDataCalcSMADecimal128Type
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - CALC_DECIMAL_SUM_MAX_MIN
    - getDecimalOps
    - tColDataGetBitValue
    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:6624,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - valCol
    argTypes:
    - SValueColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6627
      start: 6621
    functionDepth: 0
    functionLinenumber: 6621
    functionLinenumberEnd: 6627
    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:6632,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - valCol
    argTypes:
    - SValueColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6635
      start: 6629
    functionDepth: 0
    functionLinenumber: 6629
    functionLinenumberEnd: 6635
    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:6640,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/common/src/tdataformat.c:6641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - valCol
    argTypes:
    - SValueColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6643
      start: 6637
    functionDepth: 0
    functionLinenumber: 6637
    functionLinenumberEnd: 6643
    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:6656,1
    - Dst: tBufferPutI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6657,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6657,1
    - Dst: tBufferPut
      Src: /src/tdengine/source/common/src/tdataformat.c:6660,1
    - Dst: tBufferPut
      Src: /src/tdengine/source/common/src/tdataformat.c:6664,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:6664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - valCol
    - value
    argTypes:
    - SValueColumn*
    - SValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6670
      start: 6645
    functionDepth: 1
    functionLinenumber: 6645
    functionLinenumberEnd: 6670
    functionName: tValueColumnAppend
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferPut
    - VALUE_GET_DATUM
    - IS_VAR_DATA_TYPE
    - tBufferGetSize
    - tBufferPutI32
    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:6679,1
    - Dst: tBufferGetData
      Src: /src/tdengine/source/common/src/tdataformat.c:6680,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6681,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:6686,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6686,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdataformat.c:6687,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/common/src/tdataformat.c:6687,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/common/src/tdataformat.c:6687,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6688,1
    - Dst: tBufferPutAt
      Src: /src/tdengine/source/common/src/tdataformat.c:6695,1
    - Dst: tBufferPutAt
      Src: /src/tdengine/source/common/src/tdataformat.c:6697,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:6697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - valCol
    - idx
    - value
    argTypes:
    - SValueColumn*
    - int32_t
    - SValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6701
      start: 6672
    functionDepth: 1
    functionLinenumber: 6672
    functionLinenumberEnd: 6701
    functionName: tValueColumnUpdate
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - VALUE_GET_DATUM
    - IS_VAR_DATA_TYPE
    - tBufferEnsureCapacity
    - tBufferGetSize
    - tBufferGetDataAt
    - tBufferGetData
    - memmove
    - tBufferPutAt
    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:6709,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/common/src/tdataformat.c:6711,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:6713,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6713,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6715,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:6717,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6717,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/common/src/tdataformat.c:6720,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/common/src/tdataformat.c:6722,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:6723,1
    - Dst: tBufferGet
      Src: /src/tdengine/source/common/src/tdataformat.c:6723,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:6723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - valCol
    - idx
    - value
    argTypes:
    - SValueColumn*
    - int32_t
    - SValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6726
      start: 6703
    functionDepth: 1
    functionLinenumber: 6703
    functionLinenumberEnd: 6726
    functionName: tValueColumnGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferGetI32
    - VALUE_GET_DATUM
    - BUFFER_READER_INITIALIZER
    - IS_VAR_DATA_TYPE
    - tBufferGetDataAt
    - tBufferGetSize
    - tBufferGet
    - TAOS_CHECK_RETURN
    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:6741,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:6748,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:6762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - valCol
    - info
    - output
    - assist
    argTypes:
    - SValueColumn*
    - SValueColumnCompressInfo*
    - SBuffer*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6769
      start: 6728
    functionDepth: 1
    functionLinenumber: 6728
    functionLinenumberEnd: 6769
    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:6775,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6778,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:6788,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:6804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - input
    - info
    - valCol
    - assist
    argTypes:
    - void*
    - SValueColumnCompressInfo*
    - SValueColumn*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6810
      start: 6771
    functionDepth: 1
    functionLinenumber: 6771
    functionLinenumberEnd: 6810
    functionName: tValueColumnDecompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tDecompressDataToBuffer
    - IS_VAR_DATA_TYPE
    - tValueColumnClear
    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:6816,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6817,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6818,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6819,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6820,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6821,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6823,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6824,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - info
    - buffer
    argTypes:
    - SValueColumnCompressInfo*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6827
      start: 6812
    functionDepth: 0
    functionLinenumber: 6812
    functionLinenumberEnd: 6827
    functionName: tValueColumnCompressInfoEncode
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferPutI32v
    - tBufferPutI8
    - IS_VAR_DATA_TYPE
    - tBufferPutU8
    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:6833,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6835,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6836,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6837,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6838,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6839,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6844,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6845,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - reader
    - info
    argTypes:
    - SBufferReader*
    - SValueColumnCompressInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6851
      start: 6829
    functionDepth: 0
    functionLinenumber: 6829
    functionLinenumberEnd: 6851
    functionName: tValueColumnCompressInfoDecode
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferGetI8
    - tBufferGetI32v
    - tBufferGetU8
    - 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:6868,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6873,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:6879,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6881,1
    - Dst: compFunc
      Src: /src/tdengine/source/common/src/tdataformat.c:6886,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6897,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6901,1
    - Dst: DEFINE_VAR
      Src: /src/tdengine/source/common/src/tdataformat.c:6903,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:6905,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6911,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:6915,1
    - Dst: compFunc
      Src: /src/tdengine/source/common/src/tdataformat.c:6917,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6928,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6932,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: 6937
      start: 6853
    functionDepth: 1
    functionLinenumber: 6853
    functionLinenumberEnd: 6937
    functionName: tCompressData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - DEFINE_VAR
    - memcpy
    - tBufferInit
    - tBufferEnsureCapacity
    - compFunc
    - tBufferDestroy
    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:6955,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6959,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:6965,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6967,1
    - Dst: decompFunc
      Src: /src/tdengine/source/common/src/tdataformat.c:6972,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6983,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6990,1
    - Dst: DEFINE_VAR
      Src: /src/tdengine/source/common/src/tdataformat.c:6992,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:6994,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6999,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:7003,1
    - Dst: decompFunc
      Src: /src/tdengine/source/common/src/tdataformat.c:7008,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7019,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7026,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: 7030
      start: 6939
    functionDepth: 1
    functionLinenumber: 6939
    functionLinenumberEnd: 7030
    functionName: tDecompressData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - DEFINE_VAR
    - memcpy
    - tBufferInit
    - tBufferEnsureCapacity
    - decompFunc
    - tBufferDestroy
    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:7035,1
    - Dst: tCompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:7038,1
    - Dst: tBufferGetDataEnd
      Src: /src/tdengine/source/common/src/tdataformat.c:7038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - input
    - info
    - output
    - assist
    argTypes:
    - void*
    - SCompressInfo*
    - SBuffer*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7043
      start: 7032
    functionDepth: 2
    functionLinenumber: 7032
    functionLinenumberEnd: 7043
    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:7048,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:7051,1
    - Dst: tBufferGetDataEnd
      Src: /src/tdengine/source/common/src/tdataformat.c:7051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - input
    - info
    - output
    - assist
    argTypes:
    - void*
    - SCompressInfo*
    - SBuffer*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7056
      start: 7045
    functionDepth: 2
    functionLinenumber: 7045
    functionLinenumberEnd: 7056
    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:7060,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: 7081
      start: 7059
    functionDepth: 0
    functionLinenumber: 7059
    functionLinenumberEnd: 7081
    functionName: valueSetDatum
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 18
    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:7084,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:7085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pDst
    - pSrc
    - type
    argTypes:
    - SValue*
    - SValue*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7090
      start: 7083
    functionDepth: 0
    functionLinenumber: 7083
    functionLinenumberEnd: 7090
    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:7092,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdataformat.c:7093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pVal
    - type
    argTypes:
    - SValue*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7098
      start: 7091
    functionDepth: 1
    functionLinenumber: 7091
    functionLinenumberEnd: 7098
    functionName: valueClearDatum
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    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:7105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pSchema
    argTypes:
    - STSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7110
      start: 7100
    functionDepth: 0
    functionLinenumber: 7100
    functionLinenumberEnd: 7110
    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:
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - 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: 21
    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:
    - IS_STR_DATA_BLOB
    - blobDataTLen
    - varDataTLen
    - getJsonValueLen
    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: 15
    functionsReached:
    - getDataLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcStrBytesByType(int8_t type, char* data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pColumnInfoData
    - pData
    - dataLen
    argTypes:
    - SColumnInfoData*
    - char**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 130
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:135,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/common/src/tdatablock.c:138,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:146,1
    - Dst: getDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:147,1
    - Dst: checkAllocLen
      Src: /src/tdengine/source/common/src/tdatablock.c:152,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:160,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:163,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - pColumnInfoData
    - rowIndex
    - pData
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 168
    functionName: colDataSetValHelp
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - checkAllocLen
    - memcpy
    - colDataSetNull_f_s
    - IS_VAR_DATA_TYPE
    - memmove
    - getDataLen
    - colDataClearNull_f
    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:171,1
    - Dst: colDataSetValHelp
      Src: /src/tdengine/source/common/src/tdatablock.c:175,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: 176
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: colDataSetVal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 174
    functionsReached:
    - colDataSetValHelp
    - IS_VAR_DATA_TYPE
    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:179,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: 180
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 180
    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:184,1
    - Dst: checkAllocLen
      Src: /src/tdengine/source/common/src/tdatablock.c:199,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:207,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:208,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:208,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/common/src/tdatablock.c:209,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:212,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:212,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tdatablock.c:213,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: 217
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 217
    functionName: varColSetVarData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - IS_STR_DATA_BLOB
    - checkAllocLen
    - IS_VAR_DATA_TYPE
    - blobDataSetLen
    - memmove
    - varDataVal
    - blobDataVal
    - varDataSetLen
    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:222,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:226,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:227,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: 231
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 231
    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:234,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pColumnInfoData
    - newSize
    argTypes:
    - SColumnInfoData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 263
    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:268,1
    - Dst: log
      Src: /src/tdengine/source/common/src/tdatablock.c:279,1
    - Dst: log
      Src: /src/tdengine/source/common/src/tdatablock.c:279,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:281,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:284,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:288,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:296,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:300,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: 309
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 309
    functionName: doCopyNItems
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - IS_VAR_DATA_TYPE
    - memcpy
    - log
    - uWarn
    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:314,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:315,1
    - Dst: colDataReserve
      Src: /src/tdengine/source/common/src/tdatablock.c:324,1
    - Dst: doCopyNItems
      Src: /src/tdengine/source/common/src/tdatablock.c:331,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: 332
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: colDataSetNItems
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 8
    functionsReached:
    - doCopyNItems
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    - colDataReserve
    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:337,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:338,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:342,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:347,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:348,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:355,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:355,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pColumnInfoData
    - currentRow
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 363
    functionName: colDataSetNItemsNull
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 6
    functionsReached:
    - BitPos
    - BMCharPos
    - memset
    - IS_VAR_DATA_TYPE
    - colDataSetNull_f
    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:367,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:374,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: 379
      start: 365
    functionDepth: 5
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: colDataCopyAndReassign
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - colDataSetVal
    - memset
    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:385,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:390,1
    - Dst: colDataCopyAndReassign
      Src: /src/tdengine/source/common/src/tdatablock.c:391,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:398,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:405,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: 412
      start: 381
    functionDepth: 6
    functionLinenumber: 381
    functionLinenumberEnd: 412
    functionName: colDataCopyNItems
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - colDataCopyAndReassign
    - memcpy
    - IS_VAR_DATA_TYPE
    - colDataSetNItemsNull
    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:420,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:424,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:424,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:424,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:429,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:430,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:432,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:432,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:436,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:439,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:440,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:440,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:441,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: 454
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 454
    functionName: doBitmapMerge
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - BitmapLen
    - memcpy
    - BitPos
    - memset
    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:471,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:474,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:495,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:505,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:511,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:517,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:517,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:518,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:518,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:522,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:522,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:523,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:523,1
    - Dst: doBitmapMerge
      Src: /src/tdengine/source/common/src/tdatablock.c:530,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:534,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: 539
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 539
    functionName: colDataMergeCol
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - BitmapLen
    - memcpy
    - taosMemoryRealloc
    - memset
    - IS_VAR_DATA_TYPE
    - doBitmapMerge
    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:551,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:553,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:555,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:566,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:569,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:569,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:571,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pColumnInfoData
    - pSource
    - numOfRows
    - pBlockInfo
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 578
    functionName: colDataAssign
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 20
    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:590,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:595,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:601,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:605,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:618,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:621,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:622,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:623,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:625,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:635,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:644,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:646,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:646,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:652,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:652,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:654,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:655,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:655,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:656,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:661,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:662,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:665,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:671,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:672,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:675,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:682,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: 688
      start: 580
    functionDepth: 4
    functionLinenumber: 580
    functionLinenumberEnd: 688
    functionName: colDataAssignNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 6
    functionsReached:
    - colDataGetVarData
    - IS_STR_DATA_BLOB
    - BitPos
    - BMCharPos
    - varDataTLen
    - memcpy
    - taosMemoryRealloc
    - IS_VAR_DATA_TYPE
    - colDataIsNull_f
    - calcStrBytesByType
    - colDataClearNull_f
    - colDataIsNull_var
    - getJsonValueLen
    - blobDataTLen
    - colDataSetNull_f
    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:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 690
    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: 692
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 692
    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:699,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:706,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:715,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:716,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:718,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tdatablock.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pDataBlock
    - tsColumnIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 722
    functionName: blockDataUpdateTsWindow
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 16
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - TMAX
    - taosArrayGetSize
    - TMIN
    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:729,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:735,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:740,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:744,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:745,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:749,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:751,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:753,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:755,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:755,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:755,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:756,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:758,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:758,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:758,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:759,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:762,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:764,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:766,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:768,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:768,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:768,1
    - Dst: varDataLen
      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
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - pDataBlock
    - pkColumnIndex
    - asc
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 777
    functionName: blockDataUpdatePkRange
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - VALUE_SET_TRIVIAL_DATUM
    - taosArrayGet
    - IS_NUMERIC_TYPE
    - memcpy
    - colDataGetData
    - 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:782,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:784,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:785,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/common/src/tdatablock.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pDest
    - pSrc
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 801
    functionName: blockDataMerge
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 6
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - colDataMergeCol
    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:804,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:805,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:807,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:809,1
    - Dst: TSWAP
      Src: /src/tdengine/source/common/src/tdatablock.c:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pDest
    - pSrc
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 819
    functionName: blockDataTransform
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TSWAP
    - taosArrayGetSize
    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:824,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:825,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:828,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:830,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:831,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:832,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:833,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:835,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/common/src/tdatablock.c:835,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:843,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:843,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: 847
      start: 821
    functionDepth: 5
    functionLinenumber: 821
    functionLinenumberEnd: 847
    functionName: blockDataMergeNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 7
    functionsReached:
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - uError
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - colDataAssignNRows
    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:855,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:859,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:861,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:866,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:868,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:872,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:873,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:880,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:880,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:884,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - pBlock
    - numOfRows
    argTypes:
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 890
    functionName: blockDataShrinkNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - BitPos
    - BMCharPos
    - taosArrayGet
    - memset
    - blockDataCleanup
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - colDataClearNull_f
    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:894,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:896,1
    - Dst: colDataGetFullLength
      Src: /src/tdengine/source/common/src/tdatablock.c:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 905
    functionName: blockDataGetSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 7
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - colDataGetFullLength
    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:911,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/common/src/tdatablock.c:921,1
    - Dst: blockDataGetCapacityInRow
      Src: /src/tdengine/source/common/src/tdatablock.c:922,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/tdatablock.c:938,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:939,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:941,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:942,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:943,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:945,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: 972
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 972
    functionName: blockDataSplitRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - IS_STR_DATA_BLOB
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - blockDataGetCapacityInRow
    - taosArrayGetSize
    - blobDataTLen
    - blockDataGetRowSize
    - TARRAY_GET_ELEM
    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:976,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:983,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:988,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:990,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1003,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1005,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1006,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:1014,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1016,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/common/src/tdatablock.c:1020,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:1022,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tdatablock.c:1023,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: 1034
      start: 974
    functionDepth: 5
    functionLinenumber: 974
    functionLinenumberEnd: 1034
    functionName: blockDataExtractBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 6
    functionsReached:
    - createOneDataBlock
    - taosArrayGet
    - colDataIsNull_s
    - colDataSetNULL
    - colDataGetData
    - colDataSetVal
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - colDataIsNull
    - blockDataEnsureCapacity
    - 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:1051,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1057,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1062,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1063,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1066,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1066,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1067,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:1070,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1075,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:1078,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1086,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1092,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - buf
    - pBlock
    argTypes:
    - char*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1047
    functionDepth: 4
    functionLinenumber: 1047
    functionLinenumberEnd: 1099
    functionName: blockDataToBuf
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - memcpy
    - IS_VAR_DATA_TYPE
    - calcStrBytesByType
    - taosArrayGetSize
    - colDataGetLength
    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:1106,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1112,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1116,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1121,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1123,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1126,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1126,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1127,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1133,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1135,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1151,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - pBlock
    - buf
    argTypes:
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1157
    functionName: blockDataFromBuf
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - memcpy
    - taosMemoryRealloc
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - blockDataEnsureCapacity
    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:1164,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:1166,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:1176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - pColumnInfoData
    - startIndex
    - nRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1183
    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:1190,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1195,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1202,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1204,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1207,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1207,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1208,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1214,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1216,1
    - Dst: colDataIsNNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1231,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1232,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - pBlock
    - buf
    - capacity
    argTypes:
    - SSDataBlock*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1186
    functionDepth: 2
    functionLinenumber: 1186
    functionLinenumberEnd: 1239
    functionName: blockDataFromBuf1
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - memcpy
    - taosMemoryRealloc
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - colDataIsNNull
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataFromBuf1(SSDataBlock* pBlock, const char* buf, size_t
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1245,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1259
    functionName: blockDataGetRowSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 6
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: size_t
    signature: size_t blockDataGetRowSize(SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numOfCols
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1271
    functionName: blockDataGetSerialMetaSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached: []
    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:1276,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1278,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1292
    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:1310,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1314,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1315,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:1329,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:1330,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdatablock.c:1332,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdatablock.c:1332,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:1342,1
    - Dst: fn
      Src: /src/tdengine/source/common/src/tdatablock.c:1345,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1354
    functionName: dataBlockCompar
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - fn
    - colDataIsNull
    - tTagIsJson
    - getKeyComparFunc
    - TARRAY_GET_ELEM
    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:1357,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1360,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1365,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1367,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:1376,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/common/src/tdatablock.c:1377,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1380,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pCols
    - pDataBlock
    - index
    argTypes:
    - SColumnInfoData*
    - SSDataBlock*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1384
    functionName: blockDataAssign
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - memcpy
    - colDataSetNull_f_s
    - IS_VAR_DATA_TYPE
    - colDataIsNull_f
    - taosArrayGetSize
    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:1389,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1394,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1400,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1406,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1407,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1408,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1411,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1412,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1419,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1419,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1420,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1423,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1424,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1435,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1438,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - pDataBlock
    - ppCols
    argTypes:
    - SSDataBlock*
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1440
    functionName: createHelpColInfoData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - colDataDestroy
    - taosMemoryCalloc
    - taosMemoryFree
    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:1443,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1446,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1452,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1453,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1456,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1460,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pDataBlock
    - pCols
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1465
    functionName: copyBackToBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - 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:1468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rows
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1478
    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:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1480
    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:1493,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1499,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1508,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1513,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1515,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1518,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1519,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1524,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:1526,1
    - Dst: taosSort
      Src: /src/tdengine/source/common/src/tdatablock.c:1527,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1529,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdatablock.c:1530,1
    - Dst: createTupleIndex
      Src: /src/tdengine/source/common/src/tdatablock.c:1539,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1544,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1547,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1548,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1553,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:1557,1
    - Dst: taosqsort_r
      Src: /src/tdengine/source/common/src/tdatablock.c:1561,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1564,1
    - Dst: createHelpColInfoData
      Src: /src/tdengine/source/common/src/tdatablock.c:1567,1
    - Dst: destroyTupleIndex
      Src: /src/tdengine/source/common/src/tdatablock.c:1569,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1573,1
    - Dst: blockDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:1574,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1576,1
    - Dst: copyBackToBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:1577,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1579,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdatablock.c:1580,1
    - Dst: destroyTupleIndex
      Src: /src/tdengine/source/common/src/tdatablock.c:1584,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 2
    argNames:
    - pDataBlock
    - pOrderInfo
    argTypes:
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1482
    functionDepth: 2
    functionLinenumber: 1482
    functionLinenumberEnd: 1586
    functionName: blockDataSort
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - copyBackToBlock
    - destroyTupleIndex
    - taosqsort_r
    - taosArrayGet
    - uDebug
    - taosSort
    - IS_VAR_DATA_TYPE
    - createHelpColInfoData
    - blockDataAssign
    - taosArrayGetSize
    - getKeyComparFunc
    - taosGetTimestampUs
    - createTupleIndex
    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:1592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1596
    functionName: blockDataCleanup
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 86
    functionsReached:
    - blockDataEmpty
    linkageType: ''
    returnType: void
    signature: void blockDataCleanup(SSDataBlock* pDataBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1607,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1609,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1611,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/common/src/tdatablock.c:1616,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1623
    functionName: blockDataEmpty
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 11
    functionsReached:
    - taosMemoryFreeClear
    - colInfoDataCleanup
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void blockDataEmpty(SSDataBlock* pDataBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1631,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1633,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1651
    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:1666,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1667,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1673,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1676,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1676,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1681,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1683,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1683,1
    - Dst: taosMemoryMallocAlign
      Src: /src/tdengine/source/common/src/tdatablock.c:1690,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1698,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1699,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1712,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: 1717
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1717
    functionName: doEnsureCapacity
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - BitmapLen
    - taosMemoryMallocAlign
    - taosMemoryFreeClear
    - memset
    - taosMemoryRealloc
    - memcpy
    - 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:1722,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1725,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1729,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pColumn
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1732
    functionName: colInfoDataCleanup
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - BitmapLen
    - memset
    - 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:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pColumn
    - numOfRows
    - clearPayload
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1734
    functionDepth: 2
    functionLinenumber: 1734
    functionLinenumberEnd: 1737
    functionName: colInfoDataEnsureCapacity
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 25
    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:1745,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1747,1
    - Dst: doEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pDataBlock
    - numOfRows
    argTypes:
    - SSDataBlock*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1739
    functionDepth: 2
    functionLinenumber: 1739
    functionLinenumberEnd: 1760
    functionName: blockDataEnsureCapacity
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 117
    functionsReached:
    - doEnsureCapacity
    - taosArrayGet
    - taosArrayGetSize
    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:1767,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1769,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1774,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1777,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1780,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1762
    functionDepth: 1
    functionLinenumber: 1762
    functionLinenumberEnd: 1782
    functionName: blockDataFreeRes
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 6
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayGet
    - memset
    - taosArrayGetSize
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: void blockDataFreeRes(SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1789,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1791,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1796,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1799,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1801
    functionName: blockDataFreeCols
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    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:1808,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1809,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1810,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/common/src/tdatablock.c:1813,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1803
    functionDepth: 2
    functionLinenumber: 1803
    functionLinenumberEnd: 1815
    functionName: blockDataDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 173
    functionsReached:
    - taosMemoryFreeClear
    - blockDataFreeRes
    - 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:1827,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1829,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:1835,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1841,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1848,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1849,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:1853,1
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdatablock.c:1864,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1818
    functionDepth: 3
    functionLinenumber: 1818
    functionLinenumberEnd: 1866
    functionName: assignOneDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - uTrace
    - colDataAssign
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - blockDataAppendColInfo
    - blockDataEnsureCapacity
    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:1869,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1871,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1876,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1878,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1879,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:1884,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1893,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1894,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1897,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1898,1
    - Dst: copyPkVal
      Src: /src/tdengine/source/common/src/tdatablock.c:1902,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:1904,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:1904,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1868
    functionDepth: 3
    functionLinenumber: 1868
    functionLinenumberEnd: 1910
    functionName: copyDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - tstrerror
    - colDataAssign
    - taosArrayGet
    - taosMemoryFreeClear
    - blockDataCleanup
    - IS_VAR_DATA_TYPE
    - uError
    - taosArrayGetSize
    - copyPkVal
    - blockDataEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyDataBlock(SSDataBlock* pDst, const SSDataBlock* pSrc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:1913,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1916,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:1929,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1931,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1940,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1947,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1957,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1964,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1974,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1981,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1990,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2000,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:2001,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 2
    argNames:
    - type
    - pBlock
    argTypes:
    - EStreamType
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1912
    functionDepth: 1
    functionLinenumber: 1912
    functionLinenumberEnd: 2003
    functionName: createSpecialDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - QRY_PARAM_CHECK
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSpecialDataBlock(EStreamType type, SSDataBlock** pBlock)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2006,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:2013,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2024,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2026,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2028,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2033,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2035,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:2040,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2042,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2047,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2048,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2050,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:2054,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:2057,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2060,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - pDataBlock
    - rowIdx
    - pResBlock
    argTypes:
    - SSDataBlock*
    - int32_t
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2005
    functionDepth: 5
    functionLinenumber: 2005
    functionLinenumberEnd: 2071
    functionName: blockCopyOneRow
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - blockDataEnsureCapacity
    - taosArrayGet
    - colDataGetData
    - colDataSetVal
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - colDataIsNull
    - blockDataAppendColInfo
    - createDataBlock
    - 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:2076,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2084,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2085,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2088,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2092,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2093,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2096,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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SDataBlockInfo*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2073
    functionDepth: 1
    functionLinenumber: 2073
    functionLinenumberEnd: 2103
    functionName: copyPkVal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - memcpy
    - IS_VAR_DATA_TYPE
    - uError
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    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:2107,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:2111,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:2111,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2123,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2125,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2127,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2128,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2132,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2134,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:2135,1
    - Dst: copyPkVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2139,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2141,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2142,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:2143,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:2147,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2149,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:2150,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2154,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2155,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2157,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: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2159,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2163,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2164,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2164,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2165,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:2168,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:2172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 3
    argNames:
    - pDataBlock
    - copyData
    - pResBlock
    argTypes:
    - SSDataBlock*
    - bool
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2105
    functionDepth: 3
    functionLinenumber: 2105
    functionLinenumberEnd: 2185
    functionName: createOneDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 37
    functionsReached:
    - blockDataEnsureCapacity
    - tstrerror
    - TAOS_CHECK_EXIT
    - colDataAssign
    - taosArrayGet
    - uError
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - blockDataAppendColInfo
    - copyPkVal
    - createDataBlock
    - TSDB_CHECK_NULL
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createOneDataBlock(const SSDataBlock* pDataBlock, bool copyData,
      SSDataBlock** pResBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2192,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2193,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2195,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:2195,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2207,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2208,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2209,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2211,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2212,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2218,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2218,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2227,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2227,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - pDataBlock
    - pColArray
    - pResBlock
    argTypes:
    - SSDataBlock*
    - SArray*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2187
    functionDepth: 3
    functionLinenumber: 2187
    functionLinenumberEnd: 2230
    functionName: createOneDataBlockWithColArray
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CODE
    - taosArrayGet
    - uError
    - blockDataDestroy
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - blockDataAppendColInfo
    - createDataBlock
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t createOneDataBlockWithColArray(const SSDataBlock* pDataBlock,
      SArray* pColArray, SSDataBlock** pResBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2238,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2239,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2240,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2242,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:2242,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2243,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:2243,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2245,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2247,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2249,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2250,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2253,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2254,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2256,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:2256,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2262,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2273,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2273,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - pDataBlock
    - pOrgBlock
    - pResBlock
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2232
    functionDepth: 4
    functionLinenumber: 2232
    functionLinenumberEnd: 2276
    functionName: createOneDataBlockWithTwoBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - createOneDataBlock
    - tstrerror
    - colDataAssign
    - QUERY_CHECK_CODE
    - taosArrayGet
    - uError
    - blockDataDestroy
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    - colDataSetNNULL
    - blockDataEnsureCapacity
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createOneDataBlockWithTwoBlock(const SSDataBlock* pDataBlock,
      const SSDataBlock* pOrgBlock,\n                                       SSDataBlock**
      pResBlock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2279,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2280,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2285,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:2288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pResBlock
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2278
    functionDepth: 1
    functionLinenumber: 2278
    functionLinenumberEnd: 2294
    functionName: createDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 46
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - QRY_PARAM_CHECK
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataBlock(SSDataBlock** pResBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2298,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2304,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pBlock
    - pColInfoData
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2296
    functionDepth: 1
    functionLinenumber: 2296
    functionLinenumberEnd: 2317
    functionName: blockDataAppendColInfo
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 54
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - IS_VAR_DATA_TYPE
    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: 2328
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2328
    functionName: createColumnInfoData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 42
    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:2332,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2334,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pBlock
    - index
    - pColInfoData
    argTypes:
    - SSDataBlock*
    - int32_t
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2330
    functionDepth: 1
    functionLinenumber: 2330
    functionLinenumberEnd: 2344
    functionName: bdGetColumnInfoData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - taosArrayGet
    - QRY_PARAM_CHECK
    - taosArrayGetSize
    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:2347,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2353,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2361,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2366,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2380,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pBlock
    - pageSize
    - extraSize
    argTypes:
    - SSDataBlock*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2346
    functionDepth: 1
    functionLinenumber: 2346
    functionLinenumberEnd: 2398
    functionName: blockDataGetCapacityInRow
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - uError
    - taosArrayGetSize
    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:2405,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2406,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2410,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pColData
    argTypes:
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2400
    functionDepth: 1
    functionLinenumber: 2400
    functionLinenumberEnd: 2414
    functionName: colDataDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 48
    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:2417,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2419,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - nullBitmap
    - n
    - total
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2455
    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:2474,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2476,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2482,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pColInfoData
    - start
    - end
    argTypes:
    - SColumnInfoData*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2457
    functionDepth: 2
    functionLinenumber: 2457
    functionLinenumberEnd: 2487
    functionName: colDataMoveVarData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - memmove
    - varDataTLen
    - getJsonValueLen
    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:2490,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2492,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2495,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2498,1
    - Dst: doShiftBitmap
      Src: /src/tdengine/source/common/src/tdatablock.c:2499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pColInfoData
    - n
    - total
    argTypes:
    - SColumnInfoData*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2489
    functionDepth: 1
    functionLinenumber: 2489
    functionLinenumberEnd: 2501
    functionName: colDataTrimFirstNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - memset
    - doShiftBitmap
    - 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:2509,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2511,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2513,1
    - Dst: colDataTrimFirstNRows
      Src: /src/tdengine/source/common/src/tdatablock.c:2518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pBlock
    - n
    argTypes:
    - SSDataBlock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2503
    functionDepth: 2
    functionLinenumber: 2503
    functionLinenumberEnd: 2524
    functionName: blockDataTrimFirstRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - colDataTrimFirstNRows
    - blockDataEmpty
    - taosArrayGet
    - 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:2528,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:2535,1
    - Dst: uFatal
      Src: /src/tdengine/source/common/src/tdatablock.c:2548,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pColInfoData
    - n
    - total
    argTypes:
    - SColumnInfoData*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2526
    functionDepth: 4
    functionLinenumber: 2526
    functionLinenumberEnd: 2556
    functionName: colDataKeepFirstNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - uFatal
    - calcStrBytesByType
    - memset
    - 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:2560,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2567,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2569,1
    - Dst: colDataKeepFirstNRows
      Src: /src/tdengine/source/common/src/tdatablock.c:2574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pBlock
    - n
    argTypes:
    - SSDataBlock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2558
    functionDepth: 5
    functionLinenumber: 2558
    functionLinenumberEnd: 2579
    functionName: blockDataKeepFirstNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - blockDataEmpty
    - taosArrayGet
    - taosArrayGetSize
    - colDataKeepFirstNRows
    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:2583,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2586,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/common/src/tdatablock.c:2589,1
    - Dst: taosEncodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2590,1
    - Dst: taosEncodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2591,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/common/src/tdatablock.c:2592,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2593,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2595,1
    - Dst: taosEncodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2600,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/common/src/tdatablock.c:2601,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2602,1
    - Dst: taosEncodeFixedBool
      Src: /src/tdengine/source/common/src/tdatablock.c:2603,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2605,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2606,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2608,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2608,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:2611,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2612,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2614,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:2617,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2625,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2628,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - buf
    - pBlock
    argTypes:
    - void**
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2632
      start: 2581
    functionDepth: 4
    functionLinenumber: 2581
    functionLinenumberEnd: 2632
    functionName: tEncodeDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - taosEncodeFixedI64
    - BitmapLen
    - taosEncodeBinary
    - taosArrayGet
    - taosEncodeFixedI8
    - IS_VAR_DATA_TYPE
    - taosEncodeFixedI16
    - calcStrBytesByType
    - taosArrayGetSize
    - taosEncodeFixedI32
    - taosEncodeFixedBool
    - colDataGetLength
    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:2636,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/common/src/tdatablock.c:2638,1
    - Dst: taosDecodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2639,1
    - Dst: taosDecodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2640,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/common/src/tdatablock.c:2641,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2642,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2644,1
    - Dst: taosDecodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2651,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/common/src/tdatablock.c:2652,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2653,1
    - Dst: taosDecodeFixedBool
      Src: /src/tdengine/source/common/src/tdatablock.c:2654,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2656,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2657,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2659,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2659,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2662,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2667,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2668,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2670,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2673,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2678,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2687,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2691,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - buf
    - pBlock
    argTypes:
    - void*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2634
    functionDepth: 2
    functionLinenumber: 2634
    functionLinenumberEnd: 2694
    functionName: tDecodeDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - BitmapLen
    - taosArrayPush
    - taosDecodeFixedI64
    - taosArrayInit
    - taosArrayGet
    - colDataDestroy
    - taosDecodeFixedI8
    - IS_VAR_DATA_TYPE
    - uError
    - taosArrayGetSize
    - taosDecodeFixedI32
    - taosDecodeBinary
    - taosDecodeFixedI16
    - taosDecodeFixedBool
    - taosDecodeFixedU64
    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:2723,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2725,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/tdatablock.c:2728,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2731,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2735,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2737,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2739,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2744,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2749,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2749,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: 2752
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2752
    functionName: formatTimestamp
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosLocalTime
    - tstrerror
    - snprintf
    - uError
    - TSDB_CHECK_CODE
    - taosStrfTime
    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:2764,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2769,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2770,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2781,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2787,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:2794,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2795,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:2800,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2803,1
    - Dst: formatTimestamp
      Src: /src/tdengine/source/common/src/tdatablock.c:2804,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tdatablock.c:2806,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2806,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2808,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2812,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2816,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2820,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2824,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2828,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2832,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2836,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2840,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2844,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2848,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2852,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2858,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:2859,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2860,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2860,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2861,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2862,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2862,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2863,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:2867,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2868,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2868,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2869,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/common/src/tdatablock.c:2870,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2870,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2872,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2872,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2878,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2883,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:2884,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2885,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2885,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2886,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2887,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2887,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2888,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2894,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2897,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2904,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2904,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:2906,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: 2910
      start: 2755
    functionDepth: 1
    functionLinenumber: 2755
    functionLinenumberEnd: 2910
    functionName: dumpBlockData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - varDataLen
    - tstrerror
    - taosUcs4ToMbs
    - TMIN
    - taosArrayGet
    - taosMemoryCalloc
    - blobDataVal
    - colDataGetVarData
    - blobDataLen
    - memset
    - colDataGetData
    - uError
    - formatTimestamp
    - tsnprintf
    - taosArrayGetSize
    - varDataVal
    - memcpy
    - colDataIsNull
    - TAOS_UNUSED
    - taosMemoryFree
    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:2922,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2927,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2934,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2943,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2950,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2959,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2961,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2967,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2972,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/tdatablock.c:2978,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2983,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2990,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:2995,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:2996,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2997,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3002,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:3003,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3004,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:3010,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:3011,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3012,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3022,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3026,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:3027,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3028,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:3033,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3035,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:3036,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:3037,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3038,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3049,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3054,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3060,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:3061,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3062,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdatablock.c:3069,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3080,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3085,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3086,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3090,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3095,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdatablock.c:3097,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:3099,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3100,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3107,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdatablock.c:3116,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/common/src/tdatablock.c:3117,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3121,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3128,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:3136,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/common/src/tdatablock.c:3139,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:3140,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: 3147
      start: 2912
    functionDepth: 4
    functionLinenumber: 2912
    functionLinenumberEnd: 3147
    functionName: buildSubmitReqFromDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayPush
    - varDataLen
    - taosArrayInit
    - valueSetDatum
    - IS_SIGNED_NUMERIC_TYPE
    - tDestroySubmitReq
    - taosArrayClear
    - POINTER_SHIFT
    - VALUE_SET_TRIVIAL_DATUM
    - COL_VAL_VALUE
    - taosArrayGet
    - tRowBuild
    - taosMemoryCalloc
    - colDataGetVarData
    - taosMemoryFreeClear
    - SET_TYPED_DATA
    - uError
    - taosArrayGetSize
    - varDataVal
    - colDataIsNull_s
    - tDestroySubmitTbData
    - COL_VAL_NULL
    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:3157,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:3161,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3163,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:3169,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3172,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3173,1
    - Dst: strncat
      Src: /src/tdengine/source/common/src/tdatablock.c:3174,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3182,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:3182,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: 3185
      start: 3150
    functionDepth: 1
    functionLinenumber: 3150
    functionLinenumberEnd: 3185
    functionName: buildCtbNameAddGroupId
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 5
    functionsReached:
    - strlen
    - tstrerror
    - strncat
    - snprintf
    - uError
    - TSDB_CHECK_CODE
    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:3189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctbName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3189
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3189
    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:3193,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3194,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3195,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdatablock.c:3197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctbName
    - groupId
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3191
    functionDepth: 0
    functionLinenumber: 3191
    functionLinenumberEnd: 3198
    functionName: alreadyAddGroupId
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - snprintf
    - strlen
    - 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:3201,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3203,1
    - Dst: buildCtbNameByGroupIdImpl
      Src: /src/tdengine/source/common/src/tdatablock.c:3208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:3210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - stbFullName
    - groupId
    - pName
    argTypes:
    - char*
    - uint64_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3216
      start: 3200
    functionDepth: 1
    functionLinenumber: 3200
    functionLinenumberEnd: 3216
    functionName: buildCtbNameByGroupId
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - buildCtbNameByGroupIdImpl
    - taosMemoryCalloc
    - QRY_PARAM_CHECK
    - taosMemoryFree
    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:3223,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:3229,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3235,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3238,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3244,1
    - Dst: buildChildTableName
      Src: /src/tdengine/source/common/src/tdatablock.c:3246,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:3251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - stbFullName
    - groupId
    - cname
    argTypes:
    - char*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3257
      start: 3218
    functionDepth: 1
    functionLinenumber: 3218
    functionLinenumberEnd: 3257
    functionName: buildCtbNameByGroupIdImpl
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - strlen
    - taosArrayPush
    - taosArrayInit
    - buildChildTableName
    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:3265,1
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/src/tdatablock.c:3265,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3267,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:3268,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3270,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/src/tdatablock.c:3271,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:3272,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tdatablock.c:3274,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:3275,1
    - Dst: buildCtbNameByGroupId
      Src: /src/tdengine/source/common/src/tdatablock.c:3278,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:3279,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: 3284
      start: 3259
    functionDepth: 2
    functionLinenumber: 3259
    functionLinenumberEnd: 3284
    functionName: buildSinkDestTableName
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - taosStrdup
    - buildCtbNameByGroupId
    - tstrncpy
    - alreadyAddGroupId
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - isAutoTableName
    - TSDB_CHECK_NULL
    - buildCtbNameAddGroupId
    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:3290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:3290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - blockSize
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3286
    functionDepth: 1
    functionLinenumber: 3286
    functionLinenumberEnd: 3293
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCheck
      Src: /src/tdengine/source/common/src/tdatablock.c:3296,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3317,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3337,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3347,1
    - Dst: fillBytesForDecimalType
      Src: /src/tdengine/source/common/src/tdatablock.c:3348,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3357,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3362,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3369,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:3370,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3373,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3377,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3380,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3382,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdatablock.c:3388,1
    - Dst: blockCheckSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3388,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3390,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:3394,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdatablock.c:3401,1
    - Dst: blockCheckSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3401,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:3403,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:3407,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdatablock.c:3412,1
    - Dst: blockCheckSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3412,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:3415,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3420,1
    - Dst: uWarn
      Src: /src/tdengine/source/common/src/tdatablock.c:3421,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:3426,1
    - Dst: taosSetPUInt64Aligned
      Src: /src/tdengine/source/common/src/tdatablock.c:3439,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 109
    argCount: 4
    argNames:
    - pBlock
    - data
    - dataBuflen
    - numOfCols
    argTypes:
    - SSDataBlock*
    - char*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3449
      start: 3295
    functionDepth: 4
    functionLinenumber: 3295
    functionLinenumberEnd: 3449
    functionName: blockEncode
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - taosSetPUInt64Aligned
    - IS_DECIMAL_TYPE
    - blockDataGetSerialMetaSize
    - memmove
    - uWarn
    - fillBytesForDecimalType
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - IS_STR_DATA_BLOB
    - BitmapLen
    - blockCheckSize
    - uError
    - blockDataCheck
    - calcStrBytesByType
    - TAOS_CHECK_GOTO
    - memcpy
    - colDataIsNull_s
    - colDataGetLength
    - htonl
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockEncode(const SSDataBlock* pBlock, char* data, size_t dataBuflen,
      int32_t numOfCols)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3465,1
    - Dst: taosSetPUInt64Aligned
      Src: /src/tdengine/source/common/src/tdatablock.c:3483,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3488,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3495,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3504,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/common/src/tdatablock.c:3505,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3510,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:3515,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:3524,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3526,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3531,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3536,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3537,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3541,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3552,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3552,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3553,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3562,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3563,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3564,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3579,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/common/src/tdatablock.c:3588,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 92
    argCount: 3
    argNames:
    - pBlock
    - pData
    - pEndPos
    argTypes:
    - SSDataBlock*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3595
      start: 3451
    functionDepth: 3
    functionLinenumber: 3451
    functionLinenumberEnd: 3595
    functionName: blockDecode
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - taosSetPUInt64Aligned
    - memcpy
    - taosMemoryRealloc
    - extractDecimalTypeInfoFromBytes
    - IS_DECIMAL_TYPE
    - uError
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - blockDataCheck
    - taosArrayInit_s
    - blockDataEnsureCapacity
    - htonl
    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:3600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3604,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3607,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3614,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:3617,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3624,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3626,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3631,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:3633,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3634,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:3645,1
    - Dst: colDataSetNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:3646,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:3648,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:3649,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3650,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:3657,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3665,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3671,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:3672,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:3687,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3688,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:3704,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3705,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:3720,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3721,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:3737,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3738,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:3753,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3754,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3756,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:3777,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 153
    argCount: 3
    argNames:
    - pBlock
    - totalRows
    - pBoolList
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3781
      start: 3597
    functionDepth: 4
    functionLinenumber: 3597
    functionLinenumberEnd: 3781
    functionName: trimDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - taosMemoryMalloc
    - BMIsNull
    - BitmapLen
    - colDataGetVarData
    - taosMemoryCalloc
    - taosArrayGet
    - memset
    - memcpy
    - IS_VAR_DATA_TYPE
    - calcStrBytesByType
    - taosArrayGetSize
    - colDataIsNull_var
    - colDataGetLength
    - colDataSetNull_var
    - colDataSetNull_f
    - taosMemoryFree
    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:3784,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3784,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3783
    functionDepth: 2
    functionLinenumber: 3783
    functionLinenumberEnd: 3785
    functionName: blockGetEncodeSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 5
    functionsReached:
    - blockDataGetSize
    - taosArrayGetSize
    - blockDataGetSerialMetaSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockGetEncodeSize(const SSDataBlock* pBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3789,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3790,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3795,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:3800,1
    - Dst: dataBlockCompar
      Src: /src/tdengine/source/common/src/tdatablock.c:3807,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pDataBlock
    - pOrderInfo
    argTypes:
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3813
      start: 3787
    functionDepth: 2
    functionLinenumber: 3787
    functionLinenumberEnd: 3813
    functionName: blockDataGetSortedRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - getKeyComparFunc
    - 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: 3820
      start: 3815
    functionDepth: 0
    functionLinenumber: 3815
    functionLinenumberEnd: 3820
    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:3825,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3835,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3837,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3838,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3839,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3844,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3846,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3852,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3853,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3854,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3857,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3858,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3860,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3864,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3870,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:3871,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3872,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3874,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3878,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:3879,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3882,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3885,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3888,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3900,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3911
      start: 3820
    functionDepth: 2
    functionLinenumber: 3820
    functionLinenumberEnd: 3911
    functionName: blockDataCheck
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 18
    functionsReached:
    - IS_STR_DATA_BLOB
    - varDataTLen
    - taosArrayGet
    - BLOCK_DATA_CHECK_TRESSA
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    - IS_DECIMAL_TYPE
    - taosArrayGetSize
    - getJsonValueLen
    - blobDataTLen
    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: 3942
      start: 3913
    functionDepth: 0
    functionLinenumber: 3913
    functionLinenumberEnd: 3942
    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: 3971
      start: 3944
    functionDepth: 0
    functionLinenumber: 3944
    functionLinenumberEnd: 3971
    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: 3982
      start: 3973
    functionDepth: 0
    functionLinenumber: 3973
    functionLinenumberEnd: 3982
    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: 4003
      start: 3984
    functionDepth: 0
    functionLinenumber: 3984
    functionLinenumberEnd: 4003
    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:4008,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: 4032
      start: 4005
    functionDepth: 0
    functionLinenumber: 4005
    functionLinenumberEnd: 4032
    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:4036,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4038,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4047,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4051,1
    - Dst: colDataGetOffsetAndLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pBlock
    - startIndex
    - endIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4060
      start: 4034
    functionDepth: 1
    functionLinenumber: 4034
    functionLinenumberEnd: 4060
    functionName: blockDataGetSizeOfRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - BitmapLen
    - colDataGetOffsetAndLen
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    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:4063,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:4063,1
    - Dst: blockDataGetSizeOfRows
      Src: /src/tdengine/source/common/src/tdatablock.c:4063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pBlock
    - startIndex
    - endIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4064
      start: 4062
    functionDepth: 2
    functionLinenumber: 4062
    functionLinenumberEnd: 4064
    functionName: blockGetEncodeSizeOfRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - taosArrayGetSize
    - blockDataGetSizeOfRows
    - blockDataGetSerialMetaSize
    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:4071,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4090,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4094,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4115,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4125,1
    - Dst: fillBytesForDecimalType
      Src: /src/tdengine/source/common/src/tdatablock.c:4126,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/common/src/tdatablock.c:4135,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4139,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4146,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tdatablock.c:4149,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:4149,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tdatablock.c:4150,1
    - Dst: resetVarDataOffset
      Src: /src/tdengine/source/common/src/tdatablock.c:4150,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4152,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:4155,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:4156,1
    - Dst: colDataGetOffsetAndLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4165,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:4169,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:4173,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4174,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:4178,1
    - Dst: taosSetPUInt64Aligned
      Src: /src/tdengine/source/common/src/tdatablock.c:4191,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4198,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: 4200
      start: 4068
    functionDepth: 3
    functionLinenumber: 4068
    functionLinenumberEnd: 4200
    functionName: blockEncodeAsRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - fillBytesForDecimalType
    - BitmapLen
    - colDataGetOffsetAndLen
    - resetVarDataOffset
    - taosArrayGet
    - memcpy
    - taosSetPUInt64Aligned
    - IS_VAR_DATA_TYPE
    - IS_DECIMAL_TYPE
    - uError
    - blockDataGetSerialMetaSize
    - blockDataCheck
    - colDataIsNull_f
    - colDataIsNull_s
    - memmove
    - TAOS_UNUSED
    - colDataSetNull_f
    - htonl
    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:4205,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4207,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4212,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4217,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4220,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: 4227
      start: 4202
    functionDepth: 1
    functionLinenumber: 4202
    functionLinenumberEnd: 4227
    functionName: getTsColDataOffset
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - uError
    - htonl
    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:4245,1
    - Dst: taosSetPUInt64Aligned
      Src: /src/tdengine/source/common/src/tdatablock.c:4263,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/tdatablock.c:4268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4275,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4284,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/common/src/tdatablock.c:4285,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4290,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:4298,1
    - Dst: getTsColDataOffset
      Src: /src/tdengine/source/common/src/tdatablock.c:4300,1
    - Dst: getFirstNotSmallerThanTSRowNum
      Src: /src/tdengine/source/common/src/tdatablock.c:4305,1
    - Dst: getFirstBiggerThanTSRowNum
      Src: /src/tdengine/source/common/src/tdatablock.c:4310,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:4321,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:4327,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4331,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4336,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4341,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:4343,1
    - Dst: resetVarDataOffset
      Src: /src/tdengine/source/common/src/tdatablock.c:4346,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:4358,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:4375,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4375,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:4377,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:4378,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4381,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:4388,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:4389,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4390,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4406,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/common/src/tdatablock.c:4411,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: 4418
      start: 4229
    functionDepth: 3
    functionLinenumber: 4229
    functionLinenumberEnd: 4418
    functionName: blockSpecialDecodeLaterPart
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - resetVarDataOffset
    - taosSetPUInt64Aligned
    - taosMemoryRealloc
    - IS_DECIMAL_TYPE
    - taosArrayInit_s
    - colDataSetNull_f
    - BMIsNull
    - taosArrayGet
    - extractDecimalTypeInfoFromBytes
    - IS_VAR_DATA_TYPE
    - BitmapLen
    - uError
    - getFirstBiggerThanTSRowNum
    - blockDataCheck
    - blockDataEnsureCapacity
    - getFirstNotSmallerThanTSRowNum
    - memcpy
    - colDataIsNull_s
    - htonl
    - getTsColDataOffset
    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:4428,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4430,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4434,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: 4441
      start: 4420
    functionDepth: 1
    functionLinenumber: 4420
    functionLinenumberEnd: 4441
    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:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pInfosTableMeta
    - size
    argTypes:
    - SSysTableMeta**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 736
    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:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pPerfsTableMeta
    - size
    argTypes:
    - SSysTableMeta**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 745
    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:749,1
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/common/src/systable.c:755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sysInfo
    - size
    argTypes:
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 761
    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: 768
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 768
    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: 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:
    - columnEncodeStr
    - getDefaultEncode
    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:
    - getDefaultCompress
    - columnCompressStr
    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:
    - columnLevelStr
    - getDefaultLevel
    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
    - strcmp
    - TAOS_UNUSED
    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:
    - validColEncode
    - strlen
    - tstrncpy
    - columnEncodeVal
    - checkColumnEncode
    - getDefaultEncodeStr
    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
    - strcmp
    - TAOS_UNUSED
    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:
    - strlen
    - tstrncpy
    - getDefaultCompressStr
    - validColCompress
    - checkColumnCompress
    - 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
    - strcmp
    - TAOS_UNUSED
    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:
    - strlen
    - tstrncpy
    - checkColumnLevel
    - columnLevelVal
    - validColCompressLevel
    - 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:
    - validColEncode
    - setColCompress
    - validColCompressLevel
    - validColCompress
    - 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: withExtSchema
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 17
    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: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: hasRefCol
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 15
    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: 375
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 375
    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: 388
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 388
    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: 435
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 435
    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:439,1
    - Dst: getDefaultCompress
      Src: /src/tdengine/source/common/src/tcol.c:440,1
    - Dst: getDefaultLevel
      Src: /src/tdengine/source/common/src/tcol.c:441,1
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/common/src/tcol.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: createDefaultColCmprByType
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 0
    functionsReached:
    - getDefaultCompress
    - getDefaultLevel
    - 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:447,1
    - Dst: validColEncode
      Src: /src/tdengine/source/common/src/tcol.c:448,1
    - Dst: validColCompress
      Src: /src/tdengine/source/common/src/tcol.c:451,1
    - Dst: validColCompressLevel
      Src: /src/tdengine/source/common/src/tcol.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - type
    - cmpr
    argTypes:
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 459
    functionName: validColCmprByType
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 0
    functionsReached:
    - validColEncode
    - validColCompressLevel
    - validColCompress
    - 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:
    - strnchr
    - checkTzPresent
    - parseLocaltimeDst
    - parseTimeWithTz
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosParseTime(const char* timestr, int64_t* utime, int32_t
      len, int32_t timePrec, timezone_t tz)
  - BBCount: 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:
    - strnatoi
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseFraction(char* str, char** end, int32_t timePrec, int64_t*
      pFraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - len
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: PARSE
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE(str,len,result)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:148,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:160,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/ttime.c:163,1
    - Dst: PARSE
      Src: /src/tdengine/source/common/src/ttime.c:166,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:169,1
    - Dst: PARSE
      Src: /src/tdengine/source/common/src/ttime.c:170,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:172,1
    - Dst: PARSE
      Src: /src/tdengine/source/common/src/ttime.c:176,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:178,1
    - Dst: PARSE
      Src: /src/tdengine/source/common/src/ttime.c:180,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:185,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:188,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:197,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - str
    - tzOffset
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 198
    functionName: parseTimezone
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - strlen
    - PARSE
    - TAOS_RETURN
    - strchr
    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:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tzStr
    - offset
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 206
    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:221,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:228,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:230,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:236,1
    - Dst: user_mktime64
      Src: /src/tdengine/source/common/src/ttime.c:241,1
    - Dst: taosTimeGm
      Src: /src/tdengine/source/common/src/ttime.c:244,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:246,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:246,1
    - Dst: forwardToTimeStringEnd
      Src: /src/tdengine/source/common/src/ttime.c:251,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:258,1
    - Dst: parseFraction
      Src: /src/tdengine/source/common/src/ttime.c:258,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:264,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:266,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:269,1
    - Dst: parseTimezone
      Src: /src/tdengine/source/common/src/ttime.c:269,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:278,1
    - Dst: parseTimezone
      Src: /src/tdengine/source/common/src/ttime.c:278,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:282,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:285,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: 286
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 286
    functionName: parseTimeWithTz
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - TAOS_CHECK_RETURN
    - taosTimeGm
    - parseTimezone
    - parseFraction
    - TSDB_TICK_PER_SECOND
    - taosStrpTime
    - user_mktime64
    - TAOS_RETURN
    - forwardToTimeStringEnd
    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: 310
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 310
    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:319,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:321,1
    - Dst: validateTm
      Src: /src/tdengine/source/common/src/ttime.c:326,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:328,1
    - Dst: validateTm
      Src: /src/tdengine/source/common/src/ttime.c:329,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:330,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:334,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:339,1
    - Dst: parseFraction
      Src: /src/tdengine/source/common/src/ttime.c:339,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:342,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:343,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: 344
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 344
    functionName: parseLocaltimeDst
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - taosMktime
    - TSDB_TICK_PER_SECOND
    - validateTm
    - taosStrpTime
    - parseFraction
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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: 356
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 356
    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: 411
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 411
    functionName: convertTimePrecision
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 9
    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:425,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:481,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:492,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: 493
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 493
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/ttime.c:496,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/ttime.c:499,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:501,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/ttime.c:503,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/ttime.c:503,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/src/ttime.c:504,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:506,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:507,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:509,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/ttime.c:511,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:513,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/common/src/ttime.c:515,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/ttime.c:515,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:517,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:518,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/src/ttime.c:521,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:523,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:524,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:526,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:528,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:530,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    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: 531
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 531
    functionName: convertStringToTimestamp
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 8
    functionsReached:
    - varDataLen
    - varDataVal
    - taosParseTime
    - memcpy
    - taosUcs4ToMbs
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_RETURN
    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:537,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:539,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:543,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:545,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:549,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:551,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:555,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:557,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:561,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:563,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:566,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:569,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:572,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:575,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:578,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: 579
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 579
    functionName: getDuration
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - convertTimePrecision
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDuration(int64_t val, char unit, int64_t* result, int32_t
      timePrecision)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/ttime.c:597,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:601,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:603,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:603,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:609,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/src/ttime.c:612,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: 613
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 613
    functionName: parseAbsoluteDuration
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - SET_ERRNO
    - getDuration
    - TAOS_RETURN
    - taosStr2Int64
    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:617,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:620,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:622,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:622,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:627,1
    - Dst: isdigit
      Src: /src/tdengine/source/common/src/ttime.c:629,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/common/src/ttime.c:630,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/src/ttime.c:633,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: 634
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 634
    functionName: parseNatualDuration
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - SET_ERRNO
    - getDuration
    - isdigit
    - getPrecisionUnit
    - TAOS_RETURN
    - taosStr2Int64
    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: 636
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 636
    functionName: taosIsLeapYear
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool taosIsLeapYear(int32_t year)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:643,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:646,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:655,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:658,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:659,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:660,1
    - Dst: taosIsLeapYear
      Src: /src/tdengine/source/common/src/ttime.c:667,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:674,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:676,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:679,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - t
    - duration
    - unit
    - precision
    - tz
    argTypes:
    - int64_t
    - int64_t
    - char
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 680
    functionName: taosTimeAdd
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 17
    functionsReached:
    - taosLocalTime
    - IS_CALENDAR_TIME_DURATION
    - taosMktime
    - uError
    - taosIsLeapYear
    - 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:724,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:725,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:729,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:730,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:736,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:737,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: 749
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 749
    functionName: taosTimeCountIntervalForFill
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - taosLocalTime
    - uError
    - 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: 15
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:762,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:763,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:766,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:767,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:785,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:787,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:790,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:792,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:798,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:804,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:809,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:817,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:841,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:848,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:867,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:871,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:872,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:873,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:875,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 2
    argNames:
    - ts
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 879
    functionName: taosTimeTruncate
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 10
    functionsReached:
    - taosLocalTime
    - taosTimeAdd
    - IS_CALENDAR_TIME_DURATION
    - taosMktime
    - uError
    - TSDB_TICK_PER_SECOND
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosTimeTruncate(int64_t ts, const SInterval* pInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - intervalStart
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 882
    functionDepth: 2
    functionLinenumber: 882
    functionLinenumberEnd: 884
    functionName: taosTimeGetIntervalEnd
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 6
    functionsReached:
    - taosTimeAdd
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosTimeGetIntervalEnd(int64_t intervalStart, const SInterval*
      pInterval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/common/src/ttime.c:898,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:902,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - interval
    argTypes:
    - SInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 886
    functionDepth: 3
    functionLinenumber: 886
    functionLinenumberEnd: 912
    functionName: calcIntervalAutoOffset
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 5
    functionsReached:
    - uError
    - taosTimeAdd
    - taosTimeTruncate
    linkageType: ''
    returnType: void
    signature: void calcIntervalAutoOffset(SInterval* interval)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:928,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:931,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:936,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:944,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:945,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:950,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:958,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:959,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - ts
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 963
    functionName: fmtts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - taosLocalTime
    - sprintf
    - taosStrfTime
    linkageType: ''
    returnType: char
    signature: char * fmtts(int64_t ts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1001,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1004,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1005,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:1005,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:1007,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/ttime.c:1008,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:1009,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/ttime.c:1011,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1012,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: 1013
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 1013
    functionName: taosFormatUtcTime
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 4
    functionsReached:
    - taosLocalTime
    - TAOS_SYSTEM_ERROR
    - tstrncpy
    - tsnprintf
    - taosStrfTime
    - 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:1026,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:1029,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1032,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1034,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - val
    - precision
    argTypes:
    - char*
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1040
    functionName: formatTimestampLocal
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 4
    functionsReached:
    - taosLocalTime
    - sprintf
    - taosStrfTime
    linkageType: ''
    returnType: char
    signature: char * formatTimestampLocal(char* buf, int64_t val, int precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1045,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1046,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:1046,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: 1049
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1049
    functionName: taosTs2Tm
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 3
    functionsReached:
    - taosLocalTime
    - TAOS_SYSTEM_ERROR
    - 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:1052,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: 1056
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1056
    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:1269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1275
    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: 1279
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1279
    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:1284,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/ttime.c:1287,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1287,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/ttime.c:1314,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1314,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/common/src/ttime.c:1316,1
    - Dst: isSeperatorChar
      Src: /src/tdengine/source/common/src/ttime.c:1325,1
    - Dst: isSeperatorChar
      Src: /src/tdengine/source/common/src/ttime.c:1337,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/ttime.c:1341,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1341,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/common/src/ttime.c:1343,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1348,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - formatStr
    - formats
    argTypes:
    - char*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1349
    functionName: parseTsFormat
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - keywordSearch
    - taosArrayGetLast
    - isSeperatorChar
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseTsFormat(const char* formatStr, SArray* formats)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:1352,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1355,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/ttime.c:1358,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1367,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1372,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1377,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1382,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1386,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1387,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1390,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1394,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1401,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1401,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1402,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1403,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1408,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1409,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1414,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1414,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1415,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1416,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1423,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1423,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1424,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1430,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1437,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1437,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1438,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1443,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1449,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1453,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1457,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1463,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1463,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1464,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1465,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1471,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1471,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1472,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1473,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1477,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1478,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1483,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1483,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1484,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1485,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1489,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1490,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1495,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1495,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1496,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1497,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1501,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1505,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1509,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1513,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1524,1
    - Dst: abs
      Src: /src/tdengine/source/common/src/ttime.c:1525,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1526,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1530,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1531,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1534,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1535,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1538,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1539,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1542,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1543,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 175
    argCount: 4
    argNames:
    - formats
    - tm
    - s
    - outLen
    argTypes:
    - SArray*
    - struct STm*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1550
    functionName: tm2char
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - tolower
    - strlen
    - abs
    - taosArrayGet
    - toupper
    - sprintf
    - taosArrayGetSize
    - 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:1561,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - arr
    - s
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1565
    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:1573,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/ttime.c:1577,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1578,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1584,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1593,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1598,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: 1613
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1613
    functionName: tsFormatStr2Int32
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncpy
    - taosStr2Int64
    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: 1621
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1621
    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: 1632
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1632
    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:1635,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1636,1
    - Dst: isdigit
      Src: /src/tdengine/source/common/src/ttime.c:1642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - formats
    - curIdx
    argTypes:
    - SArray*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1644
    functionName: needMoreDigits
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool needMoreDigits(SArray* formats, int32_t curIdx)
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:1659,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1669,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1673,1
    - Dst: isSeperatorChar
      Src: /src/tdengine/source/common/src/ttime.c:1676,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1682,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1684,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1685,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1696,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1709,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1720,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1720,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1729,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1729,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1738,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1738,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1746,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1746,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1753,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1753,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1763,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1763,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1773,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1773,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1791,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1791,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1801,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1803,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1812,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1814,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1821,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1821,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1832,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1834,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1843,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1845,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1852,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1852,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1861,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1861,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1870,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1870,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1878,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1878,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1886,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1886,1
    - Dst: adjustYearTo2020
      Src: /src/tdengine/source/common/src/ttime.c:1890,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1895,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1895,1
    - Dst: adjustYearTo2020
      Src: /src/tdengine/source/common/src/ttime.c:1899,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1904,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1904,1
    - Dst: adjustYearTo2020
      Src: /src/tdengine/source/common/src/ttime.c:1908,1
    - Dst: checkTm
      Src: /src/tdengine/source/common/src/ttime.c:1943,1
    - Dst: taosTm2Ts
      Src: /src/tdengine/source/common/src/ttime.c:1946,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 270
    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: 1958
      start: 1657
    functionDepth: 2
    functionLinenumber: 1657
    functionLinenumberEnd: 1958
    functionName: char2ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - needMoreDigits
    - strlen
    - taosArrayGet
    - taosTm2Ts
    - strArrayCaseSearch
    - checkTm
    - taosArrayGetSize
    - isSeperatorChar
    - tsFormatStr2Int32
    - adjustYearTo2020
    - 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:1962,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1964,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1966,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:1966,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1969,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/common/src/ttime.c:1969,1
    - Dst: tm2char
      Src: /src/tdengine/source/common/src/ttime.c:1970,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: 1971
      start: 1960
    functionDepth: 2
    functionLinenumber: 1960
    functionLinenumberEnd: 1971
    functionName: taosTs2Char
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 3
    functionsReached:
    - taosTs2Tm
    - taosArrayInit
    - parseTsFormat
    - tm2char
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:1978,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1980,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1982,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:1982,1
    - Dst: char2ts
      Src: /src/tdengine/source/common/src/ttime.c:1984,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1986,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1987,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:1988,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1988,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1991,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1994,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1997,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: 1998
      start: 1973
    functionDepth: 3
    functionLinenumber: 1973
    functionLinenumberEnd: 1998
    functionName: taosChar2Ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - taosArrayInit
    - taosArrayGet
    - snprintf
    - parseTsFormat
    - taosArrayGetSize
    - char2ts
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    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:2003,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2005,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2007,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:2007,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/ttime.c:2009,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/common/src/ttime.c:2009,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/ttime.c:2010,1
    - Dst: tm2char
      Src: /src/tdengine/source/common/src/ttime.c:2010,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/ttime.c:2013,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2014,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: 2015
      start: 2000
    functionDepth: 2
    functionLinenumber: 2000
    functionLinenumberEnd: 2015
    functionName: TEST_ts2char
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - TAOS_CHECK_RETURN
    - taosTs2Tm
    - taosArrayInit
    - parseTsFormat
    - tm2char
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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:2020,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2021,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:2021,1
    - Dst: char2ts
      Src: /src/tdengine/source/common/src/ttime.c:2022,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/ttime.c:2024,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/ttime.c:2025,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:2025,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/ttime.c:2027,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: 2029
      start: 2017
    functionDepth: 3
    functionLinenumber: 2017
    functionLinenumberEnd: 2029
    functionName: TEST_char2ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosArrayInit
    - taosArrayGet
    - printf
    - parseTsFormat
    - char2ts
    - TAOS_CHECK_RETURN
    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: 2037
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2037
    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:2071,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: 2083
      start: 2052
    functionDepth: 1
    functionLinenumber: 2052
    functionLinenumberEnd: 2083
    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:2098,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: 2101
      start: 2085
    functionDepth: 1
    functionLinenumber: 2085
    functionLinenumberEnd: 2101
    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:2115,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/common/src/ttime.c:2117,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:2121,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/common/src/ttime.c:2123,1
    - Dst: GET_UNIT_INDEX
      Src: /src/tdengine/source/common/src/ttime.c:2130,1
    - Dst: GET_UNIT_INDEX
      Src: /src/tdengine/source/common/src/ttime.c:2130,1
    - Dst: recursiveTsmaCheckRecursive
      Src: /src/tdengine/source/common/src/ttime.c:2132,1
    - Dst: recursiveTsmaCheckRecursiveReverse
      Src: /src/tdengine/source/common/src/ttime.c:2134,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: 2137
      start: 2113
    functionDepth: 2
    functionLinenumber: 2113
    functionLinenumberEnd: 2137
    functionName: checkRecursiveTsmaInterval
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - recursiveTsmaCheckRecursiveReverse
    - IS_CALENDAR_TIME_DURATION
    - GET_UNIT_INDEX
    - convertTimeFromPrecisionToUnit
    - recursiveTsmaCheckRecursive
    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:2145,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:2150,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:2151,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:2158,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:2160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - precision
    - tz
    argTypes:
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2139
    functionDepth: 1
    functionLinenumber: 2139
    functionLinenumberEnd: 2164
    functionName: taosGetTimestampToday
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - taosLocalTime
    - taosTime
    - uError
    - taosMktime
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosGetTimestampToday(int32_t precision, timezone_t tz)
  - 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: 57
    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: tsnprintf
      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: 51
    functionsReached:
    - memcpy
    - strlen
    - tNameIsValid
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t tNameExtractFullName(const SName* name, char* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      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
    - sprintf
    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:
    - VALID_NAME_TYPE
    - strlen
    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:
    - taosMemoryMalloc
    - TAOS_MEMCPY
    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: 1
    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: 73
    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: 2
    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: 23
    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:
    - strlen
    - memcpy
    - taosStr2Int32
    - tListLen
    - strstr
    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:
    - tMD5Init
    - taosByteArrayToHexStr
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosArraySort
    - tMD5Final
    - tMD5Update
    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:
    - getenv
    - S3_initialize
    - uError
    - S3_get_status_name
    - TAOS_RETURN
    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:
    - strlen
    - taosWriteFile
    - taosCloseFile
    - s3GetObjectBlockByEp
    - s3DumpCfgByEp
    - memcpy
    - s3DeleteObjectsByEp
    - fprintf
    - snprintf
    - taosFsyncFile
    - TAOS_RETURN
    - taosOpenFile
    - s3ListBucketByEp
    - s3PutObjectFromFileOffsetByEp
    - taosMemoryFree
    - strncmp
    - TAOS_CHECK_GOTO
    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: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:251,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:254,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:257,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:260,1
    - Dst: tsnprintf
      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: 1
    functionLinenumber: 243
    functionLinenumberEnd: 269
    functionName: responseCompleteCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    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:
    - getListByPrefixByEp
    - TARRAY_DATA
    - fprintf
    - taosArrayDestroyEx
    - TARRAY_SIZE
    - 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_DATA
    - getListByPrefix
    - fprintf
    - taosArrayDestroyEx
    - TARRAY_SIZE
    - 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:
    - memcpy
    - free
    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:
    - taosReadFile
    - growbuffer_read
    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: 1
    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
    - responsePropertiesCallbackNull
    - strdup
    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
    - responsePropertiesCallbackNull
    - strdup
    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:
    - should_retry
    - s3PrintError
    - TAOS_SYSTEM_ERROR
    - S3_status_is_retryable
    - uError
    - S3_put_object
    - TAOS_RETURN
    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: tsnprintf
      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
    - should_retry
    - s3PrintError
    - TAOS_SYSTEM_ERROR
    - strlen
    - S3_complete_multipart_upload
    - tstrerror
    - growbuffer_destroy
    - S3_initiate_multipart
    - memset
    - S3_status_is_retryable
    - uError
    - tsnprintf
    - growbuffer_append
    - taosMemoryCalloc
    - taosMemoryFree
    - TAOS_RETURN
    - TAOS_CHECK_GOTO
    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: tsnprintf
      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
    - tstrerror
    - S3_initiate_multipart
    - strdup
    - snprintf
    - cos_cp_open
    - TAOS_SYSTEM_ERROR
    - cos_cp_update
    - cos_cp_load
    - taosMemoryCalloc
    - TAOS_RETURN
    - strlen
    - S3_complete_multipart_upload
    - growbuffer_destroy
    - memset
    - cos_cp_dump
    - taosCheckExistFile
    - cos_cp_close
    - cos_cp_remove
    - uError
    - tsnprintf
    - TAOS_CHECK_GOTO
    - taosLSeekFile
    - should_retry
    - s3PrintError
    - cos_cp_build_upload
    - S3_status_is_retryable
    - growbuffer_append
    - cos_cp_is_valid_upload
    - taosMemoryFree
    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:
    - taosCloseFile
    - s3PutObjectFromFileWithoutCp
    - growbuffer_destroy
    - s3PutObjectFromFileSimple
    - taosStatFile
    - uError
    - taosOpenFile
    - s3PutObjectFromFileWithCp
    - TAOS_RETURN
    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:
    - taosLSeekFile
    - taosCloseFile
    - s3PutObjectFromFileWithoutCp
    - growbuffer_destroy
    - s3PutObjectFromFileSimple
    - taosStatFile
    - uError
    - taosOpenFile
    - TAOS_RETURN
    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:
    - snprintf
    - taosMemoryFree
    - taosArrayPush
    - strdup
    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:
    - should_retry
    - taosArrayInit
    - S3_list_bucket
    - taosArrayDestroyEx
    - uError
    - S3_status_is_retryable
    - S3_get_status_name
    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:
    - should_retry
    - s3PrintError
    - S3_delete_object
    - S3_status_is_retryable
    - TAOS_RETURN
    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:
    - tstrerror
    - TARRAY_DATA
    - getListByPrefix
    - s3DeleteObjects
    - taosArrayDestroyEx
    - uError
    - TARRAY_SIZE
    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:
    - should_retry
    - TAOS_SYSTEM_ERROR
    - uInfo
    - memset
    - S3_status_is_retryable
    - S3_get_status_name
    - taosMsleep
    - S3_get_object
    - uError
    - taosRand
    - TAOS_RETURN
    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:
    - should_retry
    - TAOS_SYSTEM_ERROR
    - taosCloseFile
    - uError
    - S3_status_is_retryable
    - S3_get_object
    - taosOpenFile
    - TAOS_RETURN
    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:
    - strlen
    - getListByPrefix
    - taosArrayGetP
    - s3GetObjectToFile
    - strchr
    - snprintf
    - taosArrayDestroyEx
    - taosArrayGetSize
    - TAOS_RETURN
    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:
    - should_retry
    - s3PrintError
    - S3_status_is_retryable
    - S3_head_object
    - TAOS_RETURN
    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:
    - taosRand
    - s3SizeByEp
    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
    - TAOS_RETURN
    - cos_log_set_output
    - cos_log_set_level
    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_str_set
    - cos_http_controller_create
    - 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:
    - cos_pool_create
    - cos_put_object_from_file
    - s3InitRequestOptions
    - log_status
    - cos_pool_destroy
    - cos_str_set
    - TAOS_RETURN
    - cos_request_options_create
    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:
    - TAOS_SYSTEM_ERROR
    - cos_pool_create
    - tstrerror
    - s3InitRequestOptions
    - vError
    - log_status
    - cos_resumable_upload_file
    - cos_pool_destroy
    - cos_str_set
    - cos_create_resumable_clt_params_content
    - cos_table_make
    - cos_status_is_ok
    - TAOS_RETURN
    - cos_request_options_create
    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:
    - cos_pool_create
    - s3InitRequestOptions
    - log_status
    - cos_pool_destroy
    - cos_str_set
    - cos_delete_objects_by_prefix
    - cos_request_options_create
    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:
    - cos_list_add_tail
    - cos_pool_create
    - cos_warn_log
    - s3InitRequestOptions
    - cos_list_init
    - log_status
    - cos_pool_destroy
    - cos_str_set
    - cos_delete_objects
    - cos_create_cos_object_key
    - cos_status_is_ok
    - TAOS_RETURN
    - cos_request_options_create
    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:
    - cos_check_object_exist
    - cos_pool_create
    - cos_warn_log
    - s3InitRequestOptions
    - log_status
    - cos_pool_destroy
    - cos_str_set
    - cos_request_options_create
    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:
    - cos_pool_create
    - cos_warn_log
    - cos_table_add_int
    - s3InitRequestOptions
    - cos_get_object_to_file
    - cos_pool_destroy
    - cos_str_set
    - cos_table_make
    - cos_status_is_ok
    - cos_request_options_create
    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:
    - tstrerror
    - cos_pool_destroy
    - apr_snprintf
    - cos_list_for_each_entry
    - TAOS_SYSTEM_ERROR
    - cos_list_init
    - cos_str_set
    - cos_buf_size
    - taosMemoryCalloc
    - TAOS_RETURN
    - s3InitRequestOptions
    - log_status
    - cos_get_object_to_buffer
    - uError
    - cos_table_create_if_null
    - cos_status_is_ok
    - TAOS_CHECK_GOTO
    - cos_pool_create
    - apr_table_add
    - memcpy
    - cos_request_options_create
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3GetObjectBlock(const char *object_name, int64_t offset, int64_t
      block_size, bool check, uint8_t **ppBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 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:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    - taosReadDir
    - taosOpenDir
    - strncmp
    - vError
    - taosArrayGet
    - taosGetDirEntryName
    - taosCloseDir
    - strlen
    - tstrncpy
    - taosArraySort
    - TARRAY_SIZE
    - terrstr
    - memcpy
    - taosStatFile
    - taosGetDiskSize
    - taosDirName
    - taosRemoveFile
    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:
    - cos_pool_create
    - cos_warn_log
    - taosStr2Int64
    - tstrerror
    - s3InitRequestOptions
    - cos_head_object
    - apr_table_get
    - cos_pool_destroy
    - cos_str_set
    - cos_status_is_ok
    - cos_request_options_create
    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:
     